]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Fix grub-shell to avoid breaking "make distcheck"
[grub2.git] / ChangeLog
1 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
2
3 Copying the themes directory in grub-shell isn't
4 parallel-test-friendly and breaks on the second test when the source
5 directory is read-only (as in "make distcheck"). Instead, add a
6 hidden --themes-directory option to grub-mkrescue et al, and use it
7 in grub-shell.
8
9 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
12 as it's no longer necessarry.
13
14 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * configure.ac: Allow compilation with older GCC for ARM.
17
18 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
21 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
22 ppc.
23
24 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
27
28 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Pass font config to config.h and not by TARGET_CFLAGS as adding
31 arguments doesn't work if TARGET_CFLAGS is specified on command
32 line.
33
34 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * configure.ac: Add -Wvla if compiler supports it.
37
38 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
41 Remove variable length arrays.
42 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
43
44 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
47
48 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * include/grub/types.h: Declare all byteswaps as inline functions
51 except compile-time ones.
52
53 Solves variable shadowing in constructions like
54 cpu_to_le (le_to_cpu(x) + 1).
55
56 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/efi/efi.c: Remove variable length arrays.
59
60 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
63 minutes.
64
65 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
68 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
69
70 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
71
72 * grub-core/Makefile.core.def (setjmp): Distribute
73 lib/arm64/setjmp.S.
74
75 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
76
77 Add a new timeout_style environment variable and a corresponding
78 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
79 controls hidden-timeout handling more simply than the previous
80 arrangements, and pressing any hotkeys associated with menu entries
81 during the hidden timeout will now boot the corresponding menu entry
82 immediately.
83
84 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
85 generates a warning, and if it shows the menu it will do so as if
86 the second timeout were not present. Other combinations are
87 translated into reasonable equivalents.
88
89 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
90
91 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * util/config.c: Add missing pointer adjustment.
94 Reported by: qwertial
95
96 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
97
98 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
99 directly, not via `cpu' link, to fix libgrub.pp generation.
100
101 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
102
103 New port arm64-efi.
104
105 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
106
107 * docs/grub.texi (sleep): Document exit codes.
108
109 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Ensure that -mno-unaligned-access or some equivalent option is used.
112
113 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
116 -march=armv3.
117
118 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
121
122 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
123
124 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
125 builds, since we don't have an EPS version of font_char_metrics.png.
126 Add leading dot to image extension per the Texinfo documentation.
127
128 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
129
130 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
131 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
132 * util/grub-gen-widthspec.c: Likewise.
133 * util/grub-mkfont.c: Likewise.
134
135 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
136
137 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
138 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
139 failed to install on (hdX).
140 * util/grub-setup.c (get_device_name): Remove, not needed after
141 above change.
142
143 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
146
147 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * util/grub-fstest.c: Remove variable length arrays.
150
151 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/osdep/linux/ofpath.c: Check return value of read.
154
155 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
158 computing crc32 rather than handling with md fundtions directly.
159
160 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
163 checking fwstart.img rather than md fundtions directly.
164
165 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/grub-mkrescue.c (main): Check that fread succeeded.
168
169 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * conf/Makefile.common: Remove -mexplicit-relocs and
172 -DUSE_ASCII_FALLBACK on yeeloong.
173
174 -DUSE_ASCII_FALLBACK is already added by font snippets.
175 -mexplicit-relocs isn't needed is compiler/assemblera are
176 configured properly.
177 If they're not we shouldn't attempt to fix it by ourselves.
178 Binary compare between before and after shows no difference.
179
180 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
183 sources in dependencies directly.
184
185 This was the only instance of "library" in core config. A bug was
186 reported that -fno-stack-protector wasn't passed to it. Instead of
187 figuring out why it failed just remove this construction used
188 needlessly.
189
190 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/osdep/unix/password.c (grub_password_get): Check that
193 fgets succeeded.
194
195 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
196
197 * docs/grub.texi (ls): Fix command description in case of a device name
198 passed as argument.
199
200 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Eliminate variable length arrays in grub_vsnprintf_real.
203
204 A bit tricky because this function has to continue to work without
205 heap for short strings. Fixing prealloc to 32 arguments is reasonable
206 but make all stack references use 32-bit offset rather than 8-bit one.
207 So split va_args preparsing to separate function and put the prealloc
208 into the caller.
209
210 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
211
212 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
213 Fixes build for windows.
214
215 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * gentpl.py: Don't generate platform-dependent conditionals for
218 platform-independent targets.
219
220 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
221
222 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
223 references to mdadm from otherwise generic code.
224 (grub_util_exec_pipe): Likewise.
225 (grub_util_exec_pipe_stderr): Likewise.
226 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
227 This function calls vgs, not mdadm; adjust variable names
228 accordingly.
229
230 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
231
232 Generate Makefile.*.am directly from gentpl.py, eliminating the use
233 of Autogen. The Autogen definitions files remain intact as they
234 offer a useful abstraction.
235
236 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
237
238 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
239 into no-ops, and use it in programs that copy files but do not need
240 to take special care to sync writes (grub-mknetdir, grub-rescue,
241 grub-mkstandalone).
242
243 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
244
245 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
246 than hardcoding /usr/local/bin/xorriso.
247
248 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Add PCI command activation to all PCI drivers as required for coreboot
251 and maybe some other firmwares.
252
253 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
256 and non-Apple variants of efiemu compile.
257
258 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
259
260 * configure.ac: Add explicit check for linking format of
261 efiemu64; save it as EFIEMU64_LINK_FORMAT.
262 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
263 hardcoding linking format.
264
265 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
268 and not pkgdatadir.
269
270 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
271 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
272
273 Add a --locale-directory option to grub-install and related tools.
274
275 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
276 --locale-directory option.
277 (enum grub_install_options): Add
278 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
279 * util/grub-install-common.c (grub_install_help_filter): Handle
280 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
281 (grub_install_parse): Likewise.
282 (get_localedir): New function to check for a user-provided option
283 before trying grub_util_get_localedir.
284 (copy_locales): Use get_localedir rather than
285 grub_util_get_localedir. Handle differing locale directory layouts.
286 (grub_install_copy_files): Likewise.
287
288 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
291 Don't rely on PATH_MAX.
292
293 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/genmoddep.awk: Use more portable && rather than and.
296
297 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
300 an object after data. While it doesn't seem right solution, it
301 works well enough and OSX isn't main compilation platform.
302
303 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
306 While it doesn't seem right solution, it works well enough and
307 OSX isn't main compilation platform.
308
309 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * configure.ac: Add -static to LDFLAGS when using apple linker to
312 prevent it from pulling in dynamic linker.
313
314 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Apple assembly doesn't handle symbol arithmetic well. So define an
317 offset symbol in boot.S and use it.
318
319 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
320
321 Apple assembly doesn't handle symbol arithmetic well. So instead
322 of getting addres of kernel_sector + 4 define kernel_sector_high.
323 It also makes code more readable.
324
325 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
326
327 With Apple assembly in .macro environvemnt you have to use $$ instead
328 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
329 to $$x on Apple and to $x on everything else.
330
331 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
334 OBJCONV.
335
336 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
339 and non-Apple. This instruction is shorter and faster,
340 so no reason not to use it on both.
341
342 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
345 .text when compiling for Apple.
346
347 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/term/arc/console.c: Add missing cast to silence warning.
350
351 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
354 %dx restore the probe worked on non-existant drive. Reorganize the
355 code a little bit to free 2 bytes necessary for push/pop.
356
357 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
360 Add missing cast to silence warning.
361
362 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
363
364 * util/grub-install.c (update_nvram): Support --no-nvram flag
365 for EFI targets.
366
367 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
370
371 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * util/garbage-gen.c: Add missing include of sys/time.h.
374
375 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Don't add -mflush-func if it's not supported by compiler.
378
379 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Move common BIOS/coreboot memory map declarations to
382 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
383
384 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
385
386 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
387
388 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * INSTALL: Document why older clang versions aren't appropriate.
391
392 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * INSTALL: Document about clang for mips.
395
396 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
399 clang.
400
401 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Add *-xen to the list of grub-install-common platforms.
404
405 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
408 3 last commits.
409
410 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
413
414 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
417 with -mcmodel=large.
418
419 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
422 range-checking for 32-bit quantities.
423
424 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * configure.ac: Compile with -fPIC when compiling with clang on
427 mips.
428
429 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
432 when compiling with clang.
433
434 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
435
436 clang emits calls to abort () under some unknown conditions.
437 Export abort () when compiling with clang.
438
439 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * docs/grub-dev.texi: Document stack and heap sizes.
442
443 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * include/grub/i386/pc/memory.h: Decrease
446 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
447 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
448 The binary doesn't change (checked). It's more to better reflect actual
449 usage.
450
451 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
454 at compile time that enough of scratch size is available.
455
456 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
459 Previously we misaligned stack by 8 in startup.S and compensated
460 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
461 right behaviour is to align stack in startup.S and keep it aligned
462 in callwrap.S. startup.S part was committed few commits before. This
463 takes care of callwrap.S.
464 Reported by: Gary Lin.
465
466 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
469 .data and .bss. May happen if compiler and assembly use different
470 alignment.
471
472 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
473
474 On MIPS handle got16 relocations to local symbols in an ABI-compliant
475 way.
476
477 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Add support for a new magic symbol _gp_disp on mips to handle PIC
480 binaries.
481
482 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Use $t9 for indirect calls from asm to C as PIC ABI requires.
485
486 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
489 when rest of GRUB is compiled for hisher stepping. Instead use
490 .set mips3/.set mips1 around cache and sync opcodes.
491
492 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
493
494 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
495 do essentially the same thing, do it in similar way.
496
497 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
498
499 * util/grub-mkrescue.c (main): If a source directory is not
500 specified, read platform-specific files from subdirectories of
501 pkglibdir, not pkgdatadir.
502
503 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
504
505 * grub-core/normal/progress.c: Remove unused file.
506
507 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
510 array.
511
512 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
515 than grub.cfg.
516
517 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * coreboot.cfg: Add missing file.
520
521 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * Makefile.am: Allow STRIP to be empty when creating windowszip.
524
525 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
526
527 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
528 selectively skipping systems.
529
530 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
531
532 * Makefile.util.def (grub-mkimage): Add
533 grub-core/osdep/aros/config.c to extra_dist.
534 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
535 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
536 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
537 grub-core/gnulib-no-gets.diff.
538
539 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
540
541 Add automated filesystem checking based on scripts I've used now for
542 quite some time locally. Most of the test require root so they are
543 skipped when run without necessarry privelegies.
544
545 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
546
547 * util/grub-install.c (main): Adjust info messages to match
548 installed paths of grub-bios-setup and grub-sparc64-setup.
549
550 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
551
552 * util/grub-install-common.c (copy_locales): Consistently use
553 grub_util_get_localedir () rather than LOCALEDIR.
554 (grub_install_copy_files): Likewise.
555
556 2013-11-19 Josh Triplett <josh@joshtriplett.org>
557
558 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
559 16-byte boundary, as required by the x86-64 ABI, before calling
560 grub_main. In some cases, GCC emits code that assumes this
561 alignment, which crashes if not aligned. The EFI firmware is also
562 entitled to assume that stack alignment without checking.
563
564 2013-11-18 Josh Triplett <josh@joshtriplett.org>
565
566 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
567 4k page boundaries as expected by firmware rather than 1k
568 boundaries.
569 (grub_mmap_malign_and_register): Likewise.
570
571 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
574 fragmentation 512M is enough.
575
576 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
579 pointer to 32K. This is the size of cache element which is the most
580 common allocation >1K. This way the pointer is always around blocks
581 of 32K and so we keep performance while decreasing fragmentation.
582
583 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
586 current memory when allocating large chunks. This significantly
587 decreases memory fragmentation.
588
589 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
590
591 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
592 but for symmetry).
593 * tests/lzocompress_test.in: Skip if lzop is not installed.
594 * tests/xzcompress_test.in: Skip if xz is not installed.
595
596 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
597
598 * util/grub-mkrescue.c (main): Fix typo.
599
600 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
603 clock frequency to 200 MHz,
604
605 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * tests/util/grub-shell.in: Increase console size to 1024x1024.
608
609 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * Makefile.am (default_payload.elf): Add pata to loaded modules.
612 Load config file from (cbfsdisk)/etc/grub.cfg.
613
614 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * util/grub-install-common.c (grub_install_copy_files): Fix module
617 destination directory.
618
619 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
620
621 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
622 files have not been built.
623
624 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
625
626 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
627 Handle errors from mkstemp.
628 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
629
630 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
633 on primary master on pseries.
634
635 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
638 already loaded. This saves memory needed for tests,
639
640 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
643 work again.
644
645 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
648 work again.
649
650 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
653 master since with some combinations of qemu and firmware only primary
654 IDE channel is available.
655
656 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
659 low-memory platforms where we don't have enough memory for them.
660 * grub-core/tests/videotest_checksum.c: Likewise.
661
662 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
665 already loaded. This saves memory needed for tests,
666
667 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Fix handling of install lists.
670
671 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
674
675 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
676
677 On i386-ieee1275 we run in paged mode. So we need to explicitly map
678 the devices before accessing them.
679
680 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
683 as file argument.
684
685 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
688
689 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
692 (grub_file_close): Free file->name.
693
694 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/commands/verify.c (free_pk): Plug memory leak.
697 (grub_load_public_key): Likewise.
698 (grub_verify_signature_real): Likewise.
699 (grub_cmd_verify_signature): Likewise.
700
701 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
704 memory leak.
705
706 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
709 (grub_longjmp): Restore r31.
710 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
711
712 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
715 modules to be in line with make_image_abs.
716
717 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
720
721 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
722
723 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
724
725 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
726
727 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
730 to leave some memory to firmware.
731
732 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
735 of loading gfxterm as gfxterm is embed in kernel on some platforms.
736 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
737 Load gfxmenu.
738
739 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
742 now needs full arguments.
743
744 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * util/grub-mkrescue.c (main): Add trailing \n in
747 .disk_label.contentDetails to be in line with previous shell script.
748
749 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
752
753 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * util/grub-install-common.c (grub_install_parse): Recognize
756 --compress=none like shell script did.
757
758 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * include/grub/misc.h: Replace check for __sparc64__ with one for
761 __sparc__ as __sparc64__ isn't actually defined.
762
763 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
766 counterpart of fixing the naming of escc ports.
767
768 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * util/grub-install-common.c (platforms): Fix the order of entries and
771 remove useless field val.
772
773 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * util/grub-install.c: Add new option --no-bootsector to skip
776 installing of bootsector. Accept --grub-setup=/bin/true as
777 backwards-compatible synonym.
778
779 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
780
781 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
782 order of qsort arguments (number of elements vs. element size).
783
784 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
787 the function of these files exceeds what can be sanely handled in shell
788 in posix-comaptible way. Also writing it in C extends the functionality
789 to non-UNIX-like OS and minimal environments.
790
791 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
794 compiling to thumb2.
795 * grub-core/kern/arm/cache_armv7.S: Likewise.
796 * grub-core/lib/arm/setjmp.S: Likewise.
797
798 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
799
800 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
801 in grub_uboot_syscall
802
803 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Decrease stack usage in lexer.
806
807 We have only 92K of stack and using over 4K per frame is wasteful
808
809 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
810 as macros so that compiler would remove useless structure on stack.
811 Better solution would be to fix flex not to put this structure on
812 the stack but flex is external program.
813
814 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Decrease stack usage in signature verification.
817
818 We have only 92K of stack and using over 4K per frame is wasteful
819
820 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
821 rather than stack.
822 (grub_verify_signature_real): Likewise.
823
824 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
825
826 Decrease stack usage in mdraid 0.9x.
827
828 We have only 92K of stack and using over 4K per frame is wasteful
829
830 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
831 rather than stack.
832
833 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Decrease stack usage in BtrFS.
836
837 We have only 92K of stack and using over 4K per frame is wasteful
838
839 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
840 rather than stack.
841
842 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Decrease stack usage in JFS.
845
846 We have only 92K of stack and using over 4K per frame is wasteful
847
848 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
849 stack. Note: this function is recursive.
850 (grub_jfs_read_inode): Read only part we care about.
851
852 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
853
854 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
855 handling
856
857 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
858
859 * configure.ac: Restore -nostdlib for libgcc symbols tests.
860
861 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
862
863 * docs/grub.texi (Environment): Document cmdpath.
864
865 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
866
867 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
868 Remove "unused" attribute from arguments, they are used.
869
870 2013-11-15 Colin Watson <cjwatson@debian.org>
871
872 * .gitignore: Only ignore grub-mk* at the top level.
873
874 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
875
876 * util/grub-reboot.in (usage): Fix a typo.
877
878 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
879
880 Replace libgcc version of ctz with our own.
881
882 On upcoming arm64 port libgcc ctz* are not usable in standalone
883 environment. Since we need ctz* for this case and implementation is
884 in C we may as well use it on all concerned platforms.
885
886 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * configure.ac: Probe for linking format rather than guessing it based
889 on target_os.
890
891 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
894 "1" prior to handoff.
895
896 Reported by: M A Young.
897
898 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
901 \0 to all files.
902
903 Reported by: M A Young.
904
905 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
908 compilation on NetBSD.
909
910 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * acinclude.m4: Don't add -P on initial nm test.
913
914 Note: even though this patch postdates Andrey's it bears 14 Nov as
915 date due to timezone difference.
916
917 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
918
919 * grub-core/Makefile.core.def (signature_test): Add missing
920 tests/signatures.h.
921
922 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
923
924 * util/grub-install_header: Set localedir here, since this file is
925 where it's used.
926 * util/grub-install.in: Remove setting of localedir.
927 * util/grub-mkrescue.in: Likewise.
928
929 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
932
933 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * configure.ac: Move nm checks to the end.
936 Call grub_PROG_NM_WORKS.
937 * acinclude.m4: New check grub_PROG_NM_WORKS.
938 Use $TARGET_CFLAGS -c when compiling test binary.
939
940 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
941
942 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
943 unused variables.
944
945 2013-11-14 Matthew Garrett <mjg@redhat.com>
946
947 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
948 cmdpath to firmware directory.
949
950 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
953 at the start of second iteration.
954
955 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
958
959 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * Makefile.am (default_payload.elf): New target for easier coreboot
962 build.
963
964 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
967 clang (not necessarry with -no-integrated-as).
968 * include/grub/symbol.h [__arm__]: Likewise.
969
970 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * configure.ac: Use -no-integrated-as on arm with clang.
973 * INSTALL: Mention ARM compilation with clang.
974
975 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
978 -mthumb-interwork.
979
980 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
981
982 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
983 code for indirect block handling.
984
985 Saves 185 bytes on compressed image.
986
987 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
988
989 Fix make clean.
990
991 * Makefile.am: Remove build-grub-* in make clean.
992
993 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
994
995 New files to gitignore.
996
997 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
998 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
999
1000 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1001
1002 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1003
1004 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1005
1006 * .gitignore: fix rules for .dep* and add *.a post git migration
1007
1008 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1009
1010 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1011 to match INSTALL.
1012
1013 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1014
1015 * grub-core/kern/misc.c: Don't redirect divisions in the
1016 GRUB_UTIL case.
1017 * include/grub/misc.h: Likewise.
1018
1019 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1020
1021 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1022 systems that require checking the return value of write.
1023
1024 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1025
1026 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1027 efibootmgr quiet when --debug is not used, rather than when it is.
1028
1029 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1030
1031 * gentpl.py (define_macro_for_platform_dependencies): Remove
1032 first (and thus unused) of two definitions for this function.
1033 (platform_dependencies): Likewise.
1034
1035 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1036
1037 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1038 functions, we only need to check this for the target, not the host.
1039 * configure.ac (grub_apple_cc): Likewise.
1040
1041 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1044 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1045 asm to stay in arm even if surrounding is thumb.
1046
1047 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1050 helper functions are needed for thumb.
1051
1052 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1055 level / 3 division explicitly unsigned. Saves few bytes.
1056
1057 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1060
1061 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1064 division.
1065
1066 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1069 grub_uboot_boot_data to asm part.
1070
1071 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1074 literal load.
1075 (grub_uboot_syscall): Save/restore r9 and align stack.
1076
1077 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1080
1081 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1084 occurencies with END.
1085
1086 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1087
1088 * util/grub-editenv.c (help_filter, argp): Document how to delete
1089 the whole environment block.
1090 Reported by Dan Jacobson. Fixes Debian bug #726265.
1091
1092 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1093
1094 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1095 sectioning.
1096
1097 2013-11-13 Josh Triplett <josh@joshtriplett.org>
1098
1099 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1100 increment/decrement.
1101
1102 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1105 compiling with clang.
1106
1107 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1110 ".".
1111
1112 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Redirect all divisions to grub_divmod64.
1115
1116 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1119
1120 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Add missing includes of loader.h.
1123
1124 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * configure.ac: Allow disabling themes.
1127
1128 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1129
1130 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1131
1132 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1135 until it becomes operational.
1136
1137 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/Makefile.core.def (legacy_password_test): Disable
1140 on platforms where no legacycfg is compiled.
1141 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1142 load legacy_password_test.
1143
1144 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1147
1148 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1151
1152 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1155 strict-aliasing warning.
1156 (fsync): Silence cast warning.
1157
1158 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/commands/verify.c: Remove variable length arrays.
1161 Load gcry_dsa/gcry_rsa automatically.
1162
1163 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/tests/signature_test.c: New test.
1166
1167 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1170 API.
1171
1172 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1175 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1176
1177 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1180
1181 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/fs/proc.c: Allow \0 in proc files.
1184
1185 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1188
1189 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1192
1193 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/fs/ext2.c: Remove variable length arrays.
1196
1197 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1200 length arrays.
1201
1202 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1205 * grub-core/disk/cryptodisk.c: Likewise.
1206 * grub-core/disk/geli.c: Likewise.
1207 * grub-core/disk/luks.c: Likewise.
1208
1209 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/tests/legacy_password_test.c: New test.
1212 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1213
1214 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1217
1218 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/tests/pbkdf2_test.c: New test.
1221
1222 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1225
1226 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/io/lzopio.c: Remove variable length arrays.
1229
1230 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * include/grub/crypto.h: Add maximums on hash size and cipher block
1233 size.
1234
1235 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1238
1239 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/tests/xnu_uuid_test.c: New test.
1242
1243 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1246 covers it).
1247
1248 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/commands/hashsum.c: Remove variable length arrays.
1251
1252 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1255 condition.
1256 * tests/grub_func_test.in: Increase memory allocation.
1257
1258 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1261 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1262 sys/mount.h.
1263
1264 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1267 (grub_util_get_fd_size_os): ...this.
1268 (grub_hostdisk_flush_initial_buffer): New empty function.
1269
1270 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1273 without --defined-only.
1274
1275 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1278 rip-relative addressing in prologue.
1279
1280 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1283 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1284
1285 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1288 Add missing semicolon.
1289
1290 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1293
1294 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * configure.ac: Check for lzma.h for enabling liblzma and allow
1297 manual disabling.
1298
1299 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Add missing includes of loader.h.
1302
1303 2013-11-11 Fam Zheng <famcool@gmail.com>
1304
1305 * util/grub.d/30_os-prober.in: Add minix entry.
1306
1307 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1310 right buffer for temporary load.
1311
1312 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1315
1316 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1319 payload.
1320
1321 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1324 not Types.h.
1325 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1326 environment.
1327 (LzmaDec_InitDicAndState): Make static.
1328
1329 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1332
1333 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1336
1337 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1338
1339 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * docs/grub-dev.texi: Replace bzr references with git ones.
1342
1343 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1344
1345 * docs/grub.texi (Simple configuration): Remove reference to
1346 grub-reboot from saved default entry description - grub-default
1347 does not use it anymore.
1348
1349 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1352 compiled with.
1353
1354 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1355
1356 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1357
1358 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Fix grub_machine_fini bitrot.
1361
1362 Reported by: Glenn Washburn.
1363
1364 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1367
1368 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1371 -DELF.
1372 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1373 instead of ELF*.
1374
1375 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1378 Add -march=core2 when testing compile of efiemu64.
1379
1380 Thanks Andrey Borzenkov for spotting this.
1381
1382 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1385 XEN PV environment and load kernels.
1386
1387 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1390 * grub-core/loader/multiboot_mbi2.c: Likewise.
1391
1392 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1395 handling.
1396
1397 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1400
1401 Tested by: Denis 'GNUtoo' Carikli.
1402
1403 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1406
1407 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1410 Use to get rounded angle rather than truncated.
1411
1412 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/term/serial.c: Add option for enabling/disabling
1415 RTS/CTS flow control.
1416
1417 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1420 divisions.
1421
1422 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1425 Use grub_fatal rather than divide by zero.
1426 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1427
1428 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1431 truncate.
1432 (grub_fixed_fsf_divide): Likewise.
1433
1434 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1437 division by-zero and senseless negative divisions.
1438
1439 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1442 division by-zero and senseless negative divisions.
1443 (circprog_set_property): Don't accept negative num_ticks.
1444
1445 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1448 division by-zero and senseless negative divisions.
1449
1450 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * configure.ac: Use elf_*_fbsd on kfreebsd.
1453
1454 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/tests/div_test.c: New test.
1457
1458 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1459
1460 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1461 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1462 * grub-core/gfxmenu/view.c: Likewise.
1463 * grub-core/video/fb/video_fb.c: Introduce new functions:
1464 grub_video_set_area_status, grub_video_get_area_status,
1465 grub_video_set_region, grub_video_get_region.
1466 * grub-core/video/bochs.c: Likewise.
1467 * grub-core/video/capture.c: Likewise.
1468 * grub-core/video/video.c: Likewise.
1469 * grub-core/video/cirrus.c: Likewise.
1470 * grub-core/video/efi_gop.c: Likewise.
1471 * grub-core/video/efi_uga.c: Likewise.
1472 * grub-core/video/emu/sdl.c: Likewise.
1473 * grub-core/video/radeon_fuloong2e.c: Likewise.
1474 * grub-core/video/sis315pro.c: Likewise.
1475 * grub-core/video/sm712.c: Likewise.
1476 * grub-core/video/i386/pc/vbe.c: Likewise.
1477 * grub-core/video/i386/pc/vga.c: Likewise.
1478 * grub-core/video/ieee1275.c: Likewise.
1479 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1480 * include/grub/video.h: Likewise.
1481 * include/grub/video_fb.h: Likewise.
1482 * include/grub/fbfill.h: Updated render_target structure.
1483 grub_video_rect_t viewport, region, area
1484 int area_offset_x, area_offset_y, area_enabled
1485 * include/grub/gui.h: New helper function
1486 grub_video_bounds_inside_region.
1487 * docs/grub-dev.texi: Added information about new functions.
1488
1489 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1492 for alignment.
1493
1494 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1497 missing attribute.
1498 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1499
1500 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1503 simple division on arm and ia64.
1504
1505 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1508 link with libgcc.
1509
1510 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1513
1514 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1517 prefix symbol, not @.
1518
1519 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * INSTALL: Add note about older gcc and clang.
1522
1523 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1526
1527 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1530 NULL pointer dereference.
1531
1532 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1535 clang.
1536
1537 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1540 warnings.
1541
1542 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1545 function.
1546 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1547 * grub-core/disk/geli.c (ascii2hex): Likewise.
1548
1549 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * configure.ac: Run linker tests without -Werror.
1552 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1553 Change all occurences of -static-libgcc resp -lgcc to
1554 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1555
1556 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1559
1560 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Allow compiling with clang (not really supported though).
1563
1564 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1565 unconditionally.
1566 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1567 Add -mrtd -mregparm=3 on i386 when not using clang.
1568 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1569
1570 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1573 bindings.
1574 * grub-core/lib/reed_solomon.c: Likewise.
1575 * include/grub/i386/gdb.h: Likewise.
1576 * include/grub/i386/pc/int.h: Likewise.
1577 * include/grub/i386/pc/pxe.h: Likewise.
1578 * include/grub/ieee1275/ieee1275.h: Likewise.
1579
1580 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 Import libgcrypt 1.5.3.
1583
1584 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * configure.ac: Don't add -Wcast-align on x86.
1587
1588 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * configure.ac: Add -freg-struct-return on all platforms that
1591 support it.
1592
1593 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * acinclude.m4: Use -Werror on parameter tests.
1596 * configure.ac: Likewise.
1597
1598 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1601
1602 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * configure.ac: Check that -malign-loops works rather than assuming that
1605 either -falign-loops or -malign-loops work.
1606
1607 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1610
1611 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * configure.ac: Prevent cflags leaking to subsequent tests by always
1614 resetting cflags to target_cflags in target tests.
1615
1616 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1619 function.
1620
1621 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1624
1625 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1628
1629 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/normal/cmdline.c (grub_cmdline_get):
1632 Remove nested functions.
1633
1634 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * tests/test_sha512sum.in: Make it work on emu.
1637
1638 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1641 functions.
1642 (grub_bidi_line_logical_to_visual): Likewise.
1643
1644 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 Remove vestiges of -Wunsafe-loop-optimisations.
1647
1648 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1649 -Wno-unsafe-loop-optimisations.
1650 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1651 pragma.
1652 * grub-core/io/gzio.c: Likewise.
1653 * grub-core/script/parser.y: Likewise.
1654 * grub-core/script/yylex.l: Likewise.
1655 * util/grub-mkfont.c: Likewise.
1656
1657 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * util/grub-mkfont.c (process_cursive): Remove nested function.
1660
1661 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1664 (grub_boot_time): Likewise.
1665
1666 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * include/grub/symbol.h (FUNCTION): Use @function rather than
1669 "function".
1670 (VARIABLE): Likewise.
1671
1672 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1675
1676 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1679 (parse_dhcp_vendor): Likewise.
1680
1681 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1684
1685 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1688 Define after defining type and not before.
1689
1690 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1693 type.
1694 (grub_gcm_decrypt): Likewise.
1695 (algo_decrypt): Likewise.
1696 (grub_zfs_decrypt_real): Transform error type.
1697
1698 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1701
1702 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1705 (grub_usbms_cbi_reset): Likewise.
1706 (grub_usbms_bo_reset): Likewise.
1707 (grub_usbms_reset): Likewise.
1708 (grub_usbms_attach): Likewise.
1709 (grub_usbms_transfer_cbi): Likewise.
1710
1711 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1714 "checksum = checksum;".
1715
1716 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1719 entry_type.
1720
1721 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1724 BIOS disk check.
1725
1726 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1729 type.
1730 (grub_ehci_fini_hw): Likewise.
1731 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1732
1733 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1736 return grub_usb_err_t for cosistency. All users updated.
1737
1738 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1741 assigning to itself.
1742
1743 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
1744 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1745
1746 Issue separate DNS queries for ipv4 and ipv6
1747
1748 Adding multiple questions on a single DNS query is not supportted by
1749 most DNS servers. This patch issues two separate DNS queries
1750 sequentially for ipv4 and then for ipv6.
1751
1752 Fixes: https://savannah.gnu.org/bugs/?39710
1753
1754 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1755 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1756 * (grub_net_dns_lookup): Now using separated dns packages.
1757 * (grub_cmd_nslookup): Add error condition.
1758 * (grub_cmd_list_dns): Print DNS option.
1759 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1760 --prefer-ipv4, and --prefer-ipv6.
1761 * include/grub/net.h (grub_dns_option_t): New enum.
1762 * (grub_net_network_level_address): option added.
1763
1764 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1765
1766 * grub-core/video/fb/video_fb.c: Merge two blit functions
1767 into one.
1768
1769 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/term/terminfo.c: Add sequences for home and end.
1772
1773 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1776 graphics console.
1777
1778 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1781 add mode 0x12.
1782
1783 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1786 e-mail by Per Öberg.
1787
1788 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1791 name.
1792
1793 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1794
1795 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1796 emu platforms.
1797 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1798
1799 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * docs/grub.texi: Document usage of menuentry id.
1802
1803 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1806
1807 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1808
1809 * grub-core/commands/i386/nthibr.c: New command.
1810
1811 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1814
1815 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1818 coordinate.
1819
1820 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Support GRUB_DISABLE_SUBMENU config.
1823
1824 Inspired by patch from Prarit Bhargava.
1825
1826 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * docs/grub.texi: Mention RSA support.
1829
1830 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/commands/verify.c: Add RSA support.
1833
1834 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1837 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1838 device is known to be ATAPI.
1839
1840 2013-11-03 Mike Frysinger <vapier>
1841
1842 * configure.ac: Don't add target-prefix.
1843
1844 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1847 variables.
1848
1849 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1852 if language is English.
1853
1854 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1857
1858 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * configure.ac: Don't add -m32/-m64 on emu.
1861
1862 2013-11-02 neil
1863
1864 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1865 broken linux headers.
1866
1867 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1870
1871 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1874 Reed-Solomon recovery if more than half of redundancy info is 0.
1875
1876 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * util/grub-mount.c: Handle symlinks to directories.
1879
1880 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1883 find_file recursively for symlink.
1884
1885 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * tests/util/grub-shell.in: Copy themes.
1888
1889 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1892
1893 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * configure.ac: Use 0x8000 for address instead of 8000.
1896
1897 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1900 signature.
1901
1902 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1905 variable.
1906
1907 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1910
1911 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1914 file_progress_read_hook.
1915 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1916
1917 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1920 and double.
1921
1922 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1925
1926 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Rewrite blocklist functions in order to get progress when
1929 reading large extents and decrease amount of blocklist hook calls.
1930
1931 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1934 of SI suffixes.
1935
1936 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Support --base-clock for serial command to handle weird cards with
1939 non-standard base clock.
1940
1941 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1944 strncpy.
1945 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1946 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1947 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1948 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1949 + strcpy rather than strncpy.
1950
1951 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1954 (check_pool_label): Likewise. Fixes overflow.
1955 (nvlist_find_value): Fix comparison.
1956
1957 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1960 more appropriate functions.
1961
1962 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1965 realloc.
1966
1967 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1970
1971 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1974 on core size.
1975
1976 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1979
1980 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1983 (initialize_tables): reset tl and td to NULL after freeing.
1984
1985 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1988
1989 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1992 of supported tags.
1993
1994 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1997
1998 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2001 quirks.
2002
2003 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2006 a page in protected space.
2007
2008 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2011 allocate space for zero-sized modules.
2012
2013 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2016
2017 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2018
2019 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2020
2021 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2024 safeguards. Fixes a crash with i386/pc/console.c.
2025
2026 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2029 and grub_hostfs_init.
2030
2031 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2034 windows method on other platforms without good stat as well.
2035
2036 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2039
2040 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Make / in btrfs refer to real root, not the default volume.
2043 Modify mkrelpath to work even if device is mounted with subvolid option.
2044
2045 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2046
2047 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
2048 extra_dist.
2049 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2050 extra_dist.
2051
2052 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2055 fails.
2056
2057 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2058
2059 * docs/autoiso.cfg: New file.
2060
2061 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2064 COND_GRUB_PE2ELF conditions.
2065
2066 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2069 "vnd", "rd" and "fd" disks.
2070
2071 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Move grub_disk_write out of kernel into disk.mod.
2074
2075 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2078 handling.
2079
2080 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/kern/misc.c (grub_abort): Make static
2083
2084 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2087 transform invalid unicode codepoints.
2088
2089 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2092 \0 checking.
2093
2094 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2097
2098 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Consolidate cpuid code.
2101
2102 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Move cpuid code to cpuid.h and TSC code to tsc.c.
2105
2106 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2107
2108 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2109
2110 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2111
2112 * util/grub-mkconfig.in: Replace $0 with $self.
2113 * util/grub-reboot.in: Likewise.
2114 * util/grub-set-default.in: Likewise.
2115
2116 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2117
2118 * docs/osdetect.cfg: New file.
2119
2120 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2121
2122 * tests/util/grub-shell.in: Add new --debug option.
2123
2124 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2125
2126 * tests/test_unset.in: New test.
2127
2128 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2129
2130 * tests/test_sha512sum.in: New test.
2131
2132 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2135 * include/grub/misc.h: Remove strncat.
2136 * grub-core/lib/posix_wrap/string.h: Likewise.
2137
2138 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2141 Try to handle more than 0xFFFF packets.
2142 Reported by: Bernhard Übelacker <bernhardu>.
2143 He also spotted few overflows in first version of this patch.
2144
2145 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * tests/date_unit_test.c: New test.
2148
2149 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2152 of first three years after start of validity of unixtime.
2153
2154 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2157 division as the one making more sense.
2158 (update_screen): Likewise.
2159 (complete): Likewise.
2160
2161 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2164
2165 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Make char and string width grub_size_t rather than grub_ssize_t.
2168
2169 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2172 unsigned.
2173 (grub_history_replace): Likewise.
2174
2175 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2178 appropriate.
2179
2180 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2183 appropriate.
2184
2185 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2188 Use unsigned divisions rather than signed variants.
2189
2190 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2193 unsigned arithmetics.
2194 Add missing break.
2195
2196 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2199
2200 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2203 rather than signed one.
2204 (recovery): Likewise.
2205
2206 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2209
2210 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2213 than signed.
2214
2215 2013-10-25 Jon McCune <jonmccune@google.com>
2216
2217 * docs/grub.texi: Cleanup security documentation around signatures.
2218
2219 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2222
2223 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2226 than int.
2227
2228 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2231 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2232 functions when compiling for kernel.
2233
2234 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2237 unsigned long long when using %llu.
2238
2239 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2242 terminal after updating progress.
2243
2244 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2247 argument. We don't disable Gate A20 in this code.
2248
2249 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2252 Conceptually based on change in branch "vbe-on-coreboot".
2253
2254 2013-10-24 Robert Millan <rmh@gnu.org>
2255
2256 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2257 numeric constants with their symbolic equivalent.
2258 Taken from branch "vbe-on-coreboot".
2259
2260 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2263
2264 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2267 divmod64 for offset division.
2268
2269 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2270
2271 Rename .bzrignore to .gitignore. Add "*.o" rule.
2272
2273 * .bzrignore: Renamed to...
2274 * .gitignore: ...this.
2275
2276 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2277
2278 Add new progress module that displays the load progress of files.
2279
2280 * grub-core/lib/progress.c: New file.
2281 * grub-core/Makefile.core.def (progress): New module.
2282 * grub-core/kern/file.c (grub_file_open): File name added.
2283 * (grub_file_read): Progress hook added.
2284 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2285 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2286 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2287 * include/grub/file.h (struct grub_file): Add progress module members.
2288 * include/grub/term.h (struct grub_term_output): Likewise.
2289 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2290 Terminal velocity added.
2291 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2292 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2293 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2294 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2295 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2296 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2297 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2298 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2299 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2300 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2301 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2302 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2303
2304 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Verify signatures of signatures unless --skip-sig is specified.
2307
2308 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2311 \0 checking.
2312
2313 Saves 70 bytes on compressed image.
2314
2315 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2318 check.
2319
2320 Saves 10 bytes on compressed image.
2321
2322 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/kern/misc.c (grub_isprint): Move to ...
2325 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2326
2327 Saves 20 bytes on compressed image due to remving exporting.
2328
2329 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2332
2333 Saves 5 bytes on compressed image.
2334
2335 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2338 function get_utf8.
2339
2340 Saves 379 bytes on compressed image.
2341
2342 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2345
2346 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2349
2350 Saves 40 bytes on compressed image.
2351
2352 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2355 mask rather than 64-bit type.
2356
2357 Saves 20 bytes on compressed image.
2358
2359 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2362 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2363
2364 Saves 273 bytes on compressed image.
2365
2366 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2369 variable length arrays.
2370
2371 Saves 50 bytes on compressed image.
2372
2373 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2376
2377 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/fs/ufs.c: Remove variable length arrays.
2380
2381 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2384
2385 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/fs/zfs.c: Remove variable length arrays.
2388 Reduces zfs.mod by 160 bytes (208 compressed).
2389
2390 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2393
2394 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/net/arp.c: Remove variable length arrays.
2397 * grub-core/net/bootp.c: Likewise.
2398 * grub-core/net/dns.c: Likewise.
2399 * grub-core/net/icmp6.c: Likewise.
2400 * grub-core/net/net.c: Likewise.
2401
2402 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/fs/ntfs.c: Remove variable length arrays.
2405 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2406 compressed).
2407
2408 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/hfs.c: Remove variable length arrays.
2411 Reduces hfs.mod by 8 bytes (52 compressed).
2412
2413 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/udf.c: Remove variable length arrays.
2416 Increases udf.mod by 128 bytes (but decreases by 13 when
2417 compressed).
2418
2419 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/fs/iso9660.c: Remove variable length arrays.
2422 Increases iso9660.mod by 200 bytes (but decreases by 79 when
2423 compressed).
2424
2425 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/fs/nilfs2.c: Remove variable length arrays.
2428 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
2429 compressed).
2430
2431 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/fs/xfs.c: Remove variable length arrays.
2434 Reduces xfs.mod by 40 bytes (43 compressed).
2435
2436 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/fs/fshelp.c: Remove variable length arrays.
2439 Reduces fshelp.mod by 116 bytes (23 compressed).
2440
2441 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/normal/completion.c: Remove variable length arrays.
2444 * grub-core/normal/menu_entry.c: Likewise.
2445
2446 Reduces normal.mod by 496 bytes.
2447
2448 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2451 by 356 bytes (158 compressed).
2452
2453 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2456 by 364 bytes (169 compressed).
2457
2458 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2461 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2462 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2463
2464 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2467 bitmasks to small structures of size chosen to fit in registers.
2468
2469 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * conf/Makefile.common: Use -freg-struct-return on i386. This
2472 decreases code size and improves performance.
2473
2474 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2477
2478 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2481 "(null)" string.
2482 Simplify expressions to save around 256 bytes in kernel.img.
2483 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2484
2485 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2488 Use GRUB_UTIL_FD_O_* rather than O_*.
2489
2490 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 Add haiku-specific functions.
2493
2494 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2497
2498 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Move stat () and device mode checking into OS-dependent files as
2501 long as performance doesn't suffer.
2502
2503 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Split make_system_path_relative_to_its_root into separate file
2506 relpath.c from getroot.c as it's common between unix and haiku
2507 but otherwise haiku doesn't use any functions from unix getroot.c.
2508
2509 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2512 New function.
2513 (grub_util_is_special_file): Likewise.
2514
2515 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2518 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2519
2520 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2523 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2524
2525 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2528 (load_image): Likewise.
2529
2530 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-render-label.c: Move backend part to ...
2533 * util/render-label.c: ... here.
2534
2535 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2538 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2539
2540 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2543
2544 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2547 CD-ROM in case when it's declared as having subpartitions.
2548
2549 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 Don't add -lm on haiku.
2552
2553 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2554 and empty on haiku.
2555 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2556 -lm.
2557
2558 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * configure.ac: Use -melf_*_haiku as target on haiku.
2561
2562 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * Makefile.util.def: Add util/setup.c to extra_dist.
2565
2566 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2569 unknown types through.
2570
2571 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2574 (grub_util_check_char_device): Likewise.
2575 * include/grub/emu/getroot.h: Likewise.
2576
2577 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2580 memset rather than inline static function.
2581
2582 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2585 not doing embedded decompressor.
2586
2587 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2590 shadowing.
2591 * grub-core/kern/disk.c: Likewise.
2592 * grub-core/kern/misc.c: Likewise.
2593 * include/grub/parser.h: Likewise.
2594 * include/grub/script_sh.h: Likewise.
2595 * include/grub/zfs/zfs.h: Likewise.
2596
2597 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2600
2601 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2604 defined before trying to use it.
2605
2606 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2609 warning.
2610
2611 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2614 Use __unused__ rather than __used__ on gcc < 3.2.
2615
2616 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2619 gcc < 4.0.
2620 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2621
2622 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2625
2626 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2629 * include/grub/emu/misc.h: Likewise.
2630
2631 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2634 cur_color.
2635
2636 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2637
2638 * grub-core/tests/checksums.h: Regenerated due to progress bar
2639 get_minimal_size changes.
2640
2641 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2642
2643 Added `tr' command support.
2644
2645 * grub-core/commands/tr.c: New file.
2646 * grub-core/Makefile.core.def: Build rules for new module.
2647
2648 * tests/grub_cmd_tr.in: New test.
2649 * Makefile.util.def: Build rules for new test.
2650
2651 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2652
2653 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2654
2655 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2656
2657 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2658 * docs/gurb.texi: Likewise.
2659
2660 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2661
2662 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2663 Pixmap highlighted section with east and west slices was displayed
2664 incorrectly due to negative width of the central slice.
2665
2666 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2667
2668 * docs/grub.texi: Graphical options information update.
2669 Removed outdated. Updated current. Inserted missed.
2670
2671 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * docs/grub.texi: Mention few new platform-specific commands.
2674
2675 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2678 currently used so this doesn't really have any effect.
2679 Reported by: Douglas Ray <dougray>
2680
2681 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2684 compilation but prevents gcc from displaying messages in non-Latin
2685 alphabets.
2686 * conf/Makefile.common: Likewise.
2687
2688 2013-10-16 Hiroyuki YAMAMORI
2689
2690 Handle Japanese special keys.
2691 Reported by: Hiroyuki YAMAMORI.
2692 Codes supplied by: Hiroyuki YAMAMORI.
2693
2694 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2695
2696 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2697
2698 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2699
2700 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2701 * docs/grub.texi: Likewise.
2702
2703 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2706 value in case of incomplete read.
2707 (grub_util_fd_write): Likewise.
2708
2709 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2712
2713 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * util/grub-editenv.c (create_envblk_file): More from here ...
2716 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2717
2718 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2721 canonicalize file name before doing the rest.
2722
2723 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2726 mingw32.
2727
2728 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Define grub_util_is_directory/regular/special_file and
2731 use OS-dependent versions rather than to rely on stat().
2732
2733 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * util/grub-mkimage.c: Move backend part to ...
2736 * util/mkimage.c: ... here.
2737
2738 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Allow compilation with mingw64 albeit with warnings due to lack of
2741 %llx/%llu.
2742
2743 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2744 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2745 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2746 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2747 on mingw64.
2748 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2749
2750 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Remove leftover references to some of the system headers.
2753
2754 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2757 read.
2758
2759 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2762 of strerror.
2763
2764 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Split out blocklist retrieving from setup.c to
2767 grub-core/osdep/blocklist.c and add windows implementation since
2768 generic version doesn't work on NTFS on Windows due to aggressive
2769 unflushable cache.
2770
2771 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2774 files.
2775
2776 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2779 Cut tailing newline. Remove arbitrary limitation. Always use
2780 grub_util_tchar_to_utf8.
2781
2782 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2785 * tests/printf_unit_test.c (printf_test): Add %% tests.
2786 Reported by: Paulo Flabiano Smorigo.
2787
2788 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2791 implement fsync.
2792
2793 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2796 use nvlist_lookup_string and don't use nvlist_print.
2797
2798 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2801 closedir to handle filename charset translation.
2802
2803 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * include/grub/emu/hostdisk.h: Move file operations to
2806 * include/grub/emu/hostfile.h: ... here.
2807
2808 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2811 unicode path.
2812
2813 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2816
2817 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2820 and remove export.h.
2821
2822 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/kern/emu/error.c: Removed.
2825 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2826 explicitly as it's already in libgnu.a.
2827
2828 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2831 config-util.h include.
2832
2833 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 Split emunet into platform-dependent and GRUB-binding parts. Keep
2836 platform-dependent part in kernel for easy access to OS functions.
2837
2838 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2841 open/read/write.
2842
2843 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/osdep/windows/emuconsole.c: New file.
2846
2847 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2848
2849 * conf/Makefile.extra-dist: Add osdep/*/init.c
2850
2851 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2854
2855 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * util/grub-probe.c (probe): Separate different drives in hint-str
2858 by spaces and not newlines.
2859 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2860
2861 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2862
2863 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2864 Handle CD-ROMs.
2865
2866 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Pass-through unknown E820 types. It required reorganisation of mmap
2869 module.
2870
2871 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2872
2873 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2874
2875 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2878 fseeko.
2879
2880 2013-10-14 qwertial <qwertial>
2881
2882 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2883
2884 2013-10-14 Jon McCune <jonmccune@google.com>
2885
2886 * docs/grub.texi: Document new signatures possibility.
2887
2888 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2891
2892 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2895 missing prototype.
2896 (grub_util_tchar_to_utf8): Likewise.
2897
2898 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2901 * grub-core/kern/emu/main.c: Add missing include.
2902 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2903 Don't call grub_util_init_nls.
2904 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2905 Likewise.
2906
2907 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2910 stat.
2911
2912 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2915
2916 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2919
2920 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Add a wrapper for fopen. On unix-like systems just pass-through. On
2923 windows use unicode version.
2924
2925 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Move set_program_name and init_nls to host_init. On windows
2928 fix in this fuction console and argument charset as well.
2929
2930 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2931
2932 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2933 GRUB_ENABLE_CRYPTODISK.
2934
2935 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2936 GRUB_ENABLE_CRYPTODISK.
2937 * util/grub-mkconfig_lib.in: Likewise.
2938
2939 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2940
2941 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2942
2943 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2944
2945 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2946 error when enabling debug.
2947
2948 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2949
2950 * configure.ac: Use -melf_*_obsd on openbsd.
2951
2952 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2955
2956 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * include/grub/misc.h: Use gnu_printf rather than printf as format
2959 template since our functions are independent of libc.
2960
2961 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * util/grub-setup.c (setup): Move copying of partition table as
2964 futher up as possible to avoid possible overwrite by floppy routines.
2965
2966 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2969
2970 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2971
2972 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2973 * docs/grub.texi: Likewise.
2974
2975 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2978 it's mostly unused. Move vestiges to the callers.
2979
2980 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2983 version of salt and hash. Use grub_snprintf rather than snprintf.
2984
2985 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * docs/grub.texi: Fix problem with braces.
2988
2989 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * conf/Makefile.extra-dist: Fix extra-dist list.
2992 * grub-core/Makefile.core.def: Likewise.
2993
2994 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * docs/grub.texi: Document disk names used on Windows and AROS.
2997
2998 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3001 with AROS devs.
3002 * grub-core/osdep/aros/hostdisk.c: Likewise.
3003
3004 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 Avoid including hostfile.h when not necessarry as it pulls
3007 in OS-specific headers which may redefine generic names
3008 like "far".
3009
3010 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3011
3012 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3013 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3014 scrollbar_bottom_pad
3015 * docs/grub.texi: Likewise.
3016
3017 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3018
3019 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3020
3021 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3024
3025 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3028 Removed.
3029 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3030 Made static.
3031
3032 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3035 leftover.
3036
3037 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Move OS-specific driver configuration to grub_util_fd_open. This
3040 moves OS-dependent parts from kern/emu/hostdisk.c to
3041 grub-core/osdep/*/hostdisk.c.
3042
3043 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * util/grub-mkimage.c (generate_image): Use size_t instead of
3046 grub_size_t.
3047 * util/grub-mkimagexx.c (locate_sections): Likewise.
3048 (load_image): Likewise.
3049
3050 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3053 size_t.
3054 (grub_util_write_image): Likewise.
3055
3056 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3059 get random when no RNG is available.
3060 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3061
3062 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * include/grub/util/lvm.h: Removed.
3065
3066 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3069 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3070
3071 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3074
3075 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3078
3079 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/net/drivers/emu/emunet.c: Move to ..
3082 * grub-core/osdep/linux/emunet.c: ..here.
3083
3084 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * util/ieee1275/ofpath.c: Move to ...
3087 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3088 * grub-core/osdep/basic/ofpath.c: ..here.
3089
3090 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 Move password-querying (util-version) routines to grub-core/osdep.
3093
3094 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 Move sleep routines to grub-core/osdep.
3097
3098 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 Move OS-dependent files to grub-core/osdep and document it.
3101
3102 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3105 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3106
3107 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3110
3111 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * util/misc.c: Remove leftover inclusion of malloc.h.
3114
3115 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * include/grub/setjmp.h: Remove leftover GRUBOF.
3118
3119 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/raid.c: Fold into ...
3122 * util/getroot_linux.c: ... here. Make all functions static.
3123
3124 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3127 macros to GRUB ones.
3128
3129 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3130
3131 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3132 occasional bug. If there are too many boot entries or too low
3133 scrollbar height then we need to use another formula to calculate
3134 the position and size of the scrollbar thumb.
3135
3136 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
3139
3140 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3141
3142 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3143 * docs/grub.texi: Likewise.
3144
3145 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3146
3147 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3148 viewport.
3149
3150 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3151
3152 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3153 minimal width calculations.
3154
3155 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * docs/grub.texi: Update note on colors on emu console.
3158
3159 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3162 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3163 it's FS and not GRUB limitation.
3164
3165 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3168
3169 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3172
3173 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3174
3175 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3176 kernels by version order.
3177
3178 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3181
3182 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 Add AROS hostdisk and getroot routines.
3185
3186 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Make cryptodisk and diskfilter probe data retrievable programmatically
3189 and not just printable.
3190
3191 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 Split random retrieving code into separate files.
3194
3195 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3198 R_ARM_V4BX.
3199
3200 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3203 condition.
3204 * grub-core/tests/fake_input.c: Likewise.
3205 * grub-core/tests/cmdline_cat_test.c: Likewise.
3206
3207 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/video/capture.c: Do not do finalization when .fini
3210 is called as there is explicit capture_end.
3211
3212 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3215 changing windows to avoid crash.
3216
3217 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3220
3221 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * po/exclude.pot: Add several strings to exclude.
3224
3225 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3228
3229 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3232 ./util/grub-gen-asciih.c to exclude list.
3233
3234 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3237 and don't mark error strings for translation.
3238
3239 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3242 properly in case of missing block size.
3243
3244 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/arm/setjmp.S: Add missing license section.
3247
3248 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * po/swiss.sed: Add replacement for key names and for term computer.
3251
3252 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3253
3254 * grub-core/gfxmenu/theme_loader.c: New global options for the
3255 theme background image handling. desktop-image-scale-method,
3256 desktop-image-h-align, desktop-image-v-align.
3257 * grub-core/gfxmenu/view.c: Likewise.
3258 * include/gfxmenu_view.h: Likewise.
3259 * include/bitmap_scale.h: Proportional scale functions introduced.
3260 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3261 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3262 cases of unexpected input variables for scale functions.
3263 * docs/grub.texi: Updated documentation for new options.
3264
3265 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3268
3269 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3270
3271 * grub-core/tests/checksums.h: Corrected due to changes in
3272 bilinear interpolation function.
3273
3274 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3275
3276 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3277 to eliminate artefacts in bilinear interpolation.
3278
3279 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/video/readers/tga.c: Support paletted tga.
3282
3283 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3286 incorrect cbcr setting when in color mode.
3287
3288 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/video/readers/png.c: Support paletted images and clean up
3291 greyscale support.
3292
3293 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3296 usage of wrong table which resulted in mishandling of 4-byte
3297 sequences.
3298
3299 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/term/terminfo.c: Add Home and End key sequences.
3302
3303 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3306 Fix formula for computing total number of bytes.
3307
3308 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3311 image processing, fix big-endian and support grayscale.
3312
3313 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3316 Correctly will with maximum transparency when using index color.
3317
3318 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/video/readers/png.c: Support grayscale
3321
3322 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/video/readers/jpeg.c: Support grayscale.
3325
3326 2013-09-26 Jon McCune <jonmccune@google.com>
3327
3328 * grub-core/commands/loadenv.c: Support skipping signature check
3329 and variable names filtering.
3330
3331 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3334 * grub-core/kern/emu/hostfs.c: Likewise.
3335 * util/getroot_unix.c: Likewise.
3336
3337 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3340 Migrate all explicit defines to this new one.
3341
3342 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3345 grub_util_fd_strerror when using grub_util_fd_*.
3346 (grub_util_fd_open_device): Likewise.
3347 (grub_util_biosdisk_read): Likewise.
3348 (grub_util_biosdisk_write): Likewise.
3349 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3350 (grub_util_fd_strerror): Likewise.
3351 (grub_util_fd_sync): Likewise.
3352 (grub_util_fd_close): Likewise.
3353 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3354 (grub_util_fd_close): Likewise.
3355 (grub_util_fd_strerror): Likewise.
3356 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3357 function proto rather than macro.
3358 (grub_util_fd_sync): Likewise.
3359 (grub_util_fd_open): Likewise.
3360 (grub_util_fd_strerror): New proto.
3361
3362 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3365 platforms on which it doesn't work.
3366
3367 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3370 stat immediately to where it's used.
3371
3372 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/getroot.c (grub_util_check_block_device): Move to ...
3375 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3376 * util/getroot.c (grub_util_check_char_device): Move to ...
3377 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3378
3379 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3382 disk closing logic.
3383
3384 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3385
3386 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3387
3388 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3389
3390 * docs/grub.texi (File name syntax): Document ZFS filenames
3391 (/volume@snapshot/...).
3392
3393 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3396 Always return full path. Fixes a problem with mkrelpath.
3397
3398 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3399
3400 * util/grub-install.in: Add GPT PReP support.
3401 * util/grub-probe.c (probe): Support GPT partition type.
3402 (main): Support -t gpt_parttype.
3403
3404 2013-09-23 Aleš Nesrsta <starous@volny.cz>
3405
3406 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3407
3408 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3409
3410 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3411
3412 2013-09-23 Tim Hardeck <thardeck>
3413
3414 * util/grub.d/10_hurd.in: Filter out character for the class.
3415 * util/grub.d/10_kfreebsd.in: Likewise.
3416 * util/grub.d/10_linux.in: Likewise.
3417 * util/grub.d/20_linux_xen.in: Likewise.
3418
3419 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3420
3421 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3422 "changed".
3423
3424 2013-09-23 Josh Triplett <josh@joshtriplett.org>
3425
3426 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3427 boot partition.
3428
3429 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3432 doesn't use posix_wrap. Keep literal -fno-builtin however.
3433
3434 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3437
3438 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3439 2013-09-23 neil
3440
3441 * configure.ac: Do not enable -Wmissing-noreturn as its
3442 usefulness is limited and creates problems on some OS notably with
3443 code generated by bison.
3444
3445 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3446 2013-09-23 neil
3447
3448 * configure.ac: Do not explicitly enable -Waddress as it's not
3449 supported by all gcc and when it is, it's already enabled by -Wall.
3450
3451 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3454 desactivated use of EDID at all.
3455
3456 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3457 2013-09-23 neil
3458
3459 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3460 video if no text is available.
3461
3462 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3463 2013-09-23 neil
3464
3465 * configure.ac: Substitute TARGET_RANLIB.
3466
3467 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3468 2013-09-23 neil
3469
3470 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3471
3472 Based on patches from AROS.
3473
3474 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3475 2013-09-23 neil
3476
3477 * grub-core/Makefile.am: Override STRIP and RANLIB.
3478 * configure.ac: compute TARGET_RANLIB.
3479 * INSTALL: Document TARGET_RANLIB
3480
3481 Based on patches from AROS.
3482
3483 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3486 that floppies are unpartitioned.
3487
3488 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3491 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3492
3493 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3496 less nice but more portable.
3497 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3498
3499 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3502 for cheat_fd.
3503 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3504 functions.
3505 (grub_cryptodisk_cheat_insert): Likewise.
3506 (grub_cryptodisk_close): Likewise.
3507
3508 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3511 Use windows path for DEFAULT_DIRECTORY.
3512
3513 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3516 difference was likely just gcc version, not anything mingw-related.
3517
3518 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Use Winapi on both cygwin and mingw32 to share more code between both.
3521
3522 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3523
3524 * util/grub-install.in: Add --grub-editenv option.
3525 * util/grub-install_header (grub_compress_file): Explicitly check for
3526 plain file to avoid cp error.
3527
3528 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3529
3530 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3531 names; fix LVM driver name (lvm, not lv).
3532 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3533 names.
3534
3535 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3538 files rather than one file with loads of #if's.
3539 * util/getroot.c: Likewise.
3540
3541 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3544
3545 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3548 GNU/Hurd to the list of checked PRNG.
3549
3550 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3553
3554 2013-09-21 Ales Nesrsta <starous@volny.cz>
3555
3556 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
3557
3558 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3561 * grub-core/disk/lvm.c: Add LVM UUIDs.
3562 * util/getroot.c: Use LVM UUIDs whenever possible.
3563
3564 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3565
3566 * docs/grub.texi (Networking commands): Add documentation for
3567 network related commands.
3568
3569 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3572 to determine if device is handled by devmapper.
3573 (convert_system_partition_to_system_disk): Likewise.
3574 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3575 already done in grub_util_open_dm.
3576
3577 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3578
3579 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3580 Clean up stack manipulation (sync_caches_armv*)
3581
3582 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * util/lvm.c: Remove since unused. Remove remaining references.
3585
3586 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 Handle the case of partitioned LVM properly.
3589
3590 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3591 Stop on meeting LVM, mpath or DMRAID.
3592 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3593 (read_device_map): Likewise.
3594 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3595 device is full disk rather than erroring out on LVM and similar cases.
3596
3597 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3600
3601 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3604 4K before the end.
3605 Reported by: Leif Lindholm
3606
3607 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
3608 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3611 codes.
3612
3613 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
3614
3615 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3616 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3617
3618 2013-09-18 Douglas Ray <dougray@cpan.org>
3619
3620 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3621 as secure.
3622
3623 2013-09-18 Aleš Nesrsta <starous@volny.cz>
3624
3625 * docs/grub.texi: Fix broken link.
3626
3627 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3628
3629 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3630 to break endless loop.
3631
3632 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * util/grub-fstest.c: Fix several printf formats.
3635 * util/grub-mkimage.c: Likewise.
3636 * util/grub-mkimagexx.c: Likewise.
3637 * util/grub-script-check.c: Likewise.
3638
3639 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3642 error.
3643
3644 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3647
3648 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3651 removed in current versions cygwin_conv_*.
3652
3653 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * configure.ac: Disable efiemu runtime on cygwin.
3656
3657 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3660 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3661
3662 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3665 error message.
3666
3667 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3670 windows variant.
3671 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3672 data.
3673
3674 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3677 when on x86 and not cygwin.
3678 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3679 -Wl,-melf_x86_64.
3680
3681 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * configure.ac: Set CPP to build one when checkoing for freetype for
3684 build.
3685
3686 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3689 [!GRUB_BUILD]: Remove has_argument.
3690
3691 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3694 Replace with a dummy.
3695
3696 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * configure.ac: Don't change host_os from mingw to cygwin.
3699
3700 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * configure.ac: Change target_os from windows to cygwin.
3703
3704 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3707
3708 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3709 (build-grub-gen-asciih): Likewise.
3710 (build-grub-gen-widthspec): Likewise.
3711 * Makefile.util.def (grub-pe2elf): Remove.
3712 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3713 * configure.ac: Separate tests for build.
3714 Move ./build-grub-pe2elf to grub-core.
3715 Fix typo.
3716 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3717 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3718 defined.
3719 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3720 constants.
3721 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3722 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3723 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3724
3725 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3728 mingw32 as well based on grub_util_get_disk_size.
3729 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3730 grub_util_get_fd_size.
3731 (sync): Removed.
3732 (fsync): Moved to ...
3733 * grub-core/kern/emu/misc.c (fsync): ... here.
3734
3735 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * include/grub/mm.h (grub_extend_alloc): Remove.
3738 * grub-core/loader/i386/pc/plan9.c: Use own version of
3739 grub_extend_alloc with appropriate types.
3740
3741 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3744
3745 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3748
3749 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 Fix dependencies on cygwin.
3752
3753 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3754 dependencies when used and defined.
3755 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3756
3757 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3760 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3761
3762 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3765 implementation available to cause compile-time rather than runtime
3766 error.
3767
3768 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * util/grub-fstest.c: Don't check for symlinks on windows.
3771
3772 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * INSTALL: Mention unavailability of man pages when cross-compiling.
3775
3776 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3779 and gcry_log_bug.
3780 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3781
3782 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * INSTALL: Document cross-compilation.
3785 * acinclude.m4: Determine whether nm support -P and --defined-only.
3786 * configure.ac: Add TARGET_ to all variables pertaining to target
3787 that don't have it yet.
3788 * gentpl.py: Likewise.
3789 * grub-core/Makefile.am: Likewise.
3790 * grub-core/genmod.sh.in: Likewise.
3791 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3792 as well.
3793
3794 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3795
3796 * configure.ac: Remove -Wempty-body. It's not essential and needs
3797 recent gcc.
3798
3799 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3800
3801 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3802 * util/getroot.c: Likewise.
3803
3804 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/disk/ahci.c: Add needed explicit cast.
3807 * grub-core/lib/backtrace.c: Likewise.
3808 * grub-core/net/ip.c: Likewise.
3809 * grub-core/net/tcp.c: Likewise.
3810 * grub-core/net/udp.c: Likewise.
3811
3812 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3815
3816 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * util/import_gcry.py: Add final newline in visibility.h.
3819
3820 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * conf/Makefile.common: Fix typo.
3823
3824 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3827
3828 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * Makefile.am (widthspec.h): Fix typo.
3831 * util/grub-gen-widthspec.c: Likewise.
3832
3833 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 Move ascii.h and widthspec.h generation to a separate build-time-only
3836 tool.
3837
3838 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3839
3840 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3841 Always fill bootdisk info and improve check for NetBSD disklabel.
3842
3843 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * conf/Makefile.extra-dist: Add util/bin2h.c.
3846 Reported by: floppym.
3847
3848 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3851
3852 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * configure.ac: Disable unifont and starfield if no freetype was found.
3855
3856 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3859 on NetBSD and OpenBSD.
3860
3861 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3862
3863 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3864
3865 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3866
3867 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3868 reduced. Inheritant options are processed during the theme loading.
3869
3870 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3871
3872 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3873
3874 2013-08-14 Avik Sil <aviksil@in.ibm.com>
3875
3876 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3877
3878 2013-08-14 Avik Sil <aviksil@in.ibm.com>
3879
3880 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3881 using qemu.
3882
3883 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3884
3885 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3886 remove-potcdate.sed.
3887
3888 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3889
3890 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3891 unused attribute from pull argument.
3892
3893 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3894
3895 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3896 memory leak.
3897
3898 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3899
3900 * util/getroot.c (pull_lvm_by_command): add --separator option
3901 to vgs call to disable padding of output to 10 characters.
3902
3903 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3906 here ...
3907 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3908 here.
3909
3910 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3913 length.
3914
3915 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3918 full Canadian cross. Tested with build=x86_64, host=arm,
3919 target=ppc-ieee1275.
3920
3921 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * configure.ac: Error if no $BUILD_CC could be found.
3924 Reported by: DevHC.
3925
3926 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3929 i386-multiboot.
3930
3931 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3934 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3935
3936 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
3937
3938 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3939 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3940 falling back to the partition device, otherwise a later call to this
3941 function may fail spuriously.
3942 Reported by Axel Beckert. Fixes Debian bug #708614.
3943
3944 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3945
3946 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3947
3948 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3949
3950 Prevent shadowing of stdlib's devname(3) on BSD.
3951
3952 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3953 and devlast to diskname and disklast, respectively.
3954
3955 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
3956
3957 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3958
3959 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3960
3961 * docs/grub.texi: Introduce terminal window position options:
3962 terminal-left: terminal window's left position
3963 terminal-top: terminal window's top position
3964 terminal-width: terminal window's width
3965 terminal-height: terminal window's height
3966 terminal-border: terminal window's border width
3967 * grub-core/gfxmenu/theme-loader.c: Likewise.
3968 * include/grub/gfxmenu_view.h: Likewise.
3969 * po/exlude.pot: Likewise.
3970 * grub-core/gfxmenu/view.c: Likewise.
3971 Also updated minimal window size.
3972 Also terminal_sanity_check function has been introduced.
3973 * grub-core/tests/checksums.h: Update (terminal window height
3974 is adjusted now for low resolution screen)
3975
3976 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3979 position).
3980
3981 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * po/exclude.pot: Add few recent exceptions.
3984
3985 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * tests/grub_func_test.in: Add unicode.pf2.
3988
3989 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3992 standard rather than noral color, in line with other terminals.
3993
3994 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3997 analysis.
3998
3999 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4002
4003 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4006 inappropriate printf.
4007
4008 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4009
4010 * .bzrignore: Remove grub-core/lib/dtc-grub,
4011 grub-core/Makefile.libfdt.def
4012 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4013
4014 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * include/grub/video.h (grub_video_register): Keep double-linked as
4017 well as single-linked invariants.
4018 Reported by: qwertial.
4019
4020 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/commands/nativedisk.c (get_uuid): Handle
4023 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4024
4025 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4026
4027 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4028 maximum of NW, N, NE heights instead of N's height and maximum of
4029 NW, W, SW widths instead of W's width. (So the box will be always
4030 correctly drawn)
4031
4032 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4033
4034 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4035 Fix misuse of variable count.
4036
4037 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
4038 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
4039 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 New ports to arm-uboot and arm-efi.
4042 Mostly by Leif Lindholm with some additions from
4043 Francesco Lavra and cleanup by Vladimir Serbinenko.
4044
4045 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4048 and not before.
4049 Reported by: Leon Drugi.
4050
4051 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4054 Reported by: Paulo Flabiano Smorigo.
4055
4056 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4057
4058 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4059
4060 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4061
4062 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4063
4064 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4067
4068 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4071
4072 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4073
4074 * grub-core/net/bootp.c: Export net_* variables.
4075 * grub-core/net/net.c: Likewise.
4076
4077 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4080
4081 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4084
4085 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4088
4089 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4092
4093 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4094
4095 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4096 <= 0.
4097
4098 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4099
4100 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4101 functions.
4102
4103 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4104
4105 * grub-core/fs/zfs/zfs_lz4.c: New file.
4106 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4107
4108 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4109
4110 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4111
4112 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4113
4114 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4115 (check_pool_label): Likewise.
4116 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4117
4118 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4119
4120 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4121
4122 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4123
4124 * docs/grub.texi (Commands): Document postition parameters
4125 for menuentry command.
4126
4127 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4128
4129 * util/grub-mknetdir.in: Remove stray line from help output.
4130
4131 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 Remove early sm712 init as there is no reason for it (the "watchdog"
4134 effect was due to wrong GPIO map).
4135
4136 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/commands/pcidump.c: Remove static variables.
4139
4140 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4143
4144 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * configure.ac: Move delimiter after the infos.
4147
4148 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4151
4152 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4155 not filling whole 8x16 space.
4156
4157 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4160
4161 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * configure.ac: Indicate which liblzma is used if any.
4164
4165 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
4166 2013-06-21 Craig Sanders <savannah@taz.net.au>
4167
4168 * util/grub-reboot.in: Document submenu usage.
4169
4170 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4171
4172 * .bzrignore: Update with a number of new test-related files.
4173
4174 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4175
4176 * util/grub-script-check.c: Fail on scripts containing no
4177 commands, to guard against corrupted grub-mkconfig setups that
4178 produce no useful output.
4179 * tests/grub_script_no_commands.in: New test.
4180 * Makefile.util.def (grub_script_no_commands): Add.
4181 Reported by Hans Putter. Fixes Debian bug #713886.
4182
4183 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4184
4185 * grub-core/disk/diskfilter.c: Forgot to remove comment
4186 from previous commit.
4187
4188 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4189
4190 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4191 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4192
4193 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4194
4195 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4196
4197 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4198
4199 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4200 rescan diskfilter devices until nothing new is found.
4201
4202 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4205
4206 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 Don't try to detect cbfs on *-emu.
4209
4210 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4213
4214 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 Add support for processed coreboot payload chainloading.
4217
4218 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 Enable coreboot information commands even when not loaded as
4221 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4222
4223 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Support for cbfs. Also factor out the part which is common
4226 for all archives to a separate module. This splits tar from cpio
4227 as they are very different but keeps cpio, cpio_be, odc and newc
4228 together since they're very similar.
4229
4230 2013-06-15 David Michael <fedora.dm0@gmail.com>
4231
4232 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4233 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4234
4235 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * tests/grub_script_eval.in: Really add the eval test.
4238
4239 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Move flavour-specific parts out of common cpio.c file and
4242 rename remaining to cpio_common.c
4243
4244 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4245
4246 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4247 off new function grub_script_execute_new_scope. Change callers to use
4248 either of them as appropriate.
4249 * grub-core/commands/eval.c: New command eval.
4250 * docs/grub.texi (Commands): Document it.
4251
4252 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4253
4254 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4255 to fetch values when listing.
4256
4257 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4258
4259 Fix make dist on non-pc.
4260
4261 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
4262
4263 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4264 without a device name.
4265
4266 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Remove enable_executable_check as it's not needed anymore.
4269 Reported by: dougray.
4270
4271 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4274 ambigouos RAID before discovering RAIDs on top of it.
4275 Reported by: bodom.
4276
4277 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Fix typo (failback vs fallback).
4280
4281 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4282
4283 * util/grub.d/30_os-prober.in: Add support for probing EFI
4284 System Partition (as of os-prober 1.58).
4285
4286 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * configure.ac: Add yet another path to unifont. For parabola.
4289
4290 2013-05-30 Josh Triplett <josh@joshtriplett.org>
4291
4292 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4293 handling to copy the killed characters to the kill buffer as
4294 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4295 stored as char. Eliminates UCS4 truncation and corruption
4296 observed when killing characters with Ctrl-u and yanking them
4297 back with Ctrl-y.
4298
4299 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 Detach optional parts of gfxterm and integrate in with coreboot init.
4302
4303 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 Move blit and fill dispatcher to appropriate files to decrease export
4306 and relocation overhead.
4307
4308 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4311 functions.
4312
4313 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/Makefile.am: Fix compilation problem with some
4316 automake versions.
4317
4318 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4321
4322 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4325 automake versions.
4326
4327 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4330 SSDT.
4331
4332 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4333
4334 * grub-core/partmap/dfly.c: New partition map.
4335
4336 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4339 checking.
4340 Reported by: Francesco Lavra.
4341
4342 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4343
4344 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4345 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4346 false conditions.
4347 * conf/Makefile.common: define dist_grubconf_DATA
4348
4349 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 Progressively skip menu elements on small terminals rather
4352 than crashing.
4353
4354 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4357 to avoid losing last column.
4358
4359 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * po/exclude.pot: Add missing string "%C".
4362
4363 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4366 after the test.
4367
4368 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/grub-install.in: Gettextize "Not found" message.
4371
4372 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 Fix distfiles list.
4375 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4376
4377 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4378
4379 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4380 present.
4381 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4382
4383 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4386
4387 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4390 attribute since structure is not necessarily aligned.
4391
4392 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4393
4394 * docs/grub.texi (Device syntax): Clarify description of network
4395 drives.
4396
4397 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4400 for vasprintf presence.
4401
4402 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * util/grub-install.in: Handle efibootmgr presence check.
4405 Reported by: Leif Lindholm.
4406
4407 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4410 new strings to translate.
4411
4412 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4415 yet another string (pun intended) to translate.
4416
4417 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * po/POTFILES-shell.in: Autogenerate it.
4420
4421 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4424
4425 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4428 misnomer.
4429
4430 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4431
4432 * docs/grub.texi (Network): Add description of net_default_interface,
4433 net_default_ip and net_default_mac. Rewrite variables description
4434 to emphasize that they are per-interface.
4435
4436 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 New test: cmdline and cat.
4439
4440 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/commands/cat.c: Show UTF-8 characters.
4443
4444 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * conf/Makefile.common: Poison float and double on non-emu.
4447
4448 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * configure.ac: Don't disable extended registers on emu.
4451
4452 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * configure.ac: Don't use extended registers on x86_64.
4455 Reported by: Peter Jones.
4456
4457 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/term/efi/console.c: Fix compile error.
4460
4461 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Compressed HFS+ support.
4464
4465 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4468 pixel".
4469
4470 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 Menu color test.
4473
4474 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/tests/setjmp_test.c: New test.
4477
4478 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 New variables 'net_default_*' to determine MAC/IP of default interface.
4481
4482 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * tests/gettext_strings_test.in: A test to check for strings not
4485 marked for translation.
4486
4487 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * autogen.sh: Exclude unused libgcrypt files from translation.
4490
4491 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Simplify few strings.
4494
4495 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 Mark few forgotten strings for translation.
4498
4499 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4502 rather than printf.
4503
4504 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4507 rather than printf.
4508 * grub-core/video/readers/tga.c: Likewise.
4509
4510 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * tests/priority_queue_unit_test.cc: New test.
4513
4514 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4517 than printf.
4518
4519 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4520
4521 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4522 variable for one time boot menu entry.
4523
4524 2013-05-05 Bean <bean123ch@gmail.com>
4525
4526 * grub-core/commands/testspeed.c: New command testspeed.
4527
4528 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Factor-out human-size printing.
4531
4532 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Agglomerate more mallocs to speed-up gfxterm.
4535
4536 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Speed-up gfxterm by slightly agglomerating mallocs.
4539
4540 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 More video checks.
4543
4544 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 Speed-up gfxterm by saving intermediate results in index+alpha
4547 format.
4548
4549 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4552 test.
4553
4554 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4557 line of timeout as it may contain the rest of long line.
4558
4559 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/normal/main.c: Fix freed memory dereference.
4562
4563 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 Fix several memory leaks.
4566
4567 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4570
4571 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4574
4575 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 Fix test -a and -o precedence.
4578 Reported by: adrian15.
4579
4580 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4583
4584 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4585
4586 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4587 and add it as source to functional_test module.
4588
4589 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4592
4593 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 New series of tests for gfxterm and gfxmenu.
4596
4597 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4600 the theme path relative to $prefix/themes.
4601
4602 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4605 Fix order bug.
4606 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4607
4608 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4611 descriptor.
4612
4613 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4616 grub_gfxmenu_timeout_notifications.
4617 (grub_gfxmenu_view_destroy): Likewise.
4618
4619 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4622
4623 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Several fixes to ieee1275 and big-endian video.
4626
4627 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Add missing exports on mips.
4630
4631 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4634 if no unifont is found.
4635 Restore original keyboard.
4636
4637 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4640 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4641
4642 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 First automated video test (running videotest and comparing results)
4645
4646 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4649 instead of 2 to have full RGB/CMY test pattern.
4650
4651 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Add few more tests.
4654
4655 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4658 ARCS. All users updated.
4659
4660 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4663
4664 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4667
4668 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4671 Reported by: qwertial.
4672
4673 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4674
4675 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4676 with syntax "XXX deg"/"XXX °".
4677
4678 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Make PCI init in i386-qemu port more robust.
4681
4682 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4683
4684 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4685 cached view is reused.
4686 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4687 open boot menus.
4688
4689 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 Unify more code in grub-install_header.
4692
4693 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 Add few new tests.
4696
4697 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 Enforce disabling of firmware disk drivers when native drivers kick in.
4700
4701 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/commands/nativedisk.c: Customize the list of modules on
4704 platform. Don't try to search for disks already using native drivers.
4705
4706 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4709 platforms.
4710
4711 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4714 handling of variables containing backslash.
4715
4716 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4719 dereference.
4720 Reported by: qwertial.
4721
4722 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4725
4726 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4729 dereference.
4730 Reported by: qwertial.
4731
4732 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4735
4736 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4739
4740 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 New command `nativedisk'.
4743
4744 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4747 * grub-core/loader/i386/bsd.c: Likewise.
4748
4749 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4752
4753 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4756 grub_get_unaligned16 rather than shifts.
4757
4758 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/kern/file.c: Use const char * rather than casting to
4761 non-const.
4762
4763 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/commands/probe.c: Add missing grub_device_close.
4766
4767 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * INSTALL: Document linguas.sh.
4770
4771 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 Remove POTFILES.in and regenerate it in autogen.sh.
4774
4775 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 Move --directory/--override-directorry to grub-install_header and unify.
4778
4779 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/term/morse.c: Macroify dih and dah.
4782
4783 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4784
4785 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4786
4787 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/term/ns8250.c: Systematically probe ports by writing
4790 to SR before using them.
4791
4792 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4793
4794 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4795 disks.
4796 (check_sas): Get sas_adress info.
4797
4798 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4801 ports.
4802
4803 2013-04-27 Leon Drugi <eyak>
4804
4805 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4806 BSS clearing.
4807
4808 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Core compression test.
4811
4812 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Implement grub_machine_get_bootlocation for ARC.
4815
4816 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 Improve AHCI detection and command issuing.
4819
4820 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Fix pseries test.
4823
4824 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 Make 'make check' work on emu.
4827
4828 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 Replace libcurses with our own vt100 handling for the ease of testing
4831 and decreasing prerequisites.
4832
4833 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4836
4837 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4840 compile when not needed.
4841
4842 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * tests/pseries_test.in: New test.
4845
4846 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 Add test to check that different boot mediums work.
4849
4850 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4853 ofw limited ISO support.
4854
4855 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * configure.ac: Fix loongson conditional.
4858
4859 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Enable mipsel-arc.
4862
4863 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 Add serial on ARC platform.
4866
4867 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4870 commit.
4871
4872 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * tests/partmap_test.in: Add missing double semicolon.
4875
4876 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * util/grub-mkrescue.in: Fix loongson filename.
4879
4880 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * util/grub-mkrescue.in: Move all files that don't have a location
4883 set in stone under /boot/grub. Use ISO hard links rather than copies
4884 to save some space.
4885
4886 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4889 bogus SLOF values.
4890
4891 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Make check work on mips-arc.
4894
4895 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/grub-mkrescue.in: Alias sashARCS as sash.
4898
4899 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4902 it's serial.
4903
4904 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * util/grub-install.in: Fix target fo qemu_mips.
4907 Fix extension on EFI.
4908
4909 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4912 in front of chosen entry to mark it even if highlighting is lost.
4913
4914 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4917 gfxpayload=keep if cbfb is active.
4918
4919 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4922
4923 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 Add missing video ids to coreboot and ieee1275 video.
4926
4927 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * util/grub-mkrescue.in: Add mips-arc support.
4930
4931 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4934
4935 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Move mips-arc link address. Previous link address was chosen
4938 in belief that RAM on SGI platforms grows down while in fact it
4939 grows up from an unusual base.
4940
4941 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4944 Fix a type which prevented CD-ROM and floppy boot.
4945
4946 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 Support coreboot framebuffer.
4949
4950 * grub-core/video/i386/coreboot/cbfb.c: New file.
4951
4952 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4955 detecting too small regions.
4956
4957 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4960
4961 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4964 Remove dprintf.
4965 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4966
4967 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4970 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4971 * grub-core/loader/powerpc/ieee1275/linux.c
4972 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4973
4974 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4977 Look for /boot-rom as well as /rom/boot-rom.
4978
4979 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4982 handling when creating text_layer failed.
4983 * grub-core/video/video.c (grub_video_create_render_target):
4984 Set result to 0 on error.
4985 (grub_video_delete_render_target): Do not dereference NULL.
4986
4987 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4990 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4991 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4992 (grub_linux_load64): Mask out 2 high bits.
4993
4994 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4995
4996 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4997 more place.
4998
4999 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Add support for pseries and other bootinfo machines to grub-mkrescue.
5002
5003 Tested by: Paulo Flabiano Smorigo.
5004
5005 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * util/grub-mkrescue.in: Add GPT for EFI boot.
5008
5009 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5012 It improves performance in qemu.
5013
5014 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * build-aux/snippet: Add missing gnulib files.
5017
5018 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5019
5020 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5021
5022 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5023
5024 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5025
5026 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5027 2013-04-15 Peter Jones <pjones@redhat.com>
5028
5029 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5030 sectors.
5031 Based on patch by Peter Jones.
5032
5033 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 Fix DMRAID partition handling.
5036
5037 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * tests/grub_cmd_date.in: Skip on sparc64.
5040
5041 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5044 firmware error messages.
5045
5046 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5049 source and destination differ.
5050
5051 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5054 detection.
5055
5056 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5059 match config-util.h to avoid warnings and increase compatibility.
5060
5061 2013-04-14 Szymon Janc <szymon@janc.net.pl>
5062 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 Add option to compress files on install/image creation.
5065
5066 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * docs/grub-dev.texi: Rearrange menu to match the section order.
5069 Reported by: Bryan Hundven.
5070
5071 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5074
5075 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 Move GRUB out of system area when using xorriso 1.2.9 or later.
5078
5079 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * tests/grub_cmd_date.in: Add missing exit 1.
5082
5083 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * tests/partmap_test.in: Skip on sparc64.
5086
5087 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Support grub-shell on sparc64.
5090
5091 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Support mkrescue on sparc64.
5094
5095 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5098 Needed on OpenBIOS due to incomplete device tree.
5099
5100 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5103 would be otherwise excluded.
5104
5105 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5108 Inline name defines used only once.
5109
5110 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Fix memory leaks in ofnet.
5113 Reported by: Francesco Lavra.
5114
5115 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * docs/man/grub-glue-efi.h2m: Add missing file.
5118
5119 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5122
5123 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 Better support Apple Intel Macs on CD.
5126
5127 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Replace stpcpy with grub_stpcpy in tools.
5130
5131 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Handle Japanese special keys.
5134 Reported by: Hiroyuki YAMAMORI.
5135 Codes supplied by: Hiroyuki YAMAMORI.
5136
5137 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * util/grub-mkimage.c: Document memdisk implying --prefix.
5140
5141 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5144 much we can do about it anyway.
5145
5146 2013-04-12 Aleš Nesrsta <starous@volny.cz>
5147
5148 Fix handling of split transfers.
5149
5150 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/net/http.c: Fix bad free.
5153
5154 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5157 than buffer size.
5158
5159 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5162
5163 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * tests/util/grub-shell.in: Fix it on powerpc.
5166
5167 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 Turn off QEMU ACPI-way since new releases don't have shutdown port
5170 anymore.
5171
5172 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * docs/grub.texi: Update coreboot status info.
5175
5176 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * tests/grub_cmd_date.in: New test for datetime.
5179
5180 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * tests/partmap_test.in: Fix missing qemudisk setting.
5183
5184 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 Support i386-ieee1275 grub-mkrescue and make check on it.
5187
5188 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5191 feature for it.
5192
5193 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5196 GRUB_CMDLINE_XEN_DEFAULT.
5197 Reported by: Marc Warne (GigaTux) <gigatux>
5198
5199 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 Import new gnulib.
5202
5203 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 Use ACPI shutdown intests as traditional port was removed.
5206
5207 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5208
5209 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5210 distinction.
5211
5212 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5215 Fix few warining messages and leaks while on it.
5216
5217 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5218
5219 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5220 links under grub-core/lib/libgcrypt-grub/mpi.
5221
5222 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Fix ia64-efi image generation on big-endian machines. Deduplicate
5225 some code while on it.
5226 Reported by: Leif Lindholm.
5227
5228 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5229
5230 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5231 as extra_dist.
5232
5233 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5234
5235 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5236
5237 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5238
5239 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5240 texinfo-5.1.
5241
5242 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/normal/term.c: Few more fixes for menu entry editor
5245 rendering.
5246 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5247
5248 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/normal/term.c: Few more fixes for menu entry editor
5251 rendering.
5252 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5253
5254 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5255
5256 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5257 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5258
5259 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5260
5261 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5262 instead of hardcoding grub.mo.
5263
5264 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5265
5266 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5267
5268 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5271 grub-core/disk/geli.c.
5272
5273 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * util/grub-mkfont.c: Prefer enum to #define.
5276
5277 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5280
5281 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5284
5285 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5288
5289 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5292
5293 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * include/grub/bsdlabel.h: Use enums.
5296
5297 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Move GRUB_CHAR_BIT to types.h.
5300
5301 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5302
5303 * docs/grub.texi: Document more user commands.
5304
5305 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5306
5307 * docs/grub.texi: Document menuentry --id option.
5308
5309 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5310
5311 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5312
5313 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 Unify file copying setup across different install scripts. Add
5316 options for performing partial install.
5317
5318 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5319 2013-04-04 Peter Jones <pjones@redhat.com>
5320
5321 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5322
5323 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 Use TSC as a possible time source on i386-ieee1275.
5326
5327 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5330 Init err.
5331
5332 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * util/grub-setup.c (setup): Handle some corner cases.
5335
5336 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5339
5340 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/commands/verify.c: Save verified file to avoid it being
5343 tampered with after verification was done.
5344
5345 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5348 reported width by one to compensate for curesor algorithm problem.
5349
5350 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 Fix screen corruption in menu entry editor and simplify the code
5353 flow while on it.
5354
5355 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5356
5357 * util/grub-mount.c (fuse_init): Return error if fuse_main
5358 failed.
5359
5360 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5361
5362 * include/grub/elf.h: Add missing ARM relocation codes and fix
5363 existing ones.
5364
5365 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5366
5367 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5368
5369 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5370 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5373 into account when calculating radius.
5374
5375 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5376
5377 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5378
5379 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5380
5381 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5382
5383 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5384
5385 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5386 missing closing bracket.
5387
5388 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5389
5390 * INSTALL: Mention xorriso requirement.
5391
5392 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5393
5394 * grub-core/commands/verify.c: Fix hash algorithms values for
5395 the first three hashes - they start with 1, not with 0.
5396
5397 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5400 Try terminating EFI services several times due to quirks in some
5401 implementations.
5402
5403 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
5404
5405 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5406 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5407 BankField extended opcodes.
5408 (get_sleep_type): Add minimal scope handling (just enough to
5409 handle setting the scope to the root path).
5410 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5411 * include/grub/acpi.h: Add enumeration values for Event, Device,
5412 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5413
5414 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5415
5416 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5417 memory leak.
5418
5419 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/disk/ahci.c: Give more time for AHCI request.
5422
5423 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5426 command.
5427
5428 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Replace the region at 0 from coreboot tables to available in BSD
5431 memory map.
5432
5433 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5436 non-BIOS platforms.
5437
5438 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5441 platforms.
5442
5443 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5446 handling of multi-device filesystems.
5447
5448 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5451 platforms.
5452
5453 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 Add new 'proc' filesystem framework and put luks_script into it.
5456
5457 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5460 and qemu.
5461
5462 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5465
5466 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Add ability to generate newc additions on runtime.
5469
5470 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5473 description.
5474
5475 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * po/POTFILES.in: Regenerate.
5478
5479 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/commands/verify.c (hashes): Add several hashes
5482 from the spec.
5483
5484 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 Slight improve in USB-related boot-time checkpoints.
5487
5488 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/commands/boottime.c: Fix copyright header.
5491
5492 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5495 coreboot tables content. Support for cbmemc.
5496
5497 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 Fix a conflict between ports structures with 2 controllers of
5500 same kind.
5501
5502 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * include/grub/boottime.h: Add missing file.
5505
5506 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Initialize USB ports in parallel to speed-up boot.
5509
5510 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Fix USB devices not being detected when requested
5513 due to delayed attach.
5514
5515 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 Implement boot time analysis framework.
5518
5519 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Remove get_endpoint_descriptor and change all functions needing
5522 descriptor to just receive it as argument rather than endpoint
5523 address.
5524
5525 2013-03-19 Aleš Nesrsta <starous@volny.cz>
5526
5527 Better estimate the maximum USB transfer size.
5528
5529 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 Resend a packet if we got the wrong buffer in status.
5532
5533 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5536 multiplication rather than division.
5537
5538 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5541 than divisions.
5542
5543 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5546 operations to have intended shifts and not divisions.
5547
5548 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5551 intended shifts rather than division.
5552
5553 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5556 computation for some years before epoch. Avode confusing division
5557 while on it.
5558
5559 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/video/i386/pc/vbe.c
5562 (grub_video_vbe_print_adapter_specific_info): Replace division by
5563 shifts.
5564
5565 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 Adjust types in gdb module to have intended unsigned shifts rather than
5568 signed divisions.
5569
5570 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5573 maximum size is 4G - 1 on hfs
5574
5575 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5578
5579 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5582 function.
5583
5584 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5585
5586 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5587 causing gcc error with gcc 4.7.1.
5588
5589 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5590
5591 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5592 dereference null pointer. While the code is technically correct, gcc
5593 may eliminate a null check if pointer is already dereferenced.
5594
5595 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5596
5597 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5598 OOM check.
5599 * grub-core/normal/term.c (read_terminal_list): Likewise.
5600
5601 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 Lift up core size limits on some platforms. Fix potential memory
5604 corruption with big core on small memory systems. Document remaining
5605 limits.
5606
5607 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5610 gotoxy to 0,0.
5611
5612 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Remove all trampoline support. Add -Wtrampolines when
5615 present. Remove symbols used for trampolines to make
5616 link fail if trampolines are present.
5617
5618 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5621 append out of its parent.
5622
5623 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5626 parent.
5627
5628 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5631 all vars to a macro. All users updated.
5632
5633 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5636 i386-ieee1275.
5637
5638 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5641
5642 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5645
5646 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 Move to more hookless approach in IEEE1275 devices handling.
5649
5650 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/kern/term.c (grub_term_normal_color),
5653 (grub_term_highlight_color): Add back lost defaults.
5654
5655 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Make elfload not use hooks. Opt for flags and iterators instead.
5658
5659 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5662 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5663
5664 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5667
5668 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5671 hook pass-through parameter. All users updated and unnested.
5672
5673 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5676 out of its parent.
5677
5678 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/fs/hfs.c: Remove nested functions.
5681
5682 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5685 the context through.
5686 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5687
5688 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * util/grub-editenv.c (list_variables): Move print_var out of its
5691 parent.
5692
5693 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5696 function.
5697
5698 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/gentrigtables.c: Make tables const.
5701
5702 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 Remove nested functions from videoinfo iterators.
5705
5706 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5709 for 64-bit platforms.
5710
5711 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5714 a FOR_CHILDREN macro.
5715
5716 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5719 platform from firmware path.
5720
5721 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 Enable linux16 on non-BIOS systems for i.a. memtest.
5724
5725 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5726 correctly.
5727 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5728
5729 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5732 Fix end of table condition.
5733
5734 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5737 out of its parent.
5738
5739 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/fs/jfs.c: Remove nested functions.
5742
5743 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/fs/minix.c: Remove nested functions.
5746
5747 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/fs/iso9660.c: Remove nested functions.
5750
5751 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5754 of parent function.
5755
5756 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * util/grub-fstest.c: Remove nested functions.
5759
5760 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/loader/machoXX.c: Remove nested functions.
5763
5764 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
5765
5766 Remove nested functions from disk and file read hooks.
5767
5768 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5769 (struct grub_disk): Add read_hook_data member.
5770 * include/grub/file.h (struct grub_file): Likewise.
5771 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5772 argument.
5773
5774 Update all callers.
5775
5776 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5777
5778 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5779 Fix off by one error in enumerating extended partitions.
5780
5781 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5782
5783 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5784 memory leak if device name is not found.
5785
5786 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5787
5788 * grub-core/normal/menu_entry.c (update_screen): remove
5789 unused variable `off' which caused scroll down arrow to be always shown.
5790
5791 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5792
5793 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5794 access to unallocated memory.
5795
5796 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5797
5798 * Makefile.util.def: Add partmap/msdos.c to common library.
5799 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5800 * grub-core/disk/ldm.c: Check for existence of
5801 GRUB_PC_PARTITION_TYPE_LDM.
5802
5803 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5806 sizes and display sector size.
5807
5808 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Implement new command cmosdump.
5811
5812 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5813
5814 Support Openfirmware disks with non-512B sectors.
5815
5816 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5817 size of the disk.
5818 * (grub_ofdisk_get_block_size): New function.
5819 * (grub_ofdisk_prepare): Use the correct block size.
5820 * (grub_ofdisk_read): Likewise.
5821 * (grub_ofdisk_write): Likewise.
5822 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5823 New proto.
5824
5825 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5828
5829 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5832 on first error.
5833
5834 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5837 freeing it.
5838
5839 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Implement USBDebug (full USB stack variant).
5842
5843 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5846 unless they have unexpected values.
5847
5848 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5851 grub_print_error.
5852
5853 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5856 zero-out of port structure.
5857
5858 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5861 of extended attributes.
5862
5863 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5864
5865 * util/grub-install.in: change misleading comment about
5866 device.map creation
5867
5868 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5871 when menu highlight color isn't set.
5872
5873 2013-01-27 C. Masloch <pushbx@38.de>
5874
5875 Improve FreeDOS direct loading support compatibility.
5876
5877 * include/grub/i386/relocator.h (grub_relocator16_state):
5878 New member ebp.
5879 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5880 variable.
5881 (grub_relocator16_boot): Handle %ebp.
5882 * grub-core/lib/i386/relocator16.S: Likewise.
5883 * grub-core/loader/i386/pc/freedos.c:
5884 Load BPB to pass kernel which partition to load from.
5885 Check that kernel file is not too large.
5886 Set register dl to BIOS unit number as well.
5887
5888 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
5889
5890 * util/grub-reboot.in (usage): Document the need for
5891 GRUB_DEFAULT=saved.
5892 * util/grub-set-default.in (usage): Likewise.
5893 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5894
5895 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5898 than defining WORDS_BIGENDIAN manually.
5899
5900 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5903 invariants.
5904
5905 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5906
5907 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5908 nested.
5909 (blit_comb: add_device_width): Likewise.
5910
5911 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5912
5913 Remove nested functions from USB iterators.
5914
5915 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5916 (grub_usb_controller_iterate_hook_t): Likewise.
5917 (grub_usb_iterate): Add hook_data argument.
5918 (grub_usb_controller_iterate): Likewise.
5919 (struct grub_usb_controller_dev.iterate): Likewise.
5920
5921 Update all implementations and callers.
5922
5923 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5926 margin when not needed.
5927
5928 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Make color variables global instead of it being per-terminal.
5931
5932 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5935 asterisk.
5936
5937 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5938
5939 Fix powerpc and sparc64 build failures caused by un-nesting memory
5940 map iterators.
5941
5942 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5943
5944 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5945 parameter declarations.
5946
5947 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5950
5951 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Improve spkmomdem reliability by adding a separator between bytes.
5954
5955 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5956
5957 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5958 an Acer registration utility with several sightings in the wild.
5959 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5960
5961 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5962
5963 Remove nested functions from filesystem directory iterators.
5964
5965 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5966 (struct grub_fs.dir): Add hook_data argument.
5967
5968 Update all implementations and callers.
5969
5970 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5971
5972 * docs/grub.texi (Multi-boot manual config): Fix typo for
5973 "recommended".
5974
5975 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5976
5977 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5978 until after its use in generate_image.
5979
5980 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5981
5982 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5983 initrd size to addr_min, since the initrd will be allocated after
5984 this address.
5985
5986 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5987
5988 * conf/Makefile.common: Fix autogen rules to pass definition
5989 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5990
5991 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5992
5993 * include/grub/elf.h: Update ARM definitions based on binutils.
5994
5995 2013-01-20 Aleš Nesrsta <starous@volny.cz>
5996
5997 Split long USB transfers into short ones.
5998
5999 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6000
6001 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6002 is interrupted by ESC.
6003
6004 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * util/grub-script-check.c (main): Uniform the error message.
6007
6008 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6009
6010 Remove nested functions from ELF iterators.
6011
6012 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6013
6014 Remove nested functions from device iterators.
6015
6016 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6017 (grub_arc_iterate_devs): Add hook_data argument.
6018 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6019 (struct grub_ata_dev.iterate): Add hook_data argument.
6020 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6021 (grub_device_iterate): Add hook_data argument.
6022 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6023 (struct grub_disk_dev.iterate): Add hook_data argument.
6024 (grub_disk_dev_iterate): Likewise.
6025 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6026 Likewise.
6027 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6028 Likewise.
6029 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6030 type.
6031 (struct grub_partition_map.iterate): Add hook_data argument.
6032 (grub_partition_iterate): Likewise.
6033 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6034 (struct grub_scsi_dev.iterate): Add hook_data argument.
6035
6036 Update all callers.
6037
6038 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6039
6040 Fix typos for "developer" and "development".
6041
6042 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Add license header to spkmodem-recv.c.
6045
6046 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Rewrite spkmodem to use PIT for timing. Double the speed.
6049
6050 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Add new command pcidump.
6053
6054 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 New terminal outputs using serial: morse and spkmodem.
6057
6058 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 Improve bidi handling in entry editor.
6061
6062 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6065 argument to prevent name collision.
6066
6067 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
6068
6069 Remove nested functions from script reading and parsing.
6070
6071 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6072 getline_data argument, passed to getline.
6073 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6074 getline_data argument, passed to grub_parser_split_cmdline.
6075 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6076 lexerstate->getline_data to lexerstate->getline.
6077 (grub_script_lexer_init): Add getline_data argument, saved in
6078 lexerstate->getline_data.
6079 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6080 argument, passed to grub_script_parse.
6081 * grub-core/script/script.c (grub_script_parse): Add getline_data
6082 argument, passed to grub_script_lexer_init.
6083 * include/grub/parser.h (grub_parser_split_cmdline): Update
6084 prototype. Update all callers to pass appropriate getline data.
6085 (struct grub_parser.parse_line): Likewise.
6086 (grub_rescue_parse_line): Likewise.
6087 * include/grub/reader.h (grub_reader_getline_t): Add void *
6088 argument.
6089 * include/grub/script_sh.h (struct grub_lexer_param): Add
6090 getline_data member.
6091 (grub_script_parse): Update prototype. Update all callers to pass
6092 appropriate getline data.
6093 (grub_script_lexer_init): Likewise.
6094 (grub_normal_parse_line): Likewise.
6095
6096 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6097 data argument.
6098 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6099 static instead of nested. Rename to ...
6100 (grub_parser_execute_getline): ... this.
6101 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6102 data argument.
6103 * grub-core/normal/main.c (read_config_file: getline): Make static
6104 instead of nested. Rename to ...
6105 (read_config_file_getline): ... this.
6106 (grub_normal_read_line): Add unused data argument.
6107 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6108 getline): Make static instead of nested. Rename to ...
6109 (grub_script_execute_sourcecode_getline): ... this.
6110 * util/grub-script-check.c (main: get_config_line): Make static
6111 instead of nested.
6112
6113 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
6114
6115 Remove nested functions from memory map iterators.
6116
6117 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6118 argument, passed to hook.
6119 * grub-core/kern/i386/coreboot/mmap.c
6120 (grub_linuxbios_table_iterate): Likewise.
6121 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6122 instead of nested.
6123 (grub_machine_mmap_iterate): Add hook_data argument.
6124 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6125 Add hook_data argument, passed to hook.
6126 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6127 Likewise.
6128 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6129 Likewise.
6130 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6131 Likewise.
6132 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6133 Likewise.
6134 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6135 Likewise.
6136 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6137 Likewise.
6138 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6139 (grub_machine_mmap_iterate): Likewise.
6140 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6141 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6142 prototype.
6143 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6144 Remove NESTED_FUNC_ATTR from here and from all users.
6145 (grub_mmap_iterate): Update prototype.
6146 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6147 pass appropriate hook data.
6148 (grub_machine_mmap_iterate): Likewise.
6149
6150 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6151 static instead of nested.
6152 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6153 Rename to ...
6154 (lsmmap_hook): ... this.
6155 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6156 Likewise.
6157 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6158 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6159 heap_init): Likewise.
6160 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6161 Rename to ...
6162 (mmap_iterate_hook): ... this.
6163 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6164 Likewise.
6165 * grub-core/lib/ieee1275/relocator.c
6166 (grub_relocator_firmware_get_max_events: count): Likewise.
6167 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6168 to ...
6169 (grub_relocator_firmware_fill_events_iter): ... this.
6170 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6171 hook): Likewise. Rename to ...
6172 (grub_relocator_alloc_chunk_align_iter): ... this.
6173 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6174 Rename to ...
6175 (generate_e820_mmap_iter): ... this.
6176 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6177 Rename to ...
6178 (count_hook): ... this.
6179 (grub_linux_boot: hook): Likewise. Rename to ...
6180 (grub_linux_boot_mmap_find): ... this.
6181 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6182 (grub_linux_boot_mmap_fill): ... this.
6183 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6184 hook): Likewise. Rename to ...
6185 (grub_fill_multiboot_mmap_iter): ... this.
6186 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6187 hook): Likewise. Rename to ...
6188 (count_hook): ... this.
6189 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6190 hook): Likewise. Rename to ...
6191 (grub_fill_multiboot_mmap_iter): ... this.
6192 * grub-core/loader/powerpc/ieee1275/linux.c
6193 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6194 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6195 Likewise. Rename to ...
6196 (alloc_phys_choose): ... this.
6197 (determine_phys_base: get_physbase): Likewise.
6198 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6199 find_hook): Likewise.
6200 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6201 (malloc_hook: count_hook): Likewise.
6202 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6203 Likewise. Rename to ...
6204 (lower_hook): ... this.
6205 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6206 (upper_hook): ... this.
6207 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6208 (post64_hook): ... this.
6209 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6210 Likewise. Rename to ...
6211 (lower_hook): ... this.
6212 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6213 (upper_hook): ... this.
6214 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6215 (grub_mmap_iterate: fill_hook): Likewise.
6216 (fill_mask): Pass addr and mask within a single struct.
6217 (grub_cmd_badram: hook): Make static instead of nested. Rename
6218 to ...
6219 (badram_iter): ... this.
6220 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6221 (cutmem_iter): ... this.
6222
6223 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6226 delimit path in strings using quotes.
6227 * util/getroot.c (grub_guess_root_devices): Likewise.
6228 (grub_make_system_path_relative_to_its_root): Likewise.
6229 * util/grub-probe.c (probe): Likewise.
6230 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6231 (xrealpath): Likewise.
6232
6233 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 Fix compilation with older compilers.
6236
6237 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6238 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6239 declarations.
6240 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6241 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6242 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6243 identifier with b.
6244 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6245 * include/grub/crypto.h: Add type defines.
6246 * util/import_gcrypth.sed: Remove duplicate type defines.
6247
6248 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 New command list_trusted.
6251
6252 * grub-core/commands/verify.c (grub_cmd_list): New function.
6253
6254 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6255
6256 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6257 info message.
6258
6259 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6260
6261 Remove nested functions from PCI iterators.
6262
6263 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6264 passed to hook. Update all callers to pass appropriate hook data.
6265 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6266 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6267 Remove NESTED_FUNC_ATTR from here and from all users.
6268 (grub_pci_iterate): Update prototype.
6269 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6270 instead of nested. Rename to ...
6271 (grub_cs5536_find_iter): ... this.
6272 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6273 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6274 Likewise.
6275 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6276 Likewise.
6277 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6278 Likewise.
6279 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6280 Likewise.
6281 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6282 * grub-core/video/radeon_fuloong2e.c
6283 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6284 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6285 find_card): Likewise.
6286 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6287 Likewise.
6288
6289 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/commands/verify.c: Mark messages for translating.
6292
6293 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6296 fatal.
6297
6298 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6301 fatal.
6302
6303 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * autogen.sh: Do not try to delete nonexistant files.
6306 * util/import_gcrypth.sed: Add some missing header removals.
6307
6308 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
6309
6310 Clean up dangling references to grub-setup.
6311 Fixes Ubuntu bug #1082045.
6312
6313 * docs/grub.texi (Images): Refer generally to grub-install rather
6314 than directly to grub-setup.
6315 (Installing GRUB using grub-install): Remove direct reference to
6316 grub-setup.
6317 (Device map) Likewise.
6318 (Invoking grub-install): Likewise.
6319 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6320 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6321 * util/grub-install.in (usage): Likewise.
6322
6323 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6324 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6325 grub-setup.
6326 * configure.ac: Remove grub_setup output variable.
6327
6328 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6329 to grub-bios-setup.
6330 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6331 grub-setup to grub-sparc64-setup.
6332
6333 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 Import gcrypt public-key cryptography and implement signature checking.
6336
6337 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * grub-core/fs/ntfs.c: Ue more appropriate types.
6340 * grub-core/fs/ntfscomp.c: Likewise.
6341 * include/grub/ntfs.h: Likewise.
6342
6343 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 Support Apple FAT binaries on non-Apple platforms.
6346
6347 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6348 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6349 Likewise.
6350 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6351 Apple FAT binaries.
6352
6353 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6356 sector devices.
6357
6358 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6359
6360 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6361 explicitly zeroing elements.
6362 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6363 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6364 of elements in a structure already allocated using grub_zalloc.
6365 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6366
6367 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6368
6369 * docs/grub.texi (grub_cpu): New subsection.
6370 (grub_platform): Likewise.
6371
6372 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6375
6376 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6379 divisions.
6380
6381 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6384 * grub-core/fs/ntfscomp.c: Likewise.
6385 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6386 (grub_ntfs_comp): Likewise.
6387
6388 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6391 Rename to ...
6392 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6393 of groups_per_block. All users updated.
6394
6395 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6398 grub_error properly.
6399 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6400 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6401
6402 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6405 always in /boot/zfs.
6406 Reported by: Yuta Satoh.
6407
6408 2013-01-03 Yuta Satoh <nigoro>
6409
6410 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6411 ${grub_probe}
6412
6413 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * configure.ac: Extend -Wno-trampolines to host.
6416
6417 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6420 entry->len = 0.
6421
6422 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6423
6424 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6425 (Invoking grub-script-check): Likewise.
6426
6427 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6428
6429 * docs/grub.texi (Invoking grub-mount): New section.
6430 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6431
6432 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6433
6434 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6435 test failures, so that a failing unit test correctly causes 'make
6436 check' to fail.
6437
6438 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6439
6440 Fix failing printf test.
6441
6442 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6443 '$' in the correct order when collecting type information.
6444
6445 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6446
6447 * docs/grub.texi (configfile): Explain environment variable
6448 handling.
6449 (source): New section.
6450 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6451
6452 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
6453
6454 Remove several trivially-unnecessary uses of nested functions.
6455
6456 * grub-core/commands/i386/pc/sendkey.c
6457 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6458 instead of nested.
6459 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6460 Rename to ...
6461 (legacy_file_getline): ... this.
6462 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6463 Likewise.
6464 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6465 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6466 to ...
6467 (probe_dummy_iter): ... this.
6468 * grub-core/kern/i386/coreboot/mmap.c
6469 (grub_linuxbios_table_iterate: check_signature): Likewise.
6470 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6471 check_varstate): Likewise. Mark inline.
6472 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6473 an additional parameter.
6474 (find_long: fnd_long): Likewise. Pass two additional parameters.
6475 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6476 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6477 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6478 Likewise. Rename to ...
6479 (grub_cmos_find_port_iter): ... this.
6480 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6481 Rename to ...
6482 (find_rtc_iter): ... this.
6483
6484 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6485 function directly into the function body, since it is only called
6486 once.
6487
6488 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
6489
6490 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6491 __attribute__ ((unused)).
6492 * grub-core/video/bochs.c (find_card): Likewise.
6493 * grub-core/video/cirrus.c (find_card): Likewise.
6494 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6495 * grub-core/video/sis315pro.c (find_card): Likewise.
6496 * grub-core/video/sm712.c (find_card): Likewise.
6497
6498 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6499
6500 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6501 Fixes Savannah bug #37821.
6502
6503 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6504
6505 Apply program name transformations at build-time rather than at
6506 run-time. Fixes Debian bug #696465.
6507
6508 * acinclude.m4 (grub_TRANSFORM): New macro.
6509 * configure.ac: Create output variables with transformed names for
6510 most programs.
6511 * util/bash-completion.d/grub-completion.bash.in: Use
6512 pre-transformed variables for program names.
6513 * util/grub-install.in: Likewise.
6514 * util/grub-kbdcomp.in: Likewise.
6515 * util/grub-mkconfig.in: Likewise.
6516 * util/grub-mkconfig_lib.in: Likewise.
6517 * util/grub-mknetdir.in: Likewise.
6518 * util/grub-mkrescue.in: Likewise.
6519 * util/grub-mkstandalone.in: Likewise.
6520 * util/grub-reboot.in: Likewise.
6521 * util/grub-set-default.in: Likewise.
6522 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6523 * tests/util/grub-shell-tester.in: Remove unused assignment.
6524 * tests/util/grub-shell.in: Likewise.
6525 * util/grub.d/00_header.in: Likewise.
6526
6527 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6528
6529 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6530
6531 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6532 HAVE_RAW_DECL_GETS.
6533 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6534
6535 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6538 Reported by: Eriks Latosheks <foresterlv>.
6539
6540 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * docs/grub.texi (Network): Update instructions on generating netboot
6543 image.
6544
6545 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6548 around device name if necessarry.
6549
6550 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6551
6552 * util/grub-install.in: Follow the symbolic link parameter added
6553 to the file command.
6554
6555 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6556
6557 * util/grub-install.in: Remove stale TODO.
6558
6559 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6560
6561 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6562 dynamic allocation for the bootpath buffer.
6563
6564 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6565
6566 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6567 window too small.
6568
6569 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6572 argument rather than font name. All users updated.
6573 (grub_gfxterm_set_window): Likewise.
6574
6575 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6576
6577 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6578 from working.
6579
6580 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * util/getroot.c (convert_system_partition_to_system_disk): Support
6583 nbd disks.
6584
6585 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6588 infinite loop on corrupted FS.
6589
6590 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Fix big-endian mtime.
6593
6594 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6595 together sec and usec.
6596 (grub_ufs_dir): Use correct byteswapping for UFS time.
6597
6598 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 Support big-endian UFS1.
6601
6602 * Makefile.util.def (libgrubmods): Add ufs_be.c
6603 * grub-core/Makefile.core.def (ufs1_be): New module.
6604 * grub-core/fs/ufs_be.c: New file.
6605 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6606 the file.
6607
6608 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6609
6610 * include/grub/types.h: Fix functionality unaffecting typo in
6611 GRUB_TARGET_WORDSIZE conditional macro.
6612
6613 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6614
6615 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6616
6617 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6618
6619 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6620 that /netbsd appears first (when it exists).
6621
6622 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
6623
6624 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6625 Fixes Savannah bug #37558.
6626
6627 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
6628
6629 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6630 description of extract_entries_configfile.
6631
6632 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
6633
6634 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6635 preferred_address.
6636 (grub_cmd_linux): Likewise.
6637 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6638 preferred_lifetime. Update all users.
6639
6640 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
6641
6642 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6643 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6644
6645 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
6646
6647 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6648 errors from grub-probe to /dev/null, not stdout.
6649
6650 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6653 sector 1.
6654
6655 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
6656
6657 * util/grub-install.in: Make the error message if $source_dir
6658 doesn't exist more useful.
6659
6660 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
6661
6662 Fix grub-emu build on FreeBSD.
6663
6664 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6665 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6666 headers on Linux.
6667 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6668 implementation is currently Linux-specific.
6669 * util/getroot.c (exec_pipe): Define only on Linux or when either
6670 libzfs or libnvpair is unavailable.
6671 (find_root_devices_from_poolname): Remove unused path variable.
6672
6673 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
6674
6675 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6676 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6677 should fit before end == 63.
6678
6679 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
6680
6681 * util/grub-setup.c (write_rootdev): Remove unused core_img
6682 parameter. Update all callers.
6683 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6684 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6685 GRUB_SETUP_BIOS.
6686
6687 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6690 (grub_add_tab): New function.
6691 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6692 * util/grub.d/10_illumos.in: Likewise.
6693 * util/grub.d/10_kfreebsd.in: Likewise.
6694 * util/grub.d/10_linux.in: Likewise.
6695 * util/grub.d/10_netbsd.in: Likewise.
6696 * util/grub.d/10_windows.in: Likewise.
6697 * util/grub.d/10_xnu.in: Likewise.
6698 * util/grub.d/20_linux_xen.in: Likewise.
6699 * util/grub.d/30_os-prober.in: Likewise.
6700
6701 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6704 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6705 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6706 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6707 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6708 ieee1275-nocursor.
6709 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6710 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6711
6712 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6715 le-conversion.
6716 Reported by: BURETTE, Bernard.
6717
6718 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
6719
6720 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6721 from comment.
6722
6723 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
6724
6725 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6726 IEEE1275 machines. Fixes powerpc-emu compilation.
6727 * include/grub/terminfo.h: Likewise.
6728
6729 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6732 a const pointer.
6733 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6734 const pointer.
6735 (efiemu_set_variable): Make vendor_guid a const pointer.
6736
6737 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 Don't require grub-mkconfig_lib to generate manpages for programs.
6740
6741 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6742 dependencies, don't add grub-mkconfig_lib.
6743 (program): Pass empty adddeps.
6744 (script): Pass grub-mkconfig_lib as adddeps.
6745
6746 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6749 * util/getroot.c (grub_find_device): Likewise.
6750 (get_mdadm_uuid): Likewise.
6751 (grub_util_is_imsm): Likewise.
6752 (grub_util_pull_device): Likewise.
6753 * util/grub-probe.c (probe): Likewise.
6754
6755 2012-09-10 Benoit Gschwind <gschwind>
6756
6757 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6758 (devs): Add devpath_8.
6759
6760 2012-09-08 Peter Jones <pjones@redhat.com>
6761
6762 * grub-core/Makefile.core.def (efifwsetup): New module.
6763 * grub-core/commands/efi/efifwsetup.c: New file.
6764 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6765 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6766 New define.
6767 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6768
6769 2012-09-05 Jiri Slaby <jslaby@suse.cz>
6770
6771 * configure.ac: Add SuSe path.
6772
6773 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
6774
6775 * NEWS: Fix typo.
6776
6777 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
6778
6779 * util/import_gcry.py: Sort cipher_files, to make build system
6780 generation more deterministic.
6781
6782 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6785 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6786 (grub_set_datetime): Likewise.
6787
6788 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6791 warnings.
6792
6793 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6796
6797 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6800
6801 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6802
6803 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6804 required for checkouts from bzr, but it may be useful for users or
6805 distributors wishing to update translations against a tarball
6806 distribution, and it can be helpful for the tarball to be a superset
6807 of what's in bzr.
6808
6809 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6810
6811 * Makefile.am (EXTRA_DIST): Add
6812 grub-core/tests/boot/linux.init-mips.S,
6813 grub-core/tests/boot/linux.init-ppc.S, and
6814 grub-core/tests/boot/linux-ppc.cfg.
6815
6816 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * grub-core/mmap/mips/loongson: Remove empty directory.
6819
6820 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6821
6822 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6823 gone.
6824
6825 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6826
6827 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6828 grub-sparc64-setup.
6829
6830 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6831
6832 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6833
6834 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6835
6836 * po/POTFILES.in: Regenerated.
6837
6838 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6839
6840 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6841 (NetBSD): New subsection.
6842
6843 2012-07-22 Ales Nesrsta <starous@volny.cz>
6844
6845 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6846 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6847
6848 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6851 * util/grub.d/10_hurd.in: Add missing quoting.
6852 * util/grub.d/10_illumos.in: Likewise.
6853 * util/grub.d/10_kfreebsd.in: Likewise.
6854 * util/grub.d/10_linux.in: Likewise.
6855 * util/grub.d/20_linux_xen.in: Likewise.
6856
6857 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 New command `lsefi'.
6860
6861 * grub-core/Makefile.core.def (lsefi): New module.
6862 * grub-core/commands/efi/lsefi.c: New file.
6863 * include/grub/efi/api.h: Add more GUIDs.
6864
6865 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6868 (grub_bsd_elf32_hook): Likewise.
6869 (grub_bsd_elf64_size_hook): Likewise.
6870 (grub_bsd_elf64_hook): Likewise.
6871 (grub_bsd_load_elf): Likewise.
6872
6873 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6876 if hash function is unavailable.
6877 (dec_stream_header): Likewise.
6878
6879 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6882 filter state.
6883
6884 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 Fix coreboot compilation.
6887
6888 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6889 (grub_vga_text_init_real): ... this.
6890 (grub_vga_text_fini): Rename to ...
6891 (grub_vga_text_fini_real): ... this.
6892
6893 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6896
6897 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/lib/legacy_parse.c: Support clear and testload.
6900
6901 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6904
6905 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6908
6909 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/net/tftp.c (ack): Fix endianness problem.
6912 (tftp_receive): Likewise.
6913 Reported by: Michael Davidsaver.
6914
6915 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6918
6919 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6922 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6923 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6924
6925 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6928 efi_mmap_size.
6929 Reported by: Stuart Hayes.
6930
6931 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6934
6935 * grub-core/Makefile.core.def (mda_text): New module.
6936 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6937 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6938 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6939 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6940 here.
6941 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6942 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6943 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6944 here.
6945 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6946 to ..
6947 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6948 ... here
6949 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6950 here.
6951 * grub-core/term/i386/vga_common.c: Removed.
6952 * include/grub/i386/vga_common.h: Likewise.
6953 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6954 (grub_vga_cr_bw_read): Likewise.
6955 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6956 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6957 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6958 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6959 grub_vga_cr_read/grub_vga_cr_write.
6960 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6961
6962 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * configure.ac: Bump version to 2.00.
6965 * grub-core/normal/main.c (features): Add feature_200_final.
6966
6967 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6968 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6969
6970 * NEWS: Fix unclarity and language mistakes.
6971
6972 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6975 additional size to 3 pages.
6976 Reported by: Stuart Hayes.
6977
6978 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * NEWS: Add 2.00 entry.
6981
6982 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6985 put explicit "/" for empty path.
6986 (wildcard_expand): Improve dprintf.
6987
6988 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6991 it's equal to currnode. This can happen with "" symlink.
6992
6993 2012-06-27 Yves Blusseau <blusseau@zetam.org>
6994
6995 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6996 echo shell command by printf command.
6997
6998 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7001 the value returned by firmware is the maximal position, not diumension.
7002 (grub_terminfo_output_state): Use a more sane fallback.
7003
7004 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7007
7008 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7011 frequency to 150 MHz.
7012
7013 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 Apple fixes.
7016
7017 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7018 __APPLE_
7019 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7020 definition.
7021 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7022
7023 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 Handle slash in HFS label.
7026
7027 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7028 (grub_hfs_dir): Tanslate slash.
7029 (grub_hfs_label): Don't translate slash.
7030
7031 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7034 network protocol listing since it introduces problematic dependency on
7035 net module.
7036
7037 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7040
7041 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 Init video early on yeeloong to avoid being rebooted by watchdog.
7044
7045 * grub-core/Makefile.am (gensm712): New target.
7046 (sm712_start.S): Likewise.
7047 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7048 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7049 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7050 description.
7051 * include/grub/vga.h: Move registry definitions to...
7052 * include/grub/vgaregs.h: ... here.
7053
7054 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7057 signedness.
7058
7059 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7062 platforms with firmware disk drivers in the core.
7063
7064 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7067 informative verbose message.
7068 (read_lv): Handle 64-bit segment size.
7069
7070 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7073
7074 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7077 character but still remove trainling spaces.
7078 (grub_fat_label): Ignore archive flag.
7079
7080 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7083 cast between linux_kernel_header and linux_kernel_params.
7084
7085 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7088 type for size.
7089 (grub_raid6_recover_func_t): Likewise.
7090 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7091 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7092
7093 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7096
7097 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7098
7099 Fix overflow.
7100
7101 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7102 [__NetBSD__]: Add explicit cast before bitshift.
7103
7104 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * configure.ac: Bump to 2.00~rc1.
7107
7108 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7111 half of $a0.
7112
7113 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7114 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7115
7116 * docs/grub.texi: Fix search syntax.
7117 (Multi-boot manual config): Put msdos rather than GPT example.
7118 Grammar corrections.
7119
7120 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7123
7124 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7127
7128 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7131 message on double free. Put the value of magic in case of mismatch.
7132
7133 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Speed-up video on yeeloong.
7136
7137 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7138 add cached_ptr.
7139 (grub_video_sm712_video_fini): Unmap cached_ptr.
7140 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7141 (grub_video_sm712_set_active_render_target): Removed.
7142 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7143 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7144 sync caches.
7145
7146 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 Avoid flushing the same line multiple times on loongson.
7149
7150 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7151 Step in 32 bytes and not 1 byte.
7152 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7153 Likewise.
7154
7155 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7158 subvolumes.
7159
7160 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Implement flow control for http.
7163
7164 * grub-core/net/http.c (parse_line): Handle response 206.
7165 (http_receive): Stall if too many packets are in the queue.
7166 (http_establish): Fix range header.
7167 (http_seek): Fix double free.
7168 (http_close): Likewise.
7169 (http_packets_pulled): New function.
7170 (grub_http_protocol): Set http_seek
7171 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7172 (ack_real): Set window depending on i_stall.
7173 (grub_net_send_tcp_packet): Likewise.
7174 (grub_net_tcp_stall): New function.
7175 (grub_net_tcp_unstall): Likewise.
7176 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7177 (grub_net_tcp_unstall): Likewise.
7178
7179 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7182
7183 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7186
7187 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * tests/util/grub-shell.in: Fix a typo.
7190
7191 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Implement flow control for tftp.
7194
7195 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7196 packets but stop only if stop condition is satisfied.
7197 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7198 `stall' instead of `eof' as stop condition.
7199 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7200 (http_err): Likewise.
7201 * grub-core/net/tftp.c (ack): Replace the first argument with data
7202 instead of socket.
7203 (tftp_receive): Stall if too many packets are in wait queue.
7204 (tftp_packets_pulled): New function.
7205 (grub_tftp_protocol): Set packets_pulled.
7206 * include/grub/net.h (grub_net_packets): New field count.
7207 (grub_net_put_packet): Increment count.
7208 (grub_net_remove_packet): Likewise.
7209 (grub_net_app_protocol): New field `packets_pulled'.
7210 (grub_net): New field `stall'.
7211
7212 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7215 sync part to handle them.
7216
7217 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7220 * grub-core/net/drivers/ieee1275/ofnet.c
7221 (grub_ieee1275_net_config_real): Likewise.
7222
7223 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7226 the direct route for server/gateway.
7227
7228 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7231 IP address to server name since we may not hame the DNS.
7232
7233 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7236 freeing random buffer on failure.
7237 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7238
7239 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7242
7243 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7246 reserved bytes.
7247 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7248 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7249 Handle malloc error correctly.
7250
7251 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7254 blocks.
7255
7256 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7259 increment.
7260
7261 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7264 none is explicitly specified.
7265
7266 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7269 while reallocating.
7270
7271 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Respect netmask from bootp/dhcp.
7274
7275 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7276 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7277 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7278 into ...
7279 (grub_net_add_ipv4_local): ... this.
7280 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7281 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7282 (grub_net_add_ipv4_local): New proto.
7283
7284 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7287 determining EFI memory map size.
7288
7289 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7292
7293 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7296 when looking for partition separator.
7297
7298 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7301 Escape commas.
7302
7303 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Restructure FAT driver to avoid hook in label reading as it hits a
7306 GCC bug.
7307
7308 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7309 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7310 (grub_fat_iterate_dir): Split into ...
7311 (grub_fat_iterate_init): ... this, ...
7312 (grub_fat_iterate_fini): ... this, ...
7313 (grub_fat_iterate_dir_next): ... and this. All users updated.
7314
7315 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7318 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7319 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7320 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7321 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7322 New fields last_key and last_key_time.
7323 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7324 extended key-esc into extended key-extended key.
7325
7326 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Avoid unnecessary memcpy of whole video buffer.
7329
7330 * grub-core/video/fb/video_fb.c (dirty): New struct.
7331 (framebuffer): Add members current_dirty and previous_dirty.
7332 (dirty): New function.
7333 (grub_video_fb_fill_rect): Update dirty.
7334 (common_blitter): Likewise.
7335 (grub_video_fb_scroll): Likewise.
7336 (doublebuf_blit_update_screen): Copy only dirty part.
7337 (doublebuf_pageflipping_update_screen): Likewise.
7338 (grub_video_fb_doublebuf_blit_init): Init dirty.
7339 (doublebuf_pageflipping_init): Likewise.
7340 (grub_video_fb_setup): Likewise.
7341
7342 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7345 poll rate.
7346
7347 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 Fix wildcard regexp dot and other special characters handling.
7350 Reported by: Robert Mabee.
7351
7352 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7353 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7354 (split_path): Trigger expansion on '?'.
7355 (unescape): New function.
7356 (wildcard_expand): Unescape parts copied without globbing.
7357 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7358 (grub_script_arglist_to_argv): Don't unescape expansions.
7359
7360 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * include/grub/net.h (grub_net_card): New member txbufsize.
7363 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7364 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7365 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7366 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7367 txbufsize.
7368 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7369 compatible property to check for macs. Set
7370 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7371 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7372 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7373 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7374 (send_card_buffer): Use txbuf.
7375 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7376 nested function out of the parent while on it.
7377
7378 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7381 presence check.
7382 (grub_ieee1275_net_config_real): Fix config pointer.
7383
7384 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7387 filename parsing to non-block devices.
7388
7389 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7392
7393 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7396 All users updated.
7397
7398 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7401 UUID search command even if hints probing failed.
7402
7403 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * po/POTFILES.in: Regenerated.
7406
7407 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Speed-up video on fuloong.
7410
7411 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7412 New function.
7413 (grub_pci_device_unmap_range): Handle non-cached address.
7414 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7415 add direct_ptr.
7416 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7417 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7418 (grub_video_sis315pro_set_active_render_target): Removed.
7419 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7420 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7421 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7422 sync caches.
7423 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7424 New proto.
7425
7426 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * docs/grub.texi (Multi-boot manual config): New section.
7429
7430 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 Avoid slow read-back from VRAM.
7433
7434 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7435 Move from here ...
7436 * grub-core/video/fb/video_fb.c
7437 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7438 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7439 (front_target): Remove front_target. Add pages.
7440 (grub_video_fb_init): Skip setting front_pages.
7441 (grub_video_fb_fini): Likewise.
7442 (doublebuf_blit_update_screen): Use pages.
7443 (grub_video_fb_doublebuf_blit_init): Likewise.
7444 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7445 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7446 (grub_video_fb_setup): Prefer doublebuffing.
7447
7448 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7451 gzio.
7452
7453 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 Add loongson tests.
7456
7457 * tests/util/grub-shell.in: Handle loongson.
7458 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7459 drivers.
7460 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7461 Reboot instead of shutdown if REBOOT is defined.
7462
7463 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7466 sized ports since unlike on real hardware qemu supports only 32-bit
7467 regs.
7468
7469 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7472 * util/grub-mkrescue.in: Handle loongson.
7473
7474 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7477 Set is_part appropriately.
7478 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7479 names. Canonicalize partition without full disk.
7480
7481 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 Revert usb-quiesce since it's wrong.
7484
7485 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7486 (grub_ofdisk_init): Don't do quiesce.
7487
7488 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7491 PowerMac workaround to Xserves as well.
7492 Information supplied by: Benjamin Herrenschmidt.
7493
7494 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Don't assume that beginning address is also the entry point on ppc.
7497
7498 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7499 (grub_linux_boot): Use linux_entry.
7500 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7501 (grub_linux_load64): Likewise.
7502
7503 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7506
7507 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7510 needlessly lose the console.
7511
7512 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7515 space.
7516
7517 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7520 than current grub_get_rtc() not implemented when booted with
7521 coreboot without TSC.
7522
7523 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7524 Add machine/time.h to kernel headers on loongson.
7525 * grub-core/Makefile.core.def (kernel): Remove
7526 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7527 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7528 (grub_get_rtc): Likewise.
7529 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7530 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7531 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7532 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7533 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7534 rather than installing known non-working time source.
7535 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7536 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7537 * include/grub/time.h: Don't include machine/time.h.
7538 * include/grub/efi/time.h: Removed.
7539 * include/grub/i386/efi/time.h: Likewise.
7540 * include/grub/i386/ieee1275/time.h: Likewise.
7541 * include/grub/powerpc/ieee1275/time.h: Likewise.
7542 * include/grub/sparc64/ieee1275/time.h: Likewise.
7543 * include/grub/x86_64/efi/time.h: Likewise.
7544
7545 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 Remove dot on i and j when combining with above diacritics.
7548
7549 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7550 value.
7551 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7552 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7553 with dotless variants when any combining above is present.
7554
7555 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7558 text and not binary.
7559
7560 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 Stop polling as soon as we have the packet we were waiting for.
7563
7564 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7565 All users updated.
7566 * grub-core/net/arp.c (have_pending): New var.
7567 (pending_req): Likewise.
7568 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7569 stop indicator.
7570 (grub_net_arp_receive): Set have_pending.
7571 * grub-core/net/dns.c (recv_data): New field stop.
7572 (recv_hook): Set stop.
7573 (grub_net_dns_lookup): Init stop and use as stop condition.
7574 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7575 condition.
7576 * grub-core/net/net.c (grub_net_poll_cards): New argument
7577 stop_condition. Stop when it goes true.
7578 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7579 indicator.
7580 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7581
7582 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 Keep TX and RX buffers on EFI rather than always allocate new ones.
7585
7586 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7587 card. All users updated.
7588 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7589 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7590 (get_card_packet): Likewise.
7591 (grub_efinet_findcards): Init new fields.
7592
7593 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7596 compilation error on sparc64.
7597
7598 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 Use ITC on IA64 rather than broken routine based on daytime.
7601
7602 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7603 ia64.
7604 (grub_get_rtc) [__ia64__]: Likewise.
7605 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7606 (get_itc): New function.
7607 (grub_rtc_get_time_ms): Likewise.
7608 (grub_machine_init): Calibrate ITC.
7609 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7610 Keep only on non-ia64. Don't export since it's broken and used only
7611 if TSC is unavailable.
7612
7613 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7616 even if it's used.
7617 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7618 Skip if parent is unused.
7619
7620 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7623
7624 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Fix wildcard escaping.
7627
7628 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7629 * grub-core/script/execute.c (wildcard_escape): .. to here.
7630 Don't escape dot.
7631 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7632 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7633 Don't escape dot.
7634 * grub-core/script/execute.c (gettext_append): Always escape.
7635 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7636 * grub-core/script/yylex.l: Don't cut away the escaping.
7637 * tests/grub_script_echo1.in: Add tests with wildcard.
7638
7639 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7642 (ftdi_hw_configure): Likewise.
7643 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7644 define.
7645 (real_config): Handle 1.5 stop bits.
7646 (pl2303_hw_configure): Likewise.
7647
7648 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * Makefile.am: Add ppc linux bootcheck.
7651 * grub-core/tests/boot/linux-ppc.cfg: New file.
7652 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7653
7654 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * tests/grub_script_expansion.in: Skip network protocols.
7657
7658 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7661
7662 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7665 --rom-directory.
7666 Add -graft-points.
7667
7668 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 ESCC serial driver for conducting sautomated tests in qemu.
7671 Not tested on real hardware.
7672
7673 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7674 * grub-core/term/ieee1275/escc.c: New file.
7675 * grub-core/Makefile.core.def (escc): New module.
7676
7677 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7680 invalid on error.
7681 (serial_hw_fetch): Don't read invalid handle.
7682 (serial_hw_put): Don't write into invalid handle.
7683
7684 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 Add a 1.5 stop bits value.
7687
7688 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7689 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7690 GRUB_SERIAL_STOP_BITS_1_5.
7691
7692 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7695 value rather than let it uninited.
7696
7697 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/commands/wildcard.c (+check_file): New function.
7700 (wildcard_expand): Don't expand to non-existing files, expand with
7701 suffix and not attempt to expand if not needed.
7702
7703 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7706 out of partitions containing other partitions.
7707
7708 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7711 on some qemu versions with GRUB.
7712
7713 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7714 define.
7715 (grub_openbsd_bootarg_pcibios): New struct.
7716 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7717 Add PCIINFO.
7718
7719 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * tests/util/grub-shell.in: Trim firmware output on EFI.
7722
7723 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7726 and coreboot since it's already in kernel.
7727
7728 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7731 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7732 to here. New return value start. All users updated.
7733 Recursively scan linear mappings.
7734 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7735 proto.
7736 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7737 Use grub_util_get_dm_node_linear_info.
7738 * util/getroot.c (convert_system_partition_to_system_disk): Use
7739 grub_util_info rather than grub_dprintf.
7740 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7741
7742 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7745
7746 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7747 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7748
7749 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * include/grub/types.h (grub_set_unaligned64): New function.
7752 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7753 (setup): Likewise.
7754
7755 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7758 (grub_ofdisk_fini): Quiesce USB devices.
7759
7760 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7763 caches.
7764
7765 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7768
7769 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/disk/pata.c (grub_pata_pio_read)
7772 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7773 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7774
7775 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 Extend automated tests to qemu-mips.
7778
7779 * Makefile.am: reorganise tests and enable qemu-mips.
7780 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7781 * grub-core/tests/boot/linux.init-mips.S: New file.
7782 * tests/partmap_test.in: Handle ata0 disks.
7783 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7784 non-pc i386.
7785
7786 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7789 ia64.
7790 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7791 quotes while on it.
7792
7793 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7796 (grub_halt): Likewise.
7797 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7798
7799 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/term/serial.c (grub_serial_register)
7802 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7803 the behaviour in line with x86 platforms.
7804
7805 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7808 (grub_ata_strncpy): Likewise.
7809 (grub_ata_identify): Add missing byteswaps.
7810
7811 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7814 byte-swap.
7815 (screen_read_char): Likewise.
7816 (grub_vga_text_cls): Likewise.
7817
7818 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7821 filenames.
7822 (make_file_path): Likewise.
7823
7824 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7827 machines.
7828 Tested by: Paulo Flabiano Smorigo.
7829 Crucial information about API supplied by: Coleen <Last name unknown>.
7830 Reviewed by: Coleen <Last name unknown>.
7831
7832 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * util/grub-mkimage.c: Disable -Wcast-align.
7835
7836 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7839 as they are fatal.
7840
7841 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7844
7845 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * util/grub-probe.c (escape_of_path): Fix double free.
7848
7849 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/commands/videoinfo.c (hook): Show pitch.
7852
7853 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7856
7857 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7860 (probe): Add ieee1275 to OFW devices.
7861
7862 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7865
7866 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Handle IBM OFW path.
7869
7870 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7871 available.
7872 (of_path_of_scsi): Handle vdevice.
7873
7874 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7877 Allocate in multiples of 16 to avoid adding a few bytes free region the
7878 windows bugs upon.
7879
7880 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7883 Allocate in multiples of 16 to avoid adding a few bytes free region the
7884 windows bugs upon.
7885 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7886
7887 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7890 resolutions.
7891 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7892 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7893
7894 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7895
7896 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7897
7898 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7901 resulted in \\ at the end of the line.
7902
7903 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7906 (grub_parser_cmdline_state): Likewise.
7907 (grub_parser_split_cmdline): Likewise.
7908
7909 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7912 /dev/root and /dev/dm-*.
7913
7914 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7917 fix partially stale display.
7918
7919 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7922 substraction.
7923
7924 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7927 Fix MBR remapping workaround.
7928 (grub_util_biosdisk_read) [__linux__]: Likewise.
7929
7930 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7933
7934 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * configure.ac: Bump to beta6.
7937
7938 2012-05-31 Christer Weinigel <christer@weinigel.se>
7939
7940 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7941
7942 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7945 (grub_cmd_linux): Likewise.
7946
7947 2012-05-31 Christer Weinigel <christer@weinigel.se>
7948
7949 Fix EHCI low-speed.
7950
7951 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7952 (GRUB_EHCI_MULT_TWO): Likewise.
7953 (GRUB_EHCI_MULT_THREE): Likewise.
7954 (GRUB_EHCI_CMASK_MASK): New enum value.
7955 (GRUB_EHCI_SMASK_MASK): Likewise.
7956 (GRUB_EHCI_CMASK_OFF): Likewise.
7957 (GRUB_EHCI_SMASK_OFF): Likewise.
7958 (grub_ehci_pci_iter): Enable periodic schedule.
7959 (grub_ehci_parse_notrun): Likewise.
7960 (grub_ehci_restore_hw): Likewise.
7961 (grub_ehci_setup_qh): Set flags for low speed transfers.
7962 (grub_ehci_find_qh): Use periodic list for low speed.
7963 (grub_ehci_setup_transfer): Check periodic queue as well.
7964 (grub_ehci_check_transfer): Likewise.
7965 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7966
7967 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7968
7969 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7970 parameter is used.
7971
7972 2012-05-31 Peter Jones <pjones@redhat.com>
7973
7974 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7975 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7976 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7977
7978 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7981 uninited variable. Allocate at least setup_sects.
7982
7983 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 Fix handling of EFI with big memory maps.
7986
7987 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7988 (real_mode_mem): Likewise.
7989 (real_mode_target): Likewise.
7990 (real_mode_pages): Likewise.
7991 (prot_mode_pages): Likewise.
7992 (linux_params): New var.
7993 (linux_cmdline): Likewise.
7994 (free_pages): Don't set real mode variables.
7995 (allocate_pages): Don't allocate real mode memory.
7996 (grub_e820_add_region): Remove the limit.
7997 (grub_linux_boot): Allocate and copy real mode memory.
7998 (grub_linux_unload): Free linux_cmdline.
7999 (grub_cmd_linux): Use temporary storage for parameters.
8000 (grub_cmd_initrd): Likewise.
8001 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8002 (linux_kernel_params): Make it 1K big.
8003
8004 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * Makefile.util.def: Remove -Wno-format.
8007 * grub-core/Makefile.core.def: Likewise.
8008
8009 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * tests/cmp_unit_test.c: Add missing failure message.
8012 * tests/example_unit_test.c: Likewise.
8013 * tests/printf_unit_test.c: Likewise.
8014
8015 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8018 relaxation of protective MBR requirements.
8019
8020 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * configure.ac: Add condition for COND_HOST_XNU.
8023 * Makefile.util.def (10_xnu): New script.
8024 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8025
8026 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8029 objconv bug.
8030
8031 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8034 Binary on other platforms stays identical.
8035
8036 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8039 Apple.
8040
8041 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8044
8045 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8048 rather than defining size_t ourselves to avoid conflict.
8049
8050 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8053 initialisation to avoid __bzero reference.
8054
8055 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8058 version.
8059 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8060 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8061 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8062 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8063 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8064
8065 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8068 * grub-core/kern/misc.c: Likewise.
8069 * grub-core/loader/i386/xnu.c: Likewise.
8070 * include/grub/i386/tsc.h: Likewise.
8071 * include/grub/symbol.h: Likewise.
8072
8073 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8076 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8077 on older compiler.
8078
8079 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8082 Implement Apple flavour.
8083 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8084
8085 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8088 (memmove) [__APPLE__]: Likewise.
8089 (memcpy) [__APPLE__]: Likewise.
8090 (memset) [__APPLE__]: Likewise.
8091 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8092 (memmove) [__APPLE__]: Likewise.
8093 (memcpy) [__APPLE__]: Likewise.
8094 (memset) [__APPLE__]: Likewise.
8095
8096 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8099 dependency discard.
8100
8101 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/normal/main.c (read_config_file): Provide config_file and
8104 config_directory.
8105 * util/grub.d/41_custom.in: Use config_directoy when available.
8106
8107 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8110 (grub_bfs_dir): Likewise.
8111
8112 2012-05-27 Peter Jones <pjones@redhat.com>
8113
8114 The old code gives arguments to a printf function which can't work
8115 correctly, and the compiler complains.
8116
8117 * grub-core/tests/example_functional_test.c (example_test): Add
8118 missing text.
8119 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8120 * include/grub/test.h (grub_test_assert_helper): New declaration.
8121 (grub_test_assert): Use grub_test_assert_helper.
8122
8123 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8126 (exfctest): ... this to avoid overlong filenames.
8127 All users updated.
8128
8129 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 Handle "." and ".." on squashfs.
8132
8133 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8134 Make inode numbers into stack.
8135 (grub_squash_read_symlink): Use stack.
8136 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8137 (make_root_node): Fill stack.
8138 (grub_squash_open): Use stack.
8139
8140 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8143 freeing.
8144
8145 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8148 stderr on test calls.
8149
8150 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8153
8154 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8157
8158 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8161 "..".
8162
8163 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8166 (grub_hfsplus_iterate_dir): Add "." and "..".
8167
8168 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8171 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8172
8173 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8176 (find_path): Handle "." and "..".
8177
8178 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8181 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8182 (grub_affs_iterate_dir): Handle hardlinks.
8183
8184 2012-05-26 Matthew Garrett <mjg@redhat.com>
8185
8186 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8187 (grub_efi_console_fini): Likewise.
8188 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8189 (grub_video_gop_fill_mode_info): Rename to ...
8190 (grub_video_gop_fill_real_mode_info): ... this.
8191 (grub_video_gop_fill_mode_info): New function.
8192 (grub_video_gop_setup): Setup double framebuffer.
8193 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8194 Free offscreen.
8195 (grub_video_gop_swap_buffers): Copy framebuffer.
8196 (grub_video_gop_fini): Free offscreen buffer.
8197 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8198 New enum.
8199 (grub_efi_gop_blt_pixel): New struct.
8200
8201 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * gentpl.py: Remove error disabling for objconv.
8204
8205 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * configure.ac: Remove -Wunitialized as it's not available on older
8208 compilers.
8209
8210 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 Fix extent overflow comparator.
8213
8214 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8215 (grub_hfsplus_read_block): Set type.
8216 (grub_hfsplus_cmp_extkey): Compare type.
8217
8218 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8221
8222 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8225 than 0.
8226
8227 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8230 (dejavu_bold_14.pf2): New target.
8231
8232 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * configure.ac: Fix djvu font detection.
8235
8236 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8239 ext* instead of ext2.
8240
8241 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8244 name with \0.
8245
8246 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8247
8248 * docs/grub-dev.texi: Remove dot from .png.
8249
8250 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8253 protective entry in any slot.
8254 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8255 if protective entry is found in any slot.
8256
8257 Protective entry in non-first slot make no sense but is a widespread
8258 brain damage.
8259
8260 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8263
8264 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8267 with old reiserfs.
8268 (grub_reiserfs_open): Don't free root.
8269
8270 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8273 after freeing for safety.
8274
8275 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8278 Reported by: Jordan Uggla.
8279
8280 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8281
8282 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8283 actual implementation. Specifically, clarify that the grub menu will
8284 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8285 passed.
8286
8287 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8288
8289 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8290 of r0.
8291
8292 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Remove unjustified hard dependency of normal.mod on gfxterm.
8295
8296 * include/grub/term.h (grub_term_output): New member fullscreen.
8297 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8298 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8299 (grub_gfxterm): Set .fullscreen.
8300 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8301 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8302
8303 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8306 mentioning possible problems with non-ASCII (non-compliant) ISOs.
8307 Mention case-insensitive AFFS, SFS and JFS.
8308
8309 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8312
8313 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8316 a bad FS.
8317
8318 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8321 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8322
8323 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8326 (grub_jfs_mount): Fill caseins.
8327 (grub_jfs_find_file): Respect caseins.
8328
8329 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8332 through UTF-16.
8333
8334 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8337 New argument origpath. All users updated.
8338
8339 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8342 (read_attr): Ensure that we read start of possibly compressed block.
8343
8344 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8347 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8348 All users updated.
8349
8350 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8353 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8354 (dejavu.pf2): Replace with ...
8355 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8356 this.
8357
8358 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * util/grub.d/20_linux_xen.in: Add missing line.
8361
8362 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8365 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8366 (grub_utf16_to_utf8): Likewise.
8367
8368 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8371 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8372 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8373 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8374 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8375 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8376
8377 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8380 a bad FS.
8381
8382 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8385 (grub_udf_read_symlink): Handle read_string failure.
8386
8387 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8390 comment.
8391
8392 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 Fix handling of UDF symlinks.
8395
8396 * grub-core/fs/udf.c (read_string): New argument outbuf.
8397 All users updated.
8398 (grub_ufs_read_symlink): Rename to ...
8399 (grub_udf_read_symlink): ... this. All users updated.
8400 Handle symlinks with more than one component.
8401
8402 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8405 symlinks. Replace leading colon with a slash.
8406
8407 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8410 filename.
8411
8412 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8415 match in inner node.
8416
8417 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8420 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8421 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8422 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8423 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8424 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8425 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8426 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8427 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8428
8429 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Use grub-probe and not cmp to check that disk is empty.
8432
8433 * util/grub-install.in: Use grub-probe for zero-check.
8434 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8435 (probe): Handle PRINT_ZERO_CHECK.
8436 (argp_parser): Handle -t zero_check.
8437
8438 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 Flush block cache on adding disk to device map.
8441
8442 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8443 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8444 adding.
8445 (read_device_map): Likewise.
8446 (open_device): Flush on opening.
8447
8448 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8451 (handle_symlink): Fix off-by-one error.
8452 Canonicalize the target.
8453 (grub_cpio_dir): Canonicalize the name.
8454 Fix memory leak.
8455 Set directory.
8456 (grub_cpio_open): Canonicalize the name.
8457
8458 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8461 handling.
8462
8463 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8466 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8467
8468 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8471 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
8472 All users updated.
8473
8474 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8477 counterpart.
8478
8479 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 Fix UFS1 big file support.
8482
8483 * grub-core/fs/ufs.c (INODE): Removed.
8484 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8485 64-bit.
8486 (INODE_MODE): Simplify.
8487 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8488 (grub_ufs_lookup_symlink): Don't use INODE.
8489
8490 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8493
8494 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8495 (grub_minix_data): Replace log_block_size with block_size.
8496 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8497 (grub_minix_mount): Fill block_size.
8498
8499 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * configure.ac: Bump to beta5.
8502
8503 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Fix wrapped HFS+ handling.
8506
8507 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8508 blocks_start. All users updated.
8509 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8510 wrapping offset.
8511 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8512
8513 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Fix long symlinks on reiserfs.
8516
8517 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8518 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8519 (grub_reiserfs_iterate_dir): Save size for non-directories.
8520 (grub_reiserfs_open): Don't reread stat block as we already know the
8521 size.
8522 (grub_reiserfs_read): Split into...
8523 (grub_reiserfs_read_real): ... and ...
8524 (grub_reiserfs_read): ...this.
8525
8526 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 Fix non-indexed JFS.
8529
8530 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8531 (grub_jfs_data): New field namecomponentlen.
8532 (grub_jfs_mount): Fill namecomponentlen.
8533 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8534
8535 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8538 * tests/grub_script_echo1.in: Add tests.
8539
8540 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * util/grub-install.in: Ignore empty devicetree directory.
8543
8544 2012-05-08 Bean <bean123ch@gmail.com>
8545
8546 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8547 All users updated.
8548 (free_rsm): Free header as well.
8549 (free_old_fragments): Fix memory leak.
8550 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8551 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8552 (destroy_pq): Likewise.
8553 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8554
8555 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8558 resulting hash as a precaution.
8559
8560 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8563 '_' in variable names.
8564 * grub-core/net/net.c (grub_net_network_level_interface_register):
8565 Likewise.
8566
8567 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Fix AFFS with non-512B blocks.
8570
8571 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8572 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8573 (grub_affs_data): Replace blocksize with log_blocksize.
8574 (grub_affs_read_block): Fix non-512B blocks.
8575 (grub_affs_read_symlink): Likewise.
8576 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8577 (grub_affs_read): Fix non-512B blocks.
8578 (grub_affs_label): Likewise.
8579 (grub_affs_mtime): Likewise.
8580 (grub_affs_mount): Fix block detection routine.
8581
8582 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Add filesystem mtime to AFFS.
8585
8586 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8587 (aftime2ctime): New function.
8588 (grub_affs_dir): Use aftime2ctime.
8589 (grub_affs_label): Fix return value.
8590 (grub_affs_mtime): New function.
8591 (grub_affs_fs): Add mtime.
8592
8593 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8596 UTF-8.
8597
8598 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8601 UTF-8.
8602
8603 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8606
8607 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8610 flags.
8611 (FLAGS_CASE_SENSITIVE): New enum value.
8612 (cache_entry): New struct.
8613 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8614 cache_size and cache.
8615 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8616 Add log_blocksize and fshelp_flags.
8617 (grub_sfs_read_extent): Handle non-512 blocks.
8618 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8619 (grub_sfs_read_file): Handle non-512 blocks.
8620 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8621 fshelp_flags.
8622 (grub_sfs_read_symlink): Handle non-512 blocks.
8623 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8624 (grub_sfs_dir): Free cache.
8625 (grub_sfs_close): Likewise.
8626
8627 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8630 filesystems.
8631
8632 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8635
8636 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8639
8640 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8643 (grub_sfs_read_extent): Likewise.
8644 (grub_sfs_read_block): Likewise.
8645 (grub_sfs_mount): Likewise.
8646 (grub_sfs_iterate_dir): Likewise.
8647 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8648 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8649
8650 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 Fix errors on compressed NTFS with 512B clusters.
8653
8654 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8655 types.
8656 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8657 not 0.
8658 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8659 Relax check for inline extents.
8660 (ntfscomp): Return correct -1 on error and not 0.
8661
8662 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * util/grub-install.in: Fix handling of prefix containing spaces.
8665
8666 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8669 (grub_squash_read_data): Fix offset byte-swapping.
8670
8671 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8674 per common usage and preffered in several parts of code.
8675 (grub_memcmp): Likewise.
8676 (grub_strncmp): Likewise.
8677 * include/grub/misc.h (grub_strcasecmp): Likewise.
8678 (grub_strncasecmp): Likewise.
8679 * Makefile.util.def (cmp_test): New test.
8680 (grub_script_strcmp): Likewise.
8681 * tests/cmp_unit_test.c: New file.
8682 * tests/grub_script_strcmp.in: Likewise.
8683 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8684
8685 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * include/grub/pci.h: Move enums into no-asm part.
8688
8689 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8692
8693 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8694
8695 * util/getroot.c (find_hurd_root_device): Try to make error message
8696 and comments to translators clearer.
8697
8698 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8701
8702 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8705 btrfs.
8706
8707 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * docs/grub.cfg: Update.
8710
8711 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * docs/grub.texi (PXE): Remove not present variables.
8714
8715 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/net/net.c (defserver_set_env): New function.
8718 (defserver_get_env): Likewise.
8719 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8720
8721 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8724 entries.
8725
8726 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8729 * grub-core/kern/emu/hostdisk.c: Likewise.
8730
8731 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8732
8733 Handle hurd userspace partitions.
8734
8735 * util/getroot.c (find_hurd_root_device): New function.
8736 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8737
8738 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8741 names.
8742 Reported by: Bastian Blank.
8743
8744 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8747 crossing page boundary.
8748
8749 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 Fix B-tree search in BFS, especially in presence of non-ASCII
8752 characters.
8753
8754 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8755 (find_in_b_tree): Use standard bsearch + btree algorithm.
8756
8757 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8760 and so on.
8761
8762 2012-05-03 Matthew Garrett <mjg@redhat.com>
8763 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Suspend broadcom cards in order to stop their DMA.
8766
8767 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8768 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8769 (pci): Don't build on x86 EFI.
8770 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8771 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8772 New function.
8773 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8774 stop_broadcom if running on EFI.
8775 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8776 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8777 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8778 (grub_pci_find_capability): New proto.
8779
8780 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * docs/grub.texi: Remove dot from the extension as it apparently
8783 doesn't work with some makeinfo versions.
8784
8785 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8788 with GRUB expectance.
8789
8790 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8793
8794 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8797 zero after directory block since last entry may be not 0-terminated if
8798 it ends on block boundary. Use continue instead of if spanning whole
8799 loop.
8800
8801 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 Support 4K sectors UDF inline files.
8804
8805 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8806 (grub_udf_extended_file_entry): Likewise.
8807 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8808 All users updated.
8809 (get_fshelp_size): New function.
8810 (grub_udf_read_icb): Read whole block.
8811 (grub_udf_iterate_dir): Likewise.
8812 (grub_udf_dir): Likewise.
8813 (grub_udf_open): Likewise.
8814
8815 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8818
8819 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8822 inline symlinks in addition to workaround.
8823
8824 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8827
8828 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8831
8832 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8835
8836 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 Fix reiserfs big seek times.
8839
8840 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8841 exact. All users updated.
8842 (grub_reiserfs_read): Use nearest btree search for seeking.
8843 Fix return value on error.
8844
8845 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8848 entries.
8849 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8850 * docs/grub.texi: Update menuentry description.
8851
8852 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8855 crash when embedding onto filesystem.
8856
8857 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8860 name.
8861
8862 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8865
8866 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8869 commit.
8870
8871 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8872 2012-05-01 Bean <bean123ch@gmail.com>
8873
8874 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8875
8876 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8879 Special behaviour for len = 0 to read whole file isn't used anywhere and
8880 can cause buffer ovewrflows in several places.
8881
8882 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8885
8886 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Handle RAIDZ on non-512B sectors.
8889
8890 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8891 max_children_ashift.
8892 (fill_vdev_info_real): Fill max_children_ashift.
8893 (read_device): Use max_children_ashift.
8894
8895 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8898
8899 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8902 disk names.
8903 * docs/grub.texi: Update device.map parts.
8904
8905 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Don't scan into non-diskfilter devices having diskfilter names.
8908
8909 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8910 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8911 handling.
8912 (scan_disk_hook): New function.
8913
8914 2012-04-29 Bean <bean123ch@gmail.com>
8915
8916 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8917 allocation.
8918
8919 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8920
8921 * configure.ac: Detect starfield theme font path
8922 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8923
8924 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8927 geometry on serial consoles.
8928
8929 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8932 because of network consoles.
8933
8934 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8937 handling.
8938
8939 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8942 falls on Q syndrom.
8943
8944 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8947 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8948
8949 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8952 Allocate at lest 8192 for temporary buffer as required for lzo.
8953
8954 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8957 to cluster_bits, since it's already added in.
8958 (grub_fat_read_data): Likewise.
8959
8960 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8963 as long as cluster size is multiple of 512 bytes.
8964
8965 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * util/grub-mkrescue.in: Fix locale directory.
8968
8969 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/kern/emu/hostdisk.c (map): Make static.
8972
8973 2012-04-23 Bean <bean123ch@gmail.com>
8974
8975 * util/grub-fstest.c (fstest): Add missing break.
8976
8977 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8978
8979 Fix hurd build.
8980
8981 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8982 not define nr variable.
8983 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8984 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8985 grub_find_device): Do not define.
8986
8987 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 Fix kfreebsd compile and behaviour.
8990
8991 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8992 format-security.
8993 * util/getroot.c: Fix wait.h include.
8994 (grub_guess_root_devices): Error if grub_find_device fails.
8995 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8996 (grub_util_get_dev_abstraction): Likewise.
8997 (grub_util_pull_device): Likewise.
8998 (grub_util_get_grub_dev): Likewise.
8999 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9000
9001 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 Fix and unify wholedisk detection.
9004
9005 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9006 is_part. All users updated.
9007 (device_is_wholedisk): Removed.
9008 (grub_util_biosdisk_get_grub_dev): Use is_part.
9009
9010 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9013 mode.
9014
9015 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * configure.ac: Bump to beta4.
9018
9019 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9022 --fs-uuid --set UUID syntax.
9023
9024 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9027 disunification.
9028
9029 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9032
9033 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
9034
9035 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9036
9037 2012-04-18 Mike Gilbert <floppym@gentoo.org>
9038
9039 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9040
9041 2012-04-18 Bean <bean123ch@gmail.com>
9042
9043 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9044 place.
9045
9046 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9049 users updated.
9050 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9051 corresponding to GRUB partitions.
9052 (grub_util_biosdisk_write): Likewise.
9053
9054 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Scan mdraid before LVM.
9057
9058 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9059 (grub_diskfilter_register_front): ... this.
9060 (grub_diskfilter_register_back): New function.
9061 All users of grub_diskfilter_register updated.
9062
9063 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/grub-install.in: Fix an automatic target detection bug.
9066
9067 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * util/grub-install.in: New option --efi-directory.
9070
9071 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9074 boot services if we have no other choice.
9075
9076 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9079 document it.
9080 * tests/util/grub-shell.in: Update to --directory.
9081
9082 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9085
9086 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9089 (grub_minix_read_file): Likewise.
9090 (grub_minix_read_inode): Likewise.
9091 (grub_minix_find_file): Likewise.
9092 (grub_minix_dir): Likewise.
9093
9094 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub-setup.c (setup): Fix partition handling and blocklist
9097 check.
9098
9099 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9102 redundant buggy overlap check.
9103
9104 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9107 and grub-mknetdir.
9108
9109 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9112 kh.loadflags on pre-2.00 kernels.
9113
9114 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 Terminate UNDI and PXE before launching the payload to avoid problems
9117 with DMA.
9118
9119 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9120 (grub_loader_flags): ... this. All users updated.
9121 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9122 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9123 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9124 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9125 function.
9126 (grub_pxe_restore): Likewise.
9127 (fini_hnd): New var.
9128 (GRUB_MOD_INIT): Register shutdown hook.
9129 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9130 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9131 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9132 (grub_loader_set): Rename second argument to flags.
9133
9134 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9137 written bytes.
9138 (grub_get_num_of_utf8_bytes): New function.
9139 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9140 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9141 executing it.
9142 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9143 (grub_ucs4_to_utf8): Change return type.
9144
9145 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9148 warning.
9149 * grub-core/fs/bfs.c (hop_level): Likewise.
9150 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
9151
9152 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/lib/adler32.c: Recode due to license unclearness.
9155
9156 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9159 (test_header): Likewise.
9160
9161 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Fix --help formatting.
9164
9165 * util/grub-mkconfig_lib.in (print_option_help): New function.
9166 (grub_fmt): Likewise.
9167 * util/grub-install.in: Use print_option_help and grub_fmt.
9168 * util/grub-kbdcomp.in: Likewise.
9169 * util/grub-mkconfig.in: Likewise.
9170 * util/grub-mknetdir.in: Likewise.
9171 * util/grub-mkrescue.in: Likewise.
9172 * util/grub-mkstandalone.in: Likewise.
9173 * util/grub-reboot.in: Likewise.
9174 * util/grub-set-default.in: Likewise.
9175 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9176
9177 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * linguas.sh: Remove autogenerated *.po.
9180
9181 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * po/README: Move language fetcing to ...
9184 * linguas.sh: ... here.
9185 * po/README: Point to linguas.sh.
9186
9187 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * po/README: Exclude ko.po due to disclaimer problems.
9190
9191 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9194 len = 0.
9195 (grub_gettext_translate_real): Handle 0th string.
9196 (grub_gettext_translate): Ensure that "" isn't translated.
9197
9198 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9201 TRANSLATORS comment.
9202 (grub_diskfilter_print_partmap): Propagate changing of error into
9203 warning.
9204
9205 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9208 to uint64_t to prevent overflow.
9209 (grub_diskfilter_lv): Increase start_extent and extent_count
9210 to uint64_t to prevent overflow.
9211
9212 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * configure.ac: Increase version.
9215
9216 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9219
9220 * po/Rules-translit: New file.
9221 * po/arabic.sed: Likewise.
9222 * po/cyrillic.sed: Likewise.
9223 * po/greek.sed: Likewise.
9224 * po/hebrew.sed: Likewise.
9225 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9226 * po/Makefile.in.in: Add extra_dist4.
9227
9228 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9231
9232 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9233 modify names. Introduce MODE_BIGENDIAN.
9234 * grub-core/fs/minix_be.c: New file.
9235 * grub-core/fs/minix2_be.c: Likewise
9236 * grub-core/fs/minix3_be.c: Likewise.
9237 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9238 minix3_be.
9239 * grub-core/Makefile.core.def (minix_be): New module.
9240 (minix2_be): Likewise.
9241 (minix3_be): Likewise.
9242
9243 2012-04-01 Felix <email@hamburg.de>
9244
9245 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9246 (devs): Add MBP 2011.
9247
9248 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9251
9252 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * grub-core/normal/cmdline.c (print_completion): New field
9255 prompt_len.
9256 (grub_cmdline_get): Handle width properly.
9257
9258 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9261
9262 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
9265 after 29th of February.
9266
9267 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 Fix exfat endianness handling.
9270
9271 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9272 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9273 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9274 Byte-swap utf16 when necessary.
9275 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9276
9277 2012-03-31 Anton Blanchard <anton@samba.org>
9278 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 Fix btrfs endianness handling.
9281
9282 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9283 (lower_bound): Make root uint64_t. Use root in le.
9284 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9285 (find_path): Fix template key init.
9286 (grub_btrfs_dir): Fix mtime byteswap.
9287 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9288
9289 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9292 recursion_depth. Break infinite resursions. All users updated.
9293
9294 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9297 after free.
9298 Reported by: Peter Jones.
9299
9300 2012-03-31 Anton Blanchard <anton@samba.org>
9301
9302 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9303 8 bit values.
9304
9305 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * util/grub-install.in: Fix nvram call for PreP.
9308
9309 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9312 the error when some elements are missing into a warning.
9313
9314 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9317
9318 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
9319
9320 * docs/grub.texi (Invoking grub-probe): New section.
9321 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9322
9323 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Fix tab and wide character handling in editor and menu.
9326
9327 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9328 agglomerate control characters with combining marks.
9329 (bidi_line_wrap): Allow break on tab.
9330 (grub_unicode_get_comb_start): New function.
9331 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9332 and tab correctly.
9333 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9334 with a space.
9335 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9336 fixed_tab_size. All users updated.
9337 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9338 (grub_term_getcharwidth): Handle \t.
9339 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9340 and copy.
9341
9342 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Handle big-endian mdraid.
9345
9346 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9347 * grub-core/Makefile.core.def (mdraid09_be): New module.
9348 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9349 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9350 * grub-core/disk/mdraid_linux_be.c: New file.
9351
9352 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9355
9356 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9359 missing quotes which caused confusion among translators.
9360
9361 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * util/grub-mkconfig_lib.in: Fix typo.
9364
9365 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9368 spaces.
9369 * tests/grub_script_leading_whitespace.in: New file.
9370 * Makefile.util.def (grub_script_leading_whitespace): New test.
9371
9372 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9375 to work.
9376
9377 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9380 starts with control character.
9381
9382 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9385 overflow.
9386 (grub_gdb_outbuf): Likewise.
9387
9388 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9391 zero terminator. Fixes a crash.
9392
9393 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9396 beyond 4 GiB.
9397 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9398 images independently of preffered adderss field.
9399
9400 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9403 * grub-core/commands/regexp.c: Likewise.
9404 * grub-core/loader/i386/linux.c: Likewise.
9405 * grub-core/partmap/msdos.c: Likewise.
9406 * grub-core/script/execute.c: Likewise.
9407 * grub-core/term/gfxterm.c: Likewise.
9408
9409 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 Add variable parsing in $"..." and fix several mismatches with bash.
9412
9413 * Makefile.util.def (grub_script_gettext): New test.
9414 * grub-core/script/execute.c (parse_string): New function.
9415 (gettext_append): Likewise.
9416 (grub_script_arglist_to_argv): Use gettext_append.
9417 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9418 * tests/grub_script_gettext.in: New file.
9419
9420 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 Fix handling of leading spaces in scripts.
9423
9424 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9425 spaces.
9426 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9427 other than skipping \r. All users updated.
9428 * tests/grub_script_echo1.in: Add space-related tests.
9429 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9430
9431 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9434
9435 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * configure.ac: Bump up the version to beta2.
9438
9439 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Fix gettext reload bugs (e.g. inability to disable gettext
9442 once enabled).
9443
9444 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9445 main_context and secondary_context. All functions updated.
9446 (grub_gettext_translate): Rename to ...
9447 (grub_gettext_translate_real): ... this. Return NULL on failed
9448 translate.
9449 (grub_gettext_translate): Handle secondary context.
9450 (grub_gettext_delete_list): Close file and zero-out the context.
9451 (grub_mofile_open): Don't call grub_gettext_delete_list.
9452 Don't close file.
9453 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9454 if locale="" to avoid pointless error message.
9455 (grub_gettext_env_write_lang): Update lang even if load fails.
9456 Handle secondary context.
9457 (grub_gettext_reread_prefix): New function.
9458 (read_main): Likewise.
9459 (read_secondary): Likewise.
9460 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9461 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9462 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9463 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9464
9465 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * configure.ac: Decrease warning level to avoid spurious warnings and
9468 to be able to compile with GCC 4.2.
9469 * Makefile.util.def: Remove -Wno-error=logical-op.
9470
9471 2012-03-10 William Bittner <william.bittner@gmail.com>
9472
9473 * util/import_unicode.py: Add missing brackets around string for
9474 python 3 support.
9475
9476 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 Fix efi chainloader on network root.
9479
9480 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9481 network devices.
9482 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9483 New function.
9484
9485 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9488 unused show_text member.
9489 * docs/grub.texi: Document "text" property.
9490
9491 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9494 in dprintf.
9495
9496 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 Fix IMSM handling on Fedora.
9499
9500 * util/getroot.c (grub_util_is_imsm): New function.
9501 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9502
9503 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * Makefile.am: Strip gold section.
9506 * conf/Makefile.common: Likewise.
9507 * gentpl.py: Likewise.
9508 * grub-core/Makefile.core.def: Likewise.
9509 * grub-core/genmod.sh.in: Likewise.
9510
9511 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9514 * util/grub.d/20_linux_xen.in: Likewise.
9515 Based on Debian patch.
9516
9517 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * util/grub.d/10_linux.in: Fix syntax error resulting in
9520 Richard Laager's patch.
9521 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9522
9523 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9526 dependencies.
9527
9528 2012-03-10 Richard Laager <rlaager@wiktel.com>
9529
9530 * util/grub.d/10_linux.in: Fix ZFS root passing.
9531
9532 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9535 * grub-core/commands/xnu_uuid.c: Likewise.
9536 * grub-core/loader/efi/appleloader.c: Likewise.
9537 * grub-core/script/execute.c: Likewise.
9538 * grub-core/script/main.c: Likewise.
9539 * util/grub-mkfont.c: Likewise.
9540
9541 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * util/grub-mkfont.c (options): Use more appropriate "select" that
9544 "set" for face index.
9545
9546 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * util/grub-editenv.c (options): Gettextize command summaries.
9549
9550 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9553 "out of memory" error messagge.
9554
9555 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9558 of diskfilter for diskfilter on diskfilter support.
9559
9560 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9563
9564 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9567 themes/starfield.
9568
9569 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9572
9573 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9576
9577 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9580 of error message.
9581
9582 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9585
9586 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9589 message.
9590 * util/grub-install.in: Fix and gettextize error message.
9591
9592 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9595 Gettextize.
9596 * util/grub-mount.c (options): Likewise.
9597
9598 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9601 gettextize.
9602 * grub-core/commands/search_wrap.c (options): Likewise.
9603
9604 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9607
9608 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9611 size calculation.
9612 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9613 none is known.
9614
9615 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9618 "temporary" since it's used in identifier and is limited in space.
9619
9620 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * po/POTFILES.in: Regenerate. Include *.h since they contain
9623 translatable strings as well.
9624
9625 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9628 byte-swap on big-endian.
9629 Reported by: Lennart Sorensen
9630
9631 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9634 (allocate_pages): Improve dprintf.
9635 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9636 code32_start. Fill code32_start and kernel_alignment in params.
9637 (grub_cmd_initrd): Use prot_init_space.
9638
9639 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9642
9643 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * util/grub-install.in: Add missing dot at the end of sentence.
9646
9647 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9650 * grub-core/commands/videotest.c: Likewise.
9651 * grub-core/loader/i386/linux.c: Likewise.
9652
9653 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9656 sentence.
9657 Reported by: Milo Casagrande.
9658
9659 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9662 * grub-core/commands/gptsync.c: Likewise.
9663 * grub-core/commands/hashsum.c: Likewise.
9664 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9665 * grub-core/commands/legacycfg.c: Likewise.
9666 * grub-core/io/gzio.c: Likewise.
9667 * grub-core/net/net.c: Likewise.
9668 * grub-core/term/gfxterm.c: Likewise.
9669 * grub-core/term/terminfo.c: Likewise.
9670 * grub-core/tests/test_blockarg.c: Likewise.
9671 * grub-core/video/video.c: Likewise.
9672 * util/grub-install.in: Likewise.
9673 * util/grub-mkfont.c: Likewise.
9674
9675 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9678
9679 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * grub-core/commands/search_wrap.c (options): Fix a typo.
9682 Reported by: David Prévot.
9683
9684 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9687 description.
9688
9689 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * util/grub-script-check.c (main): Fix a syntax error message which was
9692 unclear.
9693
9694 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9697
9698 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9701 messages.
9702
9703 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9706 without argument.
9707 * util/grub-mount.c (options): Likewise.
9708
9709 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9712
9713 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * grub-core/net/http.c: Add TRANSLATORS comments.
9716 * grub-core/normal/cmdline.c: Likewise.
9717 * grub-core/normal/misc.c: Likewise.
9718 * grub-core/partmap/msdos.c: Likewise.
9719 * grub-core/parttool/msdospart.c: Likewise.
9720 * grub-core/script/execute.c: Likewise.
9721 * grub-core/script/main.c: Likewise.
9722 * grub-core/term/terminfo.c: Likewise.
9723 * grub-core/video/bitmap.c: Likewise.
9724 * util/grub-install.in: Likewise.
9725 * util/grub-mkimage.c: Likewise.
9726 * util/grub-mklayout.c: Likewise.
9727 * util/grub-setup.c: Likewise.
9728
9729 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9732 with similar messages in grub-fstest.
9733
9734 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * util/grub-install.in: Unify "option requires an argument" message
9737 with similar messages in other files.
9738 * util/grub-mkconfig.in: Likewise.
9739
9740 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * util/grub-set-default.in: Replace printf with gettext_printf (the
9743 string in in question is already translated from grub-reboot)
9744
9745 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * configure.ac: Bump up the version to beta1.
9748
9749 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9752 case when min_align = 0.
9753
9754 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9757 and fix a case when line_start overflows.
9758
9759 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * util/grub-reboot.in (usage): Mention id posibility.
9762 * util/grub-set-default.in (usage): Likewise.
9763
9764 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9767 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9768 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9769 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9770 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9771 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9772 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9773
9774 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/commands/menuentry.c (options): Remove
9777 GRUB_ARG_OPTION_REPEATABLE.
9778 Reported by: Andreas Vogel
9779
9780 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9781
9782 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9783
9784 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9785
9786 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9787 error.
9788
9789 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 Use sort -V by the idea of Georgi Georgiev.
9792
9793 * util/grub-mkconfig_lib.in (version_sort): New function.
9794 (version_test_numeric): Use version_sort.
9795
9796 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 Use submenus in grub-mkconfig.
9799
9800 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9801 * util/grub-mkconfig_lib.in (grub_quote): New function.
9802 (gettext_printf): Use gettext and not gettext_quoted to fix several
9803 messages.
9804 * util/grub.d/10_hurd.in: Use submenus.
9805 * util/grub.d/10_kfreebsd.in: Likewise.
9806 * util/grub.d/10_linux.in: Likewise.
9807 * util/grub.d/10_netbsd.in: Likewise.
9808 * util/grub.d/20_linux_xen.in: Likewise.
9809 * util/grub.d/30_os-prober.in: Likewise.
9810 * util/grub.d/10_illumos.in: Add missing quoting.
9811 * util/grub.d/10_windows.in: Likewise.
9812
9813 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Fix menu title instability bug.
9816
9817 * grub-core/commands/menuentry.c (options): New option --id.
9818 (grub_normal_add_menu_entry): New argument id. All users updated.
9819 (grub_cmd_menuentry): Handle --id.
9820 (grub_menu_init): Accept unknown arguments.
9821 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9822 feature_menuentry_options.
9823 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9824 saved_entry.
9825 (get_entry_number): Match with id as well.
9826 * include/grub/menu.h (grub_menu_entry): New member id.
9827 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9828 * util/grub.d/00_header.in: Define menuentry_id_option.
9829 * util/grub.d/10_hurd.in: Define id.
9830 * util/grub.d/10_illumos.in: Likewise.
9831 * util/grub.d/10_kfreebsd.in: Likewise.
9832 * util/grub.d/10_linux.in: Likewise.
9833 * util/grub.d/10_netbsd.in: Likewise.
9834 * util/grub.d/10_windows.in: Likewise.
9835 * util/grub.d/20_linux_xen.in: Likewise.
9836 * util/grub.d/30_os-prober.in: Likewise.
9837
9838 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9841 "scope" with "body".
9842
9843 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9846 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9847 prot_size and prot_file_size.
9848
9849 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9852 All users updated. If easily=1 require raid-5/-6 to be full.
9853 (is_node_readable): Likewise.
9854 (scan_devices): Scan incomplete but readable LVs at the end.
9855 (grub_diskfilter_memberlist): Pull missing devices.
9856 (insert_array): Skip scanning until device is complete or scan is
9857 done otherwise.
9858 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9859 check.
9860 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9861 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9862
9863 2012-03-03 Matthew Garrett <mjg@redhat.com>
9864 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Avoid EFI boot services when loading Linux.
9867
9868 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9869 avoid_efi_bootservices. All users updated.
9870 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9871 argument avoid_efi_bootservices. All users updated.
9872 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9873 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9874 align, min_align, relocatable, prefered_address. All users updated.
9875 Allocate avoiding boot services if kernel is relocatable.
9876 (grub_cmd_linux): Check if kernel is relocatable.
9877 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9878 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9879 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9880 avoid_efi_boot_services.
9881 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9882 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9883 (linux_kernel_params): Likewise.
9884
9885 2012-03-03 Matthew Garrett <mjg@redhat.com>
9886 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Use EDID on EFI.
9889
9890 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9891 datasize_out.
9892 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9893 modes. Set gop_handle.
9894 (grub_video_gop_get_edid): New function.
9895 (grub_gop_get_preferred_mode): Likewise.
9896 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9897 (grub_video_efi_gop_adapter): Set .get_edid.
9898 * include/grub/efi/edid.h: New file.
9899 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9900
9901 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * util/grub-install.in: Load efivars unconditionally.
9904
9905 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * po/Rules-piglatin: Change suffix from .po-update-en to
9908 .po-update-en-piglatin.
9909
9910 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 Add a pig farm.
9913
9914 * po/piglatin.sed: New file.
9915 * po/en@piglatin.header: Likewise.
9916 * po/Rules-piglatin: Likewise.
9917 * po/README: Add en@piglatin to autogenerated languages.
9918
9919 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9922 "Command for ...".
9923 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9924 "Check" since we don't check anything.
9925 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9926 is 64-bit one.
9927 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9928 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9929 (grub_md_sha512_real): Likewise.
9930
9931 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/commands/gptsync.c: Fix typographic quoting.
9934 * grub-core/commands/ieee1275/suspend.c: Likewise.
9935 * grub-core/commands/parttool.c: Likewise.
9936 * grub-core/commands/search_wrap.c: Likewise.
9937 * grub-core/commands/videoinfo.c: Likewise.
9938 * grub-core/gfxmenu/gui_label.c: Likewise.
9939 * grub-core/hello/hello.c: Likewise.
9940 * grub-core/kern/emu/main.c: Likewise.
9941 * grub-core/net/net.c: Likewise.
9942 * grub-core/normal/menu.c: Likewise.
9943 * grub-core/normal/menu_text.c: Likewise.
9944 * grub-core/normal/misc.c: Likewise.
9945 * util/grub-editenv.c: Likewise.
9946 * util/grub-install.in: Likewise.
9947 * util/grub-kbdcomp.in: Likewise.
9948 * util/grub-mkconfig.in: Likewise.
9949 * util/grub-mknetdir.in: Likewise.
9950 * util/grub-mkrescue.in: Likewise.
9951 * util/grub-mkstandalone.in: Likewise.
9952 * util/grub-reboot.in: Likewise.
9953 * util/grub-set-default.in: Likewise.
9954 * util/grub-setup.c: Likewise.
9955 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9956
9957 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9960 * grub-core/commands/keystatus.c: Likewise.
9961 * grub-core/commands/loadenv.c: Likewise.
9962 * grub-core/commands/probe.c: Likewise.
9963 * grub-core/commands/regexp.c: Likewise.
9964 * grub-core/commands/true.c: Likewise.
9965 * grub-core/commands/videoinfo.c: Likewise.
9966 * grub-core/disk/cryptodisk.c: Likewise.
9967 * grub-core/disk/ldm.c: Likewise.
9968 * grub-core/disk/loopback.c: Likewise.
9969 * grub-core/disk/luks.c: Likewise.
9970 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9971 * grub-core/kern/disk.c: Likewise.
9972 * grub-core/kern/emu/hostdisk.c: Likewise.
9973
9974 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9977 * util/grub-install.in: Add missing quote in the comment.
9978
9979 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9982 * grub-core/commands/lsmmap.c: Likewise.
9983 * grub-core/commands/minicmd.c: Likewise.
9984 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9985 * grub-core/commands/regexp.c: Likewise.
9986 * grub-core/gdb/gdb.c: Likewise.
9987 * grub-core/term/gfxterm.c: Likewise.
9988 * util/grub-mkconfig.in: Likewise.
9989 * util/grub-mkfont.c: Likewise.
9990 * util/grub-mklayout.c: Likewise.
9991 * util/grub-mknetdir.in: Likewise.
9992 * util/grub-mkrescue.in: Likewise.
9993 * util/grub.d/30_os-prober.in: Likewise.
9994
9995 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9998 with "Direct color" and "Packed" with "Packed pixel".
9999 (grub_cmd_videoinfo): Simplify legend.
10000
10001 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10004 absolutely unclear error message.
10005
10006 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * util/grub-mkstandalone.in: Remove confusing leftover print.
10009
10010 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10013 comments.
10014 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10015 (GRUB_MOD_INIT): Likewise.
10016 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10017 VGA mode.
10018 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10019 comments.
10020 * util/grub-install.in (usage): Likewise.
10021 Spell ID in whole letters.
10022 Add missing ending dot.
10023 Quote variables.
10024 * util/grub-reboot.in: Fix capitalisation.
10025 * util/grub-set-default.in: Likewise.
10026
10027 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10030 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10031 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10032 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10033 Disable -Werror for -Wdeprecated-declarations.
10034 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10035 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10036 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10037 (grub_util_get_grub_dev): Make luks handling dependent on
10038 HAVE_DEVICE_MAPPER and not __linux__.
10039 (get_win32_path): Fix format security.
10040 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10041 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10042 Don't try grub_find_zpool_from_dir.
10043 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10044 #ifdef-out paresdir.
10045
10046 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * util/grub-pe2elf.c (usage): Add missing noreturn.
10049 (write_section_data): Rename name to shname to avoid shadowing.
10050 (write_symbol_table): Rename name to symname to avoid shadowing.
10051 Fix write_reloc_section call.
10052
10053 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10056 to ensure that it's after the last byte of .text.
10057
10058 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * util/ieee1275/ofpath.c (my_isdigit): New function.
10061 (trailing_digits): Use my_isdigit.
10062 (strip_trailing_digits): Likewise.
10063
10064 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10067 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10068
10069 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * grub-core/kern/i386/pc/startup.S: Define __start.
10072
10073 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10076 strip already transforms he format.
10077
10078 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10081
10082 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * util/grub-install.in: Add missing gettext init.
10085 * util/grub-kbdcomp.in: Likewise.
10086 * util/grub-mkconfig.in: Likewise.
10087 * util/grub-mknetdir.in: Likewise.
10088 * util/grub-mkrescue.in: Likewise.
10089 * util/grub-mkstandalone.in: Likewise.
10090 * util/grub-reboot.in: Likewise.
10091 * util/grub-set-default.in: Likewise.
10092 * util/grub.d/00_header.in: Likewise.
10093 * util/grub.d/10_hurd.in: Likewise.
10094 * util/grub.d/10_windows.in: Likewise.
10095 * util/grub.d/30_os-prober.in: Likewise.
10096 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10097
10098 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * po/Rules-swiss: Fix header comment.
10101
10102 2012-02-29 Andreas Vogel <anvoit>
10103
10104 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10105 resulted in leak of arguments.
10106
10107 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10110 reed_solomon_size const definition instead of computing it since
10111 Apple assembler doesn't support the later.
10112
10113 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * gentpl.py (kernel): Rewrite Apple part.
10116
10117 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10120
10121 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10124 ELF section gap.
10125 (load_image): Likewise.
10126
10127 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * configure.ac: Fix a typo in previous commit.
10130
10131 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Don't add -Wl,-N on Apple platform.
10134
10135 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10136 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10137
10138 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/Makefile.core.def (lzma_decompress): Use
10141 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10142
10143 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * grub-core/genmod.sh.in: Rewrite the Apple part.
10146
10147 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10150 comparison.
10151
10152 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * acinclude.m4 (grub_CHECK_PIC): New test.
10155 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10156
10157 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10160 to avoid the warning.
10161
10162 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10165 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10166 after. All users updated.
10167
10168 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Use the common size routine in hostfs so we can read disks as well.
10171
10172 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10173 (grub_util_get_fd_size): ... this. Return size in bytes.
10174 All users updated.
10175 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10176 grub_util_get_fd_size.
10177
10178 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10181 Add blocksize retrieval.
10182
10183 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * configure.ac: Restore CFLAGS after efiemu check.
10186
10187 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10190 Apple bug.
10191
10192 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10195
10196 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10199 (grub_cmd_halt): Likewise.
10200
10201 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10204 for local arithmetics.
10205 Break %sp init into 2 instructions.
10206 Add 0 byte at the end.
10207
10208 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10211 before loops.
10212
10213 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10216 for context.
10217
10218 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/disk/ldm.c (make_vg): Init part.name.
10221 (grub_ldm_detect): Silence spurious warning.
10222 (grub_util_is_ldm): Likewise.
10223
10224 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10227 sane value to avoid a spurious warning.
10228
10229 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10232 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10233
10234 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10237 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10238
10239 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10242 hardcoding the relevant info.
10243
10244 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10247 missing const qualifiers.
10248 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10249
10250 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * util/getroot.c [__APPLE__]: Add missing includes.
10253 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10254
10255 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10258
10259 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10262 avoid conflicts.
10263
10264 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10267
10268 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10271 and grub_file_close call.
10272
10273 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 Add LZSS Mach-O support (needed for new xnu kernelcache).
10276
10277 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10278 * grub-core/loader/lzss.c: New file.
10279 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10280 on Mach-O open failure.
10281 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10282 Don't free cmdsXX in uncompressedXX is set.
10283 (grub_macho_file): Init new fields.
10284 New argument is_64bit. All users updated.
10285 Handle compressed. Error out if no suitable architecture is found.
10286 Don't close file.
10287 (grub_macho_open): New argument is_64bit. All users updated.
10288 * grub-core/loader/macho32.c: Add defines for new fields.
10289 * grub-core/loader/macho64.c: Likewise.
10290 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10291 (grub_macho_parse): Handle compressed.
10292 Defer actual processing if compressed.
10293 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10294 "filename". All users updated.
10295 (grub_macho_size): New argument "filename". All users updated.
10296 (grub_macho_get_entry_point): Likewise.
10297 (grub_macho_load): Handle compressed.
10298 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10299 (GRUB_MACHO_LZSS_OFFSET): New define.
10300 (grub_decompress_lzss): New proto.
10301 * include/grub/machoload.h (grub_macho_file): New fields to handle
10302 compressed.
10303 (grub_macho_contains_macho64): Remove proto.
10304 (grub_macho_contains_macho32): Likewise.
10305 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10306
10307 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10310
10311 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Fix make dist.
10314
10315 * Makefile.am (starfield_theme_files): New var.
10316 (starfield_DATA): Use starfield_theme_files.
10317 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10318 Add bootcheck-related files.
10319 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10320 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10321 and font_char_metrics.txt.
10322 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10323 (setjmp): Add lib/ia64/longjmp.S.
10324 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10325 * po/POTFILES.in: Regenerate.
10326 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10327 DISTFILES.common.extra1.
10328 * util/devicemap.c: Removed.
10329 * grub-core/lib/i386/relocator_backward.S: Likewise.
10330 * util/import_gcry.py: Remove unused files. Add extra_dist for
10331 ChangeLog.
10332
10333 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10336 grub_gettext_delete_list before changing grub_gettext_max to avoid
10337 running out of array bounds.
10338
10339 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10342 grub_vga_text_init/grub_vga_text_fini.
10343
10344 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10347
10348 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * configure.ac: Bump to 2.00~beta0.
10351
10352 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10355 missing initialisation.
10356
10357 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10360
10361 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Support v2 xnu boot arguments.
10364
10365 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10366 New argument fsbfreq_out.
10367 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10368 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10369 be used.
10370 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10371 darwin_version.
10372 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10373 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10374 (grub_xnu_boot_params): Rename to ...
10375 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10376 (grub_xnu_boot_params_v2): New struct.
10377
10378 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10381 zeroing of CRC field before computing CRC.
10382
10383 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10386 Change order of allocations to decrease fragmentation.
10387
10388 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10391
10392 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10393
10394 Use write-combining MTRR to speed up video with buggy BIOSes.
10395
10396 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10397 (cpuid): New define.
10398 (rdmsr): Likewise.
10399 (wrmsr): Likewise.
10400 (mtrr_base): Likewise.
10401 (mtrr_mask): Likewise.
10402 (grub_vbe_enable_mtrr_entry): New function.
10403 (grub_vbe_enable_mtrr): Likewise.
10404 (grub_vbe_disable_mtrr): Likewise.
10405 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10406 control off to BIOS.
10407 (grub_video_vbe_init): Fill mtrr.
10408 (grub_video_vbe_fini): Disable mtrr.
10409 (grub_video_vbe_get_info_and_fini): Likewise.
10410 (grub_video_vbe_setup): Enable mtrr.
10411
10412 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10413
10414 * include/grub/partition.h (grub_partition_map): Change prototype of
10415 embed to take a maximum value for nsectors.
10416 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10417 * include/grub/fs.h (grub_fs): Likewise.
10418 * grub-core/partmap/msdos.c (embed_signatures): New array.
10419 (pc_partition_map_embed): Check for and avoid sectors matching any
10420 of the signatures in embed_signatures, up to max_nsectors.
10421 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10422 returned sector map to max_nsectors.
10423 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10424 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10425 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10426 * util/grub-setup.c (setup): Allow for the embedding area being
10427 split into multiple blocklists. Tell dest_partmap->embed the
10428 maximum number of sectors we care about.
10429
10430 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10433 Specify blocklist_install and reserver_first_sector for all fs.
10434 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10435 blocklists.
10436
10437 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * util/grub-install.in: Clarify strings.
10440 Fix source dir check.
10441
10442 2012-02-27 Richard Laager <rlaager@wiktel.com>
10443
10444 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10445 "zfs" and "fuse.zfs" as synonyms.
10446
10447 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * configure.ac: Put platform and target_cpu substitutions back since
10450 they are used for directories.
10451
10452 2012-02-27 Richard Laager <rlaager@wiktel.com>
10453 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10456 * util/grub.d/20_linux_xen.in: Likewise.
10457
10458 2012-02-27 Richard Laager <rlaager@wiktel.com>
10459
10460 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10461 with full paths.
10462
10463 2012-02-27 Richard Laager <rlaager@wiktel.com>
10464
10465 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10466 unescape.
10467
10468 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Don't use insecure popen in getroot.
10471
10472 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10473 (exec_pipe): ... here.
10474 (find_root_devices_from_poolname): Use exec_pipe.
10475
10476 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 Remove platform and target_cpu replacement.
10479
10480 * configure.ac: Remove platform and target_cpu substitutions.
10481 * tests/util/grub-shell.in: Use modinfo.
10482 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10483 explicitly.
10484
10485 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Autodetect platform in grub-install but allow override.
10488
10489 * util/grub-install.in: Autodetect platform. Support --target and
10490 --directory. Read platform from modinfo.sh.
10491
10492 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Support btrfs multi-volume probe.
10495
10496 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10497 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10498 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10499 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10500 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10501 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10502 grub_find_root_devices_from_btrfs if on btrfs.
10503
10504 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 Remove any awareness of *.c util files about target.
10507
10508 * Makefile.util.def (grub-setup): Split to ...
10509 (grub-bios-setup): ... and this.
10510 (grub-sparc64-setup): ... and this.
10511 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10512 * docs/man/grub-setup.h2m: Split into ...
10513 * docs/man/grub-sparc64-setup.h2m: ... this.
10514 * docs/man/grub-bios-setup.h2m: ... and this.
10515 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10516 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10517 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10518 (grub_target_addr_t): Remove.
10519 (grub_target_size_t): Remove.
10520 (grub_target_ssize_t): Remove.
10521 * util/grub-install.in: Use new grub-*-setup.
10522 * util/grub-mkimagexx.c (Elf_Word): New define.
10523 (Elf_Half): Likewise.
10524 (Elf_Section): Likewise.
10525 (ELF_ST_TYPE): Likewise.
10526 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10527 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10528
10529 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 Replace grub_target_addr with more appropriate types.
10532
10533 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10534 grub_target_addr with grub_addr.
10535 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10536 grub_target_addr with grub_port.
10537 (grub_cmd_write): Likewise.
10538 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10539 grub_target_addr with grub_addr.
10540 (grub_cmd_write): Likewise.
10541 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10542
10543 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10546 const qualifier for vendor_guid.
10547
10548 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10551 const qualifier.
10552 (efiemu_memequal): Likewise.
10553 (find_variable): Likewise.
10554
10555 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 Fix missing console prototype on qemu-mips.
10558
10559 * include/grub/mips/qemu_mips/console.h: New file.
10560
10561 2012-02-27 Matthew Garrett <mjg@redhat.com>
10562 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10565 * include/grub/efi/efi.h: Likewise.
10566 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10567 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10568 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10569 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10570 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10571 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10572
10573 2012-02-27 Matthew Garrett <mjg@redhat.com>
10574
10575 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10576
10577 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10580 error.
10581
10582 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * configure.ac: Remove inappropriate use of program_transform_name
10585 on grubdir and bootdir but allow explicit specification of those
10586 variables.
10587
10588 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * util/grub-mknetdir.in (grub_prefix): Removed.
10591 (subdir): Use @bootdirname@ and @grubdirname@.
10592
10593 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10596
10597 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * po/POTFILES.in: Regenerated.
10600
10601 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 Remove improper use of program_transform_name on pkglibrootdir.
10604
10605 * configure.ac (pkglibrootdir): Removed.
10606 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10607 * util/grub-mkimage.c: Likewise.
10608
10609 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10612 warning.
10613
10614 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * util/grub-install.in: Use file identifier if no UUID is available
10617 or user explicitly prompted for it.
10618
10619 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
10620
10621 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10622 (freebsd_get_zfs): New function.
10623 (grub_freebsd_boot): Pass zfs UUID.
10624 (grub_cmd_freebsd): Set zfs UUID.
10625
10626 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10629 pkglibrootdir.
10630
10631 2012-02-27 Mike Gilbert <floppym@gentoo.org>
10632
10633 Add configure flag to control libzfs integration.
10634
10635 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10636
10637 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10640 device.
10641 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10642 small devices.
10643
10644 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10647 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10648 be used on non-modules.
10649
10650 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10651 Rename to grub_boot_init.
10652 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10653 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10654 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10655 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10656 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10657 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10658 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10659 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10660 includes.
10661 (grub_machine_init): Remove empty inits.
10662 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10663 includes.
10664 (grub_machine_init): Remove empty inits.
10665 * grub-core/term/arc/console.c: Remove explicit proto.
10666 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10667 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10668 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10669 grub_at_keyboard_fini.
10670 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10671 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10672 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10673 grub_gfxterm_fini.
10674 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10675 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10676 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10677 grub_vgatext_fini.
10678 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10679 * grub-core/term/serial.c (GRUB_MOD_INIT)
10680 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10681 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10682 grub_serial_fini.
10683 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10684 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10685 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10686 grub_terminfo_fini.
10687 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10688 (GRUB_MOD_FINI): Likewise.
10689 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10690 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10691 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10692 grub_video_radeon_fuloong2e_fini.
10693 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10694 [LOONGSON]: Rename to grub_video_sis315pro_init.
10695 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10696 grub_video_sis315pro_fini.
10697 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10698 [LOONGSON]: Rename to grub_video_sm712_init.
10699 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10700 grub_video_sm712_fini.
10701 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10702 (grub_at_keyboard_fini): Likewise.
10703 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10704 Don't declare grub_{modname}_init.
10705 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10706 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10707 New proto.
10708 (grub_keylayouts_fini) [!EMU]: Likewise.
10709 * include/grub/serial.h (grub_serial_init) [!EMU]:
10710 New proto.
10711 (grub_serial_fini) [!EMU]: Likewise.
10712 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10713 New proto.
10714 (grub_terminfo_fini) [!EMU]: Likewise.
10715 * include/grub/video.h (grub_font_init) [!EMU]:
10716 New proto.
10717 (grub_font_fini) [!EMU]: Likewise.
10718 (grub_gfxterm_init) [!EMU]: Likewise.
10719 (grub_gfxterm_fini) [!EMU]: Likewise.
10720 (grub_video_sm712_init) [!EMU]: Likewise.
10721 (grub_video_sm712_fini) [!EMU]: Likewise.
10722 (grub_video_sis315pro_init) [!EMU]: Likewise.
10723 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10724 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10725 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10726
10727 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 Make nand a prefix for nand devices.
10730
10731 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10732
10733 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10736 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10737
10738 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * include/grub/env.h (grub_env_find): Remove prototype.
10741 * grub-core/kern/env.c (grub_env_find): Make static.
10742 (grub_env_set): Remove useless set.
10743
10744 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/kern/i386/realmode.S: Remove useless align.
10747
10748 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * include/grub/dl.h (grub_dl_load_file): Don't export.
10751
10752 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10755 grub_dprintf.
10756
10757 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10760 grub_errors.
10761 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10762 not reloading whole superblock but only the part which is really needed.
10763 Remove useless grub_errors.
10764 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10765 grub_errors.
10766
10767 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Don't export grub_get_rtc.
10770
10771 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10772 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10773
10774 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10777
10778 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
10781 argument since it can be deduced from diskfilter. All users updated.
10782
10783 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Remove prio_list.
10786
10787 * include/grub/list.h (grub_prio_list): Removed.
10788 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10789 GRUB_COMMAND_PRIO_MASK.
10790 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10791 GRUB_COMMAND_FLAG_ACTIVE.
10792 (grub_prio_list_insert): Removed.
10793 (grub_prio_list_remove): Likewise.
10794 (GRUB_AS_PRIO_LIST): Likewise.
10795 (GRUB_AS_PRIO_LIST_P): Likewise.
10796 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10797 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10798 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10799 * grub-core/kern/command.c (grub_register_command_prio): Inline
10800 the prio_list code.
10801 (grub_unregister_command): Likewise.
10802
10803 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 Fix interrupt mixup from previous commit.
10806
10807 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10808 (grub_realidt): New var.
10809 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10810 Load idt.
10811 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10812 New declaration.
10813 (grub_relocator16_boot): Set grub_relocator16_idt.
10814 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10815 (LOCAL(realidt)): ... this.
10816 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10817 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10818 (grub_realidt): New variable.
10819
10820 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10823 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10824 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10825 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10826 Gettextize.
10827 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10828 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10829 * po/POTFILES.in: Regenerate.
10830
10831 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10834 errors.
10835
10836 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10839 \0.
10840 (add_length): Likewise.
10841
10842 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10843 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10844
10845 GDB serial and backtrace support.
10846
10847 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10848 (prot_to_real): Likewise.
10849 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10850 * grub-core/Makefile.core.def (backtrace): New module.
10851 (gdb): Likewise.
10852 * grub-core/gdb/cstub.c: New file.
10853 * grub-core/gdb/gdb.c: Likewise.
10854 * grub-core/gdb/i386/idt.c: Likewise.
10855 * grub-core/gdb/i386/machdep.S: Likewise.
10856 * grub-core/gdb/i386/signal.c: Likewise.
10857 * grub-core/lib/i386/backtrace.c: Likewise.
10858 * grub-core/lib/backtrace.c: Likewise.
10859 * include/grub/backtrace.h: Likewise.
10860 * include/grub/gdb.h: Likewise.
10861 * include/grub/i386/gdb.h: Likewise.
10862
10863 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10866 New function.
10867 (add_length): Likewise.
10868 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10869 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10870 proto.
10871 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10872 __argp_get_display_len.
10873
10874 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 $"..." support in scripts.
10877
10878 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10879 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10880 * grub-core/script/yylex.l: Likewise.
10881 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10882 value.
10883
10884 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * gentpl.py: Remove obsolete pkglib_DATA handling.
10887
10888 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10891 mailing list.
10892
10893 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10894 * util/grub-kbdcomp.in: Likewise.
10895 * util/grub-mkconfig.in: Likewise.
10896 * util/grub-mkconfig_lib.in: Likewise.
10897 * util/grub-mknetdir.in: Likewise.
10898 * util/grub-mkrescue.in: Likewise.
10899 * util/grub-mkstandalone.in: Likewise.
10900 * util/grub-reboot.in: Likewise.
10901 * util/grub-set-default.in: Likewise.
10902 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10903
10904 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 Remove GRUB_PREFIX.
10907
10908 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10909 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10910 used for backward compatibility.
10911
10912 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 Add new all_video module.
10915
10916 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10917 * grub-core/Makefile.core.def (all_video): New module.
10918 * grub-core/genmoddep.awk: Generate dependency of all_video from
10919 video.lst.
10920 * grub-core/lib/fake_module.c: New file.
10921 * grub-core/normal/main.c (features): Add feature_all_video_module.
10922 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10923 don't do explicit search again.
10924 insmod all_video in load_video if available.
10925
10926 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 Another round of string clarification and adding TRANSLATORS comments.
10929
10930 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10933
10934 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10937 to grub_ssize_t.
10938 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10939 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10940
10941 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10944 trailing newline implicitly. All users updated.
10945
10946 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 Implement serial on IEEE1275 and EFI.
10949
10950 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10951 on emu. Mention arc and emu as the only platforms without serial
10952 support.
10953 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10954 ieee1275 platforms.
10955 * grub-core/term/efi/serial.c: New file.
10956 * grub-core/term/ieee1275/serial.c: Likewise.
10957 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10958 specification if no ns8250 driver is available.
10959 (grub_cmd_serial): Likewise.
10960 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10961 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10962 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10963 (grub_efi_parity_type_t): New type.
10964 (grub_efi_stop_bits_t): Likewise.
10965 (grub_efi_serial_io_interface): New struct.
10966 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10967 available for all interfaces.
10968 Add EFI and IEEE1275 fields.
10969 (grub_ofserial_init): New proto.
10970 (grub_efiserial_init): Likeiwse.
10971 * util/grub.d/00_header.in: Don't check for the presence of serial
10972 module.
10973
10974 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10977 name as if it was an alias.
10978
10979 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/commands/lsacpi.c (options): Fix typo.
10982
10983 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 Convert grub-emu to argp.
10986
10987 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10988 emu.
10989 * util/argp_common.c: Rename to ...
10990 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10991 Add missing includes.
10992 * grub-core/kern/emu/main.c: Convert to argp.
10993 * po/POTFILES.in: Regenerate.
10994 * util/grub-install.in (usage): Make first letter lowcase in messages
10995 for uniformity.
10996 * util/grub-setup.c (options): Likewise.
10997
10998 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11001 Put back accidently commented-out code.
11002
11003 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11006 loop check using Brent algorithm.
11007 (grub_hfsplus_btree_search): Likewise.
11008
11009 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * util/grub-install.in: Fix usage of wrong device for PreP install.
11012
11013 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * conf/Makefile.common (CFLAGS_GNULIB): Add
11016 -Wno-unsafe-loop-optimizations.
11017 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11018 on tools.
11019 * grub-core/commands/legacycfg.c: Add pragma to skip
11020 -Wunsafe-loop-optimizations.
11021 (check_password_md5_real): Fix loop counter type.
11022 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11023 reading.
11024 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11025 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11026 loop condition.
11027 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11028 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11029 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11030 condition.
11031 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11032 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11033 avoid possible infinite loops.
11034 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11035 and -Wunsafe-loop-optimizations.
11036 * grub-core/script/yylex.l: Likewise.
11037 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11038 (print_glyphs): Avoid infinite loops.
11039 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11040
11041 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11042
11043 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11044 to avoid infinite loop.
11045 (disp_acpi_rsdt_table): Likewise.
11046
11047 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/font/font.c (grub_font_load): Add support for default
11050 path for fonts ($prefix/fonts).
11051 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11052 for checking if string is a path.
11053 * grub-core/normal/main.c (features): Add feature_default_font_path.
11054 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11055 * util/grub.d/00_header.in: Use default directory if possible.
11056 * util/grub-install.in: Install unicode.pf2.
11057
11058 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11061 * po/Rules-swiss: New file.
11062 * po/swiss.sed: Likewise.
11063
11064 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * grub-core/fs/btrfs.c (find_device): Fix typos.
11067 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11068 * util/grub-mkrelpath.c (argp_parser): Likewise.
11069 Reported by: Yuri Chornoivan.
11070
11071 2012-02-23 Dalet Omega <daletomega@gmail.com>
11072
11073 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11074 for usual informative messages.
11075
11076 2012-02-23 Dalet Omega <daletomega@gmail.com>
11077
11078 Starfield theme.
11079
11080 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11081 * conf/Makefile.common: Define starfielddir.
11082 * configure.ac: Configure starfield.
11083 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11084 * themes/starfield/README: Likewise.
11085 * themes/starfield/blob_w.png: Likewise.
11086 * themes/starfield/boot_menu_c.png: Likewise.
11087 * themes/starfield/boot_menu_e.png: Likewise.
11088 * themes/starfield/boot_menu_n.png: Likewise.
11089 * themes/starfield/boot_menu_ne.png: Likewise.
11090 * themes/starfield/boot_menu_nw.png: Likewise.
11091 * themes/starfield/boot_menu_s.png: Likewise.
11092 * themes/starfield/boot_menu_se.png: Likewise.
11093 * themes/starfield/boot_menu_sw.png: Likewise.
11094 * themes/starfield/boot_menu_w.png: Likewise.
11095 * themes/starfield/slider_c.png: Likewise.
11096 * themes/starfield/slider_n.png: Likewise.
11097 * themes/starfield/slider_s.png: Likewise.
11098 * themes/starfield/src/blob_nw.xcf: Likewise.
11099 * themes/starfield/src/bootmenu/: Likewise.
11100 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11101 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11102 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11103 * themes/starfield/src/slider_c.xcf: Likewise.
11104 * themes/starfield/src/slider_n.xcf: Likewise.
11105 * themes/starfield/src/slider_s.xcf: Likewise.
11106 * themes/starfield/src/terminalbox/: Likewise.
11107 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11108 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11109 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11110 * themes/starfield/starfield.png: Likewise.
11111 * themes/starfield/terminal_box_c.png: Likewise.
11112 * themes/starfield/terminal_box_e.png: Likewise.
11113 * themes/starfield/terminal_box_n.png: Likewise.
11114 * themes/starfield/terminal_box_ne.png: Likewise.
11115 * themes/starfield/terminal_box_nw.png: Likewise.
11116 * themes/starfield/terminal_box_s.png: Likewise.
11117 * themes/starfield/terminal_box_se.png: Likewise.
11118 * themes/starfield/terminal_box_sw.png: Likewise.
11119 * themes/starfield/terminal_box_w.png: Likewise.
11120 * themes/starfield/theme.txt: Likewise.
11121
11122 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 * util/grub.d/00_header.in: Add missing export theme.
11125
11126 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11129 already included.
11130 Reported by: Eren D.
11131
11132 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * conf/Makefile.common (grubdatadir): Removed.
11135 (Makefile.am): Move eveything grubdata to pkgdata.
11136
11137 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/commands/acpihalt.c (get_sleep_type):
11140 Remove unused variable.
11141
11142 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11145 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11146 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11147 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11148 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11149 i18n with gettext no-op.
11150 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11151 GRUB_ACPI_OPCODE_STRING_CONST.
11152 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11153 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11154
11155 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * po/POTFILES.in: Regenerate.
11158
11159 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11162 -Wno-error=missing-noreturn.
11163
11164 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11167 condition to avoid possibly infinite loops.
11168 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11169 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11170
11171 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11174 condition to avoid possibly infinite loops.
11175
11176 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11179 on show_error.
11180
11181 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11184
11185 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11188
11189 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/bin2h.c (usage): Add missing attribute noreturn.
11192
11193 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11196 if the size isn't divisible by 512.
11197
11198 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 Make list_push and list_remove functions rather than inline functions
11201 to decrease size and avoid aliasing violations.
11202
11203 * include/grub/list.h (grub_list_push): Move to ...
11204 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11205 * include/grub/list.h (grub_list_remove): Move to ...
11206 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11207
11208 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11211 and -Wunused-result.
11212
11213 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11216 Reported by: Seth Goldberg
11217
11218 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11221
11222 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11223
11224 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11225 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11226 command line.
11227 * docs/grub.texi (Simple configuration): Document
11228 GRUB_CMDLINE_GNUMACH.
11229
11230 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * conf/Makefile.common (platform_SCRIPTS): New variable.
11233 (platform_PROGRAMS): Likewise.
11234 * gentpl.py: Mark *,module and *.image for install.
11235 * grub-core/gdb_grub.in: Add a notice of expected environment.
11236 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11237 (gmodule.pl): Likewise.
11238
11239 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 Replace grub_checkkey with grub_getkey_noblock.
11242
11243 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11244 (grub_getkey_noblock): ... this. All users updated.
11245
11246 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/kern/emu/console.c: Move to ...
11249 * grub-core/term/emu/console.c: ...here.
11250 (grub_ncurses_getkey): Fix return value if no key is detected.
11251
11252 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11255 (grub_unit_test_fini): Likewise.
11256 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11257
11258 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * include/grub/test.h (GRUB_UNIT_TEST)
11261
11262 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11265 Better error handling.
11266 (grub_script_return): Likewise.
11267 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11268
11269 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11272 rimplicit redifinition.
11273
11274 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11277 GRUB.
11278
11279 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11282 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11283 prompt here.
11284
11285 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11288 as GRUB_ERR_BUG. Don't malloc if no device is available.
11289
11290 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11293 Mark calling with invalid term as GRUB_ERR_BUG.
11294
11295 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11298 packets rather than raising an error.
11299
11300 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11303 in if.
11304
11305 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11308 diagnostic to dprintf.
11309 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11310
11311 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11314 device name.
11315
11316 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11319 (grub_ntfs_iterate_dir): Likewise.
11320
11321 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 Efiemu stylistic fixes and gettext.
11324
11325 * grub-core/efiemu/i386/loadcore32.c
11326 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11327 * grub-core/efiemu/i386/loadcore64.c
11328 (grub_arch_efiemu_relocate_symbols64): Likewise.
11329 * grub-core/efiemu/i386/pc/cfgtables.c
11330 (grub_machine_efiemu_init_tables): Likewise.
11331 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11332 (grub_efiemu_loadcore_initXX): Add a filename argument.
11333 All users updated.
11334 Improved error message.
11335 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11336 Add a filename argument.
11337 All users updated.
11338 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11339 Reclassify double relocation as GRUB_ERR_BUG.
11340
11341 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11344 handling.
11345
11346 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11349 on partition.
11350
11351 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11354
11355 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 Improve string. Gettextize.
11358
11359 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11362 utils.
11363 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11364
11365 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11368 [GRUB_UTIL]: New function.
11369 (insert_array) [GRUB_UTIL]: Store partmaps.
11370 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11371 partmaps.
11372 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11373 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11374 (probe_abstraction): Print diskfilter and not raid.
11375 Reported by: Lennart Sorensen
11376
11377 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11380 * util/grub-mkimagexx.c (MASK3): New define.
11381 (add_value_to_slot_20b): Use MASK3.
11382 (add_value_to_slot_21): Likewise.
11383 (relocate_addresses): Fix format specification.
11384 (load_image): Explicitly init symtab_section.
11385
11386 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11389 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11390
11391 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11394 on powerpc.
11395 Reported by: Lennart Sorensen
11396
11397 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * gentpl.py: Add missing license header.
11400 * docs/grub.texi: Update copyright year.
11401
11402 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11403
11404 Source grub-mkconfig_lib from the build directory at build time.
11405 Suggested by: Vladimir Serbinenko.
11406
11407 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11408 * util/grub-install.in: Define pkgdatadir if not already set, and source
11409 grub-mkconfig_lib from there.
11410 * util/grub-kbdcomp.in: Likewise.
11411 * util/grub-mkconfig.in: Likewise.
11412 * util/grub-mknetdir.in: Likewise.
11413 * util/grub-mkrescue.in: Likewise.
11414 * util/grub-mkstandalone.in: Likewise.
11415 * util/grub-reboot.in: Likewise.
11416 * util/grub-set-default.in: Likewise.
11417 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11418
11419 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 Increase warning level.
11422
11423 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11424 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11425 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11426 (TARGET_CFLAGS): Likewise.
11427 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11428 * grub-core/Makefile.core.def (decompressor_xz): Add
11429 -Wno-unreachable-code.
11430 (normal): Add -Wno-redundant-decls.
11431 (xzio): Add -Wno-unreachable-code.
11432 (lzopio): Add -Wno-redundant-decls -Wno-error.
11433 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11434 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11435 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11436 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11437 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11438 * grub-core/kern/i386/coreboot/init.c: Add exception to
11439 -Wsuggest-attribute=noreturn.
11440 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11441 * grub-core/kern/ia64/dl_helper.c: Likewise.
11442 * grub-core/kern/mips/dl.c: Likewise.
11443 * grub-core/kern/sparc64/dl.c: Likewise.
11444 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11445 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11446 (memcmp): Likewise.
11447 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11448 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11449 * grub-core/loader/mips/linux.c: Likewise.
11450 * grub-core/loader/multiboot_elfxx.c: Likewise.
11451 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11452 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11453 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11454 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11455 fixme.
11456 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11457 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11458 Fix prototype.
11459
11460 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11463 address.
11464
11465 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11468 Avoid improper use of strings.
11469 (grub_cmd_legacy_initrdnounzip): Likewise.
11470
11471 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11474 attribute.
11475 (grub_util_info): Likewise.
11476 (grub_util_error): Likewise.
11477
11478 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11481 * util/grub-fstest.c (fstest): Likewise.
11482
11483 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11486 (grub_md_sha512_real): Likewise.
11487 (grub_util_get_geli_uuid): Likewise.
11488 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11489 (grub_util_biosdisk_open): Fix format specification.
11490 Respect format security.
11491 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11492 (xrealloc): Likewise.
11493 (xasprintf): Likewise.
11494
11495 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * util/import_gcry.py: Include grub/crypto.h in init.c.
11498
11499 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11502 (generate_image): Make prefix a const char *.
11503 Fix format specifications. Respect format security.
11504 Avoid void * arithmetics.
11505 Avoid shadowing.
11506 (argp_parser): Remove unused variable. Respect format security.
11507 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11508 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11509 (count_funcs): Remove unused variable.
11510 (relocate_addresses): Fix format specification.
11511 Disable x86-64 with elf32. Remove unused variables.
11512 (add_fixup_entry): Avoid shadowing.
11513 (make_reloc_section): Fix format specification.
11514 Use assert.
11515 (locate_sections): Fix format specifications.
11516 (load_image): Avoid shadowing.
11517
11518 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11521 Fix format specifications. Respect format security.
11522 Don't translate already translated grub_errmsg.
11523 (argp_parser): Remove unused variable
11524
11525 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11528
11529 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11532 (main): Likewise. Use xmalloc. Respect format security.
11533
11534 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11537 a const char *.
11538 (argp_parser): Remove unused variable.
11539
11540 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11543 (add_pixel): Make static.
11544 (add_font): Likewise.
11545 (write_string_section): Make name and str a const char *.
11546 (write_be16_section): Make name a const char *.
11547 (print_glyphs): Make static.
11548 (write_font_ascii_bitmap): Likewise.
11549 (write_font_width_spec): Likewise.
11550 (write_font_pf2): Likewise.
11551 (argp_parser): Remove unused variable.
11552 Respect format security.
11553 (main): Avoid shadowing. Respect format security.
11554
11555 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * util/grub-editenv.c (argp_parser): Make static.
11558 (create_envblk_file): Use xmalloc.
11559 (open_envblk_file): Likewise.
11560 Resepect format security.
11561 (set_variables): Respect format security.
11562
11563 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * util/getroot.c (grub_find_device): Respect format security.
11566 (get_mdadm_uuid): Remove unused variable.
11567 (grub_util_pull_device): Dont call gettext on already translated
11568 grub_errmsg.
11569 (find_system_device): Remove unused variable.
11570 (grub_util_get_grub_dev): Likewise.
11571 (grub_make_system_path_relative_to_its_root): Respect format security.
11572
11573 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * util/grub-fstest.c (execute_command): Make first argument
11576 a const char *.
11577 (read_file): Avoid shadowing.
11578 Reuse underlying error message if device open fails.
11579 (cmd_cmp): Respect format security.
11580 (root): Make const char *.
11581 (fstest): Remove args argument and use global copy.
11582 Respect format security.
11583 (argp_parser): Make static.
11584 (main): Make default_root const char *.
11585
11586 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * util/grub-mount.c (root): Make const char *.
11589 (execute_command): Make first argument a const char *.
11590 (fuse_init): Respect format security.
11591 (argp_parser): Make static. Remove unused variable.
11592 (main): Make default_root a const char *.
11593 Respect format security.
11594
11595 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * util/grub-probe.c (probe): Don't call gettext on already translated
11598 grub_errmsg.
11599 Remove unused variables.
11600 (argp_parser): Remove unused variable.
11601
11602 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * util/grub-script-check.c (argp_parser): Remove unused variable.
11605 (main): Rename read to curread to avoid shadowing.
11606
11607 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * util/misc.c (grub_util_write_image_at): Fix format specification.
11610 (grub_util_write_image): Likewise.
11611 (grub_script_execute_argument_to_string): Removed (unused).
11612 (grub_script_execute_menuentry): Likewise.
11613 (grub_putchar): Likewise.
11614
11615 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11618 (FUNCTION) [GRUB_UTIL]: Likewise.
11619 (VARIABLE) [GRUB_UTIL]: Likewise.
11620
11621 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11624 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11625
11626 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11629 buffer.
11630
11631 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11634 (LzmaEnc_SaveState): Removed (unused).
11635 (LzmaEnc_RestoreState): Likewise.
11636 (LzmaEnc_InitPriceTables): Made static.
11637 (LzmaEnc_Construct): Likewise.
11638 (LzmaEnc_FreeLits): Likewise.
11639 (LzmaEnc_Destruct): Likewise.
11640 (LzmaEnc_Init): Likewise.
11641 (LzmaEnc_InitPrices): Likewise.
11642 (LzmaEnc_Finish): Likewise.
11643 (LzmaEnc_PrepareForLzma2): Removed (unused).
11644 (LzmaEnc_MemPrepare): Likewise.
11645 (LzmaEnc_GetNumAvailableBytes): Likewise.
11646 (LzmaEnc_GetCurBuf): Likewise.
11647 (LzmaEnc_CodeOneMemBlock): Likewise.
11648
11649 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11652 (grub_util_ldm_embed): Likewise.
11653
11654 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * util/grub-editenv.c (print_var): Rename name to varname to
11657 avoid shadowing.
11658 (main): Rename index to curindex to avoid shadowing.
11659 Make filename a const char *.
11660
11661 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11664 to arg_getline to avoid shadowing.
11665
11666 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11669 disk_ to avoid shadowing.
11670
11671 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11674 curindex to avoid shadowing.
11675 Make static.
11676 (MatchFinder_GetNumAvailableBytes): Make static.
11677
11678 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11681 avoid shadowing.
11682
11683 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11686 argument from encrypt to do_encrypt to avoid shadowing.
11687
11688 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11691 incorrect nesting of #if's.
11692
11693 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11696 checks which are always false on some platforms.
11697 (grub_cmd_lsacpi): Likewise.
11698 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11699 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11700 Likewise.
11701
11702 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11705 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11706
11707 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11710 re_dfa_t to avoid breaking alignment invariants.
11711 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11712 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11713
11714 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11717 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11718
11719 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11722 Fix declaration.
11723
11724 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11727 conserve alignment invariants.
11728 (grub_ehci_ehcc_read16): Likewise.
11729 (grub_ehci_oper_read32): Likewise.
11730 (grub_ehci_oper_write32): Likewise.
11731 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11732 Conserve alignment invariants.
11733
11734 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11737 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11738 declarations.
11739
11740 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11743 Remove unused variable.
11744
11745 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11748 Remove set in if.
11749
11750 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * include/grub/net.h: Remove double declarations.
11753
11754 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 Remove "payload" command in ia64 Linux loader since I couldn't
11757 find any evidence of it being used for anything.
11758 Replace "relocate" command with an environment variable
11759
11760 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11761 fields.
11762 (ia64_boot_payload): Removed.
11763 (last_payload): Likewise.
11764 (RELOCATE_OFF): Likewise.
11765 (RELOCATE_ON): Likewise.
11766 (RELOCATE_FORCE): Likewise.
11767 (relocate): Likewise.
11768 (free_pages): Don't free payloads.
11769 (grub_load_elf64): Use common error messages.
11770 Use "linux_relocate" variable.
11771 Increase the space after boot_params.
11772 (grub_cmd_payload): Removed.
11773 (grub_cmd_relocate): Likewise.
11774 (grub_cmd_fpswa): Improve messages.
11775 (cmd_payload): Removed.
11776 (cmd_relocate): Likewise.
11777 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11778 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11779
11780 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 Convert UHCI to DMA framework.
11783
11784 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11785 (grub_uhci_pci_iter): Fill new members
11786 (grub_alloc_td): Use P2V and V2P functions.
11787 (grub_free_queue): Likewise.
11788 (grub_alloc_qh): Likewise.
11789 (grub_uhci_setup_transfer): Likewise.
11790 (grub_uhci_check_transfer): Likewise.
11791
11792 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11795 Remove assignment in if while on it.
11796
11797 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * util/grub-mkstandalone.in: Fix modules directory.
11800
11801 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11804 on i386-pc target.
11805 (argp_parser): Accept "auto" as compression specification.
11806
11807 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 Fix `help' with unloaded modules.
11810
11811 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11812 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11813 (grub_dyncmd_dispatcher): Small stylistic fix.
11814 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11815 explicit help is requested.
11816
11817 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11820 Explicitly init restart while on it.
11821
11822 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11825 uninited variable.
11826
11827 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * util/grub-mknetdir.in: Use . rather than source for POSIX
11830 compatibility.
11831
11832 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11835
11836 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11839 variable.
11840
11841 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11844 without quotes.
11845
11846 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11849
11850 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11853 iteration of partitions.
11854
11855 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 Improve gettext support. Stylistic fixes and error handling fixes while
11858 on it.
11859
11860 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11863 part. Instead setup the correct stack in RM.
11864 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11865 for stack.
11866 * include/grub/i386/relocator_private.h: New file.
11867
11868 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11871 argument.
11872 * util/grub-fstest.c (options): Add missing DEVICE part.
11873
11874 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 Clarify and unify messages.
11877
11878 * grub-core/commands/hashsum.c (options): Unify messages.
11879 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11880 literal-only message as translatable.
11881 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11882 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11883 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11884 commands.
11885 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11886 key, not the key used to unlock. Clarify what it's used for.
11887 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11888 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11889 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11890 * util/grub-editenv.c (options): Unify "verbose" message.
11891 * util/grub-fstest.c (read_file): Unify error message.
11892 (fstest): Add quotes around commands.
11893 (options): Unify "verbose" message.
11894 * util/grub-install.in: Add quotes around variable name.
11895 * util/grub-kbdcomp.in: Unify error message.
11896 * util/grub-mkfont.c (main): Likewise.
11897 * util/grub-mkrescue.in: Likewise.
11898 * util/grub-mklayout.c (options): Unify "verbose" message.
11899 * util/grub-mkstandalone.in: Unify help and verbose messages.
11900 * util/grub-mount.c (options): Unify "verbose" message.
11901 * util/grub-probe.c (options): Likewise.
11902 * util/grub-script-check.c (options): Likewise.
11903 * util/grub-setup.c (setup): Unify no-terminator message.
11904 (options): Use DEVICE and not DEV.
11905 Unify "verbose" message.
11906 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11907
11908 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 Improve and unify messages.
11911
11912 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11913 name. All users updated.
11914 Print filename in error.
11915 (read_device_map): Print filename in error.
11916 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11917 (grub_util_get_os_disk): Likewise.
11918 (grub_util_biosdisk_get_grub_dev): Likewise.
11919 (grub_util_check_block_device): Likewise.
11920 (grub_util_check_char_device): Likewise.
11921 (grub_make_system_path_relative_to_its_root): Likewise.
11922 * util/grub-editenv.c (create_envblk_file): Likewise.
11923 (open_envblk_file): Likewise.
11924 (write_envblk): Likewise.
11925 * util/grub-fstest.c (cmd_cp): Likewise.
11926 (cmd_cat): Likewise.
11927 (cmd_cmp): Likewise.
11928 * util/grub-menulst2cfg.c (main): Likewise.
11929 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11930 (write_font_width_spec): Likewise.
11931 (write_font_pf2): Likewise.
11932 * util/grub-mkimage.c (generate_image): New argument outname.
11933 All users updated.
11934 Remove unreacheable message.
11935 (options): Unify messages.
11936 (help_filter): Likewise.
11937 * util/grub-mklayout.c (usage): Removed (unused).
11938 (main): Print filename in error.
11939 * util/grub-mkrescue.in: Fix wrong quoting.
11940 * util/grub-setup.c (setup): Print filename in error.
11941 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11942 (check_sas): Likewise.
11943 * util/misc.c (grub_util_get_fp_size): Removed.
11944 (grub_util_get_image_size): Print filename in error.
11945 (grub_util_read_at): Removed.
11946 (grub_util_read_image): Print filename in error.
11947 (grub_util_load_image): Likewise.
11948 (grub_util_write_image_at): New argument filename. All users updated.
11949 Print filename in error.
11950 (grub_util_write_image): New argument filename. All users updated.
11951 Print filename in error.
11952 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11953 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11954
11955 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/Makefile.core.def (pxechain): New module.
11958 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11959 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11960 function.
11961 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11962 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11963
11964 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11967 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11968 * include/grub/err.h (grub_error_saved): New struct.
11969 (grub_errmsg): Make array size explicit.
11970 * include/grub/misc.h (grub_error_save): New function.
11971 (grub_error_load): Likewise.
11972 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11973 (grub_error_push): Update `errno' member name.
11974 (grub_error_pop): Likewise
11975 * grub-core/net/tftp.c (tftp_data): New member save_err.
11976 (tftp_receive): Save error.
11977 (tftp_open): Restore error.
11978
11979 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11982 to real mode down to execute A20-related code in protected mode as
11983 intended.
11984
11985 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11986
11987 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11988 NULL when the argument `level' has an unexpected value.
11989
11990 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 Move platform-dependent files from $prefix to $prefix/$platform.
11993
11994 * config.h.in (GRUB_TARGET_CPU): New definition.
11995 (GRUB_PLATFORM): Likewise.
11996 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11997 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11998 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11999 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12000 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12001 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12002 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12003 * grub-core/normal/term.c (read_terminal_list): Likewise.
12004 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12005 $prefix/locale.
12006 (grub_gettext_init_ext): Likewise.
12007 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12008 grub_platform.
12009 * util/grub-install.in: Update directories.
12010 * util/grub-mknetdir.in: Likewise.
12011 * util/grub-mkrescue.in: Likewise.
12012
12013 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12016 grub_error framework. All users updated.
12017
12018 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12021 lists (by always binsearching), improve caching (cache strings
12022 used for binsearch, not only results), improve
12023 maintainability (by using more structured binary search) and correct
12024 error handling.
12025
12026 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/script/execute.c (grub_script_return): Fix warning.
12029
12030 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/script/execute.c (grub_script_return): Fix potential
12033 NULL-dereference.
12034 Reported by: Jim Meyering.
12035
12036 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * po/POTFILES.in: Regenerate.
12039 * util/grub-install.in: Gettextize the strings missed in first pass.
12040
12041 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * Makefile.util.def (grub-mkdevicemap): Removed.
12044 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12045 * include/grub/util/deviceiter.h: Removed.
12046 * util/deviceiter.c: Likewise.
12047 * util/getroot.c (grub_util_get_os_disk): New function.
12048 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12049 replacement for EFI.
12050 * util/grub-mkdevicemap.c: Removed.
12051 * util/grub-probe.c (probe): Handle PRINT_DISK.
12052 (argp_parser): Handle -t disk.
12053
12054 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * util/grub-mkfont.c: Migrate to argp.
12057 * util/grub-mklayout.c: Likewise.
12058 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12059 * util/grub-mkrelpath.c: Likewise.
12060 * util/grub-probe.c: Likewise.
12061 * util/grub-script-check.c: Likewise.
12062
12063 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * util/grub-reboot.in: Add missing datarootdir.
12066 Add missing newline.
12067 * util/grub-set-default.in: Add missing datarootdir.
12068 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12069 * util/grub-mkrescue.in: Likewise.
12070
12071 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12074
12075 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * util/grub-kbdcomp.in: Add decent help and gettextize.
12078 * docs/man/grub-kbdcomp.h2m: New file.
12079
12080 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 Migrate grub-mkimage.c to argp.
12083
12084 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12085 (grub-setup): Likewise.
12086 * util/grub-setup.c (print_version): Move to ...
12087 * util/argp_common.c (print_version): ... here.
12088 * util/grub-setup.c (argp_program_version_hook): Move to ...
12089 * util/argp_common.c (argp_program_version_hook): ... here.
12090 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12091 safety.
12092 * util/grub-mkimage.c (main): Migrate to argp.
12093
12094 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * util/grub-mkrescue.in: Use same message as
12097 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12098 for better translations.
12099
12100 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12103 options with generic grub-mkrescue.in with the goal of future
12104 merge.
12105
12106 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * grub-core/kern/mm.c: Add missing include of i18n.h
12109 * grub-core/lib/relocator.c: Likewise.
12110
12111 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12114 error.
12115 (allocate_pages): Check return value.
12116 Replace fatal with error.
12117 (grub_linux_boot): Replace printf with dprintf.
12118 Check find_mmap_size return value.
12119 Replace fatal with error.
12120 Don't call grub_machine_fini.
12121 (grub_load_elf64): Replace printf with dprintf.
12122 (grub_cmd_linux): Likewise.
12123 (grub_cmd_initrd): Likewise.
12124 (grub_cmd_payload): Likewise.
12125
12126 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12129 message.
12130 * grub-core/video/radeon_fuloong2e.c
12131 (grub_video_radeon_fuloong2e_setup): Likewise.
12132 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12133 * grub-core/video/video.c (grub_video_set_mode): Don't override
12134 standard out of memory message.
12135
12136 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12137
12138 NetBSD disk wedge support.
12139
12140 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12141 [__NetBSD__]: Handle NetBSD disk wedges.
12142 * util/getroot.c (convert_system_partition_to_system_disk)
12143 [__NetBSD__]: Likewise.
12144
12145 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
12146
12147 * util/grub-mkconfig.in: Use umask rather than chmod to create
12148 grub.cfg.new to avoid insecure grub.cfg.
12149
12150 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * grub-core/commands/ls.c: Gettextize.
12153 * grub-core/commands/setpci.c: Likewise.
12154 * grub-core/commands/videotest.c: Likewise.
12155 * grub-core/disk/geli.c: Likewise.
12156 * grub-core/kern/mm.c: Likewise.
12157 * grub-core/lib/relocator.c: Likewise.
12158 * grub-core/loader/efi/appleloader.c: Likewise.
12159 * grub-core/loader/i386/xnu.c: Likewise.
12160 * grub-core/loader/ia64/efi/linux.c: Likewise.
12161 * grub-core/loader/xnu.c: Likewise.
12162 * grub-core/net/dns.c: Likewise.
12163 * grub-core/net/net.c: Likewise.
12164 * grub-core/script/lexer.c: Likewise.
12165 * grub-core/script/parser.y: Likewise.
12166 * grub-core/script/yylex.l: Likewise.
12167 * util/getroot.c: Likewise.
12168 * util/grub-setup.c: Likewise.
12169
12170 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12173 number.
12174
12175 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12178
12179 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12182 macro.
12183 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12184 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12185
12186 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12189 * util/grub-install.in: Gettextize.
12190 * util/grub-mkconfig.in: Likewise.
12191 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12192 if not available.
12193 (grub_warn): Gettextize.
12194 * util/grub-mknetdir.in: Gettextize.
12195 * util/grub-mkrescue.in: Likewise.
12196 * util/grub-mkstandalone.in: Likewise.
12197 * util/grub-reboot.in: Likewise.
12198 * util/grub-set-default.in: Likewise.
12199 * util/grub.d/00_header.in: Likewise.
12200 * util/grub.d/10_hurd.in: Likewise.
12201 * util/grub.d/10_kfreebsd.in: Likewise.
12202 * util/grub.d/10_linux.in: Likewise.
12203 * util/grub.d/10_netbsd.in: Likewise.
12204 * util/grub.d/10_windows.in: Likewise.
12205 * util/grub.d/20_linux_xen.in: Likewise.
12206 * util/grub.d/30_os-prober.in: Likewise.
12207 * po/POTFILES-shell.in: Regenerate.
12208
12209 2012-02-03 Richard Laager <rlaager@wiktel.com>
12210
12211 * util/grub-mkimage.c (main): Fix format-security warning.
12212 * util/grub-mkrelpath.c (main): Likewise.
12213 * util/grub-probe.c (main): Likewise.
12214
12215 2012-02-03 Richard Laager <rlaager@wiktel.com>
12216
12217 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12218 failure.
12219 Put back lost PRINT_DRIVE.
12220
12221 2012-02-03 Richard Laager <rlaager@wiktel.com>
12222
12223 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12224 (grub_guess_root_devices): Replace strlen with sizeof.
12225 Avoid crash.
12226 (find_root_devices_from_poolname): Remove unused variable.
12227 Handle raidzN.
12228
12229 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Support install on multi-device filesystems.
12232
12233 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12234 (grub_guess_root_devices): ...this. Return char **. All users updated.
12235 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12236 Removed.
12237 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12238 (find_root_devices_from_poolname): ... here.
12239 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12240 Support zfs-fuse.
12241 (grub_guess_root_device): Rename to ...
12242 (grub_guess_root_devices): ... this. Return char **. All users updated.
12243 * util/grub-install.in: Handle multi-device filesystems.
12244 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12245 argument. All users updated.
12246 Handle multi-device filesystems.
12247 Use 'delim' as separator.
12248 Remove device check to allow filesystems on file.
12249 (main): Support -0 argument. Handle multi-device.
12250 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12251 Fix a cross-device check while on it.
12252 (arguments): Remove root_dev.
12253 (argp_parser): Remove -r.
12254 (main): Remove root_dev.
12255
12256 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12259
12260 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12263 symbol.
12264 Reported by: NODA, Kai <nodakai>.
12265
12266 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 Fix ehci on amd64.
12269
12270 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12271 pointers.
12272 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12273 (grub_ehci_setup_qh): Likewise.
12274 (grub_ehci_find_qh): Likewise.
12275 (grub_ehci_transaction): Likewise.
12276 (grub_ehci_setup_transfer): Likewise.
12277 (grub_ehci_check_transfer): Likewise.
12278 (grub_ehci_portstatus): Likewise.
12279 (grub_ehci_detect_dev): Likewise.
12280 (grub_ehci_transfer_controller_data): New field td_last_phys.
12281 (grub_ehci_setup_transfer): Fill td_last_phys.
12282 (grub_ehci_check_transfer): Use td_last_phys.
12283
12284 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12285
12286 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12287 if no submenu is present.
12288
12289 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12290
12291 CBI support.
12292
12293 * include/grub/usb.h (grub_usbms_protocol_t): New values
12294 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12295 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12296 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12297 (grub_usbms_dev): Add subclass, protocol and intrpt.
12298 Remove in_maxsz and out_maxsz.
12299 (grub_usbms_reset): Rename to ...
12300 (grub_usbms_bo_reset): .. this.
12301 (grub_usbms_cbi_cmd): New function.
12302 (grub_usbms_cbi_reset): Likewise.
12303 (grub_usbms_reset): Likewise.
12304 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12305 (grub_usbms_transfer): Rename to ...
12306 (grub_usbms_transfer_bo): ... this.
12307 (grub_usbms_transfer_cbi): Likewise.
12308 (grub_usbms_transfer): Likewise.
12309
12310 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12311 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12314 the support for the CS5536 modification thereos and few bugfixes.
12315
12316 * grub-core/Makefile.core.def (ehci): New module.
12317 * grub-core/bus/usb/ehci.c: New file.
12318 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12319 port and hubaddr. All users updated.
12320 Save port and hubaddr into dev structure.
12321 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12322 define.
12323 * include/grub/pci.h (grub_dma_phys2virt): New function.
12324 (grub_dma_virt2phys): Likewise.
12325 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12326
12327 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12330 check as some mkfs implementations omit it.
12331
12332 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12335
12336 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12339 Add new member volname2.
12340 (grub_jfs_label): Use volname2 if available.
12341
12342 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12345 over last_mounted as seen in image generated by mkfs.nilfs2.
12346 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12347
12348 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12351 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12352 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12353
12354 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12357 over the sector.
12358
12359 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12362 subvolume name (by removing a bogus and useless check).
12363
12364 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12367 sizeof while on it.
12368
12369 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12372 (grub_scsi_read_capacity10): ... this.
12373 (grub_scsi_read_capacity16): New function.
12374 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12375 0xffffffff.
12376 Fix off-by-one error.
12377 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12378 64-bit unsigned.
12379 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12380 (grub_scsi_read_capacity10): ... this.
12381 (grub_scsi_read_capacity_data): Rename to ...
12382 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12383 (grub_scsi_read_capacity16): New struct.
12384 (grub_scsi_read_capacity16_data): Likewise.
12385 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12386 grub_scsi_cmd_read_capacity10.
12387 New command grub_scsi_cmd_read_capacity16.
12388
12389 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 SCSI >2TiB support.
12392
12393 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12394 (grub_scsi_write16): Likewise.
12395 (grub_scsi_read): Use read16 when necessary.
12396 (grub_scsi_write): Likewise.
12397 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12398 (grub_scsi_write16): Likewise.
12399 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12400
12401 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 SCSI write support (for usbms mainly).
12404
12405 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12406 a const pointer.
12407 (grub_scsi_write): Implement.
12408 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12409
12410 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12413 variable.
12414
12415 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12418
12419 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * po/POTFILES.in: Regenerate.
12422
12423 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12426 with grub_printf to avoid unnecessary fatal failure.
12427
12428 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12431 (INT_MAX): Likewise.
12432 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12433 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12434 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12435 (strcpy): Likewise.
12436 (strstr): Likewise.
12437 (strchr): Likewise.
12438 (strncpy): Likewise.
12439 (strcat): Likewise.
12440 (strncat): Likewise.
12441 (strcoll): Likewise.
12442 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12443 (GRUB_INT_MAX): Likewise.
12444
12445 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12448 unexpected error.
12449 (optimize_utf8): Likewise.
12450 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12451
12452 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * grub-core/boot/i386/pc/lnxboot.S: Use
12455 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12456 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12457 location.
12458 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12459 definition.
12460 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12461
12462 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12465 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12466 now to avoid double free.
12467 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12468 hostdisk.
12469 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12470 * util/grub-probe.c (escape_of_path): Always return a new copy.
12471 (print_full_name): Escape path.
12472 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12473 Fix hints on abstractions.
12474
12475 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12478 Don't add "root" line if no compatibility hont is available.
12479 Suggested by: Seth Goldberg.
12480
12481 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12484 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12485 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12486 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12487
12488 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12491
12492 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * util/grub-pe2elf.c (ehdr): Make static.
12495 (shdr): Likewise.
12496 (num_sections): Likewise.
12497 (offset): Likewise.
12498
12499 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 Eliminate ofpath limits and possible overflows.
12502
12503 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12504 (OF_PATH_MAX): Removed.
12505 (MAX_DISK_CAT): New const.
12506 (find_obppath): Use allocated rather than preallocated buffer.
12507 Return result. Argument of_path removed. All users updated.
12508 Add missing fdstat.
12509 (xrealpath): New function.
12510 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12511 Allocate rather than use preallocated buffer. All users updated.
12512 (__of_path_common): Use allocated rather than preallocatecd buffer.
12513 Return result. Argument of_path removed. All users updated.
12514 (vendor_is_ATA): Read only needed part form the file.
12515 (check_sas): Allocate depending on contents rather than fixed.
12516 (main) [STANDALONE]: Handle NULL result.
12517
12518 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12521
12522 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 Cryptodisk write support.
12525
12526 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12527 (grub_cryptodisk_decrypt): Moved logic to ...
12528 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12529 (grub_cryptodisk_write): Implement.
12530 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12531 (grub_util_fd_write): ... this. Make global.
12532 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12533
12534 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * include/grub/list.h (grub_list_remove): Don't crash if element is
12537 removed twice.
12538
12539 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 Rename ofconsole to console.
12542
12543 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12544 as sysnonym to console.
12545 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12546 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12547 Rename grub_ofconsole_ to grub_console_. All users updated
12548 (grub_console_term_output): Rename "ofconsole" to "console".
12549 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12550 as "console".
12551
12552 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12555 handling.
12556 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12557 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12558 GRUB_DISK_DEVICE_FILE_ID.
12559
12560 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12563 and improve performance.
12564
12565 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12568 missing ieee1275/ prefix on whole disk.
12569
12570 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12573 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12574
12575 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12578
12579 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 Merge common RAID and LVM logic to an abstract diskfilter.
12582 Add LDM support using the same framework.
12583
12584 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12585 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12586 (libgrubmods): Remove grub-core/disk/raid.c and
12587 grub-core/partmap/gpt.c.
12588 * grub-core/Makefile.core.def (ldm): New module.
12589 (raid): Renamed to diskfilter. All users updated.
12590 * grub-core/disk/raid.c: Moved to ...
12591 * grub-core/disk/diskfilter.c: ... here.
12592 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12593 (lv_num): New var.
12594 (find_array): Renamed to ...
12595 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12596 (grub_is_array_readable): Renamed to ...
12597 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12598 (insert_array): New argument id.
12599 (is_node_readable): New function.
12600 (scan_device): Rename to ...
12601 (scan_disk): .. this. Restrict to one disk.
12602 (scan_devices): New function.
12603 (grub_diskfilter_iterate): Support multi-LV.
12604 Skip invisible and nameless LVs.
12605 (grub_diskfilter_memberlist): Support multi-LV.
12606 (grub_diskfilter_read_node): New function.
12607 (grub_raid_read): Most of logic moved to ...
12608 (read_segment): ... here
12609 (read_lv): New function.
12610 (grub_diskfilter_get_vg_by_uuid): New function.
12611 (grub_diskfilter_make_raid): Likewise.
12612 * grub-core/disk/ldm.c: New file.
12613 * grub-core/disk/lvm.c (vg_list): Removed.
12614 (lv_count): Likewise.
12615 (scan_depth): Likewise.
12616 (is_lv_readable): Likewise.
12617 (grub_lvm_getvalue): Advance pointer past the number.
12618 (find_lv): Removed.
12619 (do_lvm_scan): Refactored into ...
12620 (grub_lvm_detect): ... this. Support raid.
12621 (grub_lvm_iterate): Removed.
12622 (grub_lvm_memberlist): Likewise.
12623 (grub_lvm_open): Likewise.
12624 (grub_lvm_close): Likewise.
12625 (read_lv): Likewise.
12626 (read_node): Likewise.
12627 (is_node_readable): Likewise.
12628 (is_lv_readable): Likewise.
12629 (grub_lvm_read): Likewise.
12630 (grub_lvm_write): Likewise.
12631 (grub_lvm_dev): Use diskfilter
12632 (GRUB_MOD_INIT): Likewise.
12633 (GRUB_MOD_FINI): Likewise.
12634 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12635 new interface.
12636 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12637 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12638 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12639 grub_diskfilter_read_node.
12640 Fix a bug with xor.
12641 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12642 grub_diskfilter_read_node.
12643 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12644 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12645 (grub_disk_dev_iterate): Move from here...
12646 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12647 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12648 Make global.
12649 (grub_hostdisk_find_partition_start): Likewise.
12650 (grub_hostdisk_os_dev_to_grub_drive): New function.
12651 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12652 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12653 * util/getroot.c (make_device_name): ... here.
12654 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12655 Move to ...
12656 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12657 * grub-core/kern/emu/hostdisk.c
12658 (convert_system_partition_to_system_disk): Move to ...
12659 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12660 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12661 * util/getroot.c (device_is_wholedisk): ... here.
12662 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12663 * util/getroot.c (find_system_device): ... here.
12664 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12665 Move to ...
12666 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12667 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12668 Move to ...
12669 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12670 Handle LDM.
12671 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12672 Move to ...
12673 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12674 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12675 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12676 DISKFILTER.
12677 * include/grub/raid.h: Renamed to ...
12678 * include/grub/diskfilter.h: ... this.
12679 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12680 (GRUB_RAID_LAYOUT_*): Make into array.
12681 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12682 (grub_diskfilter_vg): New struct.
12683 (grub_diskfilter_pv_id): Likewise.
12684 (grub_raid_member): Removed.
12685 (grub_raid_array): Likewise.
12686 (grub_diskfilter_pv): New struct.
12687 (grub_diskfilter_lv): Likewise.
12688 (grub_diskfilter_segment): Likewise.
12689 (grub_diskfilter_node): Likewise.
12690 (grub_diskfilter_get_vg_by_uuid): New proto.
12691 (grub_raid_register): Inline.
12692 (grub_diskfilter_unregister): Likewise.
12693 (grub_diskfilter_make_raid): New proto.
12694 (grub_diskfilter_vg_register): Likewise.
12695 (grub_diskfilter_read_node): Likewise.
12696 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12697 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12698 (grub_util_is_ldm): Likewise.
12699 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12700 (grub_hostdisk_find_partition_start): Likewise.
12701 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12702 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12703 New definition.
12704 (grub_gpt_partition_map_iterate): New proto.
12705 * include/grub/lvm.h (grub_lvm_vg): Removed.
12706 (grub_lvm_pv): Likewise.
12707 (grub_lvm_lv): Likewise.
12708 (grub_lvm_segment): Likewise.
12709 (grub_lvm_node): Likewise.
12710 * util/getroot.c [...]
12711 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12712 (probe_abstraction): Likewise.
12713 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12714 (main): Remove dead logic.
12715
12716 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Simplify root device discover and don't fail when trying to open
12719 incorrect devices.
12720
12721 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12722 function.
12723 (get_diskname_from_path): Likewise.
12724 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12725 of iterating.
12726
12727 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12730
12731 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12734 pastthe end.
12735
12736 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * util/grub-install.in: Add missing \.
12739 Reported by: gentoofan
12740
12741 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12744 (direct_read): Use correct compressed size.
12745 (grub_squash_read_data): Likewise.
12746
12747 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * docs/grub.texi (Platform limitations): New section.
12750 (Platform-specific operations): Likewise.
12751 * docs/grub-dev.texi (Porting): Likewise.
12752
12753 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 IEEE1275 disk write support.
12756
12757 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12758 const void *.
12759 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12760 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12761 and seek loginc to ...
12762 (grub_ofdisk_prepare): ... here.
12763 (grub_ofdisk_write): Implement.
12764
12765 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 ARC disk write support.
12768
12769 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12770 (reopen): New argument writable. All users updated.
12771 Handle required access mode.
12772 (grub_arcdisk_write): Implement.
12773 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12774 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12775
12776 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12779 (read_sblock): Don't attempt to read superblocks outside the disk size.
12780
12781 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12784 first superblock to find the second one when possible.
12785
12786 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * util/grub-install.in: Fix an ARC bug.
12789 Print a warning if no platform-specific setup is available.
12790
12791 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 Use static allocation rather than scratch pointer in reed_solomon.
12794 It decreases its size significantly and avoids a variable in .text.
12795
12796 * grub-core/lib/reed_solomon.c (scratch): Removed.
12797 (chosenstat): New const or static array.
12798 (sigma): Likewise.
12799 (errpot): Likewise.
12800 (errpos): Likewise.
12801 (sy): Likewise.
12802 (mstat): Likewise.
12803 (errvals): Likewise.
12804 (eqstat): Likewise.
12805 (pol_evaluate): Replace x with log_x argument. All users updated.
12806 (syndroms): Removed.
12807 (gauss_solve): Use statically allocated arrays.
12808 (rs_recover): Likewise.
12809 Calculate syndroms directly.
12810 (decode_block): Use statically allocated arrays.
12811 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12812 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12813
12814 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 Eliminate fixed limit on reed solomon decoder length.
12817
12818 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12819 rather than hardcoding the address.
12820 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12821 no_reed_solomon_length.
12822 Move gate_a20 to no-reed-solomon part.
12823 Don't force a particular size of no reed-solomon part.
12824 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12825 Removed.
12826 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12827 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12828
12829 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/commands/wildcard.c (match_files): Handle filenames
12832 without explicit device.
12833 (wildcard_expand): Don't add explicit device if not already present.
12834 * tests/grub_script_echo1.in: Add a new expansion test.
12835
12836 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 Replace single-linked with double-linked lists. It results in more
12839 compact and more efficient code.
12840
12841 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12842 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12843 (grub_list_remove): Moved from here ...
12844 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12845 (grub_prio_list_insert): Set prev.
12846 * include/grub/list.h (grub_list): Add prev. All users updated.
12847
12848 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 Handle newer autotools. Add some missing quotes while on it.
12851
12852 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12853 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12854 (pkgdata_DATA): ... here.
12855 * Makefile.util.def (update-grub_lib): Removed.
12856 * conf/Makefile.common (pkglib_DATA): Removed.
12857 (pkglib_SCRIPTS): Likewise.
12858 (pkgdata_DATA): New variable.
12859 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12860 needed.
12861 Add missing quotes.
12862 Remove unused variable while on it.
12863 * tests/util/grub-shell.in: Likewise.
12864 * util/grub-install.in: Likewise.
12865 * util/grub-mkconfig.in: Likewise.
12866 * util/grub-mknetdir.in: Likewise.
12867 * util/grub-mkrescue.in: Likewise.
12868 * util/grub-mkstandalone.in: Likewise.
12869 * util/grub.d/00_header.in: Likewise.
12870 * util/grub.d/10_hurd.in: Likewise.
12871 * util/grub.d/10_illumos.in: Likewise.
12872 * util/grub.d/10_kfreebsd.in: Likewise.
12873 * util/grub.d/10_linux.in: Likewise.
12874 * util/grub.d/10_netbsd.in: Likewise.
12875 * util/grub.d/10_windows.in: Likewise.
12876 * util/grub.d/20_linux_xen.in: Likewise.
12877 * util/grub.d/30_os-prober.in: Likewise.
12878 * util/update-grub_lib.in: Removed.
12879
12880 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
12881
12882 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12883 a workaround for intel problem.
12884
12885 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
12886 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12887 2012-01-23 pfsmorigo
12888
12889 * util/grub-install.in: Support dd'in into PreP partition.
12890 * util/grub-probe.c (probe): Support discovering partition type.
12891 (main): Support -t msdos_parttype.
12892
12893 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12896 infinite recursion using counter.
12897 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12898 init to skip it if the magic check fails.
12899 (dec_stream_header): Init s->crc32.
12900
12901 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12902 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
12903 2012-01-22 Richard Laager <rlaager@wiktel.com>
12904
12905 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12906 All users updated.
12907 (find_bestub): Determine correct size.
12908 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12909 (scan_disk): Align the size down.
12910 Call check pool before find_bestub to have ashift.
12911
12912 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12915 dprintf in no-malloc zone.
12916
12917 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12918
12919 * configure.ac: Add back in test for limits.h.
12920
12921 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Support 4K-sector NTFS.
12924
12925 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12926 (grub_ntfs_data): Remove blocksize.
12927 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12928 Remove data argument. All users updated.
12929
12930 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12933 being in .text to avoid dprel references.
12934 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12935 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12936 (grub_arch_highmemsize): Likewise.
12937 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12938 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12939 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12940
12941 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12944
12945 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12946 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12947
12948 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12951 GRUB_UTIL.
12952 (grub_set_datetime_cmos): Likewise.
12953
12954 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 Make XZ compression parameters dependent on target and not host CPU.
12957
12958 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12959 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12960
12961 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12964 set but not used variable.
12965
12966 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12969 created when no uuid support is compiled into mkfs.reiser.
12970
12971 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12974 (utf8_to_macroman): Do the opposite.
12975 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12976
12977 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * configure.ac: Refise build qemu_mips w/o unifont.
12980
12981 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Eliminate grub_min/grub_max prone to overflow usage.
12984
12985 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12986 (poll_nonroot_hub): Likewise.
12987 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12988 (grub_affs_label): Likewise.
12989 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12990 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12991 (grub_hfs_label): Likewise.
12992 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12993 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12994 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12995 (zap_leaf_array_get): Likewise.
12996 (dnode_get_path): Likewise.
12997 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12998 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12999 * grub-core/script/execute.c (grub_script_break): Likewise.
13000 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13001 grub_max.
13002 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13003 * include/grub/misc.h (grub_min): Removed.
13004 (grub_max): Likewise.
13005
13006 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13007
13008 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13009 direct.inode = 0.
13010
13011 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13014
13015 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13018
13019 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13022 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13023
13024 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13027 rather than a hack for grub_strncasemap.
13028
13029 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 Support multiple initrds
13032 Note: part of this was accidently committed in r3739.
13033
13034 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13035 initrd.
13036 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13037 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13038 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13039 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13040 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13041
13042 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13045 disks with unknown size.
13046 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13047
13048 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 Remove defines pertaining to arbitrary limits not affecting GRUB
13051 anymore.
13052
13053 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13054 (EXT2_MAX_SYMLINKCNT): Likewise.
13055 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13056 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13057 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13058 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13059 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13060 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13061 (DN_MAX_OBJECT_SHIFT): Likewise.
13062 (DN_MAX_OFFSET_SHIFT): Likewise.
13063 (DN_MAX_OBJECT): Likewise.
13064 (DNODES_PER_LEVEL_SHIFT): Likewise.
13065 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13066 (SPA_MAXBLOCKSIZE): Likewise.
13067 (SPA_BLOCKSIZES): Likewise.
13068 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13069 (MZAP_MAX_BLKSZ): Likewise.
13070
13071 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13074 handle NULL appropriately.
13075 Remove MIN.
13076
13077 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 Fix efiemu.
13080
13081 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13082 cpu/types.h.
13083 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13084 * configure.ac: Fix efiemu check.
13085
13086 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13089 grub_probe.
13090 Reported by: adamwill
13091
13092 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13093
13094 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13095
13096 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 Fix handling of wide characters in gfxterm.
13099
13100 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13101 (clear_char): Likewise.
13102 (paint_char): Skip code == NULL chars.
13103 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13104
13105 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * grub-core/normal/charset.c: Move comment to right place.
13108
13109 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13112 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13113 (grub_affs_mount): Revert the correct version checking.
13114
13115 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * docs/grub.texi (Unicode): Mention several other unsupported features.
13118
13119 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13122 case statements as compile-time one.
13123 (direct_read): Prevent spurious warnings.
13124 (grub_squash_read_data): Likewise.
13125
13126 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Various squash4 fixes and LZO and XZ support.
13129
13130 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13131 Add xzembed source files.
13132 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13133 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13134 (grub_squash_inode): New subtype long_dir.
13135 (SQUASH_TYPE_LONG_DIR): New inode type.
13136 (COMPRESSION): New enum.
13137 (XZBUFSIZ): New const.
13138 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13139 (read_chunk): Use data->decompress.
13140 (zlib_decompress): New function.
13141 (lzo_decompress): Likewise.
13142 (xz_decompress): Likewise.
13143 (squash_mount): Set new data fields.
13144 (grub_squash_iterate_dir): Handle long dir.
13145 (squash_unmount): Free xzdec and xzbuf.
13146 (grub_squash_open): Check ino type.
13147 (direct_read): Stylistic fixes. Use data->decompress.
13148 (grub_squash_read_data): Likewise.
13149 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13150 (get_byte): Likewise.
13151 (grub_zlib_disk_read): Removed.
13152 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13153 (GRUB_POSIX_BOOL_DEFINED): New define.
13154 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13155 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13156 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13157 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13158
13159 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 Don't override more informative errors.
13162
13163 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13164 * grub-core/font/font.c (open_section): Likewise.
13165 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13166 filename. Don't override errors.
13167 (grub_cmd_openbsd_ramdisk): Don't override errors.
13168 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13169 (grub_cmd_initrd): Likewise.
13170 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13171 (grub_cmd_initrd): Likewise.
13172 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13173 (grub_cmd_linux): Likewise.
13174 (grub_cmd_initrd): Likewise.
13175 (grub_cmd_payload): Likewise.
13176 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13177 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13178 (grub_cmd_module): Likewise.
13179 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13180 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13181 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13182 (grub_cmd_xnu_mkext): Likewise.
13183 (grub_cmd_xnu_ramdisk): Likewise.
13184 (grub_xnu_check_os_bundle_required): Likewise.
13185 (grub_xnu_load_kext_from_dir): Likewise.
13186 (grub_cmd_xnu_kextdir): Likewise.
13187 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13188
13189 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13192 as 1024 in block size field. Found on one of my test images.
13193 Small optimisation while on it.
13194
13195 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13198 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13199 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13200 performance fixes while on it.
13201 (grub_sfs_close): Fix memory leak while on it.
13202 (grub_sfs_label): Convert Latin1 to UTF-8.
13203
13204 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13207 space to avoid overflows.
13208 (grub_hfs_label): Convert from macroman to UTF-8.
13209
13210 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13213
13214 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13217
13218 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * unicode: Import Unicode 6.0 data.
13221
13222 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13225 outside of range.
13226
13227 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 Avoid cutting in the middle of UTF-8 character.
13230
13231 * include/grub/charset.h (grub_getend): New function.
13232 * grub-core/script/function.c (grub_script_function_find): Use
13233 grub_getend.
13234 * grub-core/normal/completion.c (add_completion): Likewise.
13235
13236 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13239 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13240 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13241 (GRUB_UNICODE_TAG_END): Likewise.
13242 (GRUB_UNICODE_LAST_VALID): Likewise.
13243
13244 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13247 len and make it smaller. All users updated.
13248 * util/import_unicode.py: Put length and not end character.
13249 Check length.
13250
13251 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 Make better Unicode-compliant and unify some UTF-8 code pathes.
13254
13255 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13256 valid character.
13257 (grub_is_valid_utf8): Use grub_utf8_process.
13258 Check resulting code range.
13259 (grub_utf8_to_ucs4): Use grub_utf8_process.
13260 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13261 valid character.
13262
13263 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13266
13267 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * docs/grub.texi (Filesystems): Mention AFS.
13270
13271 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * docs/grub.texi (Filesystems): Clarify restrictions.
13274 (Regexp): Mention non-Unicode regexp behaviour.
13275 (Other): Mention non-Unicode matching behaviour.
13276
13277 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 Make HFS implementation use MacRoman.
13280
13281 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13282 (macroman): New const array.
13283 (macroman_to_utf8): New function.
13284 (utf8_to_macroman): Likewise.
13285 (grub_hfs_find_dir): Use utf8_to_macroman.
13286 (grub_hfs_dir): Use macroman_to_utf8.
13287 Set case_insensitive.
13288
13289 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13292
13293 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 Integrate hints into autogeneration scripts.
13296
13297 * docs/grub.texi (Filesystems): Add a hostdisk example.
13298 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13299 (grub-probe): Add ofpath.
13300 * gentpl.py: Remove group nosparc64.
13301 * grub-core/commands/search.c (cache_entry): New struct.
13302 (cache): New var.
13303 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13304 * grub-core/commands/search_wrap.c (options): Add platform-specific
13305 hint options.
13306 (grub_cmd_search): Handle platform-specific hints.
13307 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13308 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13309 (grub_util_biosdisk_data): Likewise.
13310 (grub_util_biosdisk_open): Set device_map.
13311 (read_device_map): Handle "" as indication of no map.
13312 Set device_map.
13313 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13314 (grub_util_biosdisk_get_compatibility_hint): New function.
13315 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13316 * include/grub/emu/hostdisk.h
13317 (grub_util_biosdisk_get_compatibility_hint): New proto.
13318 * util/grub-install.in: Don't call grub-mkdevicemap.
13319 Add platform-specific hint to load.cfg.
13320 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13321 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13322 hints. Set root preliminary to compatibility hint, not to OS name.
13323 * util/grub-probe.c (PRINT_*): Add hints.
13324 (print): Make static.
13325 (escape_of_path): New function.
13326 (guess_bios_drive): Likewise.
13327 (guess_efi_drive): Likewise.
13328 (guess_baremetal_drive): Likewise.
13329 (print_full_name): Likewise.
13330 (probe): Handle hints.
13331 (main): Likewise.
13332 * util/ieee1275/devicemap.c: Removed.
13333 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13334 updated.
13335 (grub_util_devname_to_ofpath): Return NULL on failure.
13336
13337 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13338 resource leak.
13339 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13340
13341 * po/POTFILES.in: Regenerated.
13342
13343 Allow purely long options
13344
13345 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13346 (SHORT_ARG_USAGE): Likewise.
13347 (grub_arg_show_help): Compare opt with help_options.
13348 (parse_option): Receive opt as argument. If makes big simplificatons.
13349 All users updated
13350
13351 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13354 Restructure to avoid warning.
13355
13356 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * util/grub-install.in: Account for possible escaped comma in device
13359 name.
13360
13361 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13364 channel.
13365
13366 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13369 allocation and zero-setting.
13370 (grub_ieee1275_get_devname): Check that alias is complete.
13371
13372 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13375 unaligned segments.
13376
13377 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13380 prefix.
13381 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13382 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13383 Add ieee1275 prefix.
13384
13385 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * docs/grub.texi (Filesystems): Update.
13388
13389 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Support odc, newc and bigendian cpio formats.
13392
13393 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13394 * grub-core/Makefile.core.def (newc): New module.
13395 (odc): Likewise.
13396 (cpio_be): Likewise.
13397 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13398 (MAGIC): Likewise.
13399 (MAGIC2): Likewise.
13400 (head) [MODE_ODC]: Adapt for the format.
13401 (head) [MODE_NEWC]: Likewise.
13402 (head) [!MODE_*]: Write fields of interest as arrays.
13403 (MAGIC_USTAR): Removed.
13404 (read_number) [MODE_NEWC]: Change to hex.
13405 (read_number) [!MODE_*]: Parse binary arrays.
13406 (grub_cpio_find_file): Factor out the code for better structure and
13407 always use read_number.
13408 (grub_cpio_mount): Use MAGIC and MAGIC2.
13409 (grub_cpio_dir): Exit on first hook non-0 return.
13410 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13411 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13412 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13413 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13414 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13415 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13416 * grub-core/fs/newc.c: New file.
13417 * grub-core/fs/odc.c: Likewise.
13418 * grub-core/fs/cpio_be.c: Likewise.
13419
13420 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 Fix handling of tar numbers occupying the whole field.
13423
13424 * grub-core/fs/cpio.c (read_number): New function.
13425 (grub_cpio_find_file): Use read_number instead of strtoull.
13426
13427 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13430 occupying the whole field size.
13431
13432 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13433
13434 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13435
13436 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13439
13440 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13441
13442 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13443 TARGET_IMG_LDFLAGS.
13444
13445 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13448 (mountinfo_entry): Increase the field size to take escaping into
13449 account.
13450 (find_root_device_from_libzfs): Add one byte to size of strings for
13451 security.
13452
13453 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13456 an assert.
13457 * util/grub-setup.c (setup): Likewise.
13458
13459 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13462 _LzmaDecodeA.
13463
13464 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * docs/grub.texi (Internationalisation): New section.
13467
13468 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * docs/grub.texi (Loopback booting): New section.
13471
13472 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
13473
13474 * util/grub-mkstandalone.in: Fix minor typo errors.
13475
13476 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13479
13480 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13481 net/icmp.c and net/icmp6.c.
13482 (http): New module.
13483 (priority_queue): Likewise.
13484 * grub-core/io/bufio.c: Rewritten.
13485 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13486 TYPE_WITH_CONFIGFILE_OPTION.
13487 (legacy_commands): Add bootp and dhcp.
13488 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13489 (grub_legacy_parse): Likewise.
13490 * grub-core/lib/priority_queue.c: New file.
13491 * grub-core/net/arp.c: Add missing license header.
13492 (arp_find_entry): Removed.
13493 (arp_find_entry): Likewise.
13494 (grub_net_arp_resolve): Rename to ...
13495 (grub_net_arp_send_request): ...this.
13496 (grub_net_arp_receive): New card argument.
13497 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13498 Set router and DNS server.
13499 (grub_net_configure_by_dhcp_ack): Handle routing information.
13500 (grub_cmd_bootp): Set checksum.
13501 (grub_bootp_init): Remove net_dhcp.
13502 * grub-core/net/dns.c: New file.
13503 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13504 completion.
13505 (get_card_packet): Handle allocation.
13506 (grub_efinet_findcards): Set mtu.
13507 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13508 (get_card_packet): Handle allocation.
13509 (emucard): Set mtu.
13510 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13511 (GRUB_MOD_INIT): Set mtu.
13512 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13513 mtu.
13514 (get_card_packet): Handle allocation.
13515 (grub_ofnet_findcards): Set mtu.
13516 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13517 assert.
13518 (grub_net_recv_ethernet_packet): Handle IPv6.
13519 * grub-core/net/http.c: New file.
13520 * grub-core/net/icmp.c: Likewise.
13521 * grub-core/net/icmp6.c: Likewise.
13522 * grub-core/net/ip.c (ip6addr): New type.
13523 (ip6hdr): Likewise.
13524 (reassemble): Likewise.
13525 (cmp): New function.
13526 (reassembles): New variable.
13527 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13528 (id): New variable.
13529 (send_fragmented): New function.
13530 (grub_net_send_ip_packet): Rename to ...
13531 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13532 Handle non-UDP.
13533 (grub_net_recv_ip_packets): Rename to ...
13534 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13535 (free_rsm): New function.
13536 (free_old_fragments): Likewise.
13537 (grub_net_recv_ip4_packets): New function.
13538 (grub_net_send_ip6_packet): Likewise.
13539 (grub_net_send_ip_packet): Likewise.
13540 (grub_net_recv_ip6_packets): Likewise.
13541 (grub_net_recv_ip_packets): Likewise.
13542 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13543 (LINK_LAYER_CACHE_SIZE): New const.
13544 (link_layer_find_entry): New function.
13545 (grub_net_link_layer_add_address): Likewise.
13546 (grub_net_link_layer_resolve_check): Likewise.
13547 (grub_net_link_layer_resolve): Likewise.
13548 (grub_net_ipv6_get_slaac): Likewise.
13549 (grub_net_ipv6_get_link_local): Likewise.
13550 (grub_cmd_ipv6_autoconf): Likewise.
13551 (parse_ip): Handle one number representation.
13552 (parse_ip6): New functoion.
13553 (match_net): Handle IPv6.
13554 (grub_net_resolve_address): Handle IPv6 and DNS.
13555 (grub_net_resolve_net_address): Handle IPv6.
13556 (route_cmp): New function.
13557 (grub_net_route_address): Find best route.
13558 (grub_net_addr_to_str): Handle IPv6.
13559 (grub_net_addr_cmp): New function.
13560 (grub_net_add_addr): Register local route.
13561 (print_net_address): Handle net address.
13562 (grub_net_poll_cards): Retransmit TCP.
13563 (grub_net_poll_cards_idle_real): Likewise.
13564 (have_ahead): New function.
13565 (grub_net_seek_real): Use underlying seek.
13566 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13567 * grub-core/net/tcp.c: New file.
13568 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13569 (cmp): New function.
13570 (ack): Likewise.
13571 (tftp_receive): Handle unordered input.
13572 (destroy_pq): New function.
13573 (tftp_close): Close pq.
13574 * grub-core/net/udp.c: Put missing license header.
13575 (grub_net_udp_socket): New function.
13576 (udp_socket_register): Likewise.
13577 (grub_net_udp_close): Likewise.
13578 (grub_net_recv_udp_packet): Check checksum.
13579 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13580 * include/grub/misc.h (grub_memchr): New function.
13581 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13582 (grub_net_card_driver): Return buf in recv.
13583 (grub_net_slaac_mac_list): New struct.
13584 (grub_network_level_protocol_id): Add ipv6.
13585 (grub_net_network_level_addr): Likewise.
13586 (grub_net_network_level_net_addr): Likewise.
13587 (grub_net_app_protocol): Add seek.
13588 (grub_net_socket): Removed.
13589 (grub_net_sockets): Likewise.
13590 (grub_net_socket_register): Likewise.
13591 (grub_net_socket_unregister): Likewise.
13592 (FOR_NET_SOCKETS): Likewise.
13593 (grub_net_add_addr): Add const.
13594 (GRUB_NET_BOOTP_*): New enum.
13595 (grub_net_addr_cmp): New proto.
13596 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13597 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13598 (grub_net_hwaddr_to_str): NEw proto.
13599 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13600 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13601 (grub_dns_init): New proto.
13602 (grub_dns_fini): Likewise.
13603 (grub_net_tcp_retransmit): Likewise.
13604 (grub_net_link_layer_add_address): Likewise.
13605 (grub_net_link_layer_resolve_check): Likewise.
13606 (grub_net_link_layer_resolve): Likewise.
13607 (grub_net_dns_lookup): Likewise.
13608 (grub_net_add_dns_server): Likewise.
13609 (grub_net_remove_dns_server): Likewise.
13610 (GRUB_NET_TRIES): New const.
13611 (GRUB_NET_INTERVAL): Likewise.
13612 * include/grub/net/arp.h: Mostly rewritten.
13613 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13614 * include/grub/net/ip.h: Mostly rewritten.
13615 * include/grub/net/netbuff.h: Indent.
13616 * include/grub/net/tcp.h: New file.
13617 * include/grub/net/udp.h: Mostly rewritten.
13618 * include/grub/priority_queue.h: New file.
13619 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13620 (grub_swap_bytes64_compile_time): Likewise.
13621 (grub_cpu_to_be16_compile_time): Likewise.
13622 (grub_cpu_to_be32_compile_time): Likewise.
13623 (grub_cpu_to_be64_compile_time): Likewise.
13624 (grub_be_to_cpu64_compile_time): Likewise.
13625
13626 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13629 UINT_TO_PTR with cast.
13630
13631 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13634 don't use them.
13635
13636 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13639 already there.
13640
13641 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13644 confusing ipxe.
13645
13646 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13649 Add missing const attribute.
13650 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13651 Likewise.
13652 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13653 Likewise.
13654
13655 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13658 misaligned access.
13659 (serpent_setkey): Likewise.
13660 (serpent_encrypt_internal): Likewise.
13661 (serpent_decrypt_internal): Likewise.
13662 (serpent_encrypt): Don't put an alignment-increasing cast.
13663 (serpent_decrypt): Likewise.
13664 (serpent_test): Likewise.
13665
13666 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13669
13670 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13673
13674 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13675 grub_addr_t casts.
13676 (PTR_TO_UINT64): Likewise.
13677 (PTR_TO_UINT32): Likewise.
13678
13679 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13682 because of stack.
13683 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13684 limit.
13685
13686 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13689 text_width > available width a bit more gracefully.
13690
13691 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13694 current address calculation.
13695
13696 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13697
13698 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13699 stack.
13700 (encode_block): Likewise.
13701
13702 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13705 certainety.
13706
13707 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13710 non-RS part to avoid RS messing with GDT.
13711 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13712 Increase to suit in realmode routines.
13713
13714 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * grub-core/kern/i386/realmode.S: Increase alignment.
13717 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13718
13719 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13720
13721 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13722 be deterministic.
13723 (syndroms): Compute 0 syndrom.
13724 (rs_recover): Use 0 syndrom.
13725
13726 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13729
13730 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13733 brackets.
13734
13735 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13738 account.
13739 (get_top_pad): Likewise.
13740 (get_right_pad): Likewise.
13741 (get_bottom_pad): Likewise.
13742
13743 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
13746
13747 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13750 attribute as the structure isn't guaranteed to be properly aligned.
13751 (grub_efi_pci_device_path): Likewise.
13752 (grub_efi_pccard_device_path): Likewise.
13753 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13754 specify the size of `memory_type'.
13755 (grub_efi_vendor_device_path): Likewise.
13756 (grub_efi_controller_device_path): Likewise.
13757 (grub_efi_acpi_device_path): Likewise.
13758 (grub_efi_expanded_acpi_device_path): Likewise.
13759 (grub_efi_atapi_device_path): Likewise.
13760 (grub_efi_scsi_device_path): Likewise.
13761 (grub_efi_fibre_channel_device_path): Likewise.
13762 (grub_efi_1394_device_path): Likewise.
13763 (grub_efi_usb_device_path): Likewise.
13764 (grub_efi_usb_class_device_path): Likewise.
13765 (grub_efi_i2o_device_path): Likewise.
13766 (grub_efi_mac_address_device_path): Likewise.
13767 (grub_efi_ipv4_device_path): Likewise.
13768 (grub_efi_ipv6_device_path): Likewise.
13769 (grub_efi_infiniband_device_path): Likewise.
13770 (grub_efi_uart_device_path): Likewise.
13771 (grub_efi_vendor_messaging_device_path): Likewise.
13772 (grub_efi_hard_drive_device_path): Likewise.
13773 (grub_efi_cdrom_device_path): Likewise.
13774 (grub_efi_vendor_media_device_path): Likewise.
13775 (grub_efi_file_path_device_path): Likewise.
13776 (grub_efi_protocol_device_path): Likewise.
13777 (grub_efi_piwg_device_path): Likewise.
13778 (grub_efi_bios_device_path): Likewise.
13779
13780 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13783 (grub_ucs4_to_utf8_alloc): Likewise.
13784 (grub_ucs4_to_utf8): Likewise.
13785 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13786 (grub_ucs4_to_utf8_alloc): Likewise.
13787
13788 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 AFFS never uses unicode.
13791
13792 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13793 (grub_latin1_to_utf8): New inline function.
13794 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13795
13796 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13799 overflow.
13800
13801 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13804 (grub_squash_dirent_header): Likewise.
13805 (read_chunk): Don't double swap.
13806 (grub_squash_iterate_dir): Fix swap sizes.
13807
13808 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13811
13812 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13815 (grub_hfs_iterate_dir): Likewise.
13816
13817 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 Fix video on platforms where unaligned access is forbidden.
13820 Make several optimisations while on it.
13821
13822 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13823 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13824 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13825 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13826 Disable.
13827 (grub_video_fbblit_replace_16bit_1bit):
13828 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13829 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13830 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13831 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13832 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13833 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13834 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13835 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13836 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13837 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13838 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13839 (grub_video_fbblit_replace_index_RGB888): Likewise.
13840 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13841 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13842 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13843 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13844 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13845 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13846 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13847 Disable.
13848 (grub_video_fbblit_blend_XXX565_1bit):
13849 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13850 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13851 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13852 void *.
13853 * grub-core/video/fb/video_fb.c (common_blitter)
13854 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13855 (grub_video_fb_create_render_target_from_pointer)
13856 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13857 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13858 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13859 definition.
13860 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13861
13862 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13865 HH22 and HM10 relocations.
13866
13867 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13870
13871 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13874 allocation succeeded.
13875
13876 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13879 argument a u8 pointer. All users updated.
13880 Handle unaligned buffers.
13881
13882 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13885 add_part to workaround compiler bug.
13886
13887 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13890
13891 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13894 Reserve alignment invariants.
13895 (grub_multiboot_load): Likewise.
13896 (retrieve_video_parameters): Likewise.
13897 (grub_multiboot_make_mbi): Likewise.
13898
13899 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13902 incorrect pointer.
13903
13904 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13907 (grub_pata_pio_write): Likewise.
13908
13909 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 Add noreturn attributes and remove unreachable code.
13912
13913 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13914 code.
13915 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13916 code. Mark as noreturn.
13917 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13918 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13919 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13920 unreachable code.
13921 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13922 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13923 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13924 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13925 * include/grub/kernel.h (grub_main): Mark as noreturn.
13926 * include/grub/reader.h (grub_rescue_run): Likewise.
13927
13928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13931 redundant declaration.
13932
13933 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13936 redundant declaration.
13937 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13938
13939 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13942 to ensure alignment.
13943 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13944 alignment. Ensure tmp alignment.
13945 (grub_cmd_hdparm): Ensure buf alignment.
13946 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13947 to ensure alignment.
13948 (grub_ata_dumpinfo): Ensure text alignment.
13949 (grub_atapi_identify): Preserve alignment invariant.
13950 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13951
13952 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13955 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13956 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13957 * include/grub/misc.h (grub_reboot)
13958 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13959 (grub_halt) [__mips__]: Likewise.
13960
13961 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13964 Remove redundant declaration.
13965 (grub_mmap_get_post64): Likewise.
13966 (grub_mmap_get_upper): Likewise.
13967 (grub_mmap_get_lower): Likewise.
13968
13969 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13972 uint32_t * to ensure alignment.
13973 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13974
13975 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13978 uint16_t * to ensure alignment.
13979 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13980 alignment.
13981
13982 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
13985 to ensure alignment.
13986 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13987
13988 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13991 Handle unaligned pointers.
13992 (u32at): Likewise.
13993 (u64at): Likewise.
13994 (fixup): Use byte access instead of v16at.
13995 (find_attr): Fix imporper usage of v32at.
13996 (read_data): Likewise.
13997 (list_file): Handle byte-swapping and unaligned strings.
13998 (grub_ntfs_label): Likewise.
13999
14000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14003 as it's not necessarily aligned.
14004
14005 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14008 redundant declaration.
14009 (grub_serial_init): Likewise.
14010 (grub_terminfo_init): Likewise.
14011
14012 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14015 function.
14016 (ZAP_HASH_IDX): Likewise.
14017 (ZAP_LEAF_HASH_SHIFT): Likewise.
14018 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14019 (LEAF_HASH): Likewise.
14020 (ZAP_LEAF_NUMCHUNKS): Likewise.
14021 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14022 alignment invariants. Return pointer. All users updated.
14023 (ZAP_LEAF_ENTRY): Make into inline function.
14024 (NBBY): Removed.
14025 (xor): LIkewise.
14026 (xor_out): Use grub_crypto_xor.
14027 (dnode_get_path): Use grub_get_unaligned.
14028 (nvlist_find_value): Likewise.
14029 (grub_zfs_nvlist_lookup_uint64): Likewise.
14030 (grub_zfs_nvlist_lookup_string): Likewise.
14031 (get_nvlist_size): Likewise.
14032 (grub_zfs_open): Likewise.
14033 (fill_fs_info): Likewise.
14034 (grub_zfs_dir): Likewise.
14035 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14036 alignment invariants.
14037 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14038 necessarily aligned.
14039
14040 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14043
14044 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14047 arithmetic to conserve alignment invariants.
14048
14049 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14052 redundant declaration.
14053 (grub_efiemu_mm_obtain_request): Likewise.
14054 (grub_efiemu_prepare): Likewise.
14055
14056 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14059 to match types.
14060
14061 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14064 case of aunaligned recptr.
14065 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14066 alignment.
14067 (grub_hfsplus_btree_search): Handle unaligned index.
14068
14069 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14072 to get freetag and skip.
14073
14074 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14077 array.
14078 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14079 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14080
14081 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14084 name for checksum and fix allocation algorithm.
14085
14086 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * include/grub/types.h (grub_properly_aligned_t): New type.
14089 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14090 (grub_get_unaligned16): Add explicit casts.
14091 (grub_get_unaligned32): Likewise.
14092 (grub_get_unaligned64): Likewise.
14093 (grub_set_unaligned16): New function.
14094 (grub_set_unaligned32): Likewise.
14095
14096 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14099
14100 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14103 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14104 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14105
14106 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14109 conditionals.
14110
14111 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14114 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14115
14116 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Unify and improve RAID and crypto xor.
14119
14120 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14121 changed to grub_crypto_xor
14122 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14123 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14124 Use bigger types when possible.
14125
14126 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * grub-core/disk/raid.c (scan_devices): Fix condition.
14129
14130 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14133 Make name a const ptr.
14134
14135 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14138 first argument a const pointer.
14139 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14141 proto.
14142 (grub_children_iterate): Likewise.
14143 (grub_machine_mmap_iterate): Remove redundant declaration.
14144
14145 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14148 (grub_cmd_acpi) [!x86]: Disable EBDA.
14149
14150 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 Enable UTF8 in gnulib regexp.
14153
14154 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14155 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14156 (isupper): Use grub_isupper.
14157 (isascii): New inline function.
14158 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14159 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14160 * grub-core/normal/charset.c (grub_utf8_process): New function.
14161 (grub_utf8_to_utf16): Use grub_utf8_process.
14162 (grub_encode_utf8_character): New function.
14163 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14164 * include/grub/charset.h (grub_utf8_process): New declaration.
14165 (grub_encode_utf8_character): Likewise.
14166 * include/grub/misc.h (grub_islower): New inline function.
14167 (grub_isupper): Likewise.
14168 (grub_strchrsub): Moved down to fix the definitions.
14169
14170 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14173 specification.
14174
14175 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * include/grub/loader.h (grub_loader_register_preboot_hook):
14178 Use struct preboot * and not void * for handle. All users updated.
14179 (grub_loader_unregister_preboot_hook): Likewise.
14180
14181 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14184 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14185 UTF-16-BE. All users updated.
14186 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14187 (grub_hfsplus_iterate_dir): Likewise.
14188 (grub_hfsplus_label): Likewise.
14189
14190 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14193
14194 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 Add missing const qualifiers.
14197
14198 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14199 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14200 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14201 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14202 (grub_lvm_check_flag): Likewise.
14203 * grub-core/efiemu/i386/coredetect.c
14204 (grub_efiemu_get_default_core_name): Likewise
14205 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14206 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14207 * grub-core/fs/ntfs.c (fixup): Likewise.
14208 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14209 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14210 (fzap_lookup): Likewise.
14211 (zap_lookup): Likewise.
14212 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14213 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14214 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14215 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14216 (grub_freebsd_add_meta_module): Likewise.
14217 (grub_cmd_freebsd_module): Likewise.
14218 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14219 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14220 (grub_xnu_writetree_get_size): Likewise.
14221 (grub_xnu_writetree_toheap_real): Likewise.
14222 (grub_xnu_find_key): Likewise.
14223 (grub_xnu_create_key): Likewise.
14224 (grub_xnu_create_value): Likewise.
14225 (grub_xnu_register_memory): Likewise.
14226 (grub_xnu_check_os_bundle_required): Likewise.
14227 (grub_xnu_scan_dir_for_kexts): Likewise.
14228 (grub_xnu_load_kext_from_dir): Likewise.
14229 * grub-core/normal/color.c (color_list): Likewise.
14230 * grub-core/normal/completion.c (current_word): Likewise.
14231 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14232 * grub-core/term/serial.c (grub_serial_find): Likewise.
14233 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14234 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14235 Likewise.
14236 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14237 (grub_freebsd_add_meta_module): Likewise.
14238 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14239 * include/grub/net.h (grub_net_card_driver): Likewise.
14240 (grub_net_card): Likewise.
14241 (grub_net_app_protocol): Likewise.
14242 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14243 * include/grub/serial.h (grub_serial_find): Likewise.
14244 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14245 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14246 (grub_xnu_create_value): Likewise.
14247 (grub_xnu_find_key): Likewise.
14248 (grub_xnu_scan_dir_for_kexts): Likewise.
14249 (grub_xnu_load_kext_from_dir): Likewise.
14250
14251 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14252 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14253 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14254 Moved from here ...
14255 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14256
14257 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
14258
14259 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14260
14261 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14264 (read_device): Fix size calculation.
14265
14266 2011-11-25 Robert Millan <rmh@gnu.org>
14267
14268 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14269 (find_root_device_from_libzfs): Add zpool output parser to be used
14270 as fallback when libzfs isn't available.
14271
14272 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14273
14274 * po/Makefile.in.in: Add missing escape-continuation.
14275
14276 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14279
14280 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14283
14284 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14285
14286 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14287
14288 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14291
14292 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 * grub-core/lib/adler32.c: Add missing license specification.
14295 * grub-core/lib/crc64.c: Likewise.
14296 * grub-core/loader/i386/pc/plan9.c: Likewise.
14297 * grub-core/partmap/plan.c: Likewise.
14298
14299 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14300
14301 Add facility to debug GRUB with gdb under qemu.
14302
14303 * grub-core/gdb_grub.in: New file.
14304 * grub-core/gmodule.pl.in: Likewise.
14305 * grub-core/Makefile.core.def (gmodule.pl): New script.
14306 (gdb_grub): Likewise.
14307
14308 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * util/grub-mount.c (argp_parser): Accept relative pathes.
14311 * util/grub-fstest.c (argp_parser): Likewise.
14312
14313 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 Plan9 support.
14316
14317 * Makefile.util.def (libgrubmods): Add
14318 grub-core/partmap/plan.c.
14319 * docs/grub.texi: Notice Plan9 support.
14320 * grub-core/Makefile.core.def (plan9): New module.
14321 (part_plan): Likewise.
14322 * grub-core/loader/i386/pc/plan9.c: New file.
14323 * grub-core/partmap/plan.c: Likewise.
14324 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14325 define.
14326 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14327 * include/grub/mm.h (grub_extend_alloc): New inline function.
14328
14329 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 Make Reed-Solomon faster by using power of generator representation of
14332 GF(256)*.
14333
14334 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14335 (gf_double_t): Likewise.
14336 (gf_invert): Removed.
14337 (gf_powx): New array.
14338 (gf_powx_inv): Likewise.
14339 (scratch): Move higher.
14340 (gf_reduce): Removed.
14341 (gf_mul): Use powx.
14342 (gf_invert): Likewise.
14343 (init_inverts): Replaced with ...
14344 (init_powx): ...this. All users updated.
14345 (pol_evaluate): Replace multiplications with additions.
14346 (rs_encode): Likewise.
14347 (gauss_eliminate): Call gf_invert.
14348 (grub_reed_solomon_add_redundancy): Call init_powx.
14349 (grub_reed_solomon_recover): Call init_powx unconditionally.
14350
14351 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14354
14355 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14358 disk->partiton for safety.
14359
14360 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14363 Fix a memory leak.
14364 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14365
14366 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14369
14370 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14373
14374 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 Fix spaces handling in proc/self/mountinfo.
14377
14378 * util/getroot.c (unescape): New function.
14379 (grub_find_root_device_from_mountinfo): Use unescape.
14380
14381 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 Support ZFS embedding.
14384
14385 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14386 (grub_zfs_fs): Register grub_zfs_embed.
14387
14388 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 Fix MIPS compilation.
14391
14392 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14393 * include/grub/offsets.h: Rename decompressor fields from
14394 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14395 * util/grub-mkimage.c (image_targets): Use new names.
14396
14397 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 Defer multiboot device parsing until we're in compressed part.
14400
14401 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14402 bsd_part. setdevice has fallen into disuse.
14403 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14404 (bsd_part): Likewise.
14405 (boot_dev): New variable.
14406 (multiboot_trampoline): Don't parse multiboot device.
14407 Pass multiboot device in %edx.
14408 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14409 grub_boot_device.
14410 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14411 Likewise.
14412 * grub-core/kern/i386/pc/startup.S: Save edx.
14413 (grub_boot_drive): Removed.
14414 (grub_install_dos_part): Likewise.
14415 (grub_install_bsd_part): Likewise.
14416 (grub_boot_device): New variable.
14417 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14418 (grub_install_bsd_part): Likewise.
14419 (grub_boot_drive): Likewise.
14420 (grub_boot_device): New variable.
14421 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14422 Removed.
14423 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14424 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14425 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14426 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14427 * util/grub-install.in: Remove redundant condition.
14428
14429 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 Fix bug introduced by previous commit.
14432
14433 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14434
14435 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 Use decompressors framework on i386-pc. It increases core size
14438 by 46 bytes but improves compatibility and maintainability.
14439
14440 * grub-core/Makefile.core.def (lzma_decompress): New image.
14441 (kernel): Add i386_pc_ldflags.
14442 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14443 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14444 to real_to_prot, prot_to_real and device info.
14445 * include/grub/offsets.h: Renamed decompressor offsets.
14446 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14447 (image_target_desc): Remove raw_size and rename decompressor fields.
14448 (compress_kernel): Handle lzma.
14449 (generate_image): Handle decompressors on i386-pc.
14450
14451 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * configure.ac: Add -fno-asynchronous-unwind-tables.
14454
14455 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14456
14457 Move assembly code to C by using intwrap. It increases core size
14458 by 88 bytes but improves compatibility and maintainability.
14459
14460 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14461 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14462 ... here. Translated to C.
14463 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14464 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14465 ... here. Translated to C.
14466 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14467 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14468 ... here. Translated to C.
14469 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14470 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14471 ... here. Translated to C.
14472 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14473 * grub-core/term/i386/pc/console.c (grub_console_cls):
14474 ... here. Translated to C.
14475 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14476 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14477 ... here. Translated to C.
14478 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14479 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14480 Translated to C.
14481 * grub-core/term/i386/pc/console.c (int10_9): New function.
14482 (grub_console_putchar): Likewise.
14483 * include/grub/i386/pc/console.h: Removed the not anymore shared
14484 functions.
14485
14486 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 Move grub_chainloader_real_boot out of the kernel.
14489
14490 * grub-core/Makefile.am: Remove machine/loader.h.
14491 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14492 Removed.
14493 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14494 variable.
14495 (grub_relocator16_keep_a20_enabled): Likewise.
14496 (grub_relocator16_boot): Fill new variables.
14497 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14498 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14499 relocator.
14500 (grub_chainloader_unload): Likewise.
14501 (grub_chainloader_cmd): Likewise.
14502 * include/grub/i386/pc/loader.h: Removed.
14503 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14504 and esi. All initialisers updated.
14505
14506 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14507 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
14508
14509 * Makefile.util.def (grub-mount): New util.
14510 * .bzrignore: Add grub-mount.
14511 * configure.ac: Check for fuse and enable grub-mount if available.
14512 * docs/man/grub-mount.h2m: New file.
14513 * util/grub-mount.c: Likewise.
14514
14515 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * grub-core/commands/efi/fixvideo.c: Gettextize.
14518 * grub-core/commands/hashsum.c: Likewise.
14519 * grub-core/commands/i386/cmostest.c: Likewise.
14520 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14521 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14522 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14523 * grub-core/commands/lsmmap.c: Likewise.
14524 * grub-core/commands/menuentry.c: Likewise.
14525 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14526 * grub-core/commands/setpci.c: Likewise.
14527 * grub-core/loader/i386/bsd.c: Likewise.
14528 * grub-core/loader/i386/linux.c: Likewise.
14529 * util/getroot.c: Likewise.
14530 * util/grub-editenv.c: Likewise.
14531 * util/grub-fstest.c: Likewise.
14532 * util/grub-mkfont.c: Likewise.
14533 * util/grub-mkimage.c: Likewise.
14534 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14535 * util/grub-pe2elf.c: Likewise.
14536 * util/grub-probe.c: Likewise.
14537 * util/grub-setup.c: Likewise.
14538 * util/ieee1275/ofpath.c: Likewise.
14539 * util/misc.c: Likewise.
14540 * util/raid.c: Likewise.
14541
14542 2011-11-11 Robert Millan <rmh@gnu.org>
14543
14544 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14545 __attribute__((unused)) from `os_dev', which *is* being used.
14546
14547 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14550 forgotten define.
14551 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14552 GRUB_IA64_DL_GOT_ALIGN.
14553 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14554 GRUB_IA64_DL_TRAMP_ALIGN.
14555
14556 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14557
14558 Replace grub_fatal with normal errors in i386 linux loader.
14559
14560 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14561 (allocate_pages): Check find_efi_mmap_size return value.
14562 (grub_e820_add_region): Return error.
14563 (grub_linux_boot): Check mmap return value.
14564
14565 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/commands/acpihalt.c: Gettextized.
14568 * grub-core/commands/cacheinfo.c: Likewise.
14569 * grub-core/commands/cmp.c: Likewise.
14570 * grub-core/commands/efi/loadbios.c: Likewise.
14571 * grub-core/commands/gptsync.c: Likewise.
14572 * grub-core/commands/ieee1275/suspend.c: Likewise.
14573 * grub-core/commands/legacycfg.c: Likewise.
14574 * grub-core/commands/memrw.c: Likewise.
14575 * grub-core/commands/minicmd.c: Likewise.
14576 * grub-core/commands/parttool.c: Likewise.
14577 * grub-core/commands/time.c: Likewise.
14578 * grub-core/commands/videoinfo.c: Likewise.
14579 * grub-core/disk/geli.c: Likewise.
14580 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14581 * grub-core/disk/luks.c: Likewise.
14582 * grub-core/disk/lvm.c: Likewise.
14583 * grub-core/font/font_cmd.c: Likewise.
14584 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14585 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14586 * grub-core/gfxmenu/view.c: Likewise.
14587 * grub-core/kern/emu/hostdisk.c: Likewise.
14588 * grub-core/kern/emu/main.c: Likewise.
14589 * grub-core/kern/emu/misc.c: Likewise.
14590 * grub-core/kern/emu/mm.c: Likewise.
14591 * grub-core/kern/mips/arc/init.c: Likewise.
14592 * grub-core/kern/mips/loongson/init.c: Likewise.
14593 * grub-core/kern/partition.c: Likewise.
14594 * grub-core/lib/i386/halt.c: Likewise.
14595 * grub-core/lib/mips/arc/reboot.c: Likewise.
14596 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14597 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14598 * grub-core/loader/i386/xnu.c: Likewise.
14599 * grub-core/loader/multiboot.c: Likewise.
14600 * grub-core/net/bootp.c: Likewise.
14601 * grub-core/net/net.c: Likewise.
14602 * grub-core/normal/term.c: Likewise.
14603 * grub-core/partmap/bsdlabel.c: Likewise.
14604 * grub-core/parttool/msdospart.c: Likewise.
14605 * grub-core/term/gfxterm.c: Likewise.
14606 * grub-core/term/terminfo.c: Likewise.
14607 * grub-core/video/i386/pc/vbe.c: Likewise.
14608 * util/grub-menulst2cfg.c: Likewise.
14609 * util/grub-mkdevicemap.c: Likewise.
14610 * util/grub-mklayout.c: Likewise.
14611 * util/grub-mkrelpath.c: Likewise.
14612 * util/grub-script-check.c: Likewise.
14613 * util/ieee1275/grub-ofpathname.c: Likewise.
14614 * util/resolve.c: Likewise.
14615
14616 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 Support %1$d syntax.
14619
14620 * tests/printf_unit_test.c: New file.
14621 * Makefile.util.def (printf_test): New test.
14622 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14623
14624 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14627 fix.
14628
14629 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14632 dprintf.
14633 * grub-core/font/font.c (grub_font_load): Likewise.
14634
14635 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * util/grub-macho2img.c: Add comment concerning gettext.
14638 * grub-core/lib/legacy_parse.c: Likewise.
14639
14640 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14643 (grub_xvasprintf): Likewise.
14644
14645 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 Add const keyword to grub_env_get and gettextize week days.
14648
14649 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14650 (grub_read_hook_datetime): Return const char *.
14651 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14652 updated.
14653 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14654 Mark for gettext.
14655 (grub_get_weekday_name): Return const char *. Call gettext.
14656 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14657 char * and len as the argument. All users updated.
14658 (grub_script_argv_split_append): Receive const char *.
14659 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14660 * include/grub/env.h (grub_env_get): Likewise.
14661 (grub_env_read_hook_t): Return const char *.
14662 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14663 (grub_script_argv_split_append): Likewise.
14664
14665 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14668
14669 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14672 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14673
14674 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14677 Fix prototype.
14678
14679 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 Fix mips compilation.
14682
14683 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14684 normal decoder.
14685 (hashes): Use in embed decoder as well (for sizes).
14686 (dec_stream_header): Fix embed decompressor logic.
14687 (dec_stream_footer): Likewise.
14688
14689 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14692 an error and not a fatal on unrecognised relocation types.
14693
14694 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14697 Issue error rather than printf on unknown arguments.
14698
14699 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14702 Make buf a const.
14703
14704 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14707 Fix module name.
14708
14709 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14712 leftover debug printf.
14713
14714 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14717
14718 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14721 A stylistic fix.
14722
14723 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14726
14727 2011-11-10 Shea Levy <slevy@tieronedesign.com>
14728
14729 Allow all modules to perform serial IO
14730
14731 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14732 * include/grub/serial.h (grub_serial_port_configure): New inline
14733 function.
14734 (grub_serial_port_fetch): Likewise.
14735 (grub_serial_port_put): Likewise.
14736 (grub_serial_port_fini): Likewise.
14737 (grub_serial_find): New proto.
14738
14739 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 Put symlink at the end of the node and fix a potential
14742 memory corruption.
14743
14744 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14745 Make symlink into an array.
14746 (set_rockridge): Set have_symlink and alloc_dirents.
14747 (grub_iso9660_read_symlink): Use new layout.
14748 (grub_iso9660_iterate_dir): Fix memory corruption.
14749 Use new layout.
14750 (grub_iso9660_dir): Set have_symlink.
14751 (grub_iso9660_open): Likewise.
14752
14753 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 Remove local keyword.
14756
14757 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14758 (version_test_gt): Likewise.
14759 (version_find_latest): Likewise.
14760 (gettext_printf): Likewise.
14761 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14762
14763 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14766
14767 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 Fix ZFS memory and resource leaks.
14770
14771 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14772 All users updated.
14773 Free type on exit.
14774 (fill_vdev_info): New parameter inserted. All users updated.
14775 (check_pool_label): Likewise.
14776 (scan_disk): Likewise.
14777 (scan_devices): Close non-inserted disks.
14778 (fzap_iterate): Free l.
14779 (unmount_device): Free children descripto memory.
14780
14781 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14784 argument (access out of bounds).
14785
14786 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14789 >= 6 drives.
14790
14791 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14794 Fix declaration.
14795
14796 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 Fix several memory leaks.
14799
14800 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14801 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14802 (grub_cpio_dir): Likewise.
14803 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14804 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14805 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14806 (grub_romfs_label): Likewise.
14807 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14808 (squash_unmount): New function.
14809 (grub_squash_dir): Fix memory leak.
14810 (grub_squash_open): Likewise.
14811 (grub_squash_read): Likewise.
14812 (grub_squash_mtime): Likewise.
14813 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14814 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14815 * util/grub-fstest.c (fstest): Likewise.
14816
14817 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14820 avoid accessing beyond the array.
14821
14822 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14825
14826 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 Several AFFS fixes.
14829
14830 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14831 (GRUB_AFFS_FLAG_FFS): Removed.
14832 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14833 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14834 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14835 (grub_fshelp_node): Make block 32-bit.
14836 Add block_cache and last_block_cache.
14837 (grub_affs_read_block): Fill and use block cache.
14838 (grub_affs_read_file): Removed.
14839 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14840 boot block.
14841 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14842 safety.
14843 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14844 space.
14845 (grub_affs_close): Free block cache.
14846 (grub_affs_read): Use grub_fshelp_read_file directly.
14847
14848 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14851 with no error set.
14852
14853 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14856 used variable.
14857 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14858 Likewise.
14859
14860 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14863
14864 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14865 byteswap when needed.
14866
14867 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Fix FreeBSD compilation.
14870
14871 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14872 to avoid circular dependency.
14873 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14874 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14875 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14876
14877 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 Fix ZFS crypto error types.
14880
14881 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14882 (grub_gcm_decrypt): Likewise.
14883 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14884 from PBKDF2.
14885
14886 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 Illumos support.
14889
14890 * Makefile.util.def (10_illumos): New script.
14891 * configure.ac: Set COND_HOST_ILLUMOS.
14892 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14893 Support Illumos calls.
14894 (find_partition_start) [__sun__]: Likewise.
14895 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14896 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14897 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14898 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14899 device.
14900 * util/grub-probe.c (probe) [__sun__]: Do character check.
14901 * util/grub.d/10_illumos.in: New file.
14902
14903 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 Support escaped commas in hostdisk.
14906
14907 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14908 (find_grub_drive): Use unescape_cmp.
14909 (make_device_name): Escape commas.
14910
14911 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14914
14915 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14918 variable.
14919
14920 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 Support trampoline jumps on powerpc.
14923
14924 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14925 __ia64__ path.
14926 (grub_dl_load_segments): Set mod->sz.
14927 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14928 segments.
14929 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14930 (jump): Likewise.
14931 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14932 function.
14933 (trampoline): New struct.
14934 (trampoline_template): New const.
14935 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14936 * include/grub/dl.h (grub_dl): Add sz element.
14937 [__powerpc__]: Follow __ia64__.
14938 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14939 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14940 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14941 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14942
14943 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 ZFS crypto support.
14946
14947 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14948 * grub-core/Makefile.core.def (zfscrypt): New module.
14949 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14950 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14951 it. All users updated.
14952 (grub_zfs_decrypt): New var.
14953 (grub_zfs_load_key): Likewise.
14954 (zio_checksum_functions): Add SHA256+MAC.
14955 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14956 (zio_read): Handle encrypted blocks.
14957 (zap_verify): Remove incorrect check.
14958 (fzap_iterate): Handle non-standard fzap.
14959 (zap_iterate): Likewise.
14960 (zap_iterate_u64): New function.
14961 (dnode_get_fullpath): Load keys.
14962 * grub-core/fs/zfs/zfscrypt.c: New file.
14963 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14964 (grub_crypto_ecb_encrypt): Make input const.
14965 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14966 (grub_crypto_ecb_encrypt): Make input const.
14967 (GRUB_CIPHER_AES): New macro.
14968 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14969 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14970 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14971 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14972 prefix. All users updated.
14973 (grub_zfs_add_key): New proto.
14974 (grub_zfs_decrypt): Likewise.
14975 (grub_zfs_load_key): Likewise.
14976 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14977 * util/grub-fstest.c (options): Add -K option.
14978 (argp_parser): Likewise.
14979
14980 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 Support zle compression on ZFS.
14983
14984 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14985 (decomp_table): Add zle.
14986 * include/grub/zfs/zio.h (zio_compress): Add zle.
14987
14988 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 Support BtrFS embedding.
14991
14992 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14993 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14994 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14995 * util/grub-setup.c (setup): Use fs embedding if available.
14996 Add additional sanity check.
14997
14998 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/grub-install.in: Fix condition for config_opt.
15001
15002 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Support third redundancy strip on raidz3.
15005
15006 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15007 Return error on singularity. All users updated.
15008 (read_device): Don't stop on 3rd failure on raidz3.
15009
15010 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 Support case-insensitive ZFS subvolumes.
15013
15014 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15015 All users updated.
15016 (zap_hash): Likewise.
15017 (name_cmp): New function.
15018 (zap_leaf_array_equal): New parameter case_insensitive.
15019 All users updated.
15020 (zap_leaf_lookup): Likewise.
15021 (fzap_lookup): Likewise.
15022 (zap_lookup): Likewise.
15023 (dnode_get_path): New parameter case_insensitive. Retrieve case
15024 sensitiviness of a volume. All users updated.
15025 (dnode_get_fullpath): New parameter case_insensitive.
15026 All users updated.
15027 (grub_zfs_dir): Set info.case_insensitiveness.
15028
15029 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 Support second redundancy strip on raidz(2,3).
15032
15033 * grub-core/fs/zfs/zfs.c (powx): New array.
15034 (powx_inv): Likewise.
15035 (poly): New const.
15036 (xor_out): New function.
15037 (gf_mul): Likewise.
15038 (recovery): Likewise.
15039 (read_device): Use second redundancy strip.
15040
15041 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 Use a power of generator representation of GF(256) multiplication group
15044 to save space time and complexity.
15045
15046 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15047 (raid6_table2): Likewise.
15048 (powx): New array.
15049 (powx_inv): Likewise.
15050 (poly): New const.
15051 (grub_raid_block_mul): Replace with ...
15052 (grub_raid_block_mulx): ...this.
15053 (grub_raid6_init_table): Rewritten.
15054 (grub_raid6_recover): Use power of generator representation.
15055
15056 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15059 for the right device.
15060
15061 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15064 expected by grub-mkimage and it's more clear since there is no implicit
15065 padding.
15066
15067 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15070 disk.
15071 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15072
15073 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15074
15075 * util/grub-mkrescue.in: Fix handling xorriso option.
15076
15077 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15080 NULL.
15081
15082 2011-11-03 crocket <crockabiscuit@gmail.com>
15083
15084 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15085
15086 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 XZ CRC64 and SHA256 support.
15089
15090 * Makefile.util.def (libgrubmods): Add crc64.c.
15091 * grub-core/Makefile.core.def (crc64): New module.
15092 * grub-core/lib/crc64.c: New file.
15093 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15094 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15095 Fix the type.
15096 (MAX_HASH_SIZE): New define.
15097 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15098 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15099 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15100 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15101 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15102 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15103 Handle non-crc32 hashes.
15104 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15105 (dec_stream_header): Handle non-crc32 hashes.
15106 (dec_stream_footer): Likewise.
15107 (dec_block_header): Likewise.
15108 (dec_main): Likewise.
15109 (xz_dec_init): Likewise.
15110 (xz_dec_reset): Likewise.
15111 (xz_dec_end): Likewise.
15112 * util/import_gcry.py: Add CRC64 line.
15113
15114 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15117 as well.
15118
15119 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 Make reiserfs label retrieval similar to other *_label functions.
15122
15123 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15124 (REISERFS_MAX_LABEL_LENGTH): Removed.
15125 (REISERFS_LABEL_OFFSET): Likewise.
15126 (grub_reiserfs_label): Rewritten.
15127
15128 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15131 field.
15132
15133 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15136
15137 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15140 drive failure on both raidz and raidz2.
15141
15142 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 Fix RAIDZ(2) for >= 5 devices.
15145
15146 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15147 asize argument. All users updated.
15148
15149 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 Fix RAIDZ(2).
15152
15153 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15154 (fill_vdev_info_real): Set ashift.
15155 (read_device): Rewrite RAIDZ part based on reverse engineering.
15156
15157 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15160 don't report potentially unavialiable fields in debug output.
15161 (find_path): Fix double-free and memory leak.
15162
15163 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 Read label on UFS1.
15166
15167 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15168 (grub_ufs_fs): Always set .label.
15169
15170 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 Use shifts in UFS.
15173
15174 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15175 (grub_ufs_data): New field log2_blksz.
15176 (grub_ufs_read_file): Use shifts.
15177 (grub_ufs_mount): Check block size and logarithm it.
15178
15179 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15182 long symlinks.
15183
15184 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 Handle symlinks and long names on tar and cpio.
15187
15188 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15189 (ATTR_FILE): Likewise.
15190 (ATTR_DIR): Likewise.
15191 (ATTR_LNK): Likewise.
15192 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15193 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15194 L and K entries.
15195 (grub_cpio_mount): Zero-fill data.
15196 (handle_symlink): New function.
15197 (grub_cpio_dir): Handle symlinks.
15198 (grub_cpio_open): Likewise.
15199 (grub_cpio_close) [MODE_USTAR]: Free linkname.
15200
15201 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 Fix iso9660 filename limitations and fix memory leaks.
15204
15205 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15206 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15207
15208 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 Fix JFS file name length limitations.
15211
15212 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15213 (grub_jfs_diropen): Fix maximum filename length.
15214 (grub_jfs_getent): Fix filename length.
15215 (grub_jfs_lookup_symlink): Fix size checks.
15216
15217 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15220 string.
15221
15222 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 Leverage BFS implementation to read AFS.
15225
15226 * Makefile.util.def (libgrubmods): Add afs.c.
15227 * grub-core/Makefile.core.def (afs): New module
15228 * grub-core/fs/afs.c: New file.
15229 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15230
15231 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
15234
15235 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * grub-core/fs/bfs.c: Run indent.
15238
15239 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 BFS implementation based on the specification.
15242
15243 * grub-core/fs/bfs.c: New file.
15244 * Makefile.util.def (libgrubmods): Add bfs.c.
15245 * grub-core/Makefile.core.def (bfs): New module.
15246
15247 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 * util/grub-fstest.c (cmd_cp): Clarify error message.
15250 (cmd_cmp): Likewise.
15251
15252 2011-10-30 Yves Blusseau <blusseau@zetam.org>
15253
15254 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15255 and befs_be.
15256
15257 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 Remove afs and befs because of copyright problem.
15260
15261 * grub-core/fs/afs.c: Removed.
15262 * grub-core/fs/afs_be.c: Removed.
15263 * grub-core/fs/befs.c: Removed.
15264 * grub-core/fs/befs_be.c: Removed.
15265 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15266 * grub-core/Makefile.core.def (afs): Removed.
15267 (afs_be): Likewise.
15268 (befs): Likewise.
15269 (befs_be): Likewise.
15270
15271 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 Prefer rockridge over Joliet.
15274
15275 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15276 to ...
15277 (set_rockridge): ... here.
15278 (grub_iso9660_mount): Check rockridge on the primary label when
15279 discovering. Ignore Joliet if Rockridge is present.
15280
15281 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Use shifts in nilfs2.
15284
15285 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15286 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15287 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15288 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15289 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15290 (grub_nilfs2_entries_per_block): Replaced with ...
15291 (grub_nilfs2_log_entries_per_block_log): ... this.
15292 (grub_nilfs2_blocks_per_group): Replaced with ...
15293 (grub_nilfs2_blocks_per_group_log): ... this.
15294 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15295 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15296 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15297 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15298 (grub_nilfs2_palloc_entry_offset): Replaced ...
15299 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15300 (grub_nilfs2_dat_translate): Use shifts.
15301 (grub_nilfs2_read_inode): Likewise.
15302 (GRUB_MOD_INIT): Ensure that logs are correct.
15303
15304 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 Use shifts in minix filesystem.
15307
15308 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15309 (GRUB_MINIX_ZONE2SECT): Likewise.
15310 (grub_minix_data): Replace block_size with log_block_size.
15311 (grub_minix_read_file): Use shifts.
15312 (grub_minix_mount): Check block size and take a logarithm.
15313
15314 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Use shifts in squash4.
15317
15318 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15319 (squash_mount): Check block size and take logarithm.
15320 (direct_read): Use shifts.
15321
15322 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Correct befs block counting logic.
15325
15326 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15327 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15328 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15329 (grub_afs_read_inode): Use block_shift.
15330 (RANGE_SHIFT): New definition.
15331 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15332 unexpected conditions, use shifts and appropriate types.
15333 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15334
15335 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 * grub-core/disk/raid.c (scan_devices): Check partition.
15338 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15339
15340 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 Support BFS (befs) UUID.
15343
15344 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15345 (grub_afs_small_data_element_header): New struct.
15346 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15347 (grub_afs_read_attribute) [MODE_BFS]: New function.
15348 (grub_afs_iterate_dir): Allocate for complete inode.
15349 (grub_afs_mount): Likewise.
15350 (grub_afs_uuid) [MODE_BFS]: New function.
15351 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15352
15353 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15356 (zfs_unmount): Fix memory leak.
15357
15358 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 Support NTFS reparse points.
15361
15362 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15363 (symlink_descriptor): New struct.
15364 (grub_ntfs_read_symlink): New function.
15365 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15366 (grub_ntfs_open): Likewise.
15367
15368 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15371
15372 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 fstest xnu_uuid subcommand.
15375
15376 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15377 grub-core/commands/xnu_uuid.c.
15378 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15379 (fstest): Handle xnu_uuid.
15380 (options): Document xnu_uuid.
15381 (argp_parser): Parse xnu_uuid.
15382
15383 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15386 -l argument. Add newline at the end if printing.
15387 (GRUB_MOD_INIT): Document -l.
15388
15389 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15392
15393 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 ZFS multi-device and version 33 support.
15396
15397 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15398 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15399 (grub_zfs_data): Add multidev-ice-related fields.
15400 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15401 (dva_get_offset): Make dva const.
15402 (zfs_fetch_nvlist): New function.
15403 (fill_vdev_info_real): Likewise.
15404 (fill_vdev_info): Likewise.
15405 (check_pool_label): Likewise.
15406 (scan_disk): Likewise.
15407 (scan_devices): Likewise.
15408 (read_device): Likewise.
15409 (read_dva): Likewise.
15410 (zio_read_gang): Use read_dva.
15411 (zio_read_data): Likewise.
15412 (zap_leaf_lookup): Add missing endian conversion.
15413 (zap_verify): Add missing endian conversion. All users updated.
15414 (fzap_lookup): Likewise.
15415 (fzap_iterate): Likewise.
15416 (dnode_get_path): Handle SA bonus.
15417 (nvlist_find_value): Make input const. All users updated.
15418 (unmount_device): New function.
15419 (zfs_unmount): Use unmount_device.
15420 (zfs_mount): Use scan_disk.
15421 (zfs_mtime): New function.
15422 (grub_zfs_open): Handle system attributes.
15423 (fill_fs_info): Likewise.
15424 (grub_zfs_dir): Likewise.
15425 (grub_zfs_fs): Add mtime.
15426 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15427 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15428 (SA_MTIME_OFFSET): Likewise.
15429 (SA_SYMLINK_OFFSET): Likewise.
15430 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15431 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15432 (fstest): Support zfsinfo.
15433 (argp_parser): Likewise.
15434
15435 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15438 error.
15439
15440 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 ZFS fixes.
15443
15444 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15445 sharing the same block. Iterate over correct number of indices.
15446 (dnode_get_path): Handle symlinks correctly.
15447
15448 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15451
15452 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Read label on HFS+.
15455
15456 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15457 (grub_hfsplus_btree_search): Fix types.
15458 (grub_hfsplus_label): Implement.
15459
15460 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15463
15464 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15467
15468 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Fix symlink handling on iso9660.
15471
15472 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15473 All users updated.
15474 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15475 (grub_iso9660_read_symlink): Moved most of code ...
15476 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15477
15478 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15481 Use union to avoid breaking strict-aliasing rules.
15482
15483 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 Support multi-extent iso files.
15486
15487 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15488 Add node.
15489 (grub_fshelp_node): Revamp. All users updated.
15490 (FLAG_*): New enum.
15491 (read_node): New function.
15492 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15493 All users updated.
15494 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15495 (get_node_size): New function.
15496 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15497 entries.
15498 Fix memory leak on . and ..
15499 (grub_iso9660_read): Use read_node.
15500 (grub_iso9660_close): Free node.
15501
15502 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 Fix tar 4G limit and handle paths containing dot.
15505
15506 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15507 (canonicalize): New function.
15508 (grub_cpio_find_file): Use canonicalize. Store offs in
15509 grub_disk_addr_t.
15510 (grub_cpio_dir): Use grub_disk_addr_t.
15511 (grub_cpio_open): Likewise.
15512
15513 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15516
15517 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15518 unused flags.
15519 (grub_squash_inode): Add long_file and block_size.
15520 (grub_squash_cache_inode): New struct.
15521 (grub_squash_dirent): Make types into enum.
15522 (SQUASH_TYPE_LONG_REGULAR): New type.
15523 (grub_squash_frag_desc): Add field size.
15524 (SQUASH_BLOCK_FLAGS): New enum.
15525 (grub_squash_data): Use grub_squash_cache_inode.
15526 (grub_fshelp_node): Make ino_chunk 64-bit.
15527 (read_chunk): Minor argument change. All users updated.
15528 (squash_mount): Use correct le_to_cpu.
15529 (grub_squash_open): Handle LONG_REGULAR.
15530 (direct_read): New function.
15531 (grub_squash_read_data): Handle blocks correctly.
15532
15533 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15536
15537 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15540
15541 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 Fix 2G limit on ZFS.
15544
15545 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15546 types.
15547 (uberblock_verify): Likewise.
15548 (dmu_read): Likewise.
15549 (grub_zfs_read): Likewise. Remove invalid cast.
15550
15551 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15554 (grub_jfs_blkno): Fix incorrect shift.
15555 (grub_jfs_read_file): Use more appropriate types.
15556
15557 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 Support triple indirect on minix2 and minix3.
15560
15561 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15562 Declare triple_indir_zone.
15563 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15564 indirect.
15565
15566 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 Minix FS fixes.
15569
15570 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15571 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15572 Rename ctime to mtime. All users updated.
15573 (grub_minix_get_file_block): Fix types and double indirect computations.
15574
15575 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15578 if no label is found.
15579 (grub_fat_iterate_dir): Fix file size type.
15580 (grub_fat_iterate_dir): Likewise.
15581
15582 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15585 save some space.
15586 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15587 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15588
15589 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15592
15593 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * util/import_gcry.py: Accept space between # and include.
15596
15597 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15600
15601 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15604
15605 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15606 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15607 yylex_strncpy.
15608 * grub-core/script/yylex.l: Add fine-grained #pragma.
15609
15610 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15613 New inline function.
15614 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15615 Likewise.
15616 (memset) [GRUB_UTIL]: Likewise.
15617 (memcmp) [GRUB_UTIL]: Likewise.
15618
15619 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15622 inline function rather than a define.
15623
15624 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * util/grub-setup.c: Add missing include.
15627
15628 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 * util/ieee1275/grub-ofpathname.c: Add missing include.
15631
15632 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15635 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15636 Likewise.
15637
15638 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15641 grub_memcmp usage.
15642
15643 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * util/grub-install.in: Add datarootdir as per automake manual
15646 suggestion.
15647 * util/grub-mknetdir.in: Likewise.
15648
15649 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15652 suggestion.
15653 * util/grub.d/10_kfreebsd.in: Likewise.
15654 * util/grub.d/10_linux.in: Likewise.
15655 * util/grub.d/10_netbsd.in: Likewise.
15656 * util/grub.d/10_windows.in: Likewise.
15657 * util/grub.d/20_linux_xen.in: Likewise.
15658
15659 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 Remove redundant grub_kernel_image_size.
15662
15663 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15664 _edata and _start.
15665 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15666 the small code. It moves it only by few bytes but simplifies the code.
15667 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15668 _start.
15669 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15670 (grub_kernel_image_size): Removed.
15671 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15672 (grub_kernel_image_size): Removed.
15673 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15674 compiled with Apple toolchain.
15675 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15676 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15677 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15678 (grub_total_module_size): Likewise.
15679 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15680 Removed.
15681 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15682 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15683 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15684 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15685 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15686 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15687 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15688 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15689 Removed.
15690 (grub_total_module_size): Removed.
15691 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15692 (image_targets): Likewise.
15693 Set .compressed_size to no field on sparc.
15694 (generate_image): Remove kernel_image_size handling.
15695
15696 2011-10-19 Szymon Janc <szymon@janc.net.pl>
15697
15698 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15699 NULL pointer dereference.
15700
15701 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15704 done with a dedicated section.
15705
15706 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15707 Ensure the correct position of boot_path.
15708 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15709 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15710 other fields.
15711 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15712 * include/grub/boot.h: Removed. All references removed.
15713 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15714 Removed.
15715 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15716
15717 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15720 name.
15721
15722 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15725
15726 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15729 Don't add the bogus brackets.
15730
15731 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 ExFAT support.
15734
15735 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15736 * grub-core/Makefile.core.def (exfat): New module.
15737 * grub-core/fs/exfat.c: New file.
15738 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15739 (GRUB_FAT_ATTR_*): Make into an enum.
15740 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15741 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15742 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15743 (GRUB_FAT_MAXFILE): Removed.
15744 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15745 (grub_current_fat_bpb_t): New type.
15746 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15747 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15748 (grub_fat_dir_node_t): New type.
15749 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15750 (fat_log2) [MODE_EXFAT]: Removed.
15751 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15752 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15753 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15754 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15755 (grub_fat_label) [MODE_EXFAT]: New function.
15756 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15757 reserved_first_sector to 0.
15758
15759 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 Move grub_reboot out of the kernel.
15762
15763 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15764 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15765 * grub-core/lib/efi/reboot.c: ... here.
15766 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15767 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15768 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15769 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15770 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15771 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15772 * grub-core/lib/ieee1275/reboot.c: ... here.
15773 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15774 * grub-core/lib/mips/arc/reboot.c: ... here.
15775 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15776 * grub-core/lib/mips/loongson/reboot.c: ...here.
15777 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15778 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15779 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15780 * include/grub/i386/reboot.h: New file.
15781 * include/grub/mips/loongson/ec.h: Fix includes.
15782 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15783 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15784 * grub-core/lib/i386/reboot.c: New file.
15785
15786 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 Make grub_prefix into module to fix the arbitrary limit and save
15789 some space.
15790
15791 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15792 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15793 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15794 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15795 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15796 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15797 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15798 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15799 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15800 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15801 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15802 * include/grub/ia64/efi/kernel.h: Removed.
15803 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15804 (grub_prefix): Removed.
15805 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15806 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15807 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15808 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15809 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15810 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15811 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15812 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15813 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15814 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15815 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15816 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15817 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15818 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15819 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15820 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15821 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15822 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15823 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15824 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15825 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15826 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15827 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15828 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15829 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15830 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15831 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15832 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15833 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15834 from module.
15835 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15836 prefix_end.
15837 (image_targets): Likewise.
15838 (generate_image): Put prefix as a module.
15839
15840 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Replace grub_module_iterate with FOR_MODULES.
15843
15844 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15845 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15846 (grub_efi_modules_addr): ...this.
15847 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15848 (grub_efi_init): Set grub_modbase.
15849 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15850 (grub_modbase): New variable.
15851 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15852 (grub_modbase): New variable.
15853 (grub_machine_init): Set grub_modbase.
15854 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15855 (grub_modbase): New variable.
15856 (grub_machine_init): Set grub_modbase.
15857 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15858 (grub_modbase): New variable.
15859 (grub_machine_init): Set grub_modbase.
15860 * grub-core/kern/main.c (grub_module_iterate): Remove.
15861 (grub_modules_get_end): Use grub_modbase.
15862 (grub_load_modules): Use FOR_MODULES.
15863 (grub_load_config): Likewise.
15864 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15865 (grub_modbase): New variable.
15866 (grub_machine_init): Set grub_modbase.
15867 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15868 (grub_modbase): New variable.
15869 (grub_machine_init): Set grub_modbase.
15870 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15871 Removed.
15872 (grub_modbase): New variable.
15873 (grub_machine_init): Set grub_modbase.
15874 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15875 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15876 (grub_module_iterate): Likewise.
15877 (grub_modbase): New variable declaration.
15878 (FOR_MODULES): New macro.
15879
15880 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15883 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15884
15885 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 Fix few obvious type discrepancies.
15888
15889 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15890 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15891 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15892 variable.
15893 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15894 and connected types.
15895 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15896 offset.
15897 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15898 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15899 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15900 and connected types.
15901
15902 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Fix python 3.x incompatibilities.
15905
15906 * gentpl.py: Put brackets around print strings.
15907 * util/import_gcry.py: Open explicitly as utf-8.
15908 Use in instead of has_key.
15909
15910 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15913 (GRUB_XFS_INO_AGBITS): Make into inline function.
15914 (GRUB_XFS_INO_INOINAG): Likewise.
15915 (GRUB_XFS_INO_AG): Likewise.
15916 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15917 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15918 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15919 (GRUB_XFS_EXTENT_SIZE): Likewise.
15920 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15921 (GRUB_XFS_NEXT_DIRENT): Likewise.
15922 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15923 (grub_xfs_read_file): Fix offset type.
15924
15925 2011-10-15 Robert Millan <rmh@gnu.org>
15926
15927 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15928
15929 2011-10-15 Robert Millan <rmh@gnu.org>
15930
15931 Fix build problem on FreeBSD and GNU/kFreeBSD.
15932
15933 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15934
15935 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15938
15939 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15940 types.
15941 (grub_hfsplus_btree_recoffset): Likewise.
15942 (grub_hfsplus_btree_recptr): Likewise.
15943 (grub_hfsplus_find_block): Likewise.
15944 (grub_hfsplus_btree_search): Likewise.
15945 (grub_hfsplus_read_block): Likewise.
15946 (grub_hfsplus_read_file): Likewise.
15947 (grub_hfsplus_mount): Likewise.
15948 (grub_hfsplus_btree_iterate_node): Likewise.
15949 (grub_hfsplus_btree_search): Likewise.
15950 (grub_hfsplus_iterate_dir): Likewise.
15951 (grub_hfsplus_read): A small code simplification.
15952
15953 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15954
15955 * grub-core/kern/emu/hostdisk.c
15956 (convert_system_partition_to_system_disk): Don't assume that children
15957 of mapper nodes are mapper nodes.
15958
15959 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15962 * include/grub/misc.h (grub_isxdigit): New function.
15963 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15964 switched to grub_isxdigit.
15965 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15966 number starting with a letter.
15967
15968 2011-10-09 Robert Millan <rmh@gnu.org>
15969
15970 LVM support for FreeBSD and GNU/kFreeBSD.
15971
15972 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15973 GNU/kFreeBSD.
15974 (LVM_DEV_MAPPER_STRING): Move from here ...
15975 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15976 * util/getroot.c: Include `<grub/util/lvm.h>'.
15977 (grub_util_get_dev_abstraction): Enable
15978 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15979 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15980 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15981 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15982 support it.
15983 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15984 GNU/kFreeBSD.
15985 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15986 when LVM abstraction is required for ${GRUB_DEVICE}.
15987
15988 2011-10-06 Szymon Janc <szymon@janc.net.pl>
15989
15990 Add support for LZO compression in GRUB:
15991 - import of minilzo library,
15992 - LZO decompression for btrfs,
15993 - lzop files decompression.
15994
15995 * grub-core/io/lzopio.c: New file.
15996 * grub-core/lib/adler32.c: Likewise.
15997 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15998 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15999 * grub-core/lib/minilzo/minilzo.c: Likewise.
16000 * grub-core/lib/minilzo/minilzo.h: Likewise.
16001 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16002 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16003 grub-core/lib/minilzo/minilzo.c to common.
16004 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16005 cflags in cppflags.
16006 * grub-core/Makefile.core.def (btrfs): Likewise.
16007 * grub-core/Makefile.core.def (lzopio): New module.
16008 (adler32): Likewise.
16009 * grub-core/fs/btrfs.c: Include minilzo.h.
16010 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16011 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16012 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16013 (grub_btrfs_lzo_decompress): New function.
16014 (grub_btrfs_extent_read): Add support for LZO compression type.
16015 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16016 (GRUB_USHRT_MAX): Likewise.
16017 (GRUB_UINT_MAX): Likewise.
16018 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16019 (UINT_MAX): Likewise.
16020 (CHAR_BIT): Likewise.
16021 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16022 grub-core/lib/posix_wrap/limits.h
16023 (UCHAR_MAX): Likewise.
16024 * include/grub/file.h (grub_file_filter_id): New compression filter
16025 GRUB_FILE_FILTER_LZOPIO.
16026 * include/grub/file.h (grub_file_filter_id): Set
16027 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16028 * include/grub/types.h (grub_get_unaligned16): New function.
16029 (grub_get_unaligned32): Likewise.
16030 (grub_get_unaligned64): Likewise.
16031 * util/import_gcry.py (cryptolist): Add adler32.
16032
16033 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16036 in perspective decreases the complexity of build system and fixes
16037 compilation right now.
16038
16039 2011-10-01 Ales Nesrsta <starous@volny.cz>
16040
16041 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16042 (fixed problem related to using UHCI with coreboot).
16043
16044 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16045
16046 * gentpl.py: Use Autogen macros so that the output template file
16047 (Makefile.tpl) size is reduced.
16048
16049 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
16050
16051 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16052 extra_dist.
16053
16054 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16055
16056 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16057 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16058
16059 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16060
16061 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16062 _fullpath.
16063
16064 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16065
16066 Remove extra declaration of sleep for mingw32.
16067
16068 * util/misc.c (sleep) [__MINGW32__]: Removed.
16069 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16070
16071 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16072
16073 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16074 type and packname.
16075 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16076 Resurrected.
16077 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16078 (grub_netbsd_btinfo_bootwedge): New struct.
16079 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16080 New function.
16081 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16082
16083 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16084
16085 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16086 loader.
16087
16088 2011-09-28 Andreas Born <futur.andy@googlemail.com>
16089
16090 Fix incorrect identifiers in bash-completion.
16091
16092 * util/bash-completion.d/grub-completion.bash.in
16093 (_grub_mkpasswd-pbkdf2): Rename to ...
16094 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16095 (_grub_script-check): Rename to ...
16096 (_grub_script_check): ... this. All users updated.
16097
16098 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16101 Return 0 if disk isn't biosdisk.
16102
16103 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16104
16105 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16106 on NetBSD.
16107 * Makefile.util.def (grub-fstest): Likewise.
16108
16109 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16110
16111 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16112 Get sector size from disk label.
16113
16114 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
16115
16116 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16117 */README* as well as README*.
16118 Reported by: Axel Beckert.
16119
16120 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16123 case of less than 256 MiB of RAM.
16124
16125 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/commands/wildcard.c (make_regex): Handle @.
16128
16129 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16132
16133 2011-08-21 Szymon Janc <szymon@janc.net.pl>
16134
16135 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16136 AC_LANG_CONFTEST macros.
16137
16138 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16139
16140 Add grub-fstest option to uncompress data for commands.
16141
16142 * util/grub-fstest.c (uncompress): New var.
16143 (options): New option -u.
16144
16145 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16146
16147 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16148 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16149
16150 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16151
16152 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16153 file type was not recognized correctly (not gzip or corrupted).
16154
16155 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16158 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16159
16160 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16163 loongson.
16164 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16165 video_radeon_fuloong2e.
16166 * grub-core/video/radeon_fuloong2e.c: New file.
16167 * include/grub/video.h (grub_video_id_t): Add new ID
16168 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16169
16170 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16173 define.
16174 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16175 that PRID matches the detected subplatform and reset the subplatform
16176 if it doesn't.
16177
16178 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16181
16182 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 Fix PCI iterating on functions >= 4.
16185
16186 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16187 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16188 Removed.
16189 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16190 (grub_pci_read): Fix bitmask.
16191 (grub_pci_read_word): Likewise.
16192 (grub_pci_read_byte): Likewise.
16193 (grub_pci_write): Likewise.
16194 (grub_pci_write_word): Likewise.
16195 (grub_pci_write_byte): Likewise.
16196
16197 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16200 can still be specified in TARGET_CFLAGS)
16201
16202 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16205
16206 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16207 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16208 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16209 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16210 (FULOONG): Rename to ...
16211 (FULOONG2F): ... this. All users updated.
16212 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16213 (machtype_fuloong2f_str): ... this.
16214 (machtype_fuloong2e_str): New string.
16215 Check for machtype_fuloong2e_str.
16216 * grub-core/loader/mips/linux.c (loongson_machtypes)
16217 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16218 * grub-core/term/serial.c (loongson_defserial)
16219 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16220 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16221 loongson_defserial.
16222 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16223 Rename to ...
16224 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16225 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16226 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16227 to IMAGE_FULOONG2F_FLASH. All users updated.
16228 (image_targets): Rename images.
16229 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16230
16231 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16232
16233 Make enable of disk cache statistics code configurable.
16234
16235 * configure.ac: --enable-cache-stats added.
16236 * config.h.in (DISK_CACHE_STATS): New define.
16237 * grub-core/Makefile.core.def (cacheinfo): New command.
16238 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16239 * grub-core/commands/cacheinfo.c: New file.
16240 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16241 moved to cacheinfo.c.
16242 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16243 debug code.
16244 * include/grub/disk.h: Likewise.
16245
16246 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16247
16248 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16249 * grub-core/Makefile.am: Likewise.
16250
16251 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16254 non-zero pull.
16255
16256 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16259 All users updated.
16260 (grub_jfs_lookup_symlink): Use correct starting inode.
16261
16262 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * util/grub-setup.c (main): Add missing gcry initialisation.
16265
16266 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 Don't accept text modes on EFI when booting Linux.
16269
16270 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16271 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16272
16273 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
16274 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16275
16276 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16277 use of "/path/.." as in grub-install for EFI as well as handling
16278 symlinks correctly.
16279 Fixes Debian bug #637768.
16280
16281 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * util/grub-probe.c: Remove duplicate #include.
16284
16285 2011-08-10 Robert Millan <rmh@gnu.org>
16286
16287 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16288
16289 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16290 function.
16291 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16292 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16293
16294 2011-08-03 Robert Millan <rmh@gnu.org>
16295
16296 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16297 la_array as packed.
16298 Reported by: Zachary Bedell
16299
16300 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16301
16302 * configure.ac: The Loongson port requires grub-mkfont due to its
16303 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16304 be built.
16305
16306 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16309 processing arguments (otherwise help2man fails when GRUB has not yet
16310 been installed).
16311
16312 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 New script grub-mkstandalone.
16315
16316 * Makefile.util.def (grub-mkstandalone): New script.
16317 * docs/man/grub-mkstandalone.h2m: New file.
16318 * util/grub-mkstandalone.in: Likewise.
16319
16320 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 Support ATA disks with 4K sectors.
16323
16324 * include/grub/ata.h (grub_ata): New member log_sector_size.
16325 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16326 (grub_ata_identify): Read sector size.
16327 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16328
16329 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * util/grub-install.in: Don't use uhci outside of x86.
16332
16333 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * util/grub-mkrescue.in: Add missing quotes.
16336
16337 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16340 dereference.
16341
16342 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16345
16346 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * include/grub/video.h: add missing EXPORT_FUND on
16349 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16350
16351 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * include/grub/mips/kernel.h: Fix define conflict.
16354
16355 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16358 all four ways.
16359
16360 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
16361
16362 Preferred resolution detection for VBE.
16363
16364 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16365 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16366 the Flat Panel extension, in line with the X.org VESA driver.
16367 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16368 New function.
16369 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16370 (grub_vbe_bios_read_edid): Likewise.
16371 (grub_vbe_get_preferred_mode): Likewise.
16372 (grub_video_vbe_setup): When the mode is "auto", try to get the
16373 preferred mode from VBE, and use the largest mode that is no larger
16374 than the preferred mode (some BIOSes expose a preferred mode that is
16375 not in their mode list!). If this fails, fall back to 640x480 as a
16376 safe conservative choice.
16377 (grub_video_vbe_get_edid): New function.
16378 (grub_video_vbe_adapter): Add get_edid.
16379 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16380 (struct grub_video_adapter): Add get_edid.
16381 (grub_video_edid_checksum): Add prototype.
16382 (grub_video_edid_preferred_mode): Likewise.
16383 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16384 structure.
16385
16386 * grub-core/commands/videoinfo.c (print_edid): New function.
16387 (grub_cmd_videoinfo): Print EDID if available.
16388
16389 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16390 is more appropriate on a wider range of platforms than 640x480.
16391 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16392 documentation.
16393
16394 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16397
16398 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 * po/POTFILES.in: Regenerate.
16401
16402 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16405 incorrect memory usage.
16406
16407 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * util/grub-install.in: Source grub-mkconfig_lib.
16410
16411 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 Remove getroot.c from core on emu platform.
16414
16415 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16416 kern/emu/raid.c.
16417 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16418 useless.
16419 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16420 * util/getroot.c (get_win32_path): ... here.
16421 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16422 * util/getroot.c (fini_libzfs): ... here.
16423 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16424 * util/getroot.c (grub_get_libzfs_handle): ... here.
16425 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16426 Moved from here...
16427 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16428 * grub-core/kern/emu/misc.c
16429 (grub_make_system_path_relative_to_its_root): Moved from here...
16430 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16431 * grub-core/kern/emu/getroot.c: Moved from here ...
16432 * util/getroot.c: ... here. All users updated.
16433 * grub-core/kern/emu/raid.c: Moved from here ...
16434 * util/raid.c: ... here. All users updated.
16435
16436 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * po/POTFILES.in: Regenerate.
16439
16440 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Fix compilation on GNU/Linux.
16443
16444 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16445 Disable geli.
16446 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16447 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16448 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16449
16450 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16451 2011-07-07 Michael Gorven <michael@gorven.za.net>
16452 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16453
16454 LUKS and GELI support.
16455
16456 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16457 grub-core/disk/luks.c, grub-core/disk/geli.c,
16458 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16459 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16460 grub-core/lib/arg.c.
16461 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16462 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16463 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16464 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16465 (grub-bin2h): Add libgcry.a.
16466 (grub-mkimage): Likewise.
16467 (grub-mkrelpath): Likewise.
16468 (grub-script-check): Likewise.
16469 (grub-editenv): Likewise.
16470 (grub-mkpasswd-pbkdf2): Likewise.
16471 (grub-pe2elf): Likewise.
16472 (grub-fstest): Likewise.
16473 (grub-mkfont): Likewise.
16474 (grub-mkdevicemap): Likewise.
16475 (grub-probe): Likewise.
16476 (grub-ofpath): Likewise.
16477 (grub-mklayout): Likewise.
16478 (example_unit_test): Likewise.
16479 (grub-menulst2cfg): Likewise.
16480 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16481 * grub-core/Makefile.core.def (cryptodisk): New module.
16482 (luks): Likewise.
16483 (geli): Likewise.
16484 * grub-core/disk/AFSplitter.c: New file.
16485 * grub-core/disk/cryptodisk.c: Likewise.
16486 * grub-core/disk/geli.c: Likewise.
16487 * grub-core/disk/luks.c: Likewise.
16488 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16489 grub_util_is_lvm.
16490 (grub_util_get_dm_abstraction): New function.
16491 (grub_util_follow_gpart_up): Likewise.
16492 (grub_util_get_geom_abstraction): Likewise.
16493 (grub_util_get_dev_abstraction): Use new functions.
16494 (grub_util_pull_device): Pull GELI and LUKS.
16495 (grub_util_get_grub_dev): Handle LUKS and GELI.
16496 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16497 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16498 (follow_geom_up): Removed.
16499 (grub_util_fd_seek): New function.
16500 (open_device): Use grub_util_fd_seek.
16501 (nread): Rename to ..
16502 (grub_util_fd_read): ... this. All users updated.
16503 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16504 (grub_crypto_cbc_decrypt): Likewise.
16505 (grub_crypto_hmac_write): Likewise.
16506 (grub_crypto_hmac_buffer): Likewise.
16507 (grub_password_get): Extend to util.
16508 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16509 New member modname.
16510 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16511 * include/grub/cryptodisk.h: New file.
16512 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16513 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16514 LUKS and GELI.
16515 (grub_util_follow_gpart_up): New proto.
16516 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16517 (grub_util_fd_read): Likewise.
16518 (grub_cryptodisk_cheat_mount): Likewise.
16519 (grub_util_cryptodisk_print_uuid): Likewise.
16520 (grub_util_get_fd_sectors): Likewise.
16521 * util/grub-fstest.c (mount_crypt): New var.
16522 (fstest): Mount crypto if requested.
16523 (options): New option -C.
16524 (argp_parser): Parse -C.
16525 (main): Init and fini gcry.
16526 * util/grub-install.in: Support cryptodisk install.
16527 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16528 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16529 cryptodisk.
16530 (prepare_grub_to_access_device): Likewise.
16531 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16532 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16533 (probe_cryptodisk_uuid): New function.
16534 (probe_abstraction): Likewise.
16535 (probe): Use new functions.
16536 * util/import_gcry.py: Create Makefile.utilgcry.def.
16537 Add modname member.
16538
16539 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 Lazy device scanning.
16542
16543 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16544 (grub-setup): Remove util/raid.c.
16545 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16546 * grub-core/disk/lvm.c (scan_depth): New variable.
16547 (grub_lvm_iterate): Rescan if necessary.
16548 (find_lv): New function based on grub_lvm_open.
16549 (grub_lvm_open): Use find_lv. Rescan on error.
16550 (is_node_readable): New function.
16551 (is_lv_readable): Likewise.
16552 (grub_lvm_scan_device): Skip already found disks.
16553 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16554 Stop if searched device is found and readable.
16555 * grub-core/disk/raid.c (inscnt): New variable.
16556 (scan_depth): Likewise.
16557 (scan_devices): New function based on grub_raid_register. Abort if
16558 looked for device is found.
16559 (grub_raid_iterate): Rescan if needed.
16560 (find_array): NEw function based on -grub_raid_open.
16561 (grub_raid_open): Use find_array and rescan.
16562 (insert_array): Set became_readable_at.
16563 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16564 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16565 New function.
16566 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16567 (grub_util_pull_device): New function.
16568 (grub_util_get_grub_dev): Call grub_util_pull_device.
16569 * util/raid.c: Moved to ..
16570 * grub-core/kern/emu/raid.c: ... here.
16571 (grub_util_raid_getmembers): New parameter "bootable".
16572 All users updated. Support 1.x.
16573 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16574 All users updated.
16575 * include/grub/disk.h (grub_disk_pull_t): New enum.
16576 (grub_disk_dev): Change iterate prototype.
16577 All users updated.
16578 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16579 New proto.
16580 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16581 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16582 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16583 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16584 All users updated.
16585 * include/grub/util/raid.h: Removed.
16586
16587 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * po/POTFILES.in: Regenerate.
16590
16591 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 Unify sparc init with other ieee1275.
16594
16595 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16596 instead of kern/sparc64/ieee1275/init.c.
16597 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16598 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16599 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16600 grub/machine/kernel.h.
16601 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16602 (grub_claim_heap) [__sparc__]: Use sparc version.
16603 (grub_machine_init): Moved args parsing to
16604 (grub_parse_cmdline): ...this.
16605 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16606 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16607 New definition.
16608 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16609
16610 Move BOOTP to separate file.
16611
16612 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16613 * grub-core/net/net.c: Move all BOOTP functions to
16614 * grub-core/net/bootp.c: ... here.
16615
16616 Use frame interface on PXE.
16617
16618 * grub-core/Makefile.core.def (pxecmd): Removed.
16619 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16620 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16621 * grub-core/i386/pc/pxe.c: Moved from here ...
16622 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16623 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16624 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16625
16626 EFI network support.
16627
16628 * grub-core/Makefile.core.def (efinet): New module.
16629 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16630 here...
16631 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16632 All users updated.
16633 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16634 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16635 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16636 * grub-core/net/drivers/efi/efinet.c: New file.
16637 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16638 (grub_efi_net_config): New extern var.
16639
16640 Various cleanups and bugfixes.
16641
16642 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16643 error.
16644 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16645 disk declared as partition.
16646 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16647 leak on failure.
16648 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16649 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16650 (grub_debug_zalloc): Likewise.
16651 (grub_debug_realloc): Likewise.
16652 (grub_debug_memalign): Likewise.
16653 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16654 Check that target is IPv4.
16655 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16656 local-mac-address as fallback.
16657 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16658 memory leak.
16659 * grub-core/net/ip.c (ipchksum): Rename to ...
16660 (grub_net_ip_chksum): ... this. All users updated.
16661 (grub_net_recv_ip_packets): Special handling for DHCP.
16662 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16663
16664 Unify prefix handling
16665
16666 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16667 (grub_machine_get_bootlocation): ... this.
16668 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16669 (grub_machine_get_bootlocation): ... this.
16670 (grub_prefix): New variable.
16671 (prefix): Removed.
16672 (root_dev): New variable.
16673 (dir): Likewise.
16674 (main): Use new variables.
16675 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16676 Revamped into ...
16677 (grub_machine_get_bootlocation): ... this.
16678 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16679 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16680 (grub_machine_get_bootlocation): ... this.
16681 (grub_machine_set_prefix): Removed.
16682 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16683 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16684 Revamped into ...
16685 (grub_machine_get_bootlocation): ... this.
16686 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16687 (grub_set_prefix_and_root): ... this. All users updated.
16688 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16689 Revamped into ...
16690 (grub_machine_get_bootlocation): ... this.
16691 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16692 (grub_machine_get_bootlocation): New proto.
16693 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16694
16695 Less intrusive and more reliable seek on network implementation.
16696
16697 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16698 (grub_file_seek): Don't call grub_file_net_seek.
16699 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16700 (grub_net_fs_read_real): .. this.
16701 (grub_net_seek_real): Use net->offset.
16702 (grub_net_fs_read): Seek if necessary.
16703
16704 Unify IEEE1275 netwotk config with the other platforms.
16705
16706 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16707 New variable.
16708 (grub_machine_get_bootlocation): Support network.
16709 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16710 Support type and device parsing.
16711 (grub_ieee1275_get_device_type): New function.
16712 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16713 into ...
16714 (grub_ieee1275_net_config_real): ... this.
16715 (grub_ofnet_probecards): Removed.
16716 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16717 * include/grub/ieee1275/ofnet.h: Removed.
16718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16719 extern var.
16720 (grub_ieee1275_get_device_type): New function.
16721
16722 Unify network device closing across platforms and make more robust.
16723
16724 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16725 grub_grubnet_fini.
16726 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16727 already.
16728 * grub-core/net/net.c (grub_net_network_level_interface_register):
16729 Update num_ifaces.
16730 (grub_net_card_unregister): Close all interfaces.
16731 (receive_packets): Don't poll if no iterfaces are registered.
16732 Open if necessary.
16733 (grub_net_fini_hw): New function.
16734 (grub_net_restore_hw): Likewise.
16735 (fini_hnd): New variable.
16736 (GRUB_MOD_INIT): Register preboot hook.
16737 (GRUB_MOD_FINI): Run and unregister preboot hook.
16738
16739 Poll network cards when idle.
16740
16741 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16742 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16743 * grub-core/net/net.c (receive_packets): Save last poll time.
16744 (grub_net_poll_cards_idle_real): New function.
16745 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16746 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16747 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16748
16749 Rename ofnet interfaces.
16750
16751 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16752 (grub_ofnet_findcards): Use ofnet_%s names.
16753
16754 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16755
16756 Cleanup socket opening.
16757
16758 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16759 (grub_net_fs_close): Likewise.
16760 (grub_net_fs_read_real): Use eof member.
16761 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16762 (+grub_net_udp_close): New inline function.
16763
16764 * include/grub/net/tftp.h: Moved to the top of ...
16765 * grub-core/net/tftp.c: ... here.
16766 * include/grub/net/ip.h: Moved mostly to the top of ...
16767 * grub-core/net/ip.c: ... here.
16768 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16769 * grub-core/net/ethernet.c: ... here.
16770
16771 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16772
16773 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16774 FS name.
16775
16776 * include/grub/net/ip.h (ipv4_ini): Removed.
16777 (ipv4_fini): Likewise.
16778
16779 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16780 (grub_net_send_ip_packets): Likewise.
16781
16782 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16785 grub_read_cmos prototype.
16786
16787 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 VGA text support in qemu-mips
16790
16791 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16792 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16793 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16794 text.
16795 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16796 * grub-core/kern/vga_init.c: ... this.
16797 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16798 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16799 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16800 Adjust.
16801 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16802 GRUB_MACHINE_PCI_IO_BASE.
16803
16804 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 MIPS qemu flash support.
16807
16808 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16809 magic.
16810 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16811 (grub_machine_init): Probe memory if its size isn't known.
16812 * util/grub-mkimage.c (image_targets): Add flash targets.
16813 (generate_image): Handle flash targets.
16814
16815 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 MIPS qemu at_keyboard support.
16818
16819 * gentpl.py (videoinkernel): Add qemu-mips.
16820 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16821 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16822 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16823 modules.
16824 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16825 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16826 * grub-core/term/serial.c (grub_serial_register)
16827 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16828
16829 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 CMOS support on sparc.
16832
16833 * gentpl.py (cmos): Add powerpc and sparc.
16834 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16835 powerpc and sparc.
16836 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16837 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16838 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16839 grub_set_datetime_cmos.
16840 * grub-core/lib/ieee1275/cmos.c: New file.
16841 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16842 (find_rtc): Set no_ieee1275_rtc on error.
16843 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16844 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16845 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16846 fail. Move value to argument. All users updated
16847 (grub_cmos_write): Likewise.
16848 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16849 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16850 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16851 grub_get_datetime_cmos and grub_set_datetime_cmos.
16852
16853 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16854
16855 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16856 sourcing grub-mkconfig_lib.
16857 * util/update-grub_lib.in: Likewise.
16858 * util/grub.d/00_header.in: Likewise.
16859 * util/grub.d/10_hurd.in: Likewise.
16860 * util/grub.d/10_kfreebsd.in: Likewise.
16861 * util/grub.d/10_linux.in: Likewise.
16862 * util/grub.d/10_netbsd.in: Likewise.
16863 * util/grub.d/10_windows.in: Likewise.
16864 * util/grub.d/20_linux_xen.in: Likewise.
16865 * util/grub.d/30_os-prober.in: Likewise.
16866
16867 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16870 default_bg_color rather than black.
16871 (grub_gfxterm_fullscreen): Likewise.
16872 (grub_gfxterm_background_color_cmd): Save new background color in
16873 default_bg_color.
16874
16875 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16876
16877 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16878
16879 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16882 mismerge.
16883
16884 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 Chainloading on coreboot support.
16887
16888 * grub-core/Makefile.core.def (chain): Add coreboot.
16889 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16890
16891 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16894 if it happens.
16895
16896 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 Implement time command.
16899
16900 * grub-core/Makefile.core.def (time): New module.
16901 * grub-core/commands/time.c: New file.
16902 * grub-core/script/parser.y: Remove "time" keyword.
16903 * grub-core/script/yylex.l: Likewise.
16904
16905 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16908
16909 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16912 when handling leftovers.
16913
16914 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16917 so that help2man doesn't fail.
16918
16919 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16922 type in pointers on sparc64.
16923 (get_card_packet): Likewise.
16924
16925 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
16926
16927 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16928 with `*'.
16929 (grub_cmd_videoinfo): Fetch current video mode.
16930
16931 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16934 because of underlying system restrictions.
16935
16936 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16939 necessary.
16940
16941 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 Coreboot video support.
16944
16945 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16946 (vbe): Likewise.
16947 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16948 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16949 here ...
16950 * grub-core/kern/i386/int.S: ... here.
16951 * grub-core/video/i386/pc/vbe.c: Updated includes.
16952 * grub-core/video/i386/pc/vga.c: Likewise.
16953 * include/grub/i386/coreboot/memory.h
16954 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16955 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16956 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16957 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16958 Disable interrupts.
16959 * include/grub/i386/pc/vga.h: Removed. All users updated.
16960
16961 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16964 definitions for dprintf.
16965 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16966
16967 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16970 prototype.
16971 (get_card_packet): Likewise.
16972
16973 2011-06-26 Yves Blusseau <blusseau@zetam.org>
16974
16975 Display the path of the file when file is not found
16976
16977 * grub-core/fs/fat.c: Display the filename when file is not found.
16978 * grub-core/fs/fshelp.c: Likewise.
16979 * grub-core/fs/hfs.c: Likewise.
16980 * grub-core/fs/jfs.c: Likewise.
16981 * grub-core/fs/minix.c: Likewise.
16982 * grub-core/fs/ufs.c: Likewise.
16983 * grub-core/fs/btrfs.c: Likewise.
16984 * grub-core/commands/i386/pc/play.c: Likewise.
16985
16986 2011-06-26 Szymon Janc <szymon@janc.net.pl>
16987
16988 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16989 pointer checks before calling grub_free().
16990 * grub-core/commands/wildcard.c (match_devices): Likewise.
16991 * grub-core/commands/wildcard.c (match_files): Likewise.
16992 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16993 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16994 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16995 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16996 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16997 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16998 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16999 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17000 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17001
17002 2011-06-25 Patrick <p55@mailinator.com>
17003
17004 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17005
17006 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17009 (grub_pxe_send): Likewise.
17010 (GRUB_MOD_INIT): Fix types.
17011
17012 2011-06-24 Szymon Janc <szymon@janc.net.pl>
17013
17014 * grub-core/io/xzio.c: Fix code style issues
17015
17016 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17017 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
17018
17019 Network infrastructure.
17020 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17021
17022 * include/grub/net/arp.h: New file.
17023 * include/grub/net/device.h: Likewise.
17024 * include/grub/net/ethernet.h: Likewise.
17025 * include/grub/net/ip.h: Likewise.
17026 * include/grub/net/netbuff.h: Likewise.
17027 * include/grub/net/tftp.h: Likewise.
17028 * include/grub/net/udp.h: Likewise.
17029 * include/grub/ieee1275/ofnet.h: Likewise.
17030 * include/grub/emu/export.h: Likewise.
17031 * include/grub/net.h: Likewise.
17032 * grub-core/net/arp.c: Likewise.
17033 * grub-core/net/ethernet.c: Likewise.
17034 * grub-core/net/ip.c: Likewise.
17035 * grub-core/net/udp.c: Likewise.
17036 * grub-core/net/tftp.c: Likewise.
17037 * grub-core/net/netbuff.c: Likewise.
17038 * grub-core/net/net.c: Likewise.
17039 * grub-core/net/drivers/emu/emunet.c: Likewise.
17040 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17041 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17042 export.h.
17043 * grub-core/Makefile.core.def (net): New module.
17044 (tftp): Likewise.
17045 (ofnet): Likewise.
17046 (emunet): Likewise.
17047 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17048 network protocols.
17049 * grub-core/kern/device.c (grub_net_open) : New variable.
17050 (grub_device_open): Handle network device.
17051 (grub_device_close): Likewise.
17052 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17053 (grub_grubnet_fini): Likewise.
17054 (grub_file_seek): Seek in network device.
17055 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17056 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17057 network root.
17058 (grub_machine_fini): Call grub_grubnet_fini.
17059 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17060 network.
17061 (grub_ieee1275_get_aliasdevname): New function.
17062 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17063 Add unofficial Solaris network info.
17064 (grub_multiboot_make_mbi): Likewise.
17065 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17066 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17067 * include/grub/device.h (grub_fs): Removed.
17068 * include/grub/err.h (grub_err_t): Add network-related values.
17069 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17070 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17071 (grub_ieee1275_get_aliasdevname): New proto.
17072 * include/grub/net.h: Rewritten.
17073
17074 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17077 names.
17078
17079 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17082 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17083 it truncates the output.
17084 Reported by: Ximin Luo.
17085
17086 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17089
17090 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17093 partmap before abstraction.
17094
17095 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17096
17097 * util/grub-mkconfig_lib.in: Add missing quotes.
17098
17099 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17102 old method if mountinfo would return /dev/root and /dev/root doesn't
17103 exist.
17104
17105 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 ZFS zlib support
17108
17109 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17110 (decomp_table): Add zlib entries.
17111 (zio_read): USe 8 bits for compression function rather than 3.
17112 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17113
17114 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * grub-core/disk/ahci.c: Add missing license statements.
17117 * grub-core/fs/romfs.c: Likewise.
17118 * grub-core/lib/ia64/setjmp.S: Likewise.
17119 * grub-core/loader/i386/pc/freedos.c: Likewise.
17120 * grub-core/loader/ia64/efi/linux.c: Likewise.
17121 * grub-core/video/colors.c: Likewise.
17122 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17123
17124 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 AHCI support.
17127
17128 * grub-core/Makefile.core.def (ata_pthru): Removed.
17129 (ahci): New module.
17130 (pata): Likewise.
17131 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17132 on unload.
17133 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17134 readwrite.
17135 (grub_hdparm_do_check_powermode_cmd): Likewise.
17136 (grub_hdparm_do_smart_cmd): Likewise.
17137 (grub_hdparm_set_val_cmd): Likewise.
17138 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17139 * grub-core/disk/ahci.c: New file.
17140 * grub-core/disk/ata.c: Factor out the low-level part into ...
17141 * grub-core/disk/pata.c: ... here.
17142 * grub-core/disk/ata_pthru.c: Contents moved to ...
17143 * grub-core/disk/pata.c: ... here.
17144 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17145 (grub_scsi_iterate): Use grub_scsi_names.
17146 (grub_scsi_open): Likewise.
17147 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17148 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17149 (grub_ata_regs_t): New struct.
17150 (grub_disk_ata_pass_through_parms): Likewise.
17151 (grub_ata_device): Renamed to ...
17152 (grub_ata): ... this.
17153 (grub_ata_dev): New struct.
17154 Removed all low-level inline functions.
17155 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17156 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17157 iterate hooks and open. All users updated.
17158 * util/grub-install.in: Handle AHCI disk module.
17159
17160 2011-06-23 Szymon Janc <szymon@janc.net.pl>
17161
17162 Add support for DRI and RSTn markers in JPEG files.
17163
17164 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17165 (JPEG_MARKER_RST0): Likewise.
17166 (JPEG_MARKER_RST1): Likewise.
17167 (JPEG_MARKER_RST2): Likewise.
17168 (JPEG_MARKER_RST3): Likewise.
17169 (JPEG_MARKER_RST4): Likewise.
17170 (JPEG_MARKER_RST5): Likewise.
17171 (JPEG_MARKER_RST6): Likewise.
17172 (JPEG_MARKER_RST7): Likewise.
17173 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17174 (grub_jpeg_decode_dri): New function.
17175 (grub_jpeg_decode_sos): Move image data related part into
17176 grub_jpeg_decode_data function.
17177 (grub_jpeg_decode_data): New function.
17178 (grub_jpeg_reset): New function.
17179 (grub_jpeg_decode_jpeg): Handle new markers.
17180
17181 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * util/ieee1275/ofpath.c (check_sas): Close fd.
17184 (main): Free of_path.
17185 Reported by: David Volgyes <dvolgyes>.
17186
17187 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17190 Reported by: David Volgyes <dvolgyes>.
17191
17192 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17195 file after stat.
17196 Reported by: David Volgyes <dvolgyes>.
17197
17198 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17201
17202 Reported by: David Volgyes <dvolgyes>.
17203
17204 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17207 Prevent memory leak.
17208
17209 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17210
17211 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17212 (main): Close file.
17213 Reported by: David Volgyes <dvolgyes>.
17214
17215 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17218 to continue if allocation is failed.
17219
17220 Reported by: David Volgyes <dvolgyes>.
17221
17222 2011-06-23 David Volgyes <dvolgyes>
17223
17224 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17225 dereference.
17226
17227 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 Fix spurious warning.
17230
17231 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17232 (acorn_partition_map_find): Use .bin member.
17233
17234 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17237 /dev/root as a valid device.
17238
17239 2011-06-23 Jim Meyering <meyering@redhat.com>
17240
17241 Avoid NULL deref in grub_device_open.
17242
17243 * grub-core/kern/device.c (grub_device_open): Don't dereference
17244 a NULL pointer upon failed grub_env_get.
17245
17246 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 Support non-512B sectors and agglomerate reads.
17249
17250 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17251 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17252 (disk_io_guid): Removed.
17253 (make_devices): Locate solely by BlockIO.
17254 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17255 (grub_efidisk_read): Use read_blocks.
17256 (grub_efidisk_write): Use write_blocks.
17257 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17258 log_sector_size.
17259 (get_safe_sectors): Handle non-512B sectors.
17260 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17261 sectors.
17262 (grub_biosdisk_write): Handle non-512B sectors.
17263 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17264 (grub_scsi_read): Remove special non-512B block handling (now handled
17265 one level up).
17266 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17267 and do sanity checks.
17268 (grub_disk_adjust_range): Handle non-512B sectors.
17269 (transform_sector): New function.
17270 (grub_disk_read_small): Likewise.
17271 (grub_disk_read): Rewritten.
17272 (grub_disk_write): Handle non-512B sectors.
17273 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17274 log_sector_size.
17275 (open_device): Use log_sector_size.
17276 (grub_util_biosdisk_read): Likewise.
17277 (grub_util_biosdisk_write): Likewise.
17278 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17279 non-512B sectors.
17280 (pc_partition_map_embed): Likewise.
17281 * include/grub/disk.h (grub_disk): New field log_sector_size.
17282 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17283 (GRUB_DISK_CACHE_BITS): Increased to 6.
17284 * util/grub-fstest.c (fstest): New command testload.
17285 (argp_parser): Likewise.
17286
17287 2011-06-16 Robert Millan <rmh@gnu.org>
17288
17289 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17290 `ata' driver on kernel of FreeBSD 9.
17291
17292 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17293 (get_ataraid_disk_name): New functions.
17294 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17295 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17296 get_ataraid_disk_name() and get_ada_disk_name().
17297
17298 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17301 input format.
17302
17303 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
17304
17305 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17306 `ftp.gnu.org' for `alpha.gnu.org'.
17307
17308 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17309
17310 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17311 partitions under /dev/disk/by-id/.
17312
17313 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17314
17315 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17316 after ten consecutive open failures. Scanning all the way up to
17317 10000 is excessive and can cause serious performance problems in
17318 some configurations.
17319 Fixes Ubuntu bug #787461.
17320
17321 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17324 opening new one.
17325
17326 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
17327 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 Don't stat devices unless we have to.
17330
17331 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17332 dir == /dev/mapper.
17333 (grub_guess_root_device): Use already known os_dev if possible.
17334 * grub-core/kern/emu/hostdisk.c
17335 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17336 if device is known to be a dm one.
17337
17338 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
17339
17340 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17341 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17342 Reported by: Pawel Tecza.
17343
17344 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17347 (lsefisystab): Likewise.
17348 (lssal): Likewise.
17349 (lsefimmap): Likewise.
17350 (hdparm): Enable on qemu-mips.
17351 (setjmp): Add ia64 nodist.
17352 (serial): Simplify tags.
17353
17354 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17355
17356 * Makefile.util.def (grub-ofpathname): Install manual page.
17357
17358 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17359
17360 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17361
17362 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17363
17364 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17365
17366 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17369 into dprintf.
17370
17371 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 Use full 64-bit division.
17374
17375 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17376 (grub_divmod64): ... this.
17377 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17378 version.
17379
17380 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17381
17382 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17383 `source'.
17384
17385 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17386
17387 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17388 to avoid accidents when debugging with 'sh -x'.
17389 * grub-core/gensyminfo.sh.in: Likewise.
17390 * tests/example_scripted_test.in: Likewise.
17391 * tests/grub_cmd_regexp.in: Likewise.
17392 * tests/grub_script_blanklines.in: Likewise.
17393 * tests/grub_script_dollar.in: Likewise.
17394 * tests/grub_script_expansion.in: Likewise.
17395 * tests/grub_script_final_semicolon.in: Likewise.
17396 * tests/partmap_test.in: Likewise.
17397 * tests/util/grub-shell-tester.in: Likewise.
17398 * tests/util/grub-shell.in: Likewise.
17399
17400 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17401
17402 Move gfxmenu color handling to video, so that gfxterm can use it
17403 too.
17404
17405 * grub-core/gfxmenu/named_colors.c: Move to ...
17406 * grub-core/video/colors.c: ... here. Rename
17407 grub_gui_get_named_color to grub_video_get_named_color.
17408 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17409 * grub-core/video/colors.c (my_isxdigit): ... here.
17410 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17411 Move to ...
17412 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17413 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17414 to ...
17415 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17416
17417 * include/grub/gui.h (grub_gui_color_t): Move to ...
17418 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17419 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17420 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17421 * include/grub/gui.h (grub_gui_map_color): Move to ...
17422 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17423 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17424 to ...
17425 * include/grub/video.h (grub_video_get_named_color): ... here.
17426 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17427 * include/grub/video.h (grub_video_parse_color): ... here.
17428
17429 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17430 video/colors.c.
17431 (gfxmenu): Remove gfxmenu/named_colors.c.
17432 (video) [videomodules]: Add video/colors.c.
17433
17434 Add a background_color command.
17435
17436 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17437 function.
17438 (GRUB_MOD_INIT): Register background_color command.
17439 (GRUB_MOD_FINI): Unregister background_color command.
17440 (redraw_screen_rect): Allow blend/replace of text layer to be
17441 controlled independently from whether there is a background bitmap.
17442 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17443 changing bitmap.
17444
17445 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 Patch BPB in ntldr and chainloader --bpb.
17448
17449 * grub-core/fs/fat.c: Include grub/fat.h.
17450 (grub_fat_bpb): Moved to ...
17451 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17452 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17453 grub/ntfs.h.
17454 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17455 Moved from here...
17456 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17457 here.
17458 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17459 New function.
17460 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17461 (GRUB_MOD_INIT): Show --bpb.
17462 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17463 * grub-core/normal/main.c (features): New variable.
17464 (GRUB_MOD_INIT): Set feature_* variables.
17465 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17466 proto.
17467 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17468
17469 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17472 for cleanness.
17473
17474 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 FreeDOS direct loading support.
17477
17478 * docs/grub.texi (Supported OS): Add FreeDOS.
17479 * grub-core/Makefile.core.def (freedos): New module.
17480 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17481 variable.
17482 (grub_relocator16_boot): Handle %ebx.
17483 * grub-core/lib/i386/relocator16.S: Likewise.
17484 * grub-core/loader/i386/pc/freedos.c: New file.
17485
17486 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 Long Linux command line support.
17489
17490 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17491 (maximal_cmdline_size): New variable.
17492 (allocate_pages): Use maximal_cmdline_size.
17493 (grub_cmd_linux): Set and use maximal_cmdline_size.
17494 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17495 (allocate_pages): Use maximal_cmdline_size.
17496 (grub_cmd_linux): Set and use maximal_cmdline_size.
17497 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17498 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17499 and cmdline_size.
17500
17501 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17502 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17503
17504 Improve devmapper support
17505
17506 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17507 (grub_util_is_lvm): New function.
17508 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17509 than lvm if not dmraid.
17510 Handle mapped md nodes.
17511 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17512 (grub_util_device_is_mapped): ... this. Make always available. All users
17513 updated.
17514 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17515 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17516 dmraid nodes.
17517 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17518
17519 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17522
17523 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17524 * grub-core/modinfo.sh.in: New file.
17525 * grub-core/Makefile.core.def (modinfo.sh): New script.
17526 * util/grub-mknetdir.in: Use modinfo.sh.
17527 * util/grub-mkrescue.in: Likewise.
17528
17529 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17532 Fix potential usage of Elf32 instead of Elf64 when compiling on
17533 32-bit architecture. Add endianness macros while on it.
17534
17535 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 Use mipsel- rather than mips- in directories involving mipsel ports to
17538 allow both endiannesses coexist.
17539
17540 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17541 mips. All conditions adjusted.
17542 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17543 variable.
17544 * util/grub-install.in: Adjust conditions to take renaming into account.
17545 * util/grub-mkimage.c (image_targets): Likewise. New target
17546 mips-qemu_mips-elf for bigendian mips.
17547
17548 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 Avoid unnecessary copying on MIPS.
17551
17552 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17553 early if src == dest.
17554 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17555 compression is none.
17556
17557 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 Reduce memory footprint on SGI by putting modules before the kernel
17560 as opposed to after.
17561
17562 * grub-core/Makefile.core.def (kernel): Increase linking address.
17563 (none_decompress): Likewise.
17564 (xz_decompress): Likewise.
17565 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17566 address.
17567 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17568 layout change.
17569 (grub_arch_modules_addr): New function.
17570 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17571 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17572 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17573 here.
17574 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17575 (grub_total_modules_size): ... this. Make global.
17576 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17577 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17578 New definition.
17579 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17580 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17581 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17582 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17583 * util/grub-mkimage.c (image_target_desc): New flag
17584 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17585 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17586 (generate_image): Handle images with modules before kernel.
17587
17588 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17589
17590 Prevent potential loss of memory map by overwrite on qemu-mips.
17591
17592 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17593 Save ram size in $s4.
17594 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17595 All users changed to grub_arch_memsize.
17596 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17597 Loongson.
17598 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17599 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17600 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17601 external variable.
17602
17603 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17604
17605 * .bzrignore: Remove grub-dumpbios.
17606
17607 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17608
17609 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17610 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17611 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17612 existing options which append).
17613 * docs/grub.texi (Simple configuration): Document new options.
17614 Reported by: Ian Jackson. Fixes Debian bug #617538.
17615
17616 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * util/grub-fstest.c (cmd_cat): New function.
17619 (fstest): Handle CMD_CAT.
17620 (options): Add cat.
17621 (argp_parser): Handle cat.
17622
17623 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17624
17625 * Makefile.util.def (grub-bin2h): Don't install.
17626 * docs/man/grub-bin2h.h2m: Remove.
17627
17628 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17631 place.
17632
17633 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 Reenable qemu-mips port.
17636
17637 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17638 Fix small arc bug while on it.
17639 * gentpl.py: Handle qemu_mips.
17640 * grub-core/Makefile.am: Likewise.
17641 * grub-core/Makefile.core.def: Likewise.
17642 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17643 inappropriate includes.
17644 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17645 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17646 * grub-core/kern/main.c (grub_modules_get_end)
17647 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17648 * grub-core/kern/mips/qemu-mips: Moved to ..
17649 * grub-core/kern/mips/qemu_mips: ... this.
17650 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17651 (grub_machine_init): Call terminfo_init and serial_init.
17652 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17653 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17654 New variable.
17655 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17656 parameter passing.
17657 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17658 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17659 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17660 * include/grub/mips/qemu_mips/cmos.h: New file.
17661 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17662 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17663 Removed.
17664 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17665 Use correct mips-style address.
17666 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17667 (GRUB_TICKS_PER_SECOND): Removed.
17668 (grub_get_rtc): Likewise.
17669 (grub_cpu_idle): Likewise.
17670 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17671 New definition.
17672 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17673 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17674 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17675 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17676 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17677 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17678 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17679 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17680
17681 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 SGI ARCS port.
17684
17685 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17686 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17687 platforms.
17688 * configure.ac: New target mips-arc.
17689 * gentpl.py: Likewise.
17690 * grub-core/Makefile.am: Likewise.
17691 * grub-core/Makefile.core.def: Likewise.
17692 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17693 (none_decompress): Likewise.
17694 (lsdev): New module.
17695 (datetime): Use lib/arc/datetime.c on ARC.
17696 (part_dvh): New module.
17697 * grub-core/commands/arc/lsdev.c: New file.
17698 * grub-core/disk/arc/arcdisk.c: Likewise.
17699 * grub-core/kern/mips/arc/init.c: Likewise.
17700 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17701 aligned addresses.
17702 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17703 support.
17704 (grub_arch_dl_relocate_symbols): Likewise.
17705 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17706 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17707 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17708 platforms.
17709 * grub-core/lib/arc/datetime.c: New file.
17710 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17711 pci.h on non-loongson.
17712 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17713 (grub_linux_boot): Set unused registers to 0.
17714 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17715 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17716 * grub-core/mmap/mips/uppermem.c: ...here.
17717 * grub-core/partmap/dvh.c: New file.
17718 * grub-core/term/arc/console.c: Likewise.
17719 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17720 (grub_terminfo_set_current): Add terminal "arc".
17721 (grub_terminfo_readkey): Support ARC sequences.
17722 * include/grub/arc/arc.h: New file.
17723 * include/grub/arc/console.h: Likewise.
17724 * include/grub/disk.h (grub_disk_dev_id): Add
17725 GRUB_DISK_DEVICE_ARCDISK_ID.
17726 * include/grub/mips/arc/kernel.h: New file.
17727 * include/grub/mips/arc/memory.h: Likewise.
17728 * include/grub/mips/arc/time.h: Likewise.
17729 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17730 * include/grub/mips/kernel.h (grub_halt): ... here.
17731 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17732 here...
17733 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17734 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17735 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17736 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17737 proto.
17738 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17739 from here ...
17740 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17741 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17742 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17743 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17744 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17745 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17746 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17747 (grub_phys_addr_t): Moved from here ...
17748 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17749 (grub_vtop): Moved from here ...
17750 * include/grub/mips/memory.h (grub_vtop): ... here.
17751 (grub_map_memory): Moved from here ...
17752 * include/grub/mips/memory.h (grub_map_memory): ... here.
17753 (grub_unmap_memory): Moved from here ...
17754 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17755 (grub_machine_mmap_iterate): Moved from here ...
17756 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17757 (grub_mmap_get_lower): Moved from here ...
17758 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17759 (grub_mmap_get_upper): Moved from here ...
17760 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17761 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17762 here ...
17763 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17764 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17765 here ...
17766 * include/grub/mips/time.h (grub_get_rtc): ... here.
17767 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17768 here ...
17769 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17770 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17771 here ...
17772 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17773 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17774 definition.
17775 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17776 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17777 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17778 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17779 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17780 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17781 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17782 (GRUB_MACHINE_LINK_ADDR): Likewise.
17783 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17784 to 6.
17785 * util/grub-install.in: Run dvhtool on ARC.
17786 * util/grub-mkimage.c (image_targets): Add mips-arc.
17787 (generate_image): Handle ECOFF output for mips-arc.
17788
17789 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17792 blocks.
17793
17794 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17795
17796 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17797 after enabling port.
17798
17799 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 Skip incorrect USB devices.
17802
17803 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17804 configcnt == 0.
17805 * include/grub/usb.h (grub_usb_err_t): New enum value
17806 GRUB_USB_ERR_BADDEVICE.
17807
17808 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 Fuloong video init support.
17811
17812 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17813 well.
17814 (grub_vga_read_arx): New function.
17815 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17816 definition.
17817 (framebuffer): New members io, mmioptr and mmiobase.
17818 (read_sis_cmd): New function.
17819 (write_sis_cmd): Likewise.
17820 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17821 rather than 640x400.
17822 * grub-core/video/sis315_init.c: New file.
17823
17824 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17827 non-loongson.
17828 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17829 to grub_dl_register_symbol.
17830
17831 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 Fix compilation errors.
17834
17835 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17836 potentially unused.
17837 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17838 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17839 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17840 to loongson machines.
17841
17842 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 Several FS mtime support.
17845
17846 * grub-core/fs/affs.c (grub_affs_time): New struct.
17847 (grub_affs_file): New field mtime.
17848 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17849 type. Removed 'size'. New field 'di'. All users updated.
17850 (grub_affs_mount): Simplify checsum checking.
17851 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17852 (grub_affs_dir): Handle mtime.
17853 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17854 (grub_cpio_dir): Likewise.
17855 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17856 (grub_hfs_filerec): New field mtime.
17857 (grub_hfs_dir): Handle mtime.
17858 (grub_hfs_mtime): New function.
17859 (grub_hfs_fs): Register grub_hfs_mtime.
17860 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17861 (grub_iso9660_dir): New field mtime.
17862 (grub_fshelp_node): New field dirent.
17863 (iso9660_to_unixtime): New function.
17864 (iso9660_to_unixtime2): Likewise.
17865 (grub_iso9660_read_symlink): Use node->dirent.
17866 (grub_iso9660_iterate_dir): Likewise.
17867 (grub_iso9660_dir): Set mtime.
17868 (grub_iso9660_mtime): New function.
17869 (grub_iso9660_fs): Register grub_iso9660_mtime.
17870 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17871 (grub_jfs_inode): New fields atime, ctime and mtime.
17872 (grub_jfs_dir): Set mtime.
17873 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17874 * grub-core/fs/ntfs.c (list_file): Set mtime.
17875 (grub_ntfs_dir): Likewise.
17876 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17877 (grub_reiserfs_iterate_dir): Set mtime.
17878 (grub_reiserfs_dir): Likewise.
17879 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17880 (grub_fshelp_node): Likewise.
17881 (grub_sfs_iterate_dir): Set mtime.
17882 (grub_sfs_dir): Likewise.
17883 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17884 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17885 (grub_xfs_inode): New fields atime, mtime, ctime.
17886 (grub_xfs_dir): Set mtime.
17887 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17888 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17889 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17890
17891 Support UDF symlinks.
17892
17893 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17894 (grub_ufs_read_symlink): New function. All users updated.
17895
17896 Check amiga partmap checksum.
17897
17898 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17899 (grub_amiga_partition): Likewise.
17900 (amiga_partition_map_checksum): New function.
17901 (amiga_partition_map_iterate): Check checksum.
17902
17903 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 ROMFS support.
17906
17907 * Makefile.util.def (libgrubmods.a): Add romfs.
17908 * grub-core/Makefile.core.def (romfs): New module.
17909 * grub-core/fs/romfs.c: New file.
17910
17911 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 Squashfs v4 support.
17914
17915 * Makefile.util.def (libgrubmods.a): Add squash4.
17916 * grub-core/Makefile.core.def (squash4): New module.
17917 * grub-core/fs/squash4.c: New file.
17918 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17919 disk_input_start, disk_input.
17920 (get_byte): Handle disk_input.
17921 (grub_zlib_disk_read): New function.
17922 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17923
17924 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17925 2011-05-15 Feiran Zheng <famcool@gmail.com>
17926
17927 * Makefile.util.def (libgrubmods.a): Add minix3.
17928 * grub-core/Makefile.core.def (minix3): New module.
17929 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17930 (GRUB_MINIX_BSIZE): Removed.
17931 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17932 (grub_minix_ino_t): New type.
17933 (grub_minix_le_to_cpu_ino): New macro.
17934 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17935 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17936 (grub_minix_data): New field block_size.
17937 (grub_minix_read_file): Handle 64-bit correctly.
17938 * grub-core/fs/minix3.c: New file.
17939
17940 2011-05-15 Tristan Gingold <gingold@free.fr>
17941 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
17942 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 IA64 support.
17945
17946 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17947 * configure.ac: Add ia64-efi target.
17948 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17949 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17950 * gentpl.py: Add ia64_efi platform.
17951 Rename x86_efi to efi and Add ia64-efi. All users updated.
17952 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17953 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17954 Remove kern/generic/rtc_get_time_ms.c on EFI.
17955 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17956 kern/ia64/dl_helper.c on ia64-efi.
17957 Add kern/emu/cache.c on emu.
17958 (linux): Use on loader/ia64/efi/linux.c on ia64.
17959 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17960 whether symbol is a function.
17961 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17962 (grub_symbol): New field 'isfunc'.
17963 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17964 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17965 (grub_dl_load_segments): Place all sections into the same region.
17966 [__ia64__]: Create trampolines and got.
17967 [GRUB_MACHINE_EMU]: Call mprotect.
17968 (grub_dl_resolve_symbols): Resolve symbol type as well.
17969 [__ia64__]: Create function descriptors.
17970 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17971 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17972 (grub_get_rtc): New function.
17973 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17974 * grub-core/kern/emu/cache.S: Renamed to ...
17975 * grub-core/kern/emu/cache_s.S: ... this.
17976 [__ia64__]: Add a nop.
17977 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17978 [__ia64__]: New function.
17979 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17980 * grub-core/kern/ia64/dl.c: New file.
17981 * grub-core/kern/ia64/dl_helper.c: Likewise.
17982 * grub-core/kern/ia64/efi/init.c: New file.
17983 * grub-core/kern/ia64/efi/startup.S: Likewise.
17984 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17985 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17986 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17987 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17988 * grub-core/loader/ia64/efi/linux.c: New file.
17989 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17990 (GRUB_MOD_DEP): Likewise.
17991 (grub_dl) [__ia64__]: New fields got and tramp.
17992 (grub_dl): New field 'base'.
17993 (grub_dl_register_symbol): New argument isfunc. All users updated.
17994 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17995 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17996 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17997 (grub_ia64_dl_get_tramp_got_size): New proto.
17998 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17999 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18000 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18001 * include/grub/efi/api.h: Skip call wrappers on ia64.
18002 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18003 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18004 * include/grub/elf.h (ELF_ST_INFO): New definition.
18005 * include/grub/ia64/efi/kernel.h: New file.
18006 * include/grub/ia64/efi/memory.h: Likewise.
18007 * include/grub/ia64/efi/time.h: Likewise.
18008 * include/grub/ia64/kernel.h: Likewise.
18009 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18010 * include/grub/ia64/time.h: New file.
18011 * include/grub/ia64/types.h: Likewise.
18012 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18013 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18014 New protos.
18015 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18016 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18017 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18018 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18019 All users updated.
18020 (EFI64_HEADER_SIZE): New definition. All users updated.
18021 (image_targets): Add ia64-efi.
18022 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18023 jumpers_addr. All users updated.
18024 Create function descriptors.
18025 (count_funcs): New function.
18026 (unaligned_uint32): New struct.
18027 (MASK20): New definition.
18028 (MASK19): Likewise.
18029 (MASKF21): Likewise.
18030 (add_value_to_slot_20b): New function.
18031 (add_value_to_slot_21_real): Likewise.
18032 (add_value_to_slot_21): Likewise.
18033 (ia64_kernel_trampoline): New struct.
18034 (nopm): New variable.
18035 (jump): Likewise.
18036 (make_trampoline): New function.
18037 (relocate_addresses): Handle ia64.
18038 (make_reloc_section): Likewise.
18039 (load_image): Likewise.
18040
18041 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18044 warning. Move variables before code while on it.
18045
18046 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 Fuloong support.
18049
18050 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18051 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18052 * grub-core/boot/mips/loongson/fuloong.S: New file.
18053 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18054 Explicitly init CS5536.
18055 [FULOONG]: Don't use serial until CS5536 is available.
18056 Set GPIO based on dumps.
18057 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18058 [FULOONG]: Handle GPIO and memory controller differences.
18059 Parse machine type in $a2.
18060 * grub-core/boot/mips/startup_raw.S: Determine and save the
18061 architecture.
18062 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18063 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18064 init on architecture type.
18065 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18066 SIS315E. Don't init at_keyboard on fuloong.
18067 (grub_halt): Support Fuloong.
18068 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18069 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18070 (loongson_machtypes): New array.
18071 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18072 type.
18073 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18074 config. All users updated. Handle CS5536 serial.
18075 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18076 default port on machine type. Register serial as inactive.
18077 * grub-core/video/sis315pro.c: New file.
18078 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18079 definition.
18080 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18081 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18082 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18083 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18084 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18085 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18086 to ...
18087 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18088 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18089 definition.
18090 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18091 (grub_arch_machine): New extern var.
18092 * include/grub/mips/loongson/serial.h
18093 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18094 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18095 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18096 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18097 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18098 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18099 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18100 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18101 * include/grub/term.h (grub_term_register_input_inactive): New inline
18102 function.
18103 (grub_term_register_output_inactive): Likewise.
18104 * include/grub/video.h (grub_video_driver_id): New value
18105 GRUB_VIDEO_DRIVER_SIS315PRO.
18106 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18107 New field "names". All users updated.
18108 New field value IMAGE_FULOONG_FLASH.
18109 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18110
18111 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18112
18113 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18114 and add some clarification.
18115
18116 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18119 platforms if kernel is compressed.
18120
18121 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18124 unused modules since currently referrence counter isn't reliable and
18125 there isn't much memory to recover there anyway.
18126
18127 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18130 rather than resetting it to allow modules to reference themselves
18131 in init.
18132
18133 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18136 counter on dependencies since grub_dl_unref already handles this.
18137
18138 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18141 on error if not already done.
18142
18143 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 Fix few potential memory misusage.
18146
18147 * grub-core/font/font.c (load_font_index): Don't free char_index to
18148 avoid double free.
18149 (grub_font_load): Zero-fill font at alloc for safety.
18150 Close file on error.
18151 (free_font): Free bmp_idx.
18152
18153 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * docs/grub.texi (Installation): Fix several outdated claims.
18156
18157 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 Handle module_license on windows.
18160
18161 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18162 sections shifted.
18163 (insert_string): Make argument const char * instead of char *.
18164 (write_section_data): Handle long section names.
18165 Handle module_license.
18166
18167 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18170 handle class-free menuentries.
18171 (grub_normal_add_menu_entry): Add a check to be sure.
18172
18173 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18174
18175 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18176 PgUp and PgDown.
18177
18178 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 * configure.ac: Bump version to 1.99.
18181
18182 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 Give ATA device a bit more time on first try in order to allow disks
18185 to spin up.
18186
18187 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18188 if dev->present is 1. Reset dev->present on failure.
18189 (grub_ata_device_initialize): Set dev->present to 1.
18190 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18191 (grub_ata_device): New member 'present'.
18192
18193 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * util/grub-mkimage.c (generate_image): Update hash.
18196
18197 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 Flush caches on DMA memory.
18200
18201 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18202 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18203 (grub_dma_free): Likewise.
18204 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18205
18206 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18209 to avoid asm treating ld and sd as macros.
18210
18211 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18214 decompressor.
18215
18216 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18219 grub_decompress_core since later would fail if grub_decompress_core
18220 is too far.
18221
18222 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18225 R_MIPS_JALR since it's used by newer compiler.
18226
18227 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18230
18231 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18234 file_path to 0 for surety.
18235 (grub_chainloader_boot): Set exit_data to NULL.
18236 Unset the loader once done.
18237 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18238
18239 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18242 unknown key into a dprintf.
18243
18244 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18247 on first non-existant partition.
18248
18249 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18252 openning fails.
18253 Reported by: Mark Korenberg.
18254
18255 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18258 overflow.
18259
18260 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18263 before closing to ensure that it will be readable by grub-setup.
18264
18265 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18268 (devpath_1): Use MAKE_PIWG_PATH.
18269 (devpath_2): Likewise.
18270 (devpath_3): Likewise.
18271 (devpath_4): Likewise.
18272 (devpath_5): Likewise.
18273 (devpath_6): Likewise.
18274
18275 The appleldr.mod was checked that to be binary identical to previous
18276 version.
18277
18278 2011-05-05 Zach <mikezackles>
18279
18280 Support 2010 Macbooks.
18281
18282 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18283 (devs): Add devpath_6.
18284
18285 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18288 /dev/random. /dev/urandom is good enough for our purposes (salting).
18289
18290 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18293
18294 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18297 hexadecimal.
18298
18299 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18302 and not 0 on failure.
18303
18304 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18307 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18308 disk; otherwise grub_fs_probe will not fall back to the next
18309 filesystem.
18310 (grub_pxefs_open): Likewise, for consistency.
18311 Reported and tested by: Ezekiel Grave.
18312
18313 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18314
18315 * tests/partmap_test.in: Don't hardcode path to parted.
18316 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18317
18318 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
18319
18320 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18321 of `ls' to find out which devices are available.
18322
18323 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18324
18325 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18326 than source address for efi mmap buffer.
18327
18328 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18331 wrong action on non-detecting the magic.
18332
18333 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18336 already supplied by another part of the module (fixes compilation on
18337 FreeBSD).
18338
18339 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18342 match the one used by mdadm.
18343
18344 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18345
18346 * po/README: Add instructions for creating po/LINGUAS.
18347
18348 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18349
18350 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18351 #551428.
18352
18353 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18354 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18355 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18356 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18357 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18358 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18359 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18360 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18361 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18362 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18363 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18364 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18365 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18366 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18367 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18368 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18369 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18370 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18371 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18372 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18373 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18374 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18375
18376 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18377
18378 * grub-core/kern/emu/getroot.c
18379 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18380 test that was incorrectly reintroduced in r3214.
18381 Reported by: Ian Dall. Fixes Savannah bug #33133.
18382
18383 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18384
18385 Fix stack pointer handling in 16-bit relocator.
18386
18387 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18388 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18389 Fixes Ubuntu bug #683904.
18390
18391 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 * configure.ac: Bump version to 1.99~rc2.
18394
18395 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18398 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18399 * grub-core/lib/x86_64/setjmp.S: Likewise.
18400 * grub-core/lib/mips/setjmp.S: Likewise.
18401 * grub-core/lib/powerpc/setjmp.S: Likewise.
18402 * grub-core/lib/sparc64/setjmp.S: Likewise.
18403
18404 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18407 * grub-core/lib/efi/datetime.c: Likewise.
18408
18409 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18412 New function.
18413 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18414 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18415 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18416
18417 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18418
18419 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18420 bitmap.
18421 (grub_gfxterm_term_init): Likewise.
18422
18423 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 Take into account the decorations the computing menu entry width.
18426
18427 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18428 (grub_gfxmenu_create_box): Register get_border_width.
18429 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18430 if available.
18431 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18432 get_border_width.
18433
18434 2011-04-18 Endres Puschner <code@e7p.de>
18435
18436 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18437 Don't skip first class.
18438
18439 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18440
18441 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18442 chunks.
18443 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18444
18445 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 Complete 64-bit division support.
18448
18449 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18450 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18451 * include/grub/misc.h (grub_divmod64): Rename to ...
18452 (grub_divmod64_full): ... this.
18453 (grub_divmod64): New inline function.
18454
18455 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18458
18459 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18462 performing the necessary test.
18463
18464 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18467 (kfreebsd.elf): Likewise.
18468 (pc-chainloader.elf): Likewise.
18469 (ntldr.elf): Likewise.
18470
18471 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 Identify RAID by its UUID rather than (guessed) name.
18474
18475 * grub-core/disk/raid.c (ascii2hex): New function.
18476 (grub_raid_open): Accept mduuid/%s specification.
18477 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18478 (get_mdadm_uuid): ... this.
18479 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18480
18481 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18484 to negative size.
18485
18486 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18487
18488 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18489 btrfs subvolume.
18490 * util/grub.d/20_linux_xen.in: Likewise.
18491
18492 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18493
18494 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18495 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18496
18497 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18498 Build a list of relevant visible mounts using the mnt_id and
18499 parent_mnt_id fields, and then scan that list at the end.
18500
18501 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18502
18503 * docs/grub.texi (normal): New section.
18504 (normal_exit): New section.
18505 (Embedded configuration): Add reference to normal.
18506 (GRUB only offers a rescue shell): Likewise.
18507 * docs/grub-dev.texi (Error Handling): Fix typo.
18508
18509 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18510
18511 * NEWS: Drop obsolete entry about probe-only btrfs support.
18512
18513 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18514
18515 * util/import_gcry.py: Fix typo.
18516
18517 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18518
18519 * NEWS: Add btrfs support.
18520
18521 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18522 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18523
18524 BtrFS support. Written by me (Vladimir) with important bugfixes and
18525 even more important testing by Colin.
18526
18527 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18528 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18529 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18530 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18531 mem_input_off and mem_input. All users updated to accept in-RAM input.
18532 (gzio_seek): New function.
18533 (test_zlib_header): Likewise.
18534 (grub_gzio_read): Likewise.
18535 (grub_zlib_decompress): Likewise.
18536 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18537 Accept partial and non-virtual mounts.
18538 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18539 avoid receiving /dev/dm-X as device.
18540 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18541 Handle bind and partial mounts.
18542 * grub-core/lib/crc.c: New file.
18543 * include/grub/deflate.h: Likewise.
18544 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18545 proto.
18546 * include/grub/lib/crc.h: New file.
18547
18548 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 Implement automatic module license checking according to new GNU
18551 guidelines.
18552
18553 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18554 (grub_dl_load_core): Use grub_dl_check_license.
18555 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18556 (GRUB_MOD_LICENSE): Likewise.
18557 (GRUB_MOD_DUAL_LICENSE): Likewise.
18558 All modules updated.
18559
18560 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18561
18562 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18563 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18564 loaders.
18565 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18566
18567 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18570
18571 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18574 failed.
18575
18576 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18579 parenthesis in the middle of the filename.
18580
18581 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18584 rather than trying to put initrd way too high.
18585 Reported by: Ryan Lortie <desrt@desrt.ca>
18586
18587 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18590 improperly removed string.
18591
18592 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18595 is_disk.
18596 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18597 (open_device) Likewise.
18598 (grub_util_biosdisk_close): Likewise.
18599 Reported by: Mark Korenberg.
18600
18601 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18602
18603 * util/grub-mkconfig_lib.in: Add missing quotes.
18604
18605 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18608 is NULL.
18609
18610 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 Dynamically count the number of lines for the lower banner.
18613
18614 * grub-core/normal/menu_entry.c (per_term_screen): New member
18615 num_entries.
18616 (print_down): Use num_entries.
18617 (update_screen): Likewise.
18618 (grub_menu_entry_run): Set num_entries.
18619 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18620 num_entries.
18621 (grub_print_message_indented): Move real part to ...
18622 (grub_print_message_indented_real): ... here. Additional argument
18623 dry_run.
18624 (draw_border): Additional argument num_entries.
18625 (print_message): Additional argument dry_run.
18626 (print_entries): Receive menu viewer data.
18627 (grub_menu_init_page): New argment num_entries.
18628 (menu_text_set_chosen_entry): Use num_entries.
18629 (grub_menu_try_text): Likewise.
18630 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18631 All users updated.
18632 (grub_ucs4_count_lines): New function.
18633 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18634 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18635 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18636 (grub_term_border_height): Likewise.
18637 (grub_term_num_entries): Likewise.
18638
18639 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18642 Remove now unused string.
18643
18644 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
18645
18646 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18647 build system.
18648 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18649
18650 (Comment): Fix typo.
18651 (Getting started): General copy-editing.
18652 (Typical Development Experience): Likewise.
18653 (Error Handling): Likewise.
18654 (Video API): Likewise.
18655
18656 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
18657
18658 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18659 throughout.
18660
18661 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18664 directory.
18665
18666 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
18667
18668 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18669 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18670 "development".
18671
18672 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18673
18674 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18675 grub_strcpy since the lines aren't necessarily 0-terminated.
18676
18677 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18680 root on legacy.
18681
18682 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18685 (GRUB_MOD_INIT): DEVICE isn't optional.
18686
18687 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18688
18689 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18690 word on new line if it's too long anyway. Fixes a hang.
18691
18692 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18695 const.
18696 * util/grub-setup.c (main): Reuse md device name if available.
18697 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18698 not GRUB name as argument.
18699 Based on patch by: Florian Wagner <fwagner>.
18700
18701 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18704 Place mbi on low memory for better compatibility.
18705
18706 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18709
18710 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18711 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
18712
18713 * autogen.sh: Ensure that collate and ctype locale is C.
18714 * conf/Makefile.common: Likewise.
18715
18716 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 * grub-core/normal/menu.c: Add missing include.
18719
18720 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18721
18722 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
18723
18724 2011-04-08 Martin Zuther <mzuther@mzuther.de>
18725
18726 * util/grub-mkconfig.in: Ignore emacsen backup.
18727
18728 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18731 on open.
18732 (grub_util_biosdisk_close): Likewise.
18733
18734 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18735
18736 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18737 const attribute and use grub_isdigit.
18738
18739 2011-04-06 Andrey <dev_null@ukr.net>
18740
18741 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18742 gcc warning.
18743
18744 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18747 useful grub_dprintf's.
18748
18749 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18752
18753 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18756
18757 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 Output errors if theme loading failed.
18760
18761 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18762 grub_gfxterm_fullscreen on error paths to ...
18763 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18764 theme loading error.
18765
18766 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18769 space for older compilers.
18770 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18771
18772 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18775 and report them as not RAID members since they are useless for GRUB.
18776 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18777
18778 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 Increase LVM implementation robustness in order not to crash on
18781 configurations like pvmove. Previously code assumed that in some places
18782 only lvs or only pvs are used whereas it seems that they are used
18783 interchangeably.
18784
18785 * grub-core/disk/lvm.c (read_node): New function.
18786 (read_lv): Use read_node.
18787 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18788 Match volumes only at the end when all lvs are found. Take both
18789 pvs (first) and lvs (second) into account.
18790 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18791 mirror_* into node_*. All users updated.
18792 (grub_lvm_stripe): Merge this ...
18793 (grub_lvm_mirror): ... and this ...
18794 (grub_lvm_node): ... into this. All users updated.
18795
18796 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18799 of function to allow further scanning for LVMs.
18800
18801 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18804 on failed seek as it breaks open fd reusage.
18805
18806 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * util/grub-install.in: Add a recommendation to use --recheck before
18809 reporting bugs.
18810
18811 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18814 are obtained.
18815
18816 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 GRUB developper manual based on existing Internals section and
18819 contributions by the various authors with active copyright assignment.
18820
18821 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18822 * docs/font_char_metrics.png: New file.
18823 * docs/font_char_metrics.txt: Likewise.
18824 * docs/grub-dev.texi: Likewise.
18825 * docs/grub.texi (Internals): Move from here ...
18826 * docs/grub-dev.texi: ... here.
18827
18828 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18829
18830 Store the loopback device as data on loopback grub_disk structures,
18831 rather than the file it points to. This fixes use of freed memory
18832 if an existing loopback device is replaced.
18833
18834 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18835 disk->data, not dev->file.
18836 (grub_loopback_read): Adjust file assignment to match.
18837 Fixes Ubuntu bug #742967.
18838
18839 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18842 when replacing an existing device.
18843
18844 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18847 memory corruptions.
18848
18849 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18850 unsigned.
18851 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18852 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18853 (grub_jfs_read_inode): Likewise.
18854 (grub_jfs_opendir): Likewise. Remove now useless casts.
18855 (grub_jfs_getent): Likewise.
18856 Make ino a grub_uint32_t rather than int.
18857 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18858 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18859 division and module with bit operations.
18860 (grub_jfs_find_file): Make ino a grub_uint32_t.
18861 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18862
18863 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18866 warning. (This was in fact always initialised before use, but GCC
18867 wasn't smart enough to prove that.)
18868 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18869
18870 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18873 stack alignment.
18874 (efi_wrap_1): Likewise.
18875 (efi_wrap_2): Likewise.
18876 (efi_wrap_3): Likewise.
18877 (efi_wrap_4): Likewise.
18878 (efi_wrap_5): Likewise.
18879 (efi_wrap_6): Likewise.
18880 (efi_wrap_10): Likewise.
18881 Based on information by: Red Hat/Peter Jones.
18882
18883 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
18884
18885 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18886 set-but-not-used variable.
18887
18888 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
18889
18890 * docs/grub.texi (Simple configuration): Be more explicit about
18891 GRUB_DEFAULT, and add an example.
18892 Reported by: Leslie Rhorer.
18893
18894 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18895
18896 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18897 shell".
18898
18899 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18900
18901 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18902 * util/grub.d/20_linux_xen.in: Likewise.
18903
18904 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * util/grub.d/10_linux.in: Try alternative config filenames where
18907 we parse config file.
18908 * util/grub.d/20_linux_xen.in: Likewise.
18909
18910 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18911
18912 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18913 * util/grub.d/20_linux_xen.in: Likewise.
18914
18915 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 * grub-core/disk/raid.c (insert_array): Add few potentially
18918 useful grub_util_info.
18919 (grub_raid_register): Likewise.
18920
18921 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18924 Preserve partition number in mdadm code path.
18925
18926 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18929 few potentially useful grub_util_info.
18930
18931 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18934
18935 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18936
18937 * docs/grub.texi (default): Use @example rather than nested
18938 itemized lists to avoid breaking gendocs.
18939
18940 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18941
18942 * docs/grub.texi (Future): Update.
18943
18944 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18945
18946 * docs/grub.texi (Environment): New chapter.
18947 (Changes from GRUB Legacy): Link to "Environment block" section for
18948 details of limitations.
18949 (Simple configuration): Likewise. Link to documentation of gfxmode
18950 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18951 respectively.
18952 (Shell-like scripting): Note that normal variables are stored in the
18953 environment.
18954 (gettext): Link to documentation of lang and locale_dir.
18955 (list_env): New section.
18956 (load_env): New section.
18957 (save_env): New section.
18958
18959 (Reporting bugs): Fix typo.
18960
18961 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18964 the example.
18965
18966 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * grub-core/term/at_keyboard.c (set_scancodes)
18969 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18970
18971 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18972
18973 * docs/grub.texi (Menu-specific commands): Remove some semantics
18974 that were true in GRUB Legacy but not in GRUB 2.
18975 (submenu): New section.
18976 (false): New section.
18977 (read): New section.
18978 (true): New section.
18979
18980 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18981
18982 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18983
18984 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18985
18986 * docs/grub.texi (Simple configuration): Explain some of the
18987 current limitations of grub-mkconfig.
18988 Reported by: Leslie Rhorer.
18989
18990 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 Old macs search for boot.efi rather than for bootia32.efi.
18993
18994 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18995 * util/grub-mkrescue.in: Likewise.
18996 Suggested by: Peter Jones.
18997
18998 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19001
19002 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19005 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19006 (grub_lvm_mirror): New struct.
19007 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19008 (grub_lvm_iterate): Iterate only visible volumes.
19009 (grub_lvm_read): Factor out to ..
19010 (read_lv): ... this. Support mirrors.
19011 (grub_lvm_read): New wrapper function.
19012 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19013 stripped or mirrored.
19014
19015 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19018
19019 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19020
19021 * docs/grub.texi (loopback): New section.
19022
19023 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19024
19025 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19026 removed -p option.
19027
19028 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * docs/grub.texi (BIOS installation): New section, partly based on
19031 previous text in other sections.
19032 (Installing GRUB using grub-install): Replace BIOS discussion with a
19033 cross-reference.
19034 (Images): Likewise.
19035
19036 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19039 [HAVE_DIOCGDINFO]: Add safety checks.
19040
19041 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19044 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19045
19046 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19047
19048 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19049 real_sb->size is zero (e.g. RAID-0), get the disk size from
19050 real_sb->data_size instead.
19051 Fixes Ubuntu bug #743136.
19052
19053 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19056 printf clauses for printing size and start.
19057
19058 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19061 Reported and tested by: Timothy Nikkel.
19062
19063 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19066 (dirty_region_add_real): ... this.
19067 (dirty_region_add): Don't discard margin refresh when performing
19068 scheduled repaint.
19069
19070 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 * grub-core/lib/relocator.c (allocate_regstart)
19073 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19074 terminals are capabple of malloc-free operation.
19075 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19076 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19077
19078 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19079
19080 * util/grub-setup.c: Copy the partition table zone if floppy support
19081 is disabled, even if no partition table is found.
19082
19083 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19084 during POST if an invalid partition table is contained in the PBR
19085 of the active partition when GRUB is installed to a partition.
19086
19087 2011-03-28 Colin Watson <cjwatson@debian.org>
19088
19089 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19090 comment.
19091
19092 2011-03-28 Colin Watson <cjwatson@debian.org>
19093
19094 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19095 to be specific about what kind of RAID device we're scanning for.
19096
19097 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19098
19099 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19100 return freed string.
19101
19102 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19103
19104 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19105
19106 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 Use libgeom on FreeBSD to detect partitions.
19109
19110 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19111 (grub-mkrelpath): Likewise.
19112 (grub-script-check): Likewise.
19113 (grub-editenv): Likewise.
19114 (grub-mkpasswd-pbkdf2): Likewise.
19115 (grub-fstest): Likewise.
19116 (grub-mkfont): Likewise.
19117 (grub-mkdevicemap): Likewise.
19118 (grub-probe): Likewise.
19119 (grub-setup): Likewise.
19120 (grub-ofpathname): Likewise.
19121 (grub-mklayout): Likewise.
19122 (example_unit_test): Likewise.
19123 (grub-menulst2cfg): Likewise.
19124 * grub-core/Makefile.core.def (grub-emu): Likewise.
19125 (grub-emu-lite): Likewise.
19126 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19127 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19128 define HAVE_DIOCGDINFO.
19129 (follow_geom_up) [FreeBSD]: New function.
19130 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19131 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19132 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19133 unconditionally of HAVE_DIOCGDINFO.
19134
19135 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 Fix FreeBSD compilation problem.
19138
19139 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19140 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19141
19142 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
19143
19144 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19145 Switch back to page zero before loading a kernel, since some kernel
19146 drivers expect that.
19147 Thanks to: Felix Kuehling.
19148
19149 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19152 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19153 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19154
19155 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19158 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19159
19160 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19163 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19164 malloc is disabled.
19165
19166 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19169 for modules headers when counting the needed allocation size.
19170
19171 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19174 if no ASCII character is found to prevent crash.
19175
19176 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19177
19178 * grub-core/video/bitmap.c (match_extension): Ignore case.
19179
19180 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19183
19184 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 * grub-core/script/parser.y: Declare "time" as valid argument.
19187
19188 2011-03-23 Peter Jones <pjones@redhat.com>
19189
19190 Fix incorrect assert failure reporting.
19191
19192 * grub-core/tests/example_functional_test.c (example_test): Add
19193 a failure comment.
19194 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19195 (failure_start): ...this. Check that malloc succeeded.
19196 Don't call xvasprintf. Return failure struct.
19197 (failure_append_vtext): New function.
19198 (failure_append_text): Likewise.
19199 (add_failure): Likewise.
19200 (grub_test_assert_helper): Likewise.
19201 * include/grub/test.h (grub_test_assert_helper): New declaration.
19202 (grub_test_assert): Macro rewritten.
19203
19204 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19207
19208 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19211
19212 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19215 into GRUB-style one.
19216
19217 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19220 error and not grub_errno.
19221 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19222
19223 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19226 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19227
19228 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * grub-core/efiemu/i386/pc/cfgtables.c
19231 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19232 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19233 (grub_xnu_unlock): Likewise.
19234 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19235
19236 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19239 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19240 * grub-core/commands/hashsum.c (aliases): Likewise.
19241 * grub-core/commands/setpci.c (pci_registers): Likewise.
19242 * grub-core/disk/usbms.c (attach_hook): Likewise.
19243 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19244 (zio_checksum_table): Likewise.
19245 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19246 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19247 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19248 * grub-core/lib/relocator.c (leftovers): Likewise.
19249 (extra_blocks): Likewise.
19250 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19251 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19252 (modules_last): Likewise.
19253 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19254 (devices): Likewise.
19255 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19256 (modules_last): Likewise.
19257 * grub-core/normal/auth.c (users): Likewise.
19258 * grub-core/normal/context.c (initial_menu): Likewise.
19259 (current_menu): Likewise.
19260 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19261 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19262 (grub_serial_terminfo_input_template): Likewise.
19263 (grub_serial_terminfo_output_template): Likewise.
19264 (grub_serial_terminfo_input): Likewise.
19265 (grub_serial_terminfo_output): Likewise.
19266 (registered): Likewise.
19267 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19268
19269 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19272 grub_video_mode_type_t.
19273 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19274 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19275 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19276
19277 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * util/grub-install.in: Correct the x86-64 name as x86_64.
19280
19281 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
19282
19283 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19284 initial chunk read from the kernel always includes GRUB's multiboot
19285 header, which is now outside the first sector.
19286
19287 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19288
19289 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19290 cached mmap_size, so that this works correctly when called multiple
19291 times.
19292 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19293
19294 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19295
19296 * docs/grub.texi (Simple configuration): Tidy up formatting.
19297
19298 2011-03-07 Szymon Janc <szymon@janc.net.pl>
19299
19300 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19301 Set-but-not-used variable removed.
19302
19303 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 Workaround yet another IEEE1275 bug.
19306
19307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19308 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19309 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19310 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19311 is set.
19312 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19313 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19314
19315 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19318 error.
19319
19320 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
19321
19322 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19323 empty, since in that case we can only generate either nothing or a
19324 syntactically invalid configuration file.
19325 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19326
19327 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19328
19329 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19330 (Making a GRUB bootable CD-ROM): Likewise.
19331 (Invoking grub-mkrescue): New section.
19332 Reported by: Yann Dirson. Fixes Debian bug #612585.
19333
19334 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19335
19336 * util/grub-install.in: Remove unnecessary brackets from tr
19337 arguments.
19338 * util/grub.d/10_hurd.in: Likewise.
19339 * util/grub.d/10_kfreebsd.in: Likewise.
19340 * util/grub.d/10_linux.in: Likewise.
19341 * util/grub.d/20_linux_xen.in: Likewise.
19342 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19343
19344 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
19345
19346 * include/grub/file.h (not_easly_seekable): Rename to ...
19347 (not_easily_seekable): ... this. Update all users.
19348
19349 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
19350
19351 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19352 grub-mkrescue.
19353
19354 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * util/grub-mkimage.c (generate_image): Refuse to create the images
19357 bigger than the actual flash (512K) in Loongson machines. 512K is also
19358 the biggest chip supported by them.
19359
19360 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19363
19364 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
19365
19366 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19367 super_offset field.
19368
19369 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19370
19371 * util/grub-install.in: Ignore install device on platforms
19372 where it doesn't make sense. Always use UUIDs except on pc, efi and
19373 sparc64.
19374 Reported by: Daniel Kahn Gillmor.
19375
19376 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19379
19380 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19383 (iterate_real): Don't rely on partition being non-NULL.
19384
19385 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19388 supported platforms. Put a compile time assert for this rather than
19389 generate a warning with 32-bit shift.
19390
19391 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19394 logical expression more readable.
19395
19396 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19399 even if some elements have a name.
19400 Reported by: Alexander GQ Gerasiov.
19401
19402 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19403
19404 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19405 path unreadable if `grub-probe -t abstraction' fails, for example if
19406 memberlist fails on an LVM volume group.
19407 Reported by: Darius Jahandarie.
19408
19409 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * docs/grub.texi (Simple configuration): Document
19412 GRUB_PRELOAD_MODULES.
19413
19414 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
19415
19416 * .bzrignore: Remove nonexistent grub-pbkdf2.
19417
19418 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19419
19420 * configure.ac: Bump version to 1.99~rc1.
19421
19422 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19425 for safety.
19426
19427 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19430 module.
19431
19432 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19435
19436 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19439 diskdevid.
19440
19441 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 Fix compilation on cygwin.
19444
19445 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19446 -R .drectve on cygwin.
19447 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19448 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19449 (COND_CYGWIN): New condition.
19450 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19451 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19452 not @TARGET_OBJ2ELF@.
19453 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19454 type to determine whether aux is to be used.
19455
19456 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19459 realpath'ed device string.
19460 Handle floppy (somewhat).
19461 Issue error in unknown case rather than garbage.
19462 Reported by: Axel Beckert.
19463
19464 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 * util/grub.d/00_header.in (load_video): Handle the case when no video
19467 drivers available.
19468 Thanks to: Axel Beckert.
19469
19470 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19473 variable. Fixes problem on big endian platforms.
19474
19475 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19476
19477 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19478 It doesn't work well there.
19479
19480 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19483 warning.
19484 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19485 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19486 counter.
19487
19488 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 Use alias->path rather than buggy "canon".
19491
19492 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19493 (ofdisk_hash_add): New argument curcan. All users updated.
19494
19495 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19496
19497 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19498
19499 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19502 loadmask before doing any calculations. Use correct type for offset.
19503 (grub_linux_load64): Likewise.
19504
19505 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19506
19507 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19508 with NULL.
19509 (console_grub_equivalences_unshift): Likewise.
19510 Reported by: Daniel Dehennin.
19511
19512 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19515 (set_env_limn_ro): Likewise.
19516 (GRUB_MOD_INIT): Likewise.
19517 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19518 ARRAY_SIZE while on it.
19519 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19520 * grub-core/normal/context.c (grub_env_export): Move from here ...
19521 * grub-core/kern/env.c (grub_env_export): ... here.
19522 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19523 prefix.
19524 * grub-core/kern/main.c (grub_main): Export root and prefix.
19525 * include/grub/env.h (grub_env_export): Export.
19526 Reported by: Seth Goldberg.
19527
19528 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19531 Take into account space used by ELF sections and multiboot palette.
19532 Reported by: Grégoire Sutre.
19533
19534 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * BUGS: New file.
19537
19538 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 Pass more appropriate video id to Linux.
19541
19542 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19543 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19544 fill have_vga.
19545 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19546 shift params->lfb_size.
19547 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19548
19549 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19552
19553 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19556 separator and pass bootpath/devid even if only one of them is available.
19557 Reported by: Seth Goldberg.
19558
19559 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19562 implementations bug on them.
19563
19564 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19565 memory.
19566 (filter_memory_map): Likewise.
19567
19568 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19571 Reported by: nebuchadnezzar.
19572
19573 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19576 Reported by: nebuchadnezzar.
19577
19578 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 Submenu default support.
19581
19582 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19583 auto_boot. All users updated.
19584 Declared static.
19585 Handle chosen and default with submenus.
19586 (grub_menu_execute_with_fallback): Declared static.
19587 Don't notify failure if autobooted. Upper level does it.
19588 (menuentry_eq): New function.
19589 (get_entry_number): Use menuentry_eq.
19590 (show_menu): New parameter "autobooted". All users updated.
19591 (grub_show_menu): Likewise.
19592 * include/grub/normal.h (grub_show_menu): Likewise.
19593 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19594 (grub_menu_execute_with_fallback): Likewise.
19595
19596 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * util/grub-mklayout.c (usage): Update help text.
19599
19600 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19603
19604 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 * util/grub-menulst2cfg.c (main): Trim the line.
19607
19608 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19611 (grub_machine_init): Don't check amount of low memory as reportedly
19612 INT 12h can be broken and if low memory is too low we wouldn't have
19613 gotten into grub_machine_init anyway.
19614
19615 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19618 (grub_machine_mmap_iterate): Take low memory into account
19619
19620 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19621
19622 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19623 badfs.
19624 Reported by: TiCPU.
19625
19626 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19629 members errors.
19630
19631 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19632
19633 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19634 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19635
19636 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19637
19638 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19639 openbsd and netbsd types being in part_bsd module.
19640
19641 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19644 (_FILE_OFFSET_BITS): Likewise.
19645 Reported by: Seth Goldberg.
19646
19647 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19648
19649 * configure.ac: Check for libdevmapper header.
19650
19651 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19654 avoid aliasing.
19655 (fzap_lookup): Likewise.
19656 (dnode_get): Likewise.
19657 (make_mdn): Likewise.
19658 (zfs_mount): Likewise.
19659 (fzap_iterate): Use temporary pointer to avoid aliasing.
19660 (grub_zfs_read): Likewise.
19661 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19662 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19663 pointers to avoid aliasing.
19664 (grub_cmd_xnu_kernel64): Likewise.
19665 (grub_xnu_load_driver): Likewise.
19666
19667 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19670 aliasing warning.
19671 (grub_cmd_terminal_output): Likewise.
19672 Reported and tested by: Grégoire Sutre.
19673
19674 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19677 warning.
19678 Reported and tested by: Grégoire Sutre.
19679
19680 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 * configure.ac: Do CPU substitution even if it's specified explicitly.
19683 Reported and tested by: Alain Greppin.
19684
19685 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19688 Reported and tested by: Alain Greppin.
19689
19690 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19691
19692 Satisfy some bison versions need for inttypes.h.
19693
19694 * grub-core/lib/posix_wrap/inttypes.h: New file.
19695 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19696 (int16_t): Likewise.
19697 (int32_t): Likewise.
19698 (int64_t): Likewise.
19699 Reported and tested by: Alain Greppin.
19700
19701 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19704 Silence spurious warning.
19705 Reported and tested by: Alain Greppin.
19706
19707 2011-01-07 Szymon Janc <szymon@janc.net.pl>
19708
19709 * docs/grub.texi (Support automatic decompression): Update with xz
19710 decompression support.
19711
19712 2011-01-07 Szymon Janc <szymon@janc.net.pl>
19713
19714 Improve loaders' kernel command line handling.
19715
19716 * grub-core/lib/cmdline.c: New file.
19717 * include/grub/lib/cmdline.h: Likewise.
19718 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19719 grub_create_loader_cmdline to create kernel command line.
19720 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19721 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19722 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19723 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19724 (linux): Add lib/cmdline.c on common.
19725
19726 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19729 inopos might be unaligned.
19730
19731 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19734 endian transformations.
19735 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19736 Based on report by: Doug Nazar.
19737
19738 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
19739
19740 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19741 array->members[i].start_sector.
19742 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19743
19744 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19747 Reported and tested by: Grégoire Sutre.
19748
19749 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
19750
19751 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19752 avoid causing test failures by clearing the screen.
19753
19754 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19757 Fix prefix check to handle the case where dir ends with a slash
19758 (most significantly, "/" itself).
19759 Reported by: Michael Vogt.
19760
19761 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 Run terminfo_cls on initing terminfo output to clear the screen and
19764 move the cursor to (0,0).
19765
19766 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19767 Call grub_terminfo_output_init.
19768 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19769 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19770 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19771
19772 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19775 only when needed.
19776
19777 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19780 CTRL.
19781
19782 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 The E820 type 5 is BADRAM, not EXEC_CODE.
19785
19786 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19787 (GRUB_E820_BADRAM): New define.
19788 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19789 into reserved. Propagate BADRAM.
19790 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19791 (GRUB_E820_BADRAM): New define.
19792
19793 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19796 Ignore the memory post-4G.
19797 (grub_relocator_firmware_alloc_region): Additional debug statement.
19798
19799 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19802 names.
19803 Reported by: David Pravec.
19804
19805 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19808 BIOSes.
19809
19810 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19813 Prevent overflow.
19814 (grub_reed_solomon_recover): Likewise.
19815
19816 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19819
19820 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19823 variable.
19824
19825 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
19826
19827 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19828 descriptions of extract_legacy_entries_source and
19829 extract_legacy_entries_configfile.
19830 Reported by: Seung Soo, Ha.
19831
19832 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
19833
19834 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19835 on devices that do not implement function 0.
19836
19837 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19838
19839 * grub-core/fs/hfsplus.c: Make parent unsigned.
19840 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19841 overflows.
19842 (grub_hfsplus_cmp_extkey): Likewise
19843
19844 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 * util/grub-install.in: Correctly use bootloader_id and not
19847 GRUB_DISTRIBUTOR on efibootmgr line.
19848
19849 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19850
19851 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19852
19853 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
19854
19855 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19856 Xen and reorder menu item wording to make it clearer that this entry
19857 will launch Xen. Print separate messages when loading Xen and
19858 Linux.
19859
19860 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19863 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19864 loop in case of incorrect amiga partmap.
19865
19866 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19869 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19870 Reported by:EHeM.
19871
19872 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19875 spurious warning.
19876 Reported by: crocket
19877
19878 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19881 Preload EFIemu.
19882 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19883
19884 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19887 is loaded
19888 (grub_cmd_xnu_kextdir): Likewise.
19889 (grub_cmd_xnu_splash): Likewise.
19890
19891 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 Avoid using Reed-Solomon with 0 redundancy.
19894
19895 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19896 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19897 or 0 redundancy.
19898 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19899 (grub_reed_solomon_recover): Likewise.
19900
19901 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 Don't use disk subsystem in freebsd_boot.
19904
19905 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19906 (freebsd_biosdev): Likewise.
19907 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19908 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19909
19910 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 Handling of files of unknown size is currently limited. They can't be
19913 used e.g. for initrd or modules. Moreover gzip handling of not
19914 easily seekable files is buggy. Disable unknown file size for now. May
19915 be inefficient but works.
19916
19917 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19918 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19919
19920 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19921
19922 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19923 floppy probe.
19924
19925 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19926
19927 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19928
19929 2010-12-25 Shea Levy <shlevy>
19930
19931 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19932
19933 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19936 Windows Server 2008.
19937 Reported by: Devin Giddings.
19938
19939 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19942 writing an error message because of async power management.
19943 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19944 (grub_reboot): Likewise.
19945
19946 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19947
19948 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19949 keep unit tests from failing when they shouldn't.
19950
19951 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19952
19953 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19954 previous patch increased the size of the RS code by 20 bytes (at
19955 least with gcc-4.4), so increase this by 20 bytes to match.
19956 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19957
19958 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19959
19960 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19961 scratch area. Make sure to initialise chosen in standalone mode as
19962 well as non-standalone.
19963 Reported by: Robert Hooker and Andy Whitcroft.
19964 Tested by: Andy Whitcroft.
19965
19966 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19967
19968 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19969 constructing a new unescaped string and passing it to grub_xputs in
19970 one go, rather than passing characters to grub_printf one at a time.
19971
19972 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19973
19974 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19975 initialising utf16.
19976
19977 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19978
19979 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19980 comment. Add an extra layer of quotation, requiring the output of
19981 this function to be used in a printf format string.
19982 (gettext_printf): New function.
19983 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19984 Extract translatable strings from here-documents and use a temporary
19985 variable instead, so that xgettext can find them.
19986 * util/grub.d/10_kfreebsd.in: Likewise.
19987 * util/grub.d/10_linux.in: Likewise.
19988 * util/grub.d/20_linux_xen.in: Likewise.
19989
19990 * po/grub.d.sed: New file.
19991 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19992 arguments. Set c-format flags on all strings extracted from
19993 util/grub.d/ (xgettext refuses to include these itself for strings
19994 it extracted from a shell file, but these really are c-format).
19995
19996 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19999 Avoid next pointing to nowhere.
20000
20001 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20004 rather than assuming than rootblock is exactly in the middle.
20005 (grub_affs_label): Likewise.
20006
20007 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20010 reserved_first_sector to 0.
20011 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20012 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20013 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20014
20015 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 Fix handling of UTF-16 UDF labels.
20018
20019 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20020 (read_string): .. here.
20021 (grub_udf_label): Use read_string.
20022
20023 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20024
20025 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20026 editor under argument scope.
20027 Reported by: Jordan Uggla
20028
20029 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20032
20033 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20036 line, and other keys scroll an entire page (previous handling was
20037 for \r and \n to scroll a page and other keys to scroll two lines).
20038
20039 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20042 Set ptrdest to correct get_physical_target_address rather than
20043 incorrect get_virtual_current_address.
20044
20045 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20046
20047 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20048 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20049
20050 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
20051
20052 * .bzrignore: Ignore grub-core/rs_decoder.S.
20053
20054 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
20055
20056 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20057 .mo/.mo.gz opening sequence to ...
20058 (grub_mofile_open_lang): ... here.
20059 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20060 * util/grub.d/00_header.in (grub_lang): Include country part of
20061 locale.
20062 Reported by: Mario Limonciello.
20063
20064 2010-12-09 Robert Millan <rmh@gnu.org>
20065
20066 * NEWS: Document addition of ZFS support.
20067
20068 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
20069
20070 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20071 rather than `/ 2', as the latter requires -Wa,--divide which would
20072 require bumping our minimum binutils version.
20073
20074 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20075
20076 * util/grub-script-check.c (main): Print script line number on
20077 error.
20078
20079 2010-12-01 Robert Millan <rmh@gnu.org>
20080
20081 * grub-core/fs/zfs/zfs.c: New file.
20082 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20083 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20084 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20085 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20086
20087 * include/grub/zfs/dmu.h: Likewise.
20088 * include/grub/zfs/dmu_objset.h: Likewise.
20089 * include/grub/zfs/dnode.h: Likewise.
20090 * include/grub/zfs/dsl_dataset.h: Likewise.
20091 * include/grub/zfs/dsl_dir.h: Likewise.
20092 * include/grub/zfs/sa_impl.h: Likewise.
20093 * include/grub/zfs/spa.h: Likewise.
20094 * include/grub/zfs/uberblock_impl.h: Likewise.
20095 * include/grub/zfs/vdev_impl.h: Likewise.
20096 * include/grub/zfs/zap_impl.h: Likewise.
20097 * include/grub/zfs/zap_leaf.h: Likewise.
20098 * include/grub/zfs/zfs.h: Likewise.
20099 * include/grub/zfs/zfs_acl.h: Likewise.
20100 * include/grub/zfs/zfs_znode.h: Likewise.
20101 * include/grub/zfs/zil.h: Likewise.
20102 * include/grub/zfs/zio.h: Likewise.
20103 * include/grub/zfs/zio_checksum.h: Likewise.
20104
20105 * Makefile.util.def: Build ZFS into libgrubmods.
20106 * grub-core/Makefile.core.def: Build zfs.mod.
20107
20108 2010-11-30 Szymon Janc <szymon@janc.net.pl>
20109
20110 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20111 variable.
20112 * grub-core/commands/wildcard.c (match_files): Likewise.
20113
20114 2010-11-30 Robert Millan <rmh@gnu.org>
20115
20116 * grub-core/loader/i386/bsd.c
20117 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20118 whether kernel is loaded using grub_loader_is_loaded(), rather
20119 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20120 certain error conditions.
20121
20122 2010-11-30 Robert Millan <rmh@gnu.org>
20123
20124 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20125 (grub_cmd_echo): Call grub_refresh() after printing a message.
20126
20127 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 Avoid using tricks for initialising endian variables.
20130
20131 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20132 Make const.
20133 (GRUB_MOD_INIT): Don't byte-swap.
20134 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20135 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20136 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20137 (grub_swap_bytes32_compile_time): Likewise.
20138 (grub_cpu_to_le32_compile_time): Likewise.
20139 (grub_cpu_to_le16_compile_time): Likewise.
20140
20141 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * util/grub-setup.c (setup): Stop recommending --force. People who
20144 understand the dangers of blocklists are able to find this option
20145 anyway and the ones who don't shouldn't use it anyway.
20146
20147 2010-11-26 Robert Millan <rmh@gnu.org>
20148
20149 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20150 Update all users.
20151
20152 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
20153
20154 Fix LVM-on-RAID probing.
20155
20156 * util/grub-probe.c (probe): Remember which disk was detected as
20157 RAID (perhaps an LVM physical volume). Use that disk's raidname
20158 rather than that of the top-level disk.
20159
20160 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
20161
20162 Fix cmdline argument quotes for setparams command of menuentry
20163 definitions.
20164
20165 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20166 quotes for arguments.
20167 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
20168 grub_strchrsub function instead.
20169
20170 * include/grub/misc.h (grub_strchrsub): New function.
20171
20172 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20175 effort by skipping "." and ".." entries up-front.
20176 Suggested by: Michael Lazarev.
20177
20178 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20181 ldflags to ldadd, to fix link line ordering.
20182 (none_decompress): Likewise.
20183
20184 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20187 platforms.
20188 (grub-emu-lite): Remove kern/emu/cache.S.
20189
20190 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20191
20192 * util/deviceiter.c (compare_devices): If the by-id link for a
20193 device couldn't be resolved, fall back to sorting by the by-id link
20194 rather than segfaulting.
20195 Reported and tested by: Daniel Mierswa.
20196
20197 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20198
20199 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20200 ldflags, to fix link line ordering.
20201
20202 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20203
20204 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20205 linkers are picky about this.
20206
20207 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * grub-core/Makefile.am (command.lst): Adjust sed expression
20210 ordering so that extended and priority commands aren't treated as
20211 ordinary commands.
20212
20213 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20214
20215 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20216 Remove byte-swapping function calls, which are not valid in
20217 structure initialisers.
20218 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20219 non-const.
20220 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20221 grub_gpt_partition_type_bios_boot.
20222
20223 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20224
20225 Fix test program build on GNU/kFreeBSD.
20226
20227 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20228 $(LIBNVPAIR)' library dependencies.
20229
20230 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20231
20232 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20233
20234 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20235
20236 * util/grub-install.in: Remove excessive quoting that broke
20237 installations to RAID devices.
20238
20239 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20242 bootloader version instead of 0.
20243
20244 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20247 warning.
20248
20249 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20252 retrieve the metadat sector if size isn't known.
20253 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20254
20255 2010-11-18 Robert Millan <rmh@gnu.org>
20256
20257 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20258 with grub_memcmp().
20259
20260 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20263 arrow.
20264 Reported by: Jordan Uggla.
20265
20266 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 Make better UTF compliant.
20269
20270 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20271 sequences as incorrect.
20272 (grub_is_valid_utf8): Likewise.
20273 (grub_utf8_to_ucs4): Likewise.
20274 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20275 (grub_ucs4_to_utf8_alloc): Likewise.
20276 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20277
20278 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Make legacy_source behave like source.
20281
20282 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20283 grub_show_menu.
20284 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20285
20286 2010-11-16 Colin Watson <cjwatson@debian.org>
20287
20288 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20289 (-Wunused implies -Wunused-parameter, but not vice versa).
20290
20291 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
20292
20293 * configure.ac: Make error messages less confusing by testing for
20294 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20295 accepted, but produces a diagnostic if something else is wrong).
20296
20297 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20298
20299 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20300 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20301 (now unused).
20302 (grub_keyboard_controller_init)
20303 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20304 read the initial state since controller isn't inited yet.
20305
20306 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20309 allocate_regbeg may need to create new chunk header.
20310
20311 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 Fix quoting in legacy parser.
20314
20315 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20316 single quotes.
20317 (grub_legacy_parse): Likewise.
20318 Reported by: Jordan Uggla.
20319 Tested by: Jordan Uggla.
20320
20321 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 Don't add -lgcc on i386 and x86_64.
20324
20325 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20326 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20327 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20328
20329 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * configure.ac: Add -Wno-trampolines when supported.
20332
20333 2010-11-14 Modestas Vainius <modax@debian.org>
20334
20335 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20336 fakeraid.
20337
20338 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20339
20340 Add generic logical block size support for UDF.
20341
20342 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20343 (GRUB_UDF_BLKSZ): Removed.
20344 (struct grub_udf_data): New field "lbshift" to hold the logical block
20345 size of the file system in log2 format. All users updated.
20346 (sblocklist): Change type to unsigned.
20347 (grub_udf_mount): Change type of "sblklist" to unsigned.
20348 Move AVDP search before VRS recognition, because the latter requires
20349 knowledge of the logical block size, which is detected during the
20350 former.
20351 Detect and validate logical block size during AVDP search, adding
20352 support for block sizes 512, 1024 and 4096.
20353 Make VRS recognition independent of block size.
20354
20355 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20356
20357 Properly handle deleted files on UDF.
20358
20359 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20360 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20361 set.
20362
20363 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20364
20365 Support reading files larger than 2 GiB.
20366
20367 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20368 "offset" to grub_off_t.
20369 (grub_udf_read_file): Likewise for parameter "pos".
20370
20371 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20374 unavailable.
20375 (Simple configuration): Refer to Changes from GRUB Legacy about
20376 save_env availability.
20377
20378 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * util/grub-install.in: Ignore empty partition table detection
20381 instead of trying to include part_ module.
20382
20383 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20384
20385 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20386 LVM on RAID support.
20387
20388 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20389
20390 Properly define WORDS_BIGENDIAN in wrapped environments.
20391
20392 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20393 definition.
20394 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20395
20396 Reported by: Manoel Rebelo Abranches.
20397 Tested by: Manoel Rebelo Abranches.
20398
20399 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * util/grub-mkconfig.in: Fix quoting.
20402
20403 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 Support big ext2 files.
20406
20407 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20408 (grub_ext2_read_block): Support triple indirect blocks.
20409 (grub_ext2_read_file): Use 64-bit types and read size_high.
20410 (grub_ext2_open): Read size_high.
20411 Reported by: Ximin Luo.
20412 Tested by: Manoel Rebelo Abranches.
20413
20414 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * util/grub-install.in: Handle filenames containing spaces.
20417 Reported by: Jordan Uggla.
20418 Tested by: Jordan Uggla.
20419
20420 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 * util/grub-mkconfig.in (grub_script_check): New variable.
20423 Use grub_script_check instead of grub-script-check.
20424 Reported by: Barry Jackson.
20425
20426 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * docs/grub.texi (menu): Correct the order.
20429 Reported by: D. Hugh Redelmeier.
20430
20431 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20434 jump.
20435
20436 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20437
20438 * include/grub/elfload.h (grub_elf32_size): New parameter.
20439 All users updated.
20440 Return maximum segments alignment.
20441 (grub_elf64_size): Likewise.
20442 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20443 Return maximum segments alignment.
20444 (grub_elf64_size): Likewise.
20445 * grub-core/loader/powerpc/ieee1275/linux.c:
20446 (grub_linux_claimmap_iterate): New function. Uses the
20447 "available" property in the "memory" node for memory allocation
20448 for kernel in the PowerPC loader.
20449 (grub_linux_load32): Correctly find linux entry point offset.
20450 (grub_linux_load64): Likewise.
20451
20452 2010-11-07 Robert Millan <rmh@gnu.org>
20453
20454 On mips-yeeloong, build with -march=loongson2f when this flag is
20455 available (GCC >= 4.4).
20456 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20457 `-march=mips3'.
20458 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20459 or otherwise add -march=mips3.
20460
20461 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20462
20463 Suppress shell expansion on echo '*' and echo "*" like cases.
20464 Reported by: Jordan Uggla.
20465
20466 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20467 string arguments before shell expansion.
20468 * tests/grub_cmd_echo.in: New testcases.
20469
20470 2010-11-07 Robert Millan <rmh@gnu.org>
20471
20472 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20473 transition.
20474
20475 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * grub-core/kern/emu/hostdisk.c
20478 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20479
20480 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20483 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20484 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20485
20486 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20489
20490 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * util/grub-install.in: Replace useless recomendation to pass
20493 --modules with a recomendation to report a bug.
20494
20495 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 Properly register serial terminfo.
20498 Reported by: Jordan Uggla
20499
20500 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20501 const.
20502 (grub_serial_terminfo_output_template): Likewise.
20503 (grub_cmd_serial): Register "serial" with terminfo.
20504 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20505 grub_serial_terminfo_output.
20506
20507 2010-11-05 Robert Millan <rmh@gnu.org>
20508
20509 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20510 needed).
20511
20512 2010-11-05 Robert Millan <rmh@gnu.org>
20513
20514 On Yeeloong, pass machine type information to Linux.
20515
20516 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20517 (LOONGSON_MACHTYPE): New macro, set to
20518 "machtype=lemote-yeeloong-2f-8.9inches".
20519 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20520 additional argument to Linux.
20521
20522 2010-11-04 Robert Millan <rmh@gnu.org>
20523
20524 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20525 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20526 (its SATA disks are detected as slaveless IDE master drives on
20527 kFreeBSD).
20528 Reported by Carsten Aulbert.
20529
20530 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
20531
20532 * util/bin2h.c (main): Fix spelling error in generated output.
20533
20534 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20535
20536 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20537
20538 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20539
20540 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20541 vga= option is supplied.
20542
20543 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20546 * util/grub.d/10_kfreebsd.in: Likewise.
20547 * util/grub.d/10_linux.in: Likewise.
20548 * util/grub.d/20_linux_xen.in: Likewise.
20549
20550 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20553 argument as an argument to no-argument option.
20554
20555 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * util/grub.d/10_linux.in: Add missing load_video with explicit
20558 GRUB_GFXPAYLOAD_LINUX.
20559
20560 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20561
20562 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20563
20564 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20567 elements with invlid index.
20568 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20569 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20570 members.
20571 * include/grub/raid.h (grub_raid_member): New struct.
20572 (grub_raid_array): Transform devices and start_sector into usage of
20573 grub_raid_member. All users updated
20574 (allocated_devs): New member.
20575
20576 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20579 is modified
20580
20581 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20582
20583 NetBSD build fix for getline function conflict from gnulib.
20584
20585 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20586 components that depend on gnulib headers.
20587 (libgrubmods.a): Renamed from earlier libgrub.a.
20588 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20589
20590 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20591
20592 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20593 install rather than creating a broken install.
20594
20595 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * util/grub-setup.c (argp): Remove misleading example of installing to
20598 a partition.
20599
20600 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * util/grub-setup.c (setup): Clarify the error message.
20603
20604 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20607
20608 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * grub-core/kern/emu/misc.c
20611 (grub_make_system_path_relative_to_its_root)
20612 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20613
20614 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * grub-core/kern/emu/misc.c
20617 (grub_make_system_path_relative_to_its_root): Revert r2882.
20618
20619 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20622 useless field head. All users updated.
20623 (free_subchunk): Correct handling of IN_REGION subchunk.
20624
20625 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
20626
20627 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20628 (Supported kernels): Likewise.
20629
20630 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20631
20632 Make mktemp invocations portable.
20633
20634 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20635 exit if mktemp fails.
20636 * tests/grub_script_blockarg.in: Likewise.
20637 * tests/partmap_test.in: Likewise.
20638 * tests/util/grub-shell-tester.in: Likewise.
20639 * tests/util/grub-shell.in: Likewise.
20640 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20641 * Makefile.am: Likewise, and chain shell commands with `&&'
20642 instead of ';'.
20643 * util/grub-mkrescue.in: Use the same explicit template as above, and
20644 exit if mktemp fails.
20645
20646 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20647
20648 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20649 Linux kernel, reported by Dennis Schridde.
20650
20651 2010-10-17 Szymon Janc <szymon@janc.net.pl>
20652
20653 * grub-core/normal/auth.c (grub_auth_check_authentication):
20654 Set-but-not-used variable removed.
20655
20656 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20657
20658 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20659 32-bit linux protocol.
20660
20661 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20664 cursor shape for sanity.
20665
20666 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * docs/grub.texi (Installation): Document buggy BIOS install.
20669
20670 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * docs/grub.texi (Installation): Indent.
20673
20674 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20675
20676 * util/grub-setup.c (setup): New parameter allow_floppy.
20677 (arguments): New member allow_floppy.
20678 (argp_parser): Handle --allow-floppy.
20679 (main): Pass allow_floppy.
20680 * util/grub-install.in: New option --allow-floppy passed though to
20681 grub-setup.
20682
20683 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * util/grub-install.in: Handle partitionless disks.
20686
20687 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * util/grub-setup.c (setup): Don't clean blocklists before readability
20690 verfification.
20691
20692 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * docs/grub.texi (Installation): Document embedding zone. Remove
20695 obsolete grub-install example.
20696
20697 2010-10-16 Szymon Janc <szymon@janc.net.pl>
20698
20699 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20700 Set-but-not-used variable ifdef'ed.
20701 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20702 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20703 variable removed.
20704 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20705 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20706 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20707 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20708 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20709 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20710 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20711 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20712 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20713 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20714 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20715 Likewise.
20716
20717 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20720 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20721 enum value.
20722
20723 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20724
20725 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20726 synonym to _S5_. Needed for some DSDTs.
20727
20728 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 Userspace ACPI parser debugging.
20731
20732 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20733 headers and add relevant defines. Don't include standard headers.
20734 (main) [GRUB_DSDT_TEST]: New function.
20735 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20736 Don't declare functions.
20737
20738 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 Remove dead grub_efi_mm_fini.
20741
20742 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20743 (ALLOCATED_PAGES_SIZE): Likewise.
20744 (MAX_ALLOCATED_PAGES): Likewise.
20745 (allocated_pages): Likewise.
20746 (grub_efi_allocate_pages): Don't record allocated pages.
20747 (grub_efi_free_pages): Likewise.
20748 (grub_efi_mm_init): Likewise.
20749 (grub_efi_mm_fini): Removed.
20750
20751 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20754 (grub_efi_mm_init): Take into account the memory map size increase.
20755
20756 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20759 (serial_hw_put): Wait based on real time rather than port reads. Don't
20760 roken ports.
20761 * include/grub/serial.h (grub_serial_port): New field broken.
20762
20763 2010-10-16 Robert Millan <rmh@gnu.org>
20764
20765 * grub-core/kern/emu/misc.c
20766 (grub_make_system_path_relative_to_its_root): Fix premature return
20767 when processing non-root ZFS filesystems.
20768 Reported by Sergio Talens-Oliag.
20769
20770 2010-10-15 Robert Millan <rmh@gnu.org>
20771
20772 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20773 guarantee compressed ones are processed first.
20774
20775 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20776
20777 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20778 grub_efiemu_autocore.
20779
20780 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20783 rather than 0x1b.
20784 (grub_console_getkey): Use correct jae opcode rather than ja.
20785
20786 2010-10-12 Robert Millan <rmh@gnu.org>
20787
20788 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20789 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20790 variable. All references updated.
20791
20792 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20793
20794 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 Correctly distinguish mdraid flavours.
20797
20798 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20799 (insert_array): New argument raid.
20800 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20801 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20802 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20803
20804 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20807 handling of special keys.
20808
20809 2010-10-02 Aleš Nesrsta <starous@volny.cz>
20810
20811 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20812 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
20813
20814 2010-10-02 Aleš Nesrsta <starous@volny.cz>
20815
20816 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20817 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20818 users updated.
20819 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
20820 Use right endpoint when querying descriptor.
20821
20822 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 Clear out 0x80 color bit on EFI.
20825 Tested by: decoder
20826 Reported by: decoder and meta tech.
20827
20828 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20829 (grub_console_setcolorstate): Clear out 0x80 bit.
20830 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20831 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20832 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20833
20834 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20837 Set to "auto".
20838
20839 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20842 mo_file after freeing.
20843
20844 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20845
20846 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20847
20848 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20849
20850 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20851 flags.
20852
20853 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20854
20855 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20856 usage.
20857
20858 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20861
20862 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20863 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20864 and terminfo.h when needed.
20865 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20866 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20867 (terminfo): Enable only on terminfokernel.
20868 (extcmd): Likewise.
20869 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20870 * include/grub/lib/arg.h: Likewise.
20871 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20872 incorrect usage of ->.
20873
20874 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20875
20876 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20877 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20878
20879 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20880
20881 Fix coreboot compilation.
20882
20883 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20884 Take VBE info into account even if only text is supported.
20885 (fill_vbe_info): Take into account the case when only VGA text
20886 is supported.
20887 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20888 on coreboot, multiboot and qemu.
20889
20890 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20893 debug messages.
20894 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20895
20896 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20899 parameters.
20900
20901 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20904 if they were BSD-style.
20905
20906 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * grub-core/boot/i386/pc/lnxboot.S: Replace
20909 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20910 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20911
20912 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 Write embedding zone using Reed-Solomon.
20915
20916 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20917 * grub-core/Makefile.am (rs_decoder.S): New target.
20918 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20919 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20920 (multiboot): Move to RS part.
20921 (post_reed_solomon): New label.
20922 (grub_boot_drive): Move to non-RS part since it's modified in memory
20923 on boot.
20924 Include rs_decoder.S.
20925 * grub-core/lib/reed_solomon.c: New file.
20926 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20927 New definition.
20928 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20929 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20930 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20931 * include/grub/partition.h (grub_partition_map): Change prototype of
20932 embed to allow returning additional sectors.
20933 * include/grub/reed_solomon.h: New file.
20934 * util/grub-setup.c (setup): Handle Reed-Solomon.
20935
20936 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
20937
20938 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20939 i386 and x86-64 definedness tests.
20940
20941 2010-09-27 Yves Blusseau <blusseau@zetam.org>
20942
20943 Fix generation of kernel_syms.lst
20944
20945 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20946 ASM_PREFIX
20947
20948 2010-09-26 Robert Millan <rmh@gnu.org>
20949
20950 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20951
20952 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20953 the pool is an array of devices, iterate through it and return the
20954 first device that passes a stat() test (instead of blindly returning
20955 the first one).
20956
20957 2010-09-26 Robert Millan <rmh@gnu.org>
20958
20959 Build fixes for GNU/kFreeBSD.
20960
20961 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20962 to programs that require ZFS conversion.
20963 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20964 kernels that don't have FLOPPY_MAJOR.
20965
20966 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20967
20968 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20969
20970 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20971
20972 Fix grub-emu build.
20973
20974 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20975 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20976 mdraid09 and mdraid1x.
20977
20978 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
20979
20980 Re-enable grub-extras.
20981
20982 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20983 avoid confusing Automake. Run autogen only twice, once for the top
20984 level and once for grub-core. Add Makefile.util.def and
20985 Makefile.core.def from extra modules to the appropriate autogen
20986 invocations. If Makefile.common exists in an extra module, include
20987 it in both Makefile.util.am and grub-core/Makefile.core.am;
20988 similarly, include any Makefile.util.common file in Makefile.util.am
20989 and any Makefile.core.common file in grub-core/Makefile.core.am.
20990 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20991 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20992 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20993 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20994
20995 * gentpl.py (gvar_add): Turn GVARS into a set.
20996 (global_variable_initializers): Sort global variables on output.
20997 (vars_init): New function.
20998 (first_time): Likewise.
20999 (library): Ensure that non-global variable initialisations are
21000 emitted before the first time we emit code for a library block.
21001 Append to variables rather than setting them. Only emit
21002 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21003 each conditional path.
21004 (program): installdir() emits an Autogen macro, so must be passed to
21005 var_add rather than gvar_add.
21006 (data): Likewise.
21007 (script): Likewise.
21008 (rules): New function, centralising handling for different target
21009 types. Set up Guile association lists for first_time and vars_init,
21010 and send most output to a diversion so that variable initialisations
21011 can be emitted first.
21012 (module_rules): Use new rules function.
21013 (kernel_rules): Likewise.
21014 (image_rules): Likewise.
21015 (library_rules): Likewise.
21016 (program_rules): Likewise.
21017 (script_rules): Likewise.
21018 (data_rules): Likewise.
21019
21020 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21021
21022 * .bzrignore: Add contrib and grub-core/contrib. Remove
21023 grub-core/Makefile.gcry.am.
21024
21025 2010-09-24 Yves Blusseau <blusseau@zetam.org>
21026
21027 * grub-core/lib/LzFind.c: Add missing include.
21028 * grub-core/lib/LzmaEnc.c: Likewise.
21029 * grub-core/script/lexer.c: Likewise.
21030 * grub-core/script/yylex.l: Likewise.
21031 * util/grub-macho2img.c: Likewise.
21032 * util/grub-menulst2cfg.c: Likewise.
21033 * util/grub-mklayout.c: Likewise.
21034 * util/grub-mkpasswd-pbkdf2.c
21035 * util/grub-mkrelpath.c: Likewise.
21036 * util/resolve.c: Likewise.
21037
21038 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21039
21040 * Makefile.util.def (example_unit_test): Add
21041 grub-core/gnulib/libgnu.a.
21042
21043 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21044
21045 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21046
21047 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Support xz compression on yeeloong.
21050
21051 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21052 * configure.ac: Check for LZMA.
21053 * grub-core/Makefile.core.def (xz_decompress): New target.
21054 (none_decompress): Likewise.
21055 * grub-core/boot/decompressor/minilib.c: New file.
21056 * grub-core/boot/decompressor/none.c: Likewise.
21057 * grub-core/boot/decompressor/xz.c: Likewise.
21058 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21059 * grub-core/kern/mips/cache_flush.S: Likewise.
21060 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21061 * grub-core/kern/mips/startup.S: Move first stage to ...
21062 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21063 nomacro.
21064 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21065 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21066 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21067 Allocate statically.
21068 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21069 Allocate statically or use scratch. Don't check CRC32.
21070 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21071 Allocate statically. Don't check CRC32.
21072 * include/grub/decompressor.h: New file.
21073 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21074 Removed.
21075 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21076 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21077 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21078 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21079 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21080 * util/grub-mkimage.c (grub_compression_t): New type.
21081 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21082 (image_target_desc): New field default_compression.
21083 (image_targets): Adjust yeeloong targets.
21084 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21085 (compress_kernel): New parameter comp.
21086 (generate_image): Likewise. Handle new compression case.
21087 (options): New option --compression
21088 (help): Likewise.
21089 (main): Handle new option.
21090
21091 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21092
21093 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21094
21095 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
21096
21097 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21098 typo in __i386__ conditional.
21099
21100 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21103 include.
21104
21105 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21106
21107 Implement EFI and ACPI multiboot2 extensions.
21108
21109 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21110 new tags as supported.
21111 (acpiv2_size): New function.
21112 (grub_multiboot_get_mbi_size): Take new tags into account.
21113 (grub_multiboot_make_mbi): Add new tags.
21114 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
21115
21116 2010-09-21 Aleš Nesrsta <starous@volny.cz>
21117
21118 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21119 Added missing configuration of USB device.
21120
21121 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21122
21123 * grub-core/normal/menu_entry.c (run): Make sure we always return
21124 a value.
21125
21126 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21127
21128 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21129 NumberOfPages is UINT64 according to the UEFI specification, not
21130 UINTN. Fix printf format.
21131
21132 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21133
21134 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21135 `err' to grub_usb_err_t.
21136 Reported and tested by: KESHAV P.R.
21137
21138 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21139
21140 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21141 tpart non-const, so that we can assign to it. (Since this is a
21142 typedef, the constness refers to the pointer rather than what it
21143 points to.)
21144
21145 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21146
21147 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21148 $(top_srcdir)/grub-core/gnulib as well as
21149 $(top_builddir)/grub-core/gnulib.
21150 Reported by: KESHAV P.R.
21151
21152 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * util/grub-install.in: Fix the bootloader ID option to be
21155 consistently --bootloader-id, not --bootloader_id.
21156 Reported by: KESHAV P.R.
21157
21158 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21159
21160 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21161 check hash checksum." consistently translatable.
21162
21163 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21164
21165 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21166 $(top_builddir).
21167
21168 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21169
21170 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21171 (GRUB_MOD_INIT): Register sha1sum command.
21172 (GRUB_MOD_FINI): Unregister sha1sum command.
21173
21174 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21175
21176 Keep boot and grub directory names in sync with utils scripts
21177
21178 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21179 * config.h.in: Add previous macros.
21180 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21181 * util/grub-install.in: Use $bootdir and $grubdir variables.
21182
21183 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21186 convert partition names to disk names if the new `convert' parameter
21187 is set.
21188 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21189 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21190 disk in its own right. This can happen with Xen disk images.
21191
21192 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21193
21194 * util/grub-editenv.c: Update strings to avoid warnings when generating
21195 grub.pot file.
21196 * util/grub-setup.c: Likewise.
21197
21198 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * configure.ac: Change version to 1.99~beta0.
21201
21202 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21205 Add BADRAM.
21206 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21207 Likewise.
21208 * include/multiboot.h: Resynced with specification.
21209 * include/multiboot2.h: Likewise.
21210
21211 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21212
21213 Fix po directory handling.
21214
21215 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21216 * grub-core/gnulib/Makefile.am: Import gettext module.
21217 * m4/gnulib-cache.m4: Likewise.
21218 * m4/gnulib-comp.m4: Likewise.
21219 * m4/gettext.m4: New file, from gnulib.
21220 * m4/glibc2.m4: Likewise.
21221 * m4/iconv.m4: Likewise.
21222 * m4/intdiv0.m4: Likewise.
21223 * m4/intl.m4: Likewise.
21224 * m4/intldir.m4: Likewise.
21225 * m4/intlmacosx.m4: Likewise.
21226 * m4/intmax.m4: Likewise.
21227 * m4/inttypes-pri.m4: Likewise.
21228 * m4/lcmessage.m4: Likewise.
21229 * m4/lib-ld.m4: Likewise.
21230 * m4/lib-link.m4: Likewise.
21231 * m4/lib-prefix.m4: Likewise.
21232 * m4/lock.m4: Likewise.
21233 * m4/nls.m4: Likewise.
21234 * m4/po.m4: Likewise.
21235 * m4/printf-posix.m4: Likewise.
21236 * m4/progtest.m4: Likewise.
21237 * m4/threadlib.m4: Likewise.
21238 * m4/uintmax_t.m4: Likewise.
21239 * m4/visibility.m4: Likewise.
21240 * po/Makefile.am: Remove.
21241 * po/Makefile.in.in: New file, from gettext.
21242 ($(DOMAIN).pot-update): Support POTFILES-shell.
21243 * po/Makevars: New file.
21244 * po/POTFILES-shell: Rename to ...
21245 * po/POTFILES-shell.in: ... this. Update.
21246 * po/POTFILES: Rename to ...
21247 * po/POTFILES.in: ... this. Update.
21248 * po/Rules-quot: New file, from gettext.
21249 * po/boldquot.sed: Likewise.
21250 * po/en@boldquot.header: Likewise.
21251 * po/en@quot.header: Likewise.
21252 * po/insert-header.sin: Likewise.
21253 * po/quot.sed: Likewise.
21254 * po/remove-potcdate.sin: Likewise.
21255
21256 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21259
21260 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 * util/grub.d/20_linux_xen.in: Use submenus.
21263
21264 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 Support submenus.
21267
21268 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21269 parameter submenu. All users updated.
21270 * grub-core/normal/main.c (free_menu): Rename to ...
21271 (grub_normal_free_menu): ... this. Made global.
21272 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21273 if requested.
21274 * grub-core/normal/menu_entry.c (screen): New field submenu.
21275 (make_screen): Set submenu.
21276 (run): Open new context if requested.
21277 * include/grub/menu.h (grub_menu_entry): New field submenu.
21278 * include/grub/normal.h (grub_normal_free_menu): New proto.
21279
21280 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 Menu entries extractor.
21283
21284 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21285 variants.
21286 (GRUB_MOD_INIT): Register new variants.
21287 (GRUB_MOD_FINI): Unregister new variants.
21288 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21289 into grub_cmd_legacy_source.
21290 (grub_cmd_legacy_source): Implement extractor variants.
21291 (GRUB_MOD_INIT): Register new variants.
21292 (GRUB_MOD_FINI): Unregister new variants.
21293 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21294 as an extractor.
21295 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21296 search as an extractor.
21297 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21298 test as an extractor.
21299 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21300 as an extractor.
21301 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21302 (grub_env_new_context): New function.
21303 (grub_env_context_open): Likewise.
21304 (grub_env_extractor_open): Likewise.
21305 (grub_env_extractor_close): Likewise.
21306 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21307 grub_extractor_level.
21308 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21309 * include/grub/env.h (grub_env_extractor_open): New proto.
21310 (grub_env_extractor_close): Likewise.
21311 * include/grub/normal.h (grub_extractor_level): New external variable.
21312
21313 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21314
21315 Make cutmem accept a region specification.
21316 Suggested by: Samuel Thibault
21317
21318 * grub-core/mmap/mmap.c (parsemem): New function.
21319 (grub_cmd_cutmem): Handle new arguments.
21320
21321 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 New command cutmem.
21324
21325 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21326 (GRUB_MOD_INIT): Register new command.
21327 (GRUB_MOD_FINI): Unregister new command.
21328
21329 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 Support some annoying BSD and Minix subpartitions.
21332
21333 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21334 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21335 Properly handle concatenation.
21336 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21337 * grub-core/normal/completion.c (iterate_partition): Likewise.
21338 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21339 contain partition. All users updated.
21340 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21341 struct.
21342 (grub_openbsdlabel_partition_map): Likewise.
21343 (bsdlabel_partition_map_iterate): Rename to ..
21344 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21345 (bsdlabel_partition_map_iterate): New function.
21346 (netopenbsdlabel_partition_map_iterate): Likewise.
21347 (netbsdlabel_partition_map_iterate): Likewise.
21348 (openbsdlabel_partition_map_iterate): Likewise.
21349 (GRUB_MOD_INIT): Register new partmaps.
21350 (GRUB_MOD_FINI): Unregister new partmaps.
21351 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21352 (grub_partition_msdos_iterate): ... this. All users updated.
21353 Don't support embedding other than in a minix partition.
21354 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21355 proto.
21356 * include/grub/partition.h (grub_partition): New field msdostype.
21357 * util/grub-install.in: Handle openbsd and netbsd types being in
21358 part_bsd module.
21359
21360 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21363
21364 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21365 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21366 (mdraid09): ... this.
21367 (mdraid1x): New module.
21368 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21369 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21370
21371 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21374 vsprintf.
21375
21376 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21377
21378 * grub-core/commands/efi/lsefimmap.c: Correct header.
21379 * NEWS: Update.
21380
21381 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21382
21383 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21384 as printf format strings; the translations might contain '%' which
21385 could cause a crash.
21386 (main): Likewise.
21387 * util/grub-fstest.c (argp_parser): Likewise.
21388 * util/grub-setup.c (argp_parser): Likewise.
21389 (main): Likewise.
21390
21391 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 Use argp in grub-fstest.
21394
21395 * util/grub-fstest.c: Don't include getopt.h.
21396 Include argp.h.
21397 (root): New variable.
21398 (args_count): Likewise.
21399 (nparm): Likewise.
21400 (num_disks): Likewise.
21401 (images): Likewise.
21402 (cmd): Likewise.
21403 (debug_str): Likewise.
21404 (args): Likewise.
21405 (options): Transformed to argp.
21406 (usage): Removed.
21407 (main): Split argument parsing into ...
21408 (argp_parser): ... this. Changed to argp format.
21409 (argp): New variable.
21410 (main): Use argp_parse.
21411
21412 2010-09-20 Tristan Gingold <gingold@free.fr>
21413 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
21414 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21415
21416 * grub-core/commands/efi/lsefimmap.c: New file.
21417 * grub-core/Makefile.core.def (lsefimmap): New module.
21418 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21419
21420 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 Pause the execution (10s max) if any errors are displayed so the user
21423 has a chance to see them.
21424
21425 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21426 (grub_print_error): Increment grub_err_printed_errors.
21427 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21428 execution if any errors were displayed.
21429 (show_menu): Remove old code for pause.
21430 * grub-core/normal/menu_entry.c (run): Likewise.
21431 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21432 users updated.
21433 (grub_normal_get_char_counter): Likewise.
21434 * include/grub/err.h (grub_err_printed_errors): New external variable.
21435 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21436
21437 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Support multiboot VBE info.
21440
21441 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21442 Take VBE info into account.
21443 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21444 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21445 Call fill_vbe_info when appropriate.
21446 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21447 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21448 as supported.
21449 (grub_multiboot_get_mbi_size): Take new tags into account.
21450 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21451 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21452 Call fill_vbe_tag when appropriate.
21453 (grub_multiboot_make_mbi): Properly align tags.
21454 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21455 function.
21456 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21457 proto.
21458 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21459
21460 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 Suport manual terminal geometry specification.
21463
21464 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21465 Save state in grub_ofconsole_terminfo_output.
21466 (grub_ofconsole_term): Use grub_terminfo_getwh.
21467 (grub_ofconsole_getwh): Removed.
21468 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21469 (grub_serial_term): Use grub_terminfo_getwh.
21470 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21471 (options): New struct.
21472 (OPTION_*): New enum.
21473 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21474 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21475 width and height.
21476 (grub_terminfo_getwh): New proto.
21477 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21478
21479 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 Handle legacy "terminal" command.
21482
21483 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21484 and FLAG_TERMINAL.
21485 (legacy_commands): Add terminal and title.
21486 (grub_legacy_parse): Handle terminal. Simplify title handling.
21487
21488 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21489
21490 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21491 parameters overflow.
21492
21493 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21494
21495 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21496 widthspec.h.
21497
21498 * docs/grub.texi (Shell-like scripting): Document `!'.
21499 (Network): Simplify using new i386-pc-pxe format. Mention
21500 grub-mknetdir.
21501
21502 * NEWS: Update.
21503
21504 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21505
21506 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21507 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21508 when needed.
21509
21510 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21511
21512 * grub-core/commands/efi/lsefisystab.c: Correct header.
21513 * grub-core/commands/efi/lssal.c: Likewise.
21514 * grub-core/commands/testload.c: Likewise.
21515
21516 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21517
21518 * util/grub-mkrescue.in: Add explicit root argument to --set to
21519 prevent the UUID being interpreted as an argument to --set (matches
21520 previous change to prepare_grub_to_access_device).
21521
21522 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21523
21524 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21525 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21526 the verbosity of later #ifs.
21527 (find_partition_start): Define this function on FreeBSD too.
21528 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21529 function.
21530 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21531 on FreeBSD.
21532
21533 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21534
21535 * util/grub-editenv.c: Use argp instead of getopt.
21536
21537 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21538
21539 * util/grub-setup.c: Use argp instead of getopt.
21540
21541 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21542
21543 Use gnulib-tool to create gnulib source files.
21544
21545 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21546 grub-core/gnulib directories
21547 * .bzignore: Add **/.deps and autogenerated gnulib files
21548 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21549 of gnulib macros, add grub-core/gnulib/Makefile
21550 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21551 include m4 directory to aclocal.
21552 * Makefile.util.def: Remove direct compilation of gnulib source files
21553 and use the new grub-core/gnulib/libgnu.a.
21554 * build-aux/config.rpath: move config.rpath from top directory to
21555 build-aux
21556 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21557 in gnulib headers
21558 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21559 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21560 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21561 header.
21562 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21563 string.
21564
21565 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21566
21567 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21568 grub-core/genmod.sh and grub-core/gensyminfo.sh
21569
21570 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21571
21572 Add a test for echo command options.
21573
21574 * tests/grub_cmd_echo.in: New test.
21575 * Makefile.util.def: Rules for new test.
21576
21577 2010-09-20 Szymon Janc <szymon@janc.net.pl>
21578
21579 Remove crc.mod and move crc command to hashsum.mod.
21580 Remove lib/crc.c - users updated to use gcrypt implementation.
21581
21582 * grub-core/commands/crc.c: Removed.
21583 * grub-core/Makefile.core.def (crc): Module removed.
21584 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21585 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21586 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21587 * grub-core/lib/crc.c: Removed.
21588 * include/grub/lib/crc.h: Removed.
21589 * Makefile.util.def (crc): Remove lib/crc.c
21590 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21591 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21592 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21593 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21594 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21595 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21596
21597 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21600
21601 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Split config.h for util and core.
21604
21605 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21606 (ADDR32): Likewise.
21607 (DATA32): Likewise.
21608 (BSS_START_SYMBOL): Likewise.
21609 (END_SYMBOL): Likewise.
21610 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21611 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21612 * config.h.in: New file.
21613 * configure.ac: Use config-util.h as config define file.
21614 Rename MACHINE into GRUB_MACHINE. All users updated.
21615 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21616 updated.
21617 (NESTED_FUNC_ATTR): Likewise.
21618 Substitue new variables.
21619 (COND_HAVE_ASM_USCORE): New conditional.
21620 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21621 (kernel_syms.lst): Use ASM_PREFIX.
21622 * grub-core/kern/emu/console.c: Include config-util.h.
21623 * grub-core/kern/emu/misc.c: Likewise.
21624 * grub-core/kern/emu/mm.c: Likewise.
21625 * include/grub/emu/misc.h: Likewise.
21626 * include/grub/libgcc.h: Likewise.
21627
21628 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21631 constants usage.
21632 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21633 Fix GRUB_TERM_KEY_* constants usage.
21634 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21635
21636 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21639 print pointer.
21640 * grub-core/bus/usb/uhci.c: Remove empty define.
21641 (grub_uhci_check_transfer): Add missing cast.
21642 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21643 print pointer.
21644 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21645 PRIuGRUB_SIZE.
21646 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21647
21648 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * grub-core/Makefile.core.def (legacycfg): Add
21651 lib/i386/pc/vesa_modes_table.c on emu.
21652
21653 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21654
21655 Reduce number of temporary files generated by build system.
21656
21657 * grub-core/gencmdlist.sh: Removed.
21658 * grub-core/genfslist.sh: Removed.
21659 * grub-core/genhandlerlist.sh: Removed.
21660 * grub-core/genmodsrc.sh: Removed.
21661 * grub-core/genpartmaplist.sh: Removed.
21662 * grub-core/genparttoollist.sh: Removed.
21663 * grub-core/gentermiinallist.sh: Removed.
21664 * grub-core/genvideolist.sh: Removed.
21665
21666 * grub-core/genmod.sh.in: New file.
21667 * grub-core/gensyminfo.sh.in: New file.
21668
21669 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21670 * conf/Makefile.extra-dist: Update with new files.
21671 * gentpl.py: Remove rules related to unnecessary temporary files.
21672 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21673 and und-* files.
21674 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21675 genmod.sh scripts.
21676 * grub-core/bus/usb/uhci.c: Remove empty #define.
21677 * grub-core/genmoddep.awk: Updated with new syminfo format.
21678 * util/bash-completion.d/Makefile.am: Add config.log to
21679 CLEANFILES.
21680
21681 2010-09-19 Yves Blusseau <blusseau@zetam.org>
21682
21683 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21684
21685 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21686
21687 * util/grub-mkconfig.in: Check the config script for syntax errors
21688 before saving.
21689
21690 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
21691 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21692
21693 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21694 platforms.
21695 * util/grub-install.in: Add EFI and IEEE1275 support.
21696 * util/i386/efi/grub-install.in: Removed.
21697 * util/ieee1275/grub-install.in: Likewise.
21698
21699 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21702 (grub_cmd_cmosclean): Likewise.
21703 (GRUB_MOD_INIT): Register command cmosclean.
21704 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21705 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21706
21707 2010-09-18 Carles Pina i Estany <carles@pina.cat>
21708 2010-09-18 Aleš Nesrsta <starous@volny.cz>
21709 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 Add keyboard layouts support.
21712
21713 * Makefile.util.def (grub-mklayout): New file.
21714 (grub-kbdcomp): New script.
21715 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21716 Add keyboard_layouts.h.
21717 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21718 commands/boot.c on yeeloong.
21719 (keylayouts): New module.
21720 * grub-core/bus/usb/ohci.c
21721 * grub-core/bus/usb/uhci.c
21722 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21723 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21724 (attach_root_port): Likewise.
21725 (poll_nonroot_hub): Likewise.
21726 (grub_usb_poll_devices): Likewise.
21727 (detach_device): Close transfer.
21728 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21729 function.
21730 (grub_usb_bulk_setup_readwrite): Likewise.
21731 (grub_usb_bulk_finish_readwrite): Likewise.
21732 * grub-core/commands/keylayouts.c: New file.
21733 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21734 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21735 aliases.
21736 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21737 support scancode 2.
21738 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21739 * include/grub/keyboard_layouts.h: New file.
21740 * util/grub-mklayout.c: New file.
21741 * util/grub-kbdcomp.in: Likewise.
21742
21743 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Unify memory types.
21746
21747 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21748 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21749 types.
21750 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21751 (grub_upper_mem): Likewise.
21752 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21753 * include/grub/memory.h (grub_memory_type_t): New enum.
21754 All users updated.
21755
21756 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 * grub-core/Makefile.core.def (lsapm): New module.
21759 * grub-core/commands/i386/pc/lsapm.c: New file.
21760 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21761 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21762 Likewise.
21763 * include/grub/i386/pc/apm.h: New file.
21764 * include/multiboot.h (multiboot_apm_info): New struct.
21765
21766 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 GRUB-legacy configuration file support.
21769
21770 * Makefile.util.def (grub-menulst2cfg): New util.
21771 * docs/man/grub-menulst2cfg.h2m: New file.
21772 * grub-core/Makefile.core.def (legacycfg): New module.
21773 * grub-core/commands/legacycfg.c: New file.
21774 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21775 (grub_normal_add_menu_entry): ... this.
21776 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21777 (grub_normal_set_password): ...this.
21778 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21779 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21780 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21781 * grub-core/lib/legacy_parse.c: New file.
21782 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21783 * include/grub/i386/pc/vesa_modes_table.h: New file.
21784 * include/grub/legacy_parse.h: Likewise.
21785 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21786 * util/grub-menulst2cfg.c: New file.
21787
21788 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21789
21790 * grub-core/kern/emu/hostdisk.c
21791 (convert_system_partition_to_system_disk): Initialise node.
21792
21793 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21794
21795 * grub-core/kern/emu/hostdisk.c
21796 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21797 leak.
21798 Reported and based on patch by: Modestas Vainius.
21799
21800 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21801
21802 Fix DM-RAID probing with recent versions of device-mapper udev
21803 rules.
21804
21805 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21806 canonicalise device paths under /dev/mapper/.
21807 (convert_system_partition_to_system_disk): Compare the
21808 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21809 path, since device nodes under /dev/mapper/ are often symlinks.
21810
21811 2010-09-17 Yves Blusseau <blusseau@zetam.org>
21812
21813 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21814
21815 2010-09-16 Yves Blusseau <blusseau@zetam.org>
21816
21817 * configure.ac: Avoid some annoying error messages if freetype-config
21818 program is not found.
21819
21820 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21821
21822 Support RAID on virtio devices, and others.
21823
21824 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21825 Rename to ...
21826 [__MINGW32__] (grub_find_device): ... this.
21827 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21828 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21829 reasonable default if dir is NULL.
21830 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21831 ...
21832 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21833 (grub_guess_root_device): Update callers.
21834 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21835
21836 * util/raid.c (grub_util_getdiskname): Remove.
21837 (grub_util_raid_getmembers): Use grub_find_device rather than
21838 grub_util_getdiskname.
21839
21840 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21841
21842 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21843 needing to be compiled with serial support.
21844 (ls): Indicate that multiple files are accepted.
21845 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21846 indicate that multiple files are accepted.
21847
21848 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21849
21850 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21851 libgrub_a_init.c, and util/bash-completion.d/grub.
21852
21853 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * util/grub-setup.c (setup): Fix incorrect container semantics.
21856
21857 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21860 misusage.
21861 Reported by: J. Nick Terry
21862
21863 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21864
21865 Move embedding routines to partmap sources files.
21866
21867 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21868 [GRUB_UTIL]: New variable.
21869 (gpt_partition_map_iterate): Set part.parent.
21870 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21871 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21872 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21873 New function.
21874 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21875 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21876 (grub_partition_map) [GRUB_UTIL]: New field embed.
21877 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21878 (setup): Use ->embed.
21879
21880 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21883 function.
21884 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21885 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21886
21887 2010-09-15 Yves Blusseau <blusseau@zetam.org>
21888
21889 Add function to get completions from usage.
21890
21891 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21892 completions from usage. Use LC_ALL=C to get options properly.
21893
21894 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 * grub-core/gnulib/basename-lgpl.c: Imported.
21897 * grub-core/gnulib/basename.c: Likewise.
21898 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21899 * grub-core/gnulib/dirname.c: Likewise.
21900 * grub-core/gnulib/dirname.h: Likewise.
21901 * grub-core/gnulib/stripslash.c: Likewise.
21902
21903 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 * grub-core/gnulib/error.c: Resynced.
21906 * grub-core/gnulib/getopt.c: Likewise.
21907 * grub-core/gnulib/getopt_int.h: Likewise.
21908 * grub-core/gnulib/regex.h: Likewise.
21909 * grub-core/gnulib/regex_internal.c: Likewise.
21910 * grub-core/gnulib/regex_internal.h: Likewise.
21911
21912 2010-09-15 Szymon Janc <szymon@janc.net.pl>
21913
21914 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21915 CRC calculations and validity checks.
21916 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21917 calculations.
21918
21919 2010-09-15 Szymon Janc <szymon@janc.net.pl>
21920
21921 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21922
21923 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 Fix incorrect echo options handling.
21926 Reported by: Yves Blusseau.
21927
21928 * include/grub/command.h (grub_command_flags_t): New flags
21929 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21930 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21931 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21932
21933 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21934
21935 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21936 users updated.
21937 (GRUB_COMMAND_FLAG_MENU): Likewise.
21938 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21939 (GRUB_COMMAND_FLAG_TITLE): Removed.
21940 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21941 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21942 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21943 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21944 (grub_command_flags_t): New enum. All users updated.
21945
21946 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21947
21948 Fix solaris compilation.
21949
21950 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21951 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21952 (grub-emu-list): Likewise.
21953
21954 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 Remove deprecated root command.
21957
21958 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21959 updated.
21960
21961 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * util/i386/pc/grub-setup.c: Merge this ...
21964 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21965 * util/grub-setup.c: ... into this.
21966 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21967 New struct.
21968
21969 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21972 possible.
21973
21974 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21975
21976 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21977 allocate p.
21978
21979 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21980
21981 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21982 explicit root argument to set to prevent UUID to be interpreted as
21983 argument to set.
21984
21985 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21986
21987 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21988
21989 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 Don't export grub_gate_a20.
21992
21993 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21994 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21995 to ...
21996 (grub_gate_a20): ... this. All users updated.
21997 * include/grub/i386/pc/init.h: Removed. All users updated.
21998
21999 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 Create euro.pf2 which supports most European languages.
22002
22003 * Makefile.am (grubdata_DATA): Add euro.pf2.
22004 (euro.pf2): New target.
22005 (CLEANFILES): Add euro.pf2.
22006
22007 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * configure.ac: Disable emu-usb by default to prevent inadvertent
22010 device takeover.
22011
22012 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 Disable usbserial on grub-emu since our libusb code isn't good enough
22015 yet.
22016
22017 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22018 (usbserial_pl2303): Likewise.
22019 (usbserial_ftdi): Likewise.
22020
22021 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 * include/grub/disk.h (grub_disk): Remove has_partitions.
22024 All users updated.
22025 * disk/loopback.c (grub_loopback): Remove has_partitions.
22026 All users updated.
22027 (options): Remove partitions. All users updated.
22028 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22029 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22030 actual partition table is found.
22031
22032 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 Remove readability checks (too many false negatives).
22035
22036 * util/grub-install.in: Remove readability checks.
22037 * util/grub-mkconfig.in: Likewise.
22038 * util/grub.d/10_hurd.in: Likewise.
22039 * util/grub.d/10_kfreebsd.in: Likewise.
22040 * util/grub.d/10_linux.in: Likewise.
22041 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22042 way.
22043
22044 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Enable acpi shutdown on all ACPI platforms.
22047
22048 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22049 on coreboo, multiboot and EFI.
22050 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22051 (grub_acpi_halt): Likewise.
22052 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22053 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22054 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22055 * grub-core/lib/i386/halt.c (grub_halt)
22056 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22057
22058 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22061 context.
22062
22063 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22064
22065 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22066 * grub-core/video/efi_uga.c: Likewise.
22067
22068 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 Filter devaliases and never open same device twice.
22071
22072 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22073 (last_ihandle): Likewise.
22074 (ofdisk_hash_ent): New member shortest.
22075 (ofdisk_hash_add): Add canonical path too.
22076 (scan): New function.
22077 (grub_ofdisk_iterate): Iterate over hashed entries.
22078 (compute_dev_path): Don't add :0.
22079 (grub_ofdisk_open): Don't really open the disk.
22080 (grub_ofdisk_close): Avoid closing unrelated disk.
22081 (grub_ofdisk_read): Implement reopen logic.
22082 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22083 New function.
22084 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22085 New proto.
22086
22087 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 Fix sparc64.
22090
22091 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22092 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22093 right address. Add sparc64_ieee1275_ldflags.
22094 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22095 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22096 to grub_host_to_target_addr
22097 (load_image): Likewise.
22098
22099 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * grub-core/normal/completion.c (complete_file): Handle device
22102 containing slash.
22103 Fix based on patch by Doug Nazar.
22104
22105 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 grub-mknetdir script.
22108
22109 * Makefile.util.def (grub-mknetdir): New module.
22110 * tests/util/grub-shell.in: Support boot=net
22111 * util/grub-mknetdir.in: New file.
22112
22113 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 videoinfo on non-vbe.
22116
22117 * grub-core/Makefile.core.def (vbeinfo): Removed.
22118 (vbetest): Removed.
22119 (videoinfo): New module.
22120 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22121 * grub-core/commands/i386/pc/vbetest.c: Removed.
22122 * grub-core/commands/videoinfo.c: New file.
22123 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22124 specification.
22125 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22126 as vbetest.
22127 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22128 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22129 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22130 mode_number. New parameter mode. All users updated.
22131 (grub_video_gop_iterate): New function.
22132 (grub_video_efi_gop): New member iterate.
22133 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22134 (grub_vbe_set_video_mode): Remove setting useless fields.
22135 (vbe2videoinfo): New function.
22136 (grub_video_vbe_iterate): Likewise.
22137 (grub_video_vbe_setup): Use vbe2videoinfo.
22138 (grub_video_vbe_print_adapter_specific_info): New function.
22139 (grub_video_vbe_adapter): New fields iterate and
22140 print_adapter_specific_info.
22141 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22142 All users updated.
22143 (grub_video_mode_info): New field mode_number.
22144 (grub_video_adapter): New fields iterate and
22145 print_adapter_specific_info.
22146
22147 2010-09-13 Tristan Gingold <gingold@free.fr>
22148 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
22149 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * grub-core/commands/efi/lsefisystab.c: New file.
22152 * grub-core/commands/efi/lssal.c: Likewise.
22153 * grub-core/Makefile.core.def (lsacpi): New module.
22154 (lsefisystab): Likewise.
22155 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22156 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22157 (grub_efi_sal_system_table): New struct.
22158 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22159 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22160 (grub_efi_sal_system_table_platform_features): Likewise.
22161 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22162 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22163 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22164 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22165
22166 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 Support explicit user claim that a device is BIOS-visible.
22169
22170 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22171 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22172 * grub-core/kern/emu/hostdisk.c
22173 (convert_system_partition_to_system_disk): Support mdX.
22174 (find_system_device): New parameter add. All users updated.
22175 (grub_util_biosdisk_is_present): New function.
22176 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22177 proto.
22178
22179 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 Search hints support.
22182
22183 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22184 All users updated.
22185
22186 2010-09-13 Yves Blusseau <blusseau@zetam.org>
22187
22188 Bash completion script for util commands
22189
22190 * Makefile.am: Add util/bash-completion.d directory
22191 * configure.ac: Likewise.
22192 * util/bash-completion.d/Makefile.am: New file.
22193 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22194
22195 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22198 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22199 Reported by: Yves Blusseau.
22200
22201 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22202
22203 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22204 partition size and offset.
22205
22206 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22207
22208 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22209
22210 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22211
22212 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22213
22214 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22217 (grub_xvasprintf): Likewise.
22218
22219 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22220
22221 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22222
22223 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22226 args ending with NULL.
22227
22228 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22231 pointer.
22232
22233 2010-09-11 Szymon Janc <szymon@janc.net.pl>
22234
22235 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22236
22237 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 Shutdown using ACPI.
22240
22241 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22242 * grub-core/commands/acpihalt.c: New file.
22243 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22244 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22245 (grub_acpi_halt): New proto.
22246 (GRUB_ACPI_SLP_EN): New const.
22247 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22248 (GRUB_ACPI_OPCODE_*): New enum.
22249 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22250
22251 2010-09-11 Tristan Gingold <gingold@free.fr>
22252 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
22253 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 * commands/lsacpi.c: New file.
22256 * grub-core/Makefile.core.def (lsacpi): New module.
22257 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22258 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22259 (grub_acpi_madt_entry_header): New struct.
22260 (grub_acpi_madt): Likewise.
22261 (grub_acpi_madt_entry_interrupt_override): Likewise.
22262 (grub_acpi_madt_entry_sapic): Likewise.
22263 (grub_acpi_madt_entry_lsapic): Likewise.
22264 (grub_acpi_madt_entry_platform_int_source): Likewise.
22265 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22266 (PRIuGRUB_UINT32_T): Likewise.
22267 (PRIxGRUB_UINT64_T): Likewise.
22268
22269 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Implement loading palette on ieee1275_fb.
22272
22273 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22274 (have_setcolors): Likewise.
22275 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22276 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22277 (grub_video_ieee1275_set_palette): Implement.
22278
22279 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22280 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
22281
22282 * util/grub-install.in (grub_partition): New variable.
22283 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22284 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22285 Fixes a bug reported by Yves Blusseau.
22286
22287 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 Fix emu on mipsel.
22290
22291 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22292 =grub_cpu_flush_cache on all mips and not only yeeloong.
22293 * configure.ac (COND_mips): New conditional.
22294 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22295 platforms.
22296 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22297 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22298 [GRUB_LINKER_HAVE_INIT]: New function.
22299 (grub_emu_post_init): Likewise.
22300 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22301 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22302 * include/grub/cache.h (_mips): Include mips/cache.h.
22303 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22304 LVM and RAID prototypes.
22305 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22306 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22307 function.
22308
22309 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22310
22311 * util/grub-install.in: Don't try to verify core.img until after
22312 running grub-mkimage to create it.
22313
22314 2010-09-10 Robert Millan <rmh@gnu.org>
22315
22316 * util/grub.d/10_hurd.in: Add misc readability checks.
22317 * util/grub.d/10_kfreebsd.in: Likewise.
22318 * util/grub.d/10_linux.in: Likewise.
22319
22320 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22321
22322 * util/grub-install.in: ${imgext} won't be defined here until the
22323 install branch is merged. For the meantime, only verify core.img on
22324 i386-pc and sparc64-ieee1275 platforms.
22325
22326 2010-09-10 Robert Millan <rmh@gnu.org>
22327
22328 Solaris support in grub_find_zpool_from_dir(). Thanks
22329 Seth Goldberg for referring to getextmntent() facility.
22330
22331 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22332 `sys/mkdev.h'.
22333 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22334 `<sys/mnttab.h>'.
22335 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22336 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22337 method for finding zpool name.
22338
22339 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22340
22341 grub-fstest needs the host and hostfs modules while other utilities
22342 actively require those modules to be absent, so grub-fstest needs
22343 its own initialisation and finalisation code.
22344
22345 * Makefile.am (grub_fstest.pp): New target.
22346 (grub_fstest_init.lst): Likewise.
22347 (grub_fstest_init.c): Likewise.
22348 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22349
22350 2010-09-10 Robert Millan <rmh@gnu.org>
22351
22352 * configure.ac: Check for `struct statfs.f_fstypename' and
22353 `struct statfs.f_mntfromname'.
22354
22355 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22356 kFreeBSD-specific code.
22357
22358 2010-09-10 Robert Millan <rmh@gnu.org>
22359
22360 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22361 on ZFS. Now non-main filesystems are supported as / too.
22362
22363 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
22364
22365 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22366 and grub-core/disk/host.c to ...
22367 (grub-fstest): ... here. Having the host disk implementation
22368 present confuses grub-probe and other utility programs.
22369
22370 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22371 when writing to a file, not when writing to stdout.
22372
22373 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22374
22375 * tests/partmap_test.in: New test for partitions.
22376 * Makefile.util.def: Rules for new test.
22377
22378 2010-09-09 Robert Millan <rmh@gnu.org>
22379
22380 * util/grub-probe.c (probe): Fix a pair of unhandled error
22381 conditions.
22382
22383 2010-09-09 Robert Millan <rmh@gnu.org>
22384
22385 Basic Btrfs support (detection and UUID).
22386
22387 * grub-core/fs/btrfs.c: New file.
22388 * Makefile.util.def (library): Register btrfs.c.
22389 * grub-core/Makefile.core.def: Likewise.
22390
22391 2010-09-08 Robert Millan <rmh@gnu.org>
22392
22393 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22394 with (optional) parameters to specify device and relative path.
22395 * util/grub-install.in: Use is_path_readable_by_grub() to
22396 verify readability of a few critical files.
22397 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22398 verify readability of grub.cfg.new.
22399
22400 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 Split minix.mod into minix.mod and minix2.mod.
22403
22404 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22405 * grub-core/Makefile.core.def (minix2): New module.
22406 * grub-core/fs/minix.c: Use definitions instead of runtime version
22407 checking.
22408 * grub-core/fs/minix2.c: New file.
22409
22410 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22411
22412 Add new --boot-directory option to replace --root-directory
22413
22414 * util/grub-install.in: Add new --boot-directory option
22415 * util/grub-reboot.in: Likewise.
22416 * util/grub-set-default.in: Likewise.
22417
22418 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22419
22420 * util/grub-mkconfig.in: Use new variable.
22421
22422 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22423
22424 * configure.ac: Define some useful variables.
22425
22426 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22429 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22430 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22431 Use terminfo and don't use cursor-on/cursor-off unless it's known
22432 to work.
22433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22434 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22435
22436 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
22437
22438 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22439 starts with "(,", fill the drive containing the loaded image in
22440 between those two characters, but expect that a full partition
22441 specification including partition map names will follow.
22442
22443 2010-09-08 Robert Millan <rmh@gnu.org>
22444
22445 * configure.ac: Remove `--enable-grub-fstest' option.
22446 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22447
22448 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22449 `grub-fstest' instead of `grub-probe' for readability verification.
22450 * util/grub-probe.c (probe): Remove readability verification kludge.
22451
22452 2010-09-08 Robert Millan <rmh@gnu.org>
22453
22454 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22455 initializing `GRUB_FS'.
22456
22457 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22458
22459 Not command (!) support to GRUB script.
22460
22461 * tests/grub_script_not.in: New test.
22462 * Makefile.util.def: Rules for new test.
22463
22464 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22465 ! command as a special case.
22466 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22467
22468 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22469
22470 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22471 grub_free.
22472
22473 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22474
22475 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22476
22477 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22478
22479 * docs/grub.texi (Shell-like scripting): Documentation for break,
22480 continue, shift and return commands.
22481
22482 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22483
22484 Rename CD-ROM to cd on BIOS.
22485
22486 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22487 "cd".
22488 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22489
22490 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22493 * util/grub-probe.c (main): Likewise.
22494 * util/i386/pc/grub-setup.c (main): Likewise.
22495 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22496 Reported and debugged by: alexxy
22497
22498 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22501 diagnostic info.
22502
22503 2010-09-05 Jo Shields <directhex@apebox.org>
22504
22505 * util/grub.d/30_os-prober.in: Add missing classes.
22506
22507 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 * docs/grub.texi (Theme file format): Document new position format.
22510
22511 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22512
22513 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22514 a table. Use @code instead of @verbatim.
22515
22516 2010-09-05 Colin D Bennett <colin@gibibit.com>
22517
22518 Gfxmenu documentation.
22519
22520 * docs/grub.texi (Theme file format): New chapter.
22521
22522 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22523
22524 * grub-core/Makefile.core.def (xzio): New module.
22525 * grub-core/io/xzio.c: New file.
22526 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22527 * grub-core/lib/xzembed/xz_config.h: Likewise.
22528 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22529 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22530 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22531 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22532 * grub-core/lib/xzembed/xz_private.h: Likewise.
22533 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22534 * include/grub/file.h (grub_file_filter_id): New compression filter
22535 GRUB_FILE_FILTER_XZIO.
22536
22537 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22540 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22541 size.
22542
22543 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22546 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22547
22548 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 Uncompressed checksum support.
22551
22552 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22553 (check_list): New parameter uncompress.
22554 (grub_cmd_hashsum): Handle --uncompress.
22555
22556 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 Reintroduce testload.
22559
22560 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22561 from here ...
22562 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22563 (GRUB_MOD_INIT): New function.
22564 (GRUB_MOD_FINI): Likewise.
22565 * grub-core/Makefile.core.def (testload): New module.
22566
22567 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22568
22569 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22570 (uint8_t): New type.
22571 (uint16_t): Likewise.
22572 (uint32_t): Likewise.
22573 (uint64_t): Likewise.
22574
22575 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22576
22577 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22578
22579 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22580
22581 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22582 Made static.
22583 (grub_gzfile_open): Removed. All users updated.
22584 (GRUB_MOD_INIT): New function.
22585 (GRUB_MOD_FINI): Likewise.
22586 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22587 (grub_file_filters_enabled): Likewise.
22588 (grub_file_open): Handle filters.
22589 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22590 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22591 * include/grub/file.h (grub_file_filter_id_t): New type.
22592 (grub_file_filter_t): Likewise.
22593 (grub_file_filters_all): New extern variable.
22594 (grub_file_filters_enabled): Likewise.
22595 (grub_file_filter_register): New inline function.
22596 (grub_file_filter_unregister): Likewise.
22597 (grub_file_filter_disable): Likewise.
22598 (grub_file_filter_disable_compression): Likewise.
22599 * include/grub/gzio.h: Removed.
22600
22601 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22602
22603 Filename expansion support for wildcards in GRUB script.
22604
22605 * tests/grub_script_expansion.in: New test.
22606 * Makefile.util.def: Rule for new test.
22607
22608 * grub-core/commands/wildcard.c: New file, implements filename
22609 expansion support for GRUB script.
22610 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22611 * grub-core/script/argv.c: Cosmetic changes.
22612 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22613 Refactored to perform wildcard expansion on arguments.
22614 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22615 struct.
22616
22617 * tests/util/grub-shell.in: Fix quoting for read input.
22618
22619 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22620
22621 Support for updating environment variables with matched substrings
22622 of regexp.
22623
22624 * tests/grub_cmd_regexp.in: New test.
22625 * Makefile.util.def: Rule for new test.
22626
22627 * grub-core/commands/regexp.c: New option -s to update environment
22628 variables with regexp matches.
22629
22630 2010-09-04 Szymon Janc <szymon@janc.net.pl>
22631
22632 * include/grub/file.h (grub_file): New member not_easly_seekable.
22633 (grub_file_seekable): New inline function.
22634 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22635 easily seekable.
22636 (grub_gzio_open): Set not_easly_seekable.
22637 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22638 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22639
22640 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22641
22642 Support for options to appear multiple times on cmdline.
22643
22644 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22645 * grub-core/commands/extcmd.c: Support for repeatable option.
22646 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22647 repeatable option support.
22648
22649 Refactor menuentry into a regular command.
22650
22651 * grub-core/commands/menuentry.c: New file, menuentry command
22652 implementation.
22653 * grub-core/Makefile.core.def: Rule update for normal.mod.
22654 * grub-core/normal/main.c: Moved menuentry creation to
22655 grub-core/commands/menuentry.c.
22656 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22657 (grub_menu_execute_entry_real): Removed.
22658 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22659 function.
22660 (grub_script_execute_menuentry): Removed.
22661 * grub-core/script/parser.y (menuentry): Removed.
22662 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22663 * grub-core/script/yylex.l (menuentry): Removed.
22664 * include/grub/menu.h (grub_menu_init): New prototype.
22665 (grub_menu_fini): New prototype.
22666 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22667 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22668 (grub_script_execute_sourcecode): New prototype.
22669
22670 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22671
22672 "return" command for GRUB script functions.
22673
22674 * tests/grub_script_return.in: New test.
22675 * Makefile.util.def: Rules for new test.
22676
22677 * grub-core/script/execute.c (grub_script_return): New function.
22678 * grub-core/script/main.c: Register/unregister return commaond.
22679 * include/grub/script_sh.h (grub_script_return): New prototype.
22680
22681 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22682
22683 "setparams" command to update positional parameters.
22684
22685 * tests/grub_script_setparams.in: New test.
22686 * Makefile.util.def: Rules for new test.
22687
22688 * grub-core/script/argv.c (grub_script_argv_make): New function.
22689 * grub-core/script/execute.c (replace_scope): New function.
22690 (grub_script_setparams): New function.
22691 * grub-core/script/lexer.c: Remove unused variables.
22692 * grub-core/script/main.c: Register/unregister setparams command.
22693 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22694 (grub_script_setparams): New prototype.
22695
22696 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22697
22698 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22699 grub_free order.
22700
22701 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22702
22703 Support for passing block of commands as an argument to extcmds.
22704
22705 * Makefile.util.def: Rules for new test.
22706 * tests/grub_script_blockarg.in: New test.
22707 * grub-core/tests/test_blockarg.c: New file, block argument
22708 command used in the test.
22709
22710 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22711 (grub_register_extcmd_prio): New function prototype.
22712 (grub_extcmd_dispatcher): New function prototype.
22713 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22714 type.
22715 * include/grub/script_sh.h (struct grub_script): New members
22716 `children', `next_siblings' and `refcnt' for block arguments and
22717 reference counting.
22718 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22719 (grub_script_arg): New member `script' for block argument.
22720 (grub_script_argv): New member `script' for block argument.
22721 (grub_parser_param): New member `scripts' for block argument.
22722 (grub_script_mem_free): New extern function prototype.
22723 (grub_script_ref): New function prototype.
22724 (grub_script_unref): New function prototype.
22725
22726 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22727 extcmd form to support block arguments.
22728 * grub-core/script/argv.c: Block arguments support.
22729 * grub-core/script/execute.c: Likewise.
22730 * grub-core/script/lexer.c: Likewise.
22731 * grub-core/script/main.c: Likewise.
22732 * grub-core/script/script.c: Likewise.
22733 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22734 non-terminals.
22735
22736 * grub-core/commands/acpi.c: Update extcmd implementations with
22737 grub_extcmd_context_t.
22738 * grub-core/commands/cat.c: Likewise.
22739 * grub-core/commands/echo.c: Likewise.
22740 * grub-core/commands/extcmd.c: Likewise.
22741 * grub-core/commands/hashsum.c: Likewise.
22742 * grub-core/commands/hdparm.c: Likewise.
22743 * grub-core/commands/help.c: Likewise.
22744 * grub-core/commands/hexdump.c: Likewise.
22745 * grub-core/commands/i386/cpuid.c: Likewise.
22746 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22747 * grub-core/commands/i386/pc/halt.c: Likewise.
22748 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22749 * grub-core/commands/iorw.c: Likewise.
22750 * grub-core/commands/keystatus.c: Likewise.
22751 * grub-core/commands/loadenv.c: Likewise.
22752 * grub-core/commands/ls.c: Likewise.
22753 * grub-core/commands/lspci.c: Likewise.
22754 * grub-core/commands/memrw.c: Likewise.
22755 * grub-core/commands/probe.c: Likewise.
22756 * grub-core/commands/search_wrap.c: Likewise.
22757 * grub-core/commands/setpci.c: Likewise.
22758 * grub-core/commands/sleep.c: Likewise.
22759 * grub-core/disk/loopback.c: Likewise.
22760 * grub-core/hello/hello.c: Likewise.
22761 * grub-core/loader/i386/bsd.c: Likewise.
22762 * grub-core/loader/xnu.c: Likewise.
22763 * grub-core/term/gfxterm.c: Likewise.
22764 * grub-core/term/serial.c: Likewise.
22765 * grub-core/tests/lib/functional_test.c: Likewise.
22766
22767 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22768
22769 Multi-line quoted strings support.
22770
22771 * grub-core/script/lexer.c (append_newline): Removed.
22772 (grub_script_lexer_yywrap): Refactored.
22773 (grub_script_lexer_init): Refactored.
22774 * grub-core/script/yylex.l (yywrap): New function.
22775 (grub_lexer_resplit): New function.
22776 (grub_lexer_unput): New function.
22777 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22778 and resplit.
22779 * tests/grub_script_echo1.in: Added few more testcases.
22780
22781 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22782
22783 * grub-core/kern/misc.c: Don't add abort alias in utils.
22784 Reported by: echoline.
22785
22786 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22787
22788 Add missing files into "make dist" tarball for other platforms.
22789
22790 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22791 * conf/Makefile.common (dist_noinst_DATA): New variable.
22792 * conf/Makefile.extra-dist: Added missing make dist files.
22793 * grub-core/Makefile.core.def: Likewise.
22794
22795 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 Compress grub_prefix.
22798
22799 * grub-core/boot/i386/pc/lnxboot.S: Use
22800 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22801 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22802 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22803 GRUB_MACHINE_PREFIX_END. All users updated.
22804 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22805 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22806 + 0x40.
22807 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22808 * util/grub-mkimage.c (image_target_desc): Change data_end to
22809 prefix_end. All users updated.
22810
22811 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22814 value.
22815 (grub_openbsd_boot): Likewise.
22816 (grub_netbsd_boot): Likewise.
22817 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22818 (grub_xnu_boot): Likewise.
22819
22820 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 * configure.ac: Clean LIBS variable after tests.
22823
22824 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22825
22826 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22827
22828 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22829
22830 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22831 echo if libdevmapper will be used.
22832
22833 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22834
22835 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22836 constant for the same file.
22837
22838 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22841
22842 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22843
22844 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22845 grub-core/*.pp.
22846
22847 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22848
22849 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22850 required by the boot protocol.
22851
22852 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22853 ebp and edi members.
22854 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22855 state.ebp and state.edi.
22856 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22857 %ebp and %edi according to grub_relocator32_ebp and
22858 grub_relocator32_edi respectively.
22859 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22860 and state.edi.
22861
22862 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Add i386-pc-pxe image target.
22865
22866 * util/grub-mkimage.c (image_target_desc): New enum value
22867 IMAGE_I386_PC_PXE.
22868 (image_targets): New target i386-pc-pxe.
22869 (generate_image): Handle i386-pc-pxe image.
22870
22871 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 Fix grub_pxe_scan.
22874
22875 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22876 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22877 All users updated.
22878 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22879 (grub_pxe_pxenv): Correct type.
22880
22881 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22882
22883 * NEWS: Document most of the important changes since 1.98.
22884
22885 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22886
22887 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22888 generated manual page) a little.
22889
22890 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22891
22892 * docs/grub.texi: Add myself as an author.
22893
22894 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 * Makefile.util.def (libgrub.a): Add missing sunpc.
22897 Reported by: Seth Goldberg.
22898
22899 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22900
22901 Interrupt wrapping and code simplifications.
22902
22903 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22904 x86_noieee1275 which are functionaly equivalent in this case.
22905 (grub-install): Make source on each platform explicit. Enable on
22906 all noemu.
22907 * gentpl.py (x86_efi_pc): Removed group.
22908 (x86_noefi): Likewise.
22909 (i386_noefi): Likewise.
22910 (x86_noieee1275): Likewise.
22911 (i386_noieee1275): Likewise.
22912 (i386_noefi_noieee1275): Likewise.
22913 (i386_pc_qemu_coreboot): Likewise.
22914 (i386_coreboot_multiboot): Likewise.
22915 (i386_pc_coreboot_multiboot_qemu): Likewise.
22916 (x86_noefi_mips): Likewise.
22917 (noieee1275): Likewise.
22918 (ieee1275_mips): Likewise.
22919 (noemu_noieee1275): Likewise.
22920 (cmos): New group.
22921 (usb): Likewise.
22922 (videoinkernel): Likewise.
22923 (videomodules): Likewise.
22924 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
22925 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22926 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22927 include/grub/loader.h, include/grub/msdos_partition.h,
22928 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22929 include/grub/machine/console.h, include/grub/machine/vga.h,
22930 include/grub/machine/vbe.h, include/grub/machine/init.h,
22931 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22932 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
22933 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
22934 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22935 * grub-core/Makefile.core.def (kernel): Explicit the source for
22936 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22937 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22938 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22939 Use videoinkernel tag.
22940 (usb): Enable on all usb.
22941 (usbserial_common): Likewise.
22942 (usbserial_pl2303): Likewise.
22943 (usbserial_ftdi): Likewise.
22944 (uhci): Enable on all x86.
22945 (ohci): Enable on all pci.
22946 (cmostest): Enable on all CMOS.
22947 (acpi): Include commands/acpi.c on all platforms.
22948 (halt): Add relevant lib/*/halt.c.
22949 (hdparm): Enable on all pci.
22950 (lspci): Likewise.
22951 (usbtest): Enable on all usb.
22952 (ata): Enable on all pci.
22953 (ata_pthru): Likewise.
22954 (usbms): Enable on all usb.
22955 (usb_keyboard): Likewise.
22956 (font): Use tag videomodules.
22957 (bufio): Likewise.
22958 (datetime): Use tag cmos. Enable on all noemu.
22959 (mmap): Use tags common and x86.
22960 (gfxterm): Use tag videomodules.
22961 (bitmap): Likewise.
22962 (bitmap_scale): Likewise.
22963 (video_fb): Likewise.
22964 (video): Likewise.
22965 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22966 adjust padding accordingly. All users updated.
22967 (grub_ohci_transaction): Fix bad format specification.
22968 (GRUB_MOD_INIT): Add asserts for struct size.
22969 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22970 (grub_alloc_td): Likewise.
22971 (grub_free_queue): Likewise.
22972 (grub_uhci_transfer): Likewise.
22973 (grub_uhci_transaction): Fix bad format specification.
22974 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22975 (grub_usb_bulk_readwrite): Likewise.
22976 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22977 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22978 Made static.
22979 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22980 Made static.
22981 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22982 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22983 Transformed into C.
22984 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22985 Moved from here ...
22986 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22987 ... here. Transformed into C. Made static.
22988 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22989 Moved from here ...
22990 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22991 ... here. Transformed into C. Made static.
22992 * grub-core/kern/i386/pc/startup.S
22993 (grub_biosdisk_check_int13_extensions): Moved from here ...
22994 * grub-core/disk/i386/pc/biosdisk.c
22995 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22996 Made static.
22997 * grub-core/kern/i386/pc/startup.S
22998 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22999 * grub-core/disk/i386/pc/biosdisk.c
23000 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23001 Transformed into C. Made static.
23002 * grub-core/kern/i386/pc/startup.S
23003 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23004 * grub-core/disk/i386/pc/biosdisk.c
23005 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23006 Transformed into C. Made static.
23007 * grub-core/kern/i386/pc/startup.S
23008 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23009 * grub-core/disk/i386/pc/biosdisk.c
23010 (grub_biosdisk_get_diskinfo_standard): ... here.
23011 Transformed into C. Made static.
23012 * grub-core/kern/i386/pc/startup.S
23013 (grub_biosdisk_get_num_floppies): Moved from here ...
23014 * grub-core/disk/i386/pc/biosdisk.c
23015 (grub_biosdisk_get_num_floppies): ... here.
23016 Transformed into C. Made static.
23017 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23018 New function.
23019 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23020 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23021 Transformed into C. Made static.
23022 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23023 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23024 Transformed into C. Made static.
23025 * grub-core/kern/i386/ieee1275/init.c: Removed.
23026 * grub-core/kern/i386/misc.S: Likewise.
23027 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23028 Splitted from here ...
23029 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23030 Transformed into C. Made static. All users updated.
23031 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23032 Transformed into C. Made static. All users updated.
23033 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23034 Moved from here...
23035 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23036 Transformed into C. Made static. All users updated.
23037 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23038 Moved from here...
23039 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23040 Transformed into C. Made static. All users updated.
23041 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23042 Removed (replaced by C version).
23043 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23044 Moved from here...
23045 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23046 Transformed into C. Made static.
23047 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23048 Moved from here...
23049 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23050 ... here. Transformed into C.
23051 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23052 Moved from here...
23053 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23054 ... here. Transformed into C.
23055 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23056 Moved from here...
23057 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23058 ... here. Transformed into C. Made static.
23059 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23060 Moved from here...
23061 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23062 ... here. Transformed into C.
23063 * grub-core/kern/i386/pc/startup.S
23064 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23065 * grub-core/video/i386/pc/vbe.c
23066 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
23067 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23068 Moved from here...
23069 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23070 ... here. Transformed into C.
23071 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23072 Moved from here...
23073 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23074 ... here. Transformed into C.
23075 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23076 Moved from here...
23077 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23078 ... here. Transformed into C.
23079 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23080 Moved from here...
23081 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23082 ... here. Transformed into C.
23083 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23084 Moved from here...
23085 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23086 ... here. Transformed into C. Made static.
23087 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23088 Moved from here...
23089 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23090 ... here. Transformed into C. Made static.
23091 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23092 Moved from here...
23093 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23094 ... here. Transformed into C. Made static.
23095 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23096 pxe_rm_entry as third argument.
23097 (grub_bios_interrupt): New function.
23098 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23099 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23100 of calling grub_stop.
23101 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23102 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23103 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23104 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23105 * grub-core/lib/i386/halt.c: Moved from here ...
23106 * grub-core/lib/i386/halt.c: ... here.
23107 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23108 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23109 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23110 grub_stop_floppy.
23111 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23112 * include/grub/i386/coreboot/init.h: Removed.
23113 * include/grub/i386/multiboot/init.h: Likewise.
23114 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23115 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23116 * include/grub/i386/pc/int.h: New file.
23117 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23118 (grub_pxe_scan): Removed.
23119 (grub_pxe_call): Update prototype.
23120 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23121 prototypes.
23122 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23123 * include/grub/i386/qemu/init.h: Removed.
23124 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23125 noreturn.
23126 (grub_halt): Likewise.
23127 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23128 (grub_reboot): Likewise.
23129 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23130 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
23131 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23132
23133 2010-08-30 Robert Millan <rmh@gnu.org>
23134
23135 * NEWS: Document addition of ZFS support in `grub-install' and
23136 `grub-mkconfig'.
23137
23138 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23139
23140 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23141 dprintf output.
23142
23143 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 Remove leftover embedding of font objects.
23146
23147 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23148 * util/grub-install.in (font): Removed.
23149 * util/grub-mkimage.c (generate_image): Remove font support. All users
23150 updated.
23151
23152 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23153
23154 Remove leftover embedding of font objects.
23155
23156 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23157 * util/grub-install.in (font): Removed.
23158 * util/grub-mkimage.c (generate_image): Remove font support. All users
23159 updated.
23160
23161 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * docs/grub.texi (Network): Fix reference to pxe_blksize.
23164 Reported by: Ian Turner
23165
23166 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23169 timeout to avoid indefinite boot stalling.
23170
23171 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23174 (grub_env_write_color_highlight): Likewise.
23175
23176 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23177
23178 * grub-core/normal/term.c (print_more): Return to normal and not
23179 to standard state after printing "---MORE---".
23180
23181 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23182
23183 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23184 Mask out the bit 0x80 since it has other meaning that specifiing color.
23185
23186 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 New relocator. Allows for more kernel support and more straightforward
23189 loader writing.
23190
23191 * Makefile.am (BOOTTARGET): New variable.
23192 (QEMU32): Likewise.
23193 (linux.init.x86_64): New target.
23194 (linux.init.i386): Likewise.
23195 (multiboot.elf): Likewise.
23196 (kfreebsd.elf): Likewise.
23197 (kfreebsd.aout): Likewise.
23198 (pc-chainloader.elf): Likewise.
23199 (pc-chainloader.bin): Likewise.
23200 (ntldr.elf): Likewise.
23201 (ntldr.bin): Likewise.
23202 (multiboot2.elf): Likewise.
23203 (kfreebsd.init.x86_64): Likewise.
23204 (kfreebsd.init.i386): Likewise.
23205 (knetbsd.init.i386): Likewise.
23206 (kopenbsd.init.i386): Likewise.
23207 (knetbsd.init.x86_64): Likewise.
23208 (kopenbsd.init.x86_64): Likewise.
23209 (linux-initramfs.i386): Likewise.
23210 (linux-initramfs.x86_64): Likewise.
23211 (kfreebsd-mfsroot.i386.img): Likewise.
23212 (knetbsd.image.i386): Likewise.
23213 (kopenbsd.image.i386): Likewise.
23214 (kopenbsd.image.x86_64): Likewise.
23215 (knetbsd.miniroot-image.i386.img): Likewise.
23216 (kfreebsd-mfsroot.x86_64.img): Likewise.
23217 (knetbsd.image.x86_64): Likewise.
23218 (knetbsd.miniroot-image.x86_64.img): Likewise.
23219 (kfreebsd-mfsroot.i386.gz): Likewise.
23220 (bootcheck-kfreebsd-i386): Likewise.
23221 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23222 (bootcheck-kfreebsd-x86_64): Likewise.
23223 (knetbsd.miniroot-image.i386.gz): Likewise.
23224 (bootcheck-knetbsd-i386): Likewise.
23225 (bootcheck-kopenbsd-i386): Likewise.
23226 (bootcheck-kopenbsd-x86_64): Likewise.
23227 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23228 (bootcheck-knetbsd-x86_64): Likewise.
23229 (bootcheck-linux-i386): Likewise.
23230 (bootcheck-linux-x86_64): Likewise.
23231 (bootcheck-linux16-i386): Likewise.
23232 (bootcheck-linux16-x86_64): Likewise.
23233 (bootcheck-multiboot): Likewise.
23234 (bootcheck-multiboot2): Likewise.
23235 (bootcheck-kfreebsd-aout): Likewise.
23236 (bootcheck-pc-chainloader): Likewise.
23237 (bootcheck-ntldr): Likewise.
23238 (CLEANFILES): Add new targets.
23239 (BOOTCHECKS): New variable.
23240 (.PHONY): Add bootchecks.
23241 (SUCCESSFUL_BOOT_STRING): New variable.
23242 (BOOTCHECK_TIMEOUT): Likewise.
23243 (bootcheck): New target
23244 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23245 * configure.ac: Correct efiemu excuse.
23246 * docs/grub.texi (Supported kernels): New chapter.
23247 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23248 include/grub/mm_private.h. Simplify inclusion of
23249 include/grub/boot.h, include/grub/loader.h
23250 and include/grub/msdos_partition.h
23251 (KERNEL_HEADER_FILES) [i386_coreboot]:
23252 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23253 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23254 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23255 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23256 include/grub/machine/loader.h.
23257 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23258 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23259 extra_dist.
23260 (pci.mod): Enable on i386-multiboot.
23261 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23262 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23263 i386-qemu.
23264 (relocator.mod): Rewritten.
23265 (aout.mod): Enable on all x86.
23266 (bsd.mod): Likewise.
23267 (ntldr.mod): New module.
23268 (linux.mod): Use loader/i386/linux.c on all x86.
23269 (xnu.mod): Enable on all x86.
23270 (vga_text.mod): disable on EFI and QEMU.
23271 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23272 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23273 * grub-core/efiemu/loadcore.c: Likewise.
23274 * grub-core/efiemu/main.c: Likewise.
23275 (grub_efiemu_exit_boot_services): Removed.
23276 (grub_efiemu_finish_boot_services): Likewise.
23277 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23278 function.
23279 * grub-core/efiemu/i386/nocfgtables.c: New file.
23280 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23281 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23282 (grub_efi_finish_boot_services): Moved from here ...
23283 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23284 Fille finish memory map and related data.
23285 (finish_mmap_buf): New variable.
23286 (grub_efi_uintn_t finish_mmap_size): Likewise.
23287 (grub_efi_uintn_t finish_key): Likewise.
23288 (grub_efi_uintn_t finish_desc_size): Likewise.
23289 (grub_efi_uint32_t finish_desc_version): Likewise.
23290 (grub_efi_is_finished): Likewise.
23291 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23292 finished.
23293 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23294 (grub_elf64_phdr_iterate): Likewise.
23295 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23296 (grub_os_area_size): Likewise.
23297 (grub_machine_init): Don't reserve os area.
23298 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23299 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23300 * grub-core/kern/i386/loader.S: Removed.
23301 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23302 (grub_os_area_size): Likewise.
23303 (grub_machine_init): Don't reserve os area.
23304 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23305 Don't call grub_dl_unload_all.
23306 Don't include loader.S.
23307 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23308 Declare the memory after _end as available.
23309 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
23310 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
23311 (GRUB_MM_ALLOC_MAGIC): Moved from here...
23312 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23313 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23314 * include/grub/mm_private.h (grub_mm_header): ... here.
23315 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23316 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
23317 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23318 (grub_mm_region): ..here. Removed addr. Added pre_size.
23319 All users updated.
23320 * grub-core/kern/mm.c (base): Renamed to ...
23321 (grub_mm_base): ... this. Made global.
23322 (grub_real_malloc): Alloc from end of region.
23323 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23324 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23325 * grub-core/kern/powerpc/cache_flush.S: ... here.
23326 * grub-core/lib/efi/relocator.c: New file.
23327 * grub-core/lib/i386/relocator.c: Rewritten.
23328 * grub-core/lib/i386/relocator16.S: New file.
23329 * grub-core/lib/i386/relocator32.S: Likewise.
23330 * grub-core/lib/i386/relocator64.S: Likewise.
23331 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23332 * grub-core/lib/i386/relocator_common.S: New file.
23333 * grub-core/lib/ieee1275/relocator.c: Likewise.
23334 * grub-core/lib/mips/relocator.c: Rewritten.
23335 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23336 stylistic adjustments.
23337 * grub-core/lib/powerpc/relocator.c: New file.
23338 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23339 * grub-core/lib/relocator.c: Rewritten.
23340 * grub-core/lib/x86_64/relocator_asm.S: New file.
23341 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23342 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23343 (bsd_tag): New struct.
23344 (tags): New variable.
23345 (tags_last): Likewise.
23346 (netbsd_module): New struct.
23347 (netbsd_mods): New variable.
23348 (netbsd_mods_last): Likewise.
23349 (openbsd_opts): New parameter "serial".
23350 (OPENBSD_SERIAL_ARG): New definition.
23351 (netbsd_opts): New parameter "serial".
23352 (NETBSD_SERIAL_ARG): New definition.
23353 (grub_freebsd_add_meta): Reorganised into ...
23354 (grub_bsd_add_meta): ...this. All users updated.
23355 (grub_freebsd_add_mmap): Reorganised into ...
23356 (generate_e820_mmap): ...this...
23357 (grub_bsd_add_mmap): ...and this. All users updated.
23358 (grub_freebsd_list_modules): Use tags.
23359 (grub_netbsd_add_meta_module): New function.
23360 (grub_netbsd_list_modules): Likewise.
23361 (grub_freebsd_boot): Use relocator and finish EFI.
23362 (grub_openbsd_boot): Likewise.
23363 (grub_netbsd_setup_video): New function.
23364 (grub_netbsd_add_modules): Likewise.
23365 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23366 and finish EFI.
23367 (grub_bsd_unload): Unload tags.
23368 (grub_bsd_load_aout): Use relocator.
23369 (grub_bsd_elf32_size_hook): New function.
23370 (grub_bsd_elf32_hook): Use relocator.
23371 (grub_bsd_elf64_size_hook): New function.
23372 (grub_bsd_elf64_hook): Use relocator.
23373 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23374 (grub_bsd_load): Zero-out openbsd_ramdisk.
23375 (grub_bsd_load): Use relocator.
23376 (grub_cmd_openbsd): Support serial.
23377 (grub_cmd_netbsd): Support modules.
23378 (grub_cmd_freebsd_module): Use relocator.
23379 (grub_netbsd_module_load): New function.
23380 (grub_cmd_netbsd_module): Likewise.
23381 (grub_cmd_openbsd_ramdisk): Likewise.
23382 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23383 kopenbsd_ramdisk.
23384 (GRUB_MOD_FINI): Unregister new commands.
23385 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23386 (grub_freebsd_load_elfmodule_obj): Use relocator.
23387 (grub_freebsd_load_elfmodule): Likewise.
23388 (grub_freebsd_load_elf_meta): Likewise.
23389 (grub_netbsd_load_elf_meta): New function.
23390 (grub_openbsd_find_ramdisk): Likewise.
23391 * grub-core/loader/i386/bsd_helper.S: Removed.
23392 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23393 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23394 * grub-core/loader/i386/efi/linux.c: Likewise.
23395 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23396 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23397 (DEFAULT_VIDEO_MODE): Likewise.
23398 (real_mode_target): New variable.
23399 (prot_mode_target): Likewise.
23400 (initrd_mem_target): Likewise.
23401 (relocator): Likewise.
23402 (efi_mmap_buf): Likewise.
23403 (efi_mmap_size): Likewise.
23404 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23405 (free_pages): Use relocator.
23406 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23407 (grub_linux_setup_video): Return error.
23408 (grub_linux_trampoline_start): Removed.
23409 (grub_linux_trampoline_end): Likewise.
23410 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23411 andd video parameters depending on firmware.
23412 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23413 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23414 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23415 (grub_cmd_initrd): Use relocator.
23416 * grub-core/loader/i386/linux_trampoline.S: Removed.
23417 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23418 (elf_sec_entsize): Likewise.
23419 (elf_sec_shstrndx): Likewise.
23420 (elf_sections): Likewise.
23421 (grub_multiboot_load): Use relocator.
23422 (grub_multiboot_get_mbi_size): Account for sections.
23423 (grub_multiboot_make_mbi): Use relocator and support sections.
23424 (grub_multiboot_add_elfsyms): New function.
23425 (grub_multiboot_free_mbi): Free sections.
23426 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23427 (grub_linux_real_target): Likewise.
23428 (grub_linux_real_chunk): Likewise.
23429 (grub_linux16_prot_size): Likewise.
23430 (grub_linux16_boot): Use relocator.
23431 (grub_linux_unload): Unload relocator.
23432 (grub_cmd_linux): Use relocator.
23433 (grub_cmd_initrd): Likewise.
23434 * grub-core/loader/i386/pc/ntldr.c: New file.
23435 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23436 Don't try to guess CPU frequency.
23437 (grub_xnu_set_video): Stretch bitmap.
23438 (grub_xnu_boot): Use relocator.
23439 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23440 (grub_linux_unload): Free relocator.
23441 (grub_linux_load32): Use relocator.
23442 (grub_linux_load64): Likewise.
23443 (grub_cmd_initrd): Likewise.
23444 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23445 (grub_multiboot_unload): Unload relocator.
23446 (grub_cmd_multiboot): Use relocator.
23447 (grub_cmd_module): Likewise.
23448 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23449 Use relocator and support sections.
23450 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23451 (elf_sec_entsize): Likewise.
23452 (elf_sec_shstrndx): Likewise.
23453 (elf_sections): Likewise.
23454 (grub_multiboot_load): Use relocator.
23455 (grub_multiboot_get_mbi_size): Account for sections.
23456 (grub_multiboot_make_mbi): Use relocator and support sections.
23457 (grub_multiboot_add_elfsyms): New function.
23458 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23459 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23460 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23461 Prototype changed. All users updated.
23462 (grub_xnu_align_heap): Simplified.
23463 (grub_xnu_writetree_toheap): Likewise.
23464 (grub_xnu_unload): Unload relocator.
23465 (grub_cmd_xnu_kernel): Use relocator.
23466 (grub_cmd_xnu_kernel64): Likewise.
23467 (grub_xnu_register_memory): Simplified.
23468 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
23469 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23470 EFI is finished.
23471 (grub_console_checkkey): Likewise.
23472 (grub_console_getkey): Likewise.
23473 (grub_console_getwh): Likewise.
23474 (grub_console_getxy): Likewise.
23475 (grub_console_gotoxy): Likewise.
23476 (grub_console_cls): Likewise.
23477 (grub_console_setcolorstate): Likewise.
23478 (grub_console_setcursor): Likewise.
23479 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23480 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23481 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23482 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23483 * grub-core/tests/boot/kernel-8086.S: Likewise.
23484 * grub-core/tests/boot/kernel-i386.S: Likewise.
23485 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23486 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23487 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23488 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23489 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23490 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23491 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23492 * grub-core/tests/boot/linux.cfg: Likewise.
23493 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23494 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23495 * grub-core/tests/boot/linux16.cfg: Likewise.
23496 * grub-core/tests/boot/multiboot.cfg: Likewise.
23497 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23498 * grub-core/tests/boot/ntldr.cfg: Likewise.
23499 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23500 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23501 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23502 New definition.
23503 * include/grub/dl.h (grub_dl_unload_all): Removed.
23504 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23505 (grub_efi_finish_boot_services): Change prototype.
23506 (grub_efi_is_finished): New variable.
23507 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23508 Changed prototype.
23509 (grub_efiemu_finish_boot_services): Removed.
23510 (grub_machine_efiemu_init_tables): New prototype.
23511 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23512 (grub_elf64_phdr_iterate): Likewise.
23513 * include/grub/i386/bsd.h: Include relocator.h.
23514 (freebsd_tag_header): New struct.
23515 (grub_openbsd_bios_mmap): Removed.
23516 (grub_unix_real_boot): Removed.
23517 (grub_freebsd_load_elfmodule32): Changed prototype.
23518 (grub_freebsd_load_elfmodule_obj64): Likewise.
23519 (grub_freebsd_load_elf_meta32): Likewise.
23520 (grub_freebsd_load_elf_meta64): Likewise.
23521 (grub_freebsd_add_meta): Removed.
23522 (grub_netbsd_load_elf_meta32): New prototype.
23523 (grub_netbsd_load_elf_meta64): Likewise.
23524 (grub_bsd_add_meta): Likewise.
23525 (grub_openbsd_ramdisk_descriptor): New struct.
23526 (grub_openbsd_find_ramdisk32): New prototype.
23527 (grub_openbsd_find_ramdisk64): Likewise.
23528 * include/grub/i386/coreboot/loader.h: Removed.
23529 * include/grub/i386/efi/loader.h: Likewise.
23530 * include/grub/i386/ieee1275/loader.h: Likewise.
23531 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23532 to grub_uint32_t.
23533 * include/grub/i386/loader.h: Removed.
23534 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23535 value.
23536 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23537 (grub_phys_addr_t): New type.
23538 (grub_vtop): New inline function.
23539 (grub_map_memory): Likewise.
23540 (grub_unmap_memory): Likewise.
23541 * include/grub/i386/multiboot/loader.h: Removed.
23542 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23543 (NETBSD_BTINFO_CONSOLE): New definition.
23544 (NETBSD_BTINFO_SYMTAB): Likewise.
23545 (NETBSD_BTINFO_MODULES): Likewise.
23546 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23547 (grub_netbsd_bootinfo): New struct.
23548 (grub_netbsd_btinfo_common): Use explicit bitsize.
23549 (grub_netbsd_btinfo_mmap_entry): Removed.
23550 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23551 (grub_netbsd_btinfo_bootdisk): New struct.
23552 (grub_netbsd_btinfo_symtab): Likewise.
23553 (grub_netbsd_btinfo_serial): Likewise.
23554 (grub_netbsd_btinfo_modules): Likewise.
23555 (grub_netbsd_btinfo_framebuf): Likewise.
23556 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23557 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23558 Likewise.
23559 (grub_openbsd_bootargs): Use explicit bitsize.
23560 (grub_openbsd_bootarg_console): New struct.
23561 (GRUB_OPENBSD_COM_MAJOR): New definition.
23562 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23563 * include/grub/i386/pc/efiemu.h: Removed.
23564 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23565 * include/grub/i386/qemu/loader.h: Removed.
23566 * include/grub/i386/relocator.h: Rewritten.
23567 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23568 * include/grub/mips/memory.h: New file.
23569 * include/grub/mips/multiboot.h: Rewritten.
23570 * include/grub/mips/relocator.h: Rewritten.
23571 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23572 (grub_vtop): New function.
23573 (grub_map_memory): Likewise.
23574 (grub_unmap_memory): Likewise.
23575 * include/grub/misc.h (ALIGN_DOWN): New definition.
23576 * include/grub/mm.h (grub_mm_check_real): New proto.
23577 (GRUB_MM_CHECK): New definition.
23578 * include/grub/mm_private.h: New file.
23579 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23580 (grub_multiboot_get_mbi_size): Removed.
23581 (grub_multiboot_make_mbi): Change prottype.
23582 (grub_multiboot_set_accepts_video): New proto.
23583 (grub_multiboot_add_elfsyms): Likewise.
23584 (grub_multiboot_payload_eip): New variable.
23585 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23586 New prototype.
23587 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23588 New definition.
23589 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23590 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23591 * include/grub/powerpc/ieee1275/loader.h: Removed.
23592 * include/grub/powerpc/memory.h: New file.
23593 * include/grub/powerpc/relocator.h: Likewise.
23594 * include/grub/relocator.h: Likewise.
23595 * include/grub/relocator_private.h: Likewise.
23596 * include/grub/sparc64/ieee1275/loader.h: Removed.
23597 * include/grub/x86_64/memory.h: New file.
23598 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23599 (grub_xnu_heap_malloc): Likewise.
23600 (grub_xnu_heap_real_start): Removed.
23601 (grub_xnu_heap_start): Likewise.
23602 (grub_xnu_relocator): New variable.
23603 (grub_xnu_heap_target_start): Likewise.
23604 * tests/util/grub-shell.in: Support non-pc.
23605 * util/grub-mkimage.c (image_targets): Fix multiboot target.
23606
23607 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23608
23609 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23610 on malloc error.
23611 (grub_bidi_logical_to_visual): Check that malloc succeded.
23612 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23613 puts.
23614 (grub_xputs_normal): Likewise.
23615
23616 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23619 extra_dist.
23620
23621 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23622
23623 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23624
23625 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23628
23629 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23632 dprintf.
23633
23634 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23635
23636 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23637
23638 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * grub-core/normal/term.c (print_more): Fix a memory leak.
23641 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23642 (grub_xputs_normal): Likewise.
23643
23644 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23645
23646 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23647 the begining of the string
23648
23649 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23650
23651 * grub-core/script/script.c (grub_script_parse): Free parsed on
23652 failure.
23653
23654 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23657 on failure.
23658
23659 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23662 return.
23663
23664 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23667 (scroll_up): Fix a memory leak.
23668
23669 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23672 errors.
23673
23674 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 Handle USB pendrives exposed as floppies.
23677
23678 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23679 floppy.
23680 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23681 Check for partitions on all devices.
23682
23683 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23686 (readkey): Likewise.
23687
23688 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23689
23690 Multiple variable names support to "export" command.
23691
23692 * normal/context.c (grub_cmd_export): "export" command supports
23693 multiple variable names.
23694
23695 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23696
23697 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23698 --target=drive output to Mach device name.
23699
23700 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23701
23702 New Automake based build system for GRUB.
23703
23704 * ABOUT-NLS: New file.
23705 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23706 in Makefile.util.def file.
23707 * Makefile.util.def: New file. Autogen build definitions file for
23708 GRUB host utils.
23709 * conf/Makefile.common: New file. Common variables for GRUB host
23710 utils and target modules.
23711 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23712 * docs/Makefile.am: New file. Automake file for docs.
23713 * gentpl.py: New file. Python script to generate Autogen
23714 template.
23715 * grub-core/Makefile.am: New file. GRUB target modules' rules
23716 that doesn't fit in Makefile.core.def file.
23717 * grub-core/Makefile.core.def: New file. Autogen build
23718 definitions file for GRUB target modules.
23719 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23720 specific setjmp.S file.
23721 * po/Makefile.am: New file.
23722
23723 * .bzrignore: New ignores.
23724 * INSTALL: New requirements, without Ruby.
23725 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23726 * autogen.sh: Updated to invoke autogen as necessary.
23727 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23728 and defines for Automake conditionals.
23729 * geninit.sh: Refactoring.
23730
23731 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23732 necessary.
23733 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23734 New prototype.
23735
23736 * include/grub/test.h: Fix functional test modules' naming.
23737 * grub-core/tests/example_functional_test.c: Fix test module name.
23738
23739 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23740 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23741 * util/grub-editenv.c: Likewise.
23742 * util/grub-fstest.c: Likewise.
23743 * util/grub-mkdevicemap.c: Likewise.
23744 * util/grub-mkfont.c: Likewise.
23745 * util/grub-mkimage.c: Likewise.
23746 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23747 * util/grub-probe.c: Likewise.
23748 * util/grub-script-check.c: Likewise.
23749 * util/i386/pc/grub-setup.c: Likewise.
23750 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23751
23752 * tests/util/grub-shell.in: Fix override directory path.
23753 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23754 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23755
23756 * util/lvm.c: Update #includes.
23757 * util/raid.c: Likewise.
23758 * util/resolve.c: Likewise.
23759 * grub-core/bus/emu/pci.c: Likewise.
23760 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23761 * grub-core/lib/posix_wrap/string.h: Likewise.
23762 * grub-core/kern/emu/main.c: Likewise.
23763
23764 * grub-core/gensymlist.sh: New file. Script for generating kernel
23765 symbols file.
23766 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23767
23768 * grub-core/gentrigtables.c: Fix unused variable warnings.
23769
23770 * Makefile.in: Removed.
23771 * conf/any-emu.rmk: Removed.
23772 * conf/common.rmk: Removed.
23773 * conf/i386-coreboot.rmk: Removed.
23774 * conf/i386-efi.rmk: Removed.
23775 * conf/i386-ieee1275.rmk: Removed.
23776 * conf/i386-multiboot.rmk: Removed.
23777 * conf/i386-pc.rmk: Removed.
23778 * conf/i386-qemu.rmk: Removed.
23779 * conf/i386.rmk: Removed.
23780 * conf/mips-yeeloong.rmk: Removed.
23781 * conf/mips.rmk: Removed.
23782 * conf/powerpc-ieee1275.rmk: Removed.
23783 * conf/sparc64-ieee1275.rmk: Removed.
23784 * conf/tests.rmk: Removed.
23785 * conf/x86-efi.rmk: Removed.
23786 * conf/x86_64-efi.rmk: Removed.
23787 * gendistlist.sh: Removed.
23788 * geninitheader.sh: Removed.
23789 * genkernsyms.sh.in: Removed.
23790 * genmk.rb: Removed.
23791 * gensymlist.sh.in: Removed.
23792 * mkinstalldirs: Removed.
23793 * boot: Moved ...
23794 * grub-core/boot: ... to here.
23795 * bus: Moved ...
23796 * grub-core/bus: ... to here.
23797 * commands: Moved ...
23798 * grub-core/commands: ... to here.
23799 * disk: Moved ...
23800 * grub-core/disk: ... to here.
23801 * efiemu: Moved ...
23802 * grub-core/efiemu: ... to here.
23803 * font: Moved ...
23804 * grub-core/font: ... to here.
23805 * fs: Moved ...
23806 * grub-core/fs: ... to here.
23807 * gencmdlist.sh: Moved ...
23808 * grub-core/gencmdlist.sh: ... to here.
23809 * genemuinit.sh: Moved ...
23810 * grub-core/genemuinit.sh: ... to here.
23811 * genemuinitheader.sh: Moved ...
23812 * grub-core/genemuinitheader.sh: ... to here.
23813 * genfslist.sh: Moved ...
23814 * grub-core/genfslist.sh: ... to here.
23815 * genhandlerlist.sh: Moved ...
23816 * grub-core/genhandlerlist.sh: ... to here.
23817 * genmoddep.awk: Moved ...
23818 * grub-core/genmoddep.awk: ... to here.
23819 * genmodsrc.sh: Moved ...
23820 * grub-core/genmodsrc.sh: ... to here.
23821 * genpartmaplist.sh: Moved ...
23822 * grub-core/genpartmaplist.sh: ... to here.
23823 * genparttoollist.sh: Moved ...
23824 * grub-core/genparttoollist.sh: ... to here.
23825 * genterminallist.sh: Moved ...
23826 * grub-core/genterminallist.sh: ... to here.
23827 * gentrigtables.c: Moved ...
23828 * grub-core/gentrigtables.c: ... to here.
23829 * genvideolist.sh: Moved ...
23830 * grub-core/genvideolist.sh: ... to here.
23831 * gettext: Moved ...
23832 * grub-core/gettext: ... to here.
23833 * gfxmenu: Moved ...
23834 * grub-core/gfxmenu: ... to here.
23835 * gnulib: Moved ...
23836 * grub-core/gnulib: ... to here.
23837 * hello: Moved ...
23838 * grub-core/hello: ... to here.
23839 * hook: Moved ...
23840 * grub-core/hook: ... to here.
23841 * io: Moved ...
23842 * grub-core/io: ... to here.
23843 * kern: Moved ...
23844 * grub-core/kern: ... to here.
23845 * lib: Moved ...
23846 * grub-core/lib: ... to here.
23847 * loader: Moved ...
23848 * grub-core/loader: ... to here.
23849 * mmap: Moved ...
23850 * grub-core/mmap: ... to here.
23851 * normal: Moved ...
23852 * grub-core/normal: ... to here.
23853 * partmap: Moved ...
23854 * grub-core/partmap: ... to here.
23855 * parttool: Moved ...
23856 * grub-core/parttool: ... to here.
23857 * script: Moved ...
23858 * grub-core/script: ... to here.
23859 * term: Moved ...
23860 * grub-core/term: ... to here
23861 * tests/example_functional_test.c: Moved ...
23862 * grub-core/tests/example_functional_test.c: ... to here.
23863 * tests/lib/functional_test.c: Moved ...
23864 * grub-core/tests/lib/functional_test.c: ... to here.
23865 * tests/lib/test.c: Moved ...
23866 * grub-core/tests/lib/test.c: ... to here.
23867 * video: Moved ...
23868 * grub-core/video: ... to here.
23869
23870 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23871
23872 Replace --enable-grub-emu-modules with grub-emu-lite.
23873
23874 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23875 cache.S.
23876
23877 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23878 * kern/emu/full.c: New file. For grub-emu specific initialization.
23879 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23880 * kern/emu/main.c: Call initialization function grub_emu_init.
23881
23882 * Makefile.in: Include grub-emu-lite in install.
23883 * commands/parttool.c: Use grub_no_autoload to differentiate
23884 between grub-emu and grub-emu-lite.
23885 * include/grub/misc.h: New variable grub_no_autoload.
23886
23887 * conf/any-emu.rmk: New rules for grub-emu-lite.
23888 * configure.ac: Remove --enable-grub-emu-modules.
23889 * genmk.rb: Cleanup unnecessary rules.
23890 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23891
23892 * normal/main.c: Don't load list files on grub-emu-lite.
23893 * util/misc.c (grub_arch_sync_caches): Removed.
23894
23895 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
23896
23897 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23898 grub-mkimage rather than grub-mkelfimage.
23899 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23900
23901 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23904 a key after CapsLock or NumLock. It's just a qemu bug.
23905
23906 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23909 needed by libusb wrapper.
23910
23911 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23912
23913 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23914
23915 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23918 --nounzip is passed.
23919
23920 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 USB hotunplugging and USB serial support.
23923
23924 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23925 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23926 (grub_uhci_transfer): Respect timeout and set *actual.
23927 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23928 non-standard length.
23929 (grub_usb_device_attach): Autoload modules.
23930 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23931 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23932 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23933 users updated.
23934 (grub_usb_add_hub): Fill nports and children.
23935 (attach_root_port): Receive hub instead of controller.
23936 All users updated. Fill hub->devices.
23937 (grub_usb_root_hub): Allocate hub->devices.
23938 (detach_device): New function.
23939 (poll_nonroot_hub): Fill children and detach devices.
23940 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23941 actual arguments. All users updated.
23942 (grub_usb_bulk_read_extended): New function.
23943 * bus/usb/serial/common.c: New file.
23944 * bus/usb/serial/ftdi.c: Likewise.
23945 * bus/usb/serial/pl2303.c: Likewise.
23946 * commands/terminal.c (handle_command): Support wildcard.
23947 * commands/usbtest.c: Output "Unknown" instead of empty string.
23948 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23949 (usbserial_common_mod_SOURCES): New variable.
23950 (usbserial_common_mod_CFLAGS): Likewise.
23951 (usbserial_common_mod_LDFLAGS): Likewise.
23952 (pkglib_MODULES): Add usbserial_pl2303.mod.
23953 (usbserial_pl2303_mod_SOURCES): New variable.
23954 (usbserial_pl2303_mod_CFLAGS): Likewise.
23955 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23956 (pkglib_MODULES): Add usbserial_ftdi.mod.
23957 (usbserial_ftdi_mod_SOURCES): New variable.
23958 (usbserial_ftdi_mod_CFLAGS): Likewise.
23959 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23960 (pkglib_MODULES): Add serial.mod.
23961 (serial_mod_SOURCES): New variable.
23962 (serial_mod_CFLAGS): Likewise.
23963 (serial_mod_LDFLAGS): Likewise.
23964 * conf/i386-pc.rmk: Likewise.
23965 * conf/mips-yeeloong.rmk: Likewise.
23966 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23967 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23968 * disk/usbms.c (first_available_slot): New variable.
23969 (grub_usbms_attach): Don't reuse free slots due to potential cache
23970 problems.
23971 * include/grub/serial.h: Moved to ..
23972 * include/grub/ns8250.h: ...this.
23973 * include/grub/serial.h: New file.
23974 * include/grub/term.h (grub_term_poll_usb): New variable.
23975 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23976 readkey. All users updated.
23977 (grub_terminfo_output_state): Pass term to put.
23978 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23979 (grub_usb_controller_dev): Add timeout and actual arguments to
23980 transfer. All users updated.
23981 (grub_usb_interface): New field detach_data.
23982 (grub_usb_device): New fields children and nports.
23983 (grub_usb_ep_type_t): New type.
23984 (grub_usb_get_ep_type): New function.
23985 (grub_usb_bulk_read_extended): Likewise.
23986 * include/grub/usbdesc.h (grub_usb_desc): New type.
23987 * include/grub/usbserial.h: New file.
23988 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23989 * kern/term.c (grub_term_poll_usb): New variable.
23990 (grub_getkey): Call grub_term_poll_usb if set.
23991 (grub_checkkey): Likewise.
23992 (grub_getkeystatus): Likewise.
23993 * term/serial.c: Moved controller-specific parts to ...
23994 * term/ns8250.c: ... here.
23995 * term/serial.c: Mostly rewritten.
23996 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23997 according to spec.
23998
23999 2010-08-20 Robert Millan <rmh@gnu.org>
24000
24001 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24002 a separate module and maybe other interesting combinations.
24003
24004 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24005 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24006 (kfreebsd_entry): Add generic filesystem module load routine.
24007 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24008
24009 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
24010
24011 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24012 "numcenter" (I misunderstood the purpose of this entry).
24013 * docs/grub.texi (sendkey): Likewise.
24014
24015 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
24016
24017 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24018 status flag options; simply omitting the option is equivalent and
24019 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24020 (keysym_table): Rename "num5numlock" to "numlock".
24021 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24022 can uniformly say that only the last of multiple `sendkey'
24023 invocations has any effect.
24024 * docs/grub.texi (sendkey): New section.
24025
24026 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
24027
24028 * commands/i386/pc/sendkey.c (options): Fix three typos.
24029
24030 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 Implement sendkey support.
24033
24034 * commands/i386/pc/sendkey.c: New file.
24035 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24036 (sendkey_mod_SOURCES): New variable.
24037 (sendkey_mod_CFLAGS): Likewise.
24038 (sendkey_mod_LDFLAGS): Likewise.
24039
24040 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24043 fix warnings from Autoconf.
24044
24045 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
24046
24047 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24048 to avoid false positives with some assemblers that output things
24049 like "someprefix_func" as part of their output.
24050
24051 2010-08-15 Robert Millan <rmh@gnu.org>
24052
24053 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24054 errors.
24055 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24056 grub_get_libzfs_handle() errors.
24057
24058 2010-08-14 Robert Millan <rmh@gnu.org>
24059
24060 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24061 filesystem is not ZFS.
24062
24063 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24064
24065 Fix for misspelled color names defaulting to black/black (bug
24066 reported by Doug Nazar)
24067
24068 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24069 status to prototype.
24070 * normal/color.c (grub_parse_color_name_pair): Return failure
24071 status.
24072 (grub_env_write_color_normal): Ignore bad color names.
24073 (grub_env_write_color_highlight): Likewise.
24074 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24075
24076 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24077
24078 "shift" command support to GRUB script.
24079
24080 * include/grub/script_sh.h (grub_script_shift): New prototype.
24081 * script/execute.c (grub_script_shift): New function.
24082 * script/main.c (grub_script_init): Register shift command.
24083 (grub_script_fini): Unregister shift command.
24084 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24085
24086 * tests/grub_script_shift.in: New testcase.
24087 * conf/tests.rmk: Rules for new testcase.
24088
24089 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24090
24091 "continue" command support to GRUB script.
24092
24093 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24094 (grub_script_break): Continue support.
24095 * script/main.c (grub_script_init): Register continue command.
24096 (grub_script_fini): Unregister continue command.
24097
24098 * tests/grub_script_continue.in: New testcase.
24099 * conf/tests.rmk: Rules for new testcase.
24100
24101 2010-08-12 BVK Chaitanya <bvk@dbook>
24102
24103 "break" command support to GRUB script.
24104
24105 * conf/common.rmk: Rule updates to grub-script-check.
24106 * include/grub/misc.h (grub_min): New function.
24107 * include/grub/script_sh.h (grub_script_init): New prototype.
24108 (grub_script_fini): New prototype.
24109 (grub_script_break): New prototype.
24110 * script/main.c (grub_script_init): New function.
24111 (grub_script_fini): New function.
24112 * script/execute.c (grub_script_break): New function.
24113 * normal/main.c: Calls to grub_script_{init,fini}.
24114 * util/grub-script-check.c (grub_script_break): New function.
24115
24116 * tests/grub_script_break.in: New testcase.
24117 * conf/tests.rmk: Rules for new test case.
24118
24119 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24120
24121 Function parameters support to GRUB script.
24122
24123 * script/yylex.l (VARIABLE): Regular expression update.
24124 * script/function.c (grub_script_function_call): Moved ...
24125 * script/execute.c (grub_script_function_call): ... to here.
24126 (grub_script_execute_arglist_to_argv): Removed.
24127 (grub_script_arglist_to_argv): New function.
24128 * script/argv.c: New file.
24129 (grub_script_argv_free): New function.
24130 (grub_script_argv_next): Likewise.
24131 (grub_script_argv_append): Likewise.
24132 (grub_script_argv_split_append): Likewise.
24133 * include/grub/script_sh.h (grub_script_argv): New struct.
24134 (grub_script_argv_free): New function.
24135 (grub_script_argv_next): Likewise.
24136 (grub_script_argv_append): Likewise.
24137 (grub_script_argv_split_append): Likewise.
24138
24139 * conf/common.rmk (normal.mod): New source script/argv.c.
24140
24141 * tests/grub_script_echo1.in: More tests.
24142 * tests/grub_script_vars1.in: Likewise.
24143 * tests/grub_script_functions.in: New test case.
24144 * conf/tests.rmk: Rules for new testcase.
24145
24146 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24147
24148 Remove grub_script_cmdblock struct.
24149
24150 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24151 * script/parser.y: Likewise.
24152 * script/execute.c: Rename cmdblock suffix to cmdlist.
24153 * script/script.c: Likewise.
24154 * util/grub-script-check.c: Likewise.
24155
24156 2010-08-11 Yves Blusseau <blusseau@zetam.org>
24157
24158 * .bzrignore: add grub-macho2img
24159
24160 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24163
24164 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24165
24166 Remove the dump of sm712 initialisation sequence.
24167
24168 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24169 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24170 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24171 (GRUB_VGA_CR_*): Added many registers.
24172 (GRUB_VGA_SR_*): Likewise.
24173 (GRUB_VGA_GR_*): Likewise.
24174 (grub_vga_write_arx): New function.
24175 (grub_video_hw_config): New struct.
24176 (grub_vga_set_geometry): New function.
24177 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24178 GRUB_PCI_CLASS_SUBCLASS_VGA.
24179 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24180 * video/sm712.c (grub_sm712_write_reg): New function
24181 (grub_sm712_read_reg): Likewise.
24182 (grub_sm712_sr_write): Likewise.
24183 (grub_sm712_gr_write): Likewise.
24184 (grub_sm712_cr_write): Likewise.
24185 (grub_sm712_write_arx): Likewise.
24186 (grub_sm712_cr_shadow_write): Likewise.
24187 (grub_sm712_write_dda_lookup): Likewise.
24188 (grub_video_sm712_setup): Initialise the video rather then
24189 blindly replay the dump.
24190 (main) [TEST]: Add a routine to be able to compile as standalone for
24191 tests.
24192 * video/sm712_init.c (sm712_init): Removed.
24193 (sm712_sr_seq1): New array.
24194 (sm712_sr_seq2): Likewise.
24195
24196 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24197
24198 * include/grub/vga.h: Add missing grub/pci.h include.
24199
24200 2010-08-10 Yves Blusseau <blusseau@zetam.org>
24201
24202 * util/grub-macho2img.c (main): fix typo
24203
24204 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24207 (grub_vga_gr_read): Likewise.
24208 (grub_vga_cr_write): Likewise.
24209 (grub_vga_cr_read): Likewise.
24210 (grub_vga_sr_write): Likewise.
24211 (grub_vga_sr_read): Likewise.
24212 (grub_vga_palette_read): Likewise.
24213 (grub_vga_palette_write): Likewise.
24214 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24215 (grub_sm712_sr_read): New function.
24216 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24217 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24218
24219 2010-08-09 Robert Millan <rmh@gnu.org>
24220
24221 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24222 out unused variables on non-ZFS build.
24223
24224 2010-08-08 Robert Millan <rmh@gnu.org>
24225
24226 Fix path generation for sub-filesystems in ZFS.
24227
24228 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24229 missing slash.
24230
24231 2010-08-08 Robert Millan <rmh@gnu.org>
24232
24233 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24234
24235 2010-08-08 Robert Millan <rmh@gnu.org>
24236
24237 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24238 exist, issue a proper error message (rely on `ls' for translated
24239 strings).
24240
24241 2010-08-08 Robert Millan <rmh@gnu.org>
24242
24243 Fix grub-probe invocation.
24244
24245 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24246
24247 2010-08-04 Robert Millan <rmh@gnu.org>
24248
24249 * configure.ac: Remove checks for getfsstat() and getmntany().
24250 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24251 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24252 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24253 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24254 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24255 function.
24256 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24257 via find_mount_point_from_dir() and getfsstat() / getmntany().
24258
24259 2010-08-04 Robert Millan <rmh@gnu.org>
24260
24261 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24262 (grub_find_zpool_from_mount_point): Merge into ...
24263 (grub_find_zpool_from_dir): ... this.
24264 * kern/emu/misc.c: Likewise.
24265
24266 * kern/emu/misc.c
24267 (grub_make_system_path_relative_to_its_root): Replace
24268 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24269 with grub_find_zpool_from_dir().
24270 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24271
24272 2010-08-04 Robert Millan <rmh@gnu.org>
24273
24274 Support OpenSolaris in ZFS device resolution.
24275
24276 * configure.ac: Check for getmntany().
24277 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24278 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24279 support.
24280
24281 2010-08-03 Robert Millan <rmh@gnu.org>
24282
24283 Fix grub-emu build.
24284
24285 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24286 * include/grub/emu/misc.h: ... here.
24287
24288 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24289 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24290
24291 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24292 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24293 (grub_get_libzfs_handle): Move to ...
24294 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24295 (grub_get_libzfs_handle): ... here.
24296
24297 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24298
24299 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24300 as command name case.
24301
24302 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
24303
24304 * disk/raid.c (insert_array): Select unique numbers for named arrays
24305 as well, for use as keys in the disk cache.
24306
24307 2010-08-01 Robert Millan <rmh@gnu.org>
24308
24309 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24310 kFreeBSD device name, except on ZFS where the filesystem label is
24311 used.
24312 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24313 `/boot/zfs/zpool.cache'.
24314 Set mountfrom kernel variable using ${kfreebsd_device}.
24315
24316 2010-08-01 Robert Millan <rmh@gnu.org>
24317
24318 Make it even harder to use uninitialized `libzfs_handle' (and
24319 make the interface a bit simpler).
24320
24321 * include/grub/util/misc.h (grub_util_init_libzfs)
24322 (libzfs_handle): Remove.
24323 (grub_get_libzfs_handle): New prototype.
24324
24325 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24326 attribute.
24327 (grub_util_init_libzfs): Remove.
24328 (grub_get_libzfs_handle): New function.
24329
24330 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24331 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24332 accessing `libzfs_handle' directly.
24333
24334 2010-08-01 Robert Millan <rmh@gnu.org>
24335
24336 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24337 (grub_find_zpool_from_mount_point): New function prototypes.
24338
24339 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24340 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24341
24342 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24343 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24344 `static' attribute.
24345
24346 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24347 finding zpool from mount point into ...
24348 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24349
24350 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24351 requested path is part of a ZFS pool, use
24352 grub_find_zpool_from_mount_point() to detect its filesystem name,
24353 and generate a path with `/fsname@path' syntax.
24354
24355 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24356
24357 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24358 (void) rather than () so that this is a proper prototype.
24359
24360 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24363
24364 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24365
24366 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24367 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24368
24369 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24370
24371 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24372
24373 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24374
24375 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24376
24377 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24378
24379 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24380 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24381 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24382 disable gfxpayload.
24383 (Shell-like scripting): Add real content.
24384 (Serial terminal): Suggest `terminal_input serial; terminal_output
24385 serial' rather than putting the two commands on separate lines,
24386 since console input will be inoperative after the first command.
24387 (menuentry): Document --class, --users, and --hotkey options.
24388 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24389 Vladimir Serbinenko).
24390
24391 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24392 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24393
24394 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24395
24396 2010-08-01 Robert Millan <rmh@gnu.org>
24397
24398 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24399 (grub_find_zpool_from_mount_point): New function prototypes.
24400
24401 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24402 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24403
24404 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24405 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24406 `static' attribute.
24407
24408 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24409 finding zpool from mount point into ...
24410 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24411
24412 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24413 requested path is part of a ZFS pool, use
24414 grub_find_zpool_from_mount_point() to detect its filesystem name,
24415 and generate a path with `/fsname@path' syntax.
24416
24417 2010-08-01 Robert Millan <rmh@gnu.org>
24418
24419 Prevent accidental use of uninitialized libzfs_handle.
24420
24421 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24422 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24423 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24424
24425 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24426
24427 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24428 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24429
24430 2010-08-01 Robert Millan <rmh@gnu.org>
24431
24432 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
24433
24434 2010-07-31 Robert Millan <rmh@gnu.org>
24435
24436 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24437
24438 2010-07-31 Robert Millan <rmh@gnu.org>
24439
24440 * kern/emu/misc.c: Add missing license header.
24441
24442 2010-07-31 Robert Millan <rmh@gnu.org>
24443
24444 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24445
24446 * include/grub/util/libnvpair.h: Include `<config.h>'.
24447 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24448 declaring libnvpair prototypes ourselves.
24449 * include/grub/util/libzfs.h: Include `<config.h>'.
24450 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24451 declaring libzfs prototypes ourselves.
24452
24453 (libzfs_handle): Moved to ...
24454 * include/grub/util/misc.h (libzfs_handle): ... here.
24455 Include `<grub/util/libzfs.h>'.
24456
24457 2010-07-30 Robert Millan <rmh@gnu.org>
24458
24459 * include/grub/emu/misc.h: Add missing license header.
24460
24461 2010-07-30 Robert Millan <rmh@gnu.org>
24462
24463 Enable `grub-probe -t device' resolution on ZFS.
24464
24465 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24466 * include/grub/util/libnvpair.h: New file.
24467 * include/grub/util/libzfs.h: New file.
24468
24469 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24470 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24471 `<grub/util/libnvpair.h>'.
24472 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24473
24474 (find_mount_point_from_dir): New static function.
24475 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24476 function.
24477 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24478 find_root_device_from_libzfs() before ressorting to find_root_device().
24479
24480 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24481 prototype.
24482 * util/misc.c: Include `<grub/util/libzfs.h>'.
24483 (grub_util_init_libzfs): New function.
24484 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24485 [HAVE_LIBZFS] (fini_libzfs): New static function.
24486 (grub_util_init_libzfs): New function.
24487 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24488
24489 2010-07-30 Robert Millan <rmh@gnu.org>
24490
24491 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24492 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24493 `warn_unused_result' attribute.
24494 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24495 (grub_xasprintf, grub_xvasprintf): Likewise.
24496 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24497
24498 2010-07-29 Robert Millan <rmh@gnu.org>
24499
24500 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24501 (probe): Handle `PRINT_FS_LABEL'.
24502 (main): Handle `-t fs_label'.
24503
24504 2010-07-29 Robert Millan <rmh@gnu.org>
24505
24506 * configure.ac: Remove grub-mkisofs checks.
24507
24508 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24509
24510 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24511 Reported by: Lennart Sorensen.
24512
24513 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24514
24515 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24516 prior to terminal_input/terminal_output separation. It's been over 1.5
24517 years and those versions weren't widely deployed.
24518
24519 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
24520
24521 * disk/raid.c (insert_array): Don't count named arrays when looking
24522 for unused array numbers.
24523 Reported and tested by: Michael Guntsche.
24524
24525 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24526
24527 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24528 implementation of this so that grub-emu links again, with a note
24529 that this should support hotplugging in the future.
24530
24531 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24532
24533 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24534
24535 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24536
24537 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24538 handle on failure.
24539 (grub_loopback_close): Remove empty function.
24540 (grub_loopback_dev): Remove close method.
24541
24542 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24543
24544 Disable EFI cursor when the EFI console becomes inactive.
24545
24546 * term/efi/console.c (grub_efi_console_init): New function.
24547 (grub_efi_console_fini): New function.
24548 (grub_console_term_output): Register init and fini methods.
24549
24550 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24553 sh script.
24554
24555 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24556
24557 * disk/loopback.c (grub_loopback): Replace filename with file.
24558 (delete_loopback): Handle new semantics.
24559 (grub_cmd_loopback): Likewise.
24560 (grub_loopback_iterate): Likewise.
24561 (grub_loopback_close): Likewise.
24562
24563 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24566 with -p "".
24567 Reported by: Tito Keitel.
24568
24569 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 * docs/grub.texi (Naming convention): Document new naming convention.
24572
24573 2010-07-20 Vadim Solomin <vadic052@gmail.com>
24574 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24575
24576 Generate device.map in something closer to the old ordering.
24577
24578 * util/deviceiter.c (struct device): New declaration.
24579 (compare_file_names): Rename to ...
24580 (compare_devices): ... this. Sort by kernel name in preference to
24581 the stable by-id name, but keep the latter as a fallback comparison.
24582 Update header comment.
24583 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24584 of `struct device' rather than of plain file names.
24585
24586 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24587
24588 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24589 on i386.
24590
24591 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24594 hardcoding size.
24595 (setv1table): Likewise.
24596
24597 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24598
24599 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24600 removing the homehost if present.
24601 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24602 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24603 removing the homehost if present.
24604 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24605 if possible.
24606 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24607
24608 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24609 parameter. Set its pointer target to 0.
24610 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24611 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24612 `data_offset' value from the superblock for 1.x metadata.
24613 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24614 data on the device.
24615 (insert_array): Record the start sector of data on the device.
24616 (grub_raid_register): Pass start_sector parameters to
24617 grub_raid_list->detect and insert_array.
24618 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24619 member.
24620 (struct grub_raid): Add start_sector parameter to `detect'.
24621
24622 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24623 __attribute__ ((packed)), leaving a comment.
24624 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24625 (grub_mdraid_detect_09): ... here and ...
24626 (grub_mdraid_detect_1x): ... here.
24627
24628 2010-07-20 Peter Henn <peter.henn@web.de>
24629
24630 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24631 chunk size and disk size, which are already given as sector counts
24632 as distinct from the 0.90 units. Fetch the correct device number
24633 from the role table instead of using the table index.
24634
24635 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
24636
24637 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24638 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24639 (WriteMostly1): New macro.
24640 Set array->name to NULL for metadata format 0.90. Add support for
24641 metadata 1.x. Fix some comments.
24642 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24643 few comments.
24644 * util/getroot.c (grub_util_get_grub_dev): Add support for
24645 /dev/md/name style devices.
24646
24647 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24648
24649 * .bzrignore: Ignore 20_linux_xen.
24650
24651 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * util/import_unicode.py: Remove unnecessary imports.
24654
24655 2010-07-17 Aleš Nesrsta <starous@volny.cz>
24656
24657 Hotplugging and USB hub support.
24658
24659 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24660 (grub_ohci): Likewise.
24661 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24662 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24663 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24664 (GRUB_OHCI_CTRL_EDS): Likewise.
24665 (GRUB_OHCI_BULK_EDS): Likewise.
24666 (GRUB_OHCI_TDS): Likewise.
24667 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24668 (grub_ohci_ed_phys2virt): New function.
24669 (grub_ohci_virt_to_phys): Likewise.
24670 (grub_ohci_td_phys2virt): Likewise.
24671 (grub_ohci_td_virt2phys): Likewise.
24672 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24673 attachment.
24674 (grub_ohci_find_ed): New function.
24675 (grub_ohci_alloc_td): Likewise.
24676 (grub_ohci_free_td): Likewise.
24677 (grub_ohci_free_tds): Likewise.
24678 (grub_ohci_transfer): Use previously allocated memory.
24679 (grub_ohci_portstatus): Reset status changed bit.
24680 (grub_ohci_detect_dev): Supply status changed.
24681 (grub_ohci_fini_hw): Free memory.
24682 (grub_ohci_restore_hw): Reallocate memory.
24683 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24684 Reset status change.
24685 (grub_uhci_detect_dev): Supply status_change.
24686 * bus/usb/usb.c (attach_hooks): New var.
24687 (grub_usb_device_attach): New function.
24688 (grub_usb_register_attach_hook_class): Likewise.
24689 (grub_usb_unregister_attach_hook_class): Likewise.
24690 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24691 (grub_usb_add_hub): Reset connection changed bit.
24692 (attach_root_port): New function.
24693 (grub_usb_root_hub): Likewise.
24694 (poll_nonroot_hub): Likewise.
24695 (grub_usb_poll_devices): Likewise.
24696 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24697 * disk/usbms.c (grub_usbms_open): Use device hooks.
24698 (grub_usbms_iterate) :Poll devices.
24699 (grub_usbms_finddevs): Split into ...
24700 (grub_usbms_attach): ... this ...
24701 (grub_usbms_attach): ... and this.
24702 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24703 in detect_dev.
24704 (grub_usb_interface): New fields attached and detach_hook.
24705 (grub_usb_attach_hook_class): New type.
24706 (grub_usb_attach_desc): New struct.
24707 (grub_usb_register_attach_hook_class): New function.
24708 (grub_usb_unregister_attach_hook_class): Likewise.
24709 (grub_usb_poll_devices): Likewise.
24710 (grub_usb_device_attach): Likewise.
24711 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24712 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24713
24714 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24717 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24718 delta determination style. Works with most NetBSD partitions too.
24719
24720 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24721
24722 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24723 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24724
24725 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24726
24727 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24728
24729 2010-07-14 Anton Blanchard <anton@samba.org>
24730
24731 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24732 ET_DYN files.
24733
24734 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24735
24736 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24737
24738 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24739
24740 * kern/partition.c (grub_partition_check_containment): New function to
24741 check that a partition is physically contained in a parent. Since
24742 offsets are relative (and non-negative), this reduces to checking that
24743 the partition ends before its parent.
24744 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24745 (grub_partition_iterate): Likewise.
24746 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24747 comments.
24748 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24749 partitions that start before their parent, and add debug printfs.
24750
24751 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
24752
24753 * Makefile.in (.SUFFIX): Spell correctly, as ...
24754 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24755 bare module name without `.mod', e.g. `test') tried to invoke a
24756 Modula-2 compiler.
24757
24758 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
24759
24760 * README: Point to the Info manual.
24761
24762 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
24763
24764 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24765 2nd superblock position from partition size.
24766
24767 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
24768
24769 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24770 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24771 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24772 outputs.
24773
24774 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24775
24776 Restructure SCSI .id handling.
24777 Reported and tested by: Aleš Nesrsta.
24778
24779 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24780 (grub_atapi_dev): Changed .name to "ata". New field .id.
24781 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24782 (grub_usbms_dev): New field .id.
24783 * disk/scsi.c (grub_scsi_iterate): Generate name.
24784 (grub_scsi_open): Parse name.
24785 * include/grub/scsi.h (grub_make_scsi_id): New function.
24786 (grub_scsi_dev): Change iterate and open to number instead of naming
24787 busses. All users updated.
24788 (grub_scsi): Remove name. Add .bus.
24789
24790 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * commands/help.c (grub_cmd_help): Fix a typo.
24793
24794 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24797 Reported and tested by: Colin Watson.
24798
24799 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24802 in this context.
24803
24804 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24807
24808 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
24809
24810 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24811 indentation.
24812
24813 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24814
24815 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24816 and disk/raid6_recover.c.
24817 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24818 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24819
24820 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * term/gfxterm.c (repaint_schedulded): Rename to ...
24823 (repaint_scheduled): ... this. Update all callers.
24824 (repaint_was_schedulded): Rename to ...
24825 (repaint_was_scheduled): ... this. Update all callers.
24826
24827 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24828
24829 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24830 which we expect to be handled by upper layers.
24831
24832 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24833
24834 * bus/usb/usbhub.c: #include time.h header.
24835
24836 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24837
24838 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24839 entry_name also for entries without stat blocks (e.g. ".."); fixes
24840 corruption of the first entry in a directory.
24841
24842 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24843
24844 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24845 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24846 doesn't work otherwise.
24847
24848 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24849
24850 * docs/grub.texi (Features): Update list of supported file systems.
24851 (GNU/Linux): Update for GRUB 2.
24852 (Serial terminal): Remove mention of --disable-serial, which was a
24853 GRUB Legacy configure option. Update instructions to use
24854 `terminal_input' and `terminal_output' rather than `terminal'.
24855 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24856 configuration' and `Installing GRUB using grub-install'.
24857 (Menu entry editor): Update for GRUB 2.
24858 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24859 Document new -a, -u, and -v options.
24860 (initrd): New section.
24861 (initrd16): New section.
24862 (linux): New section.
24863 (linux16): New section.
24864 (search): The `var' argument to `--set' is optional.
24865 (GRUB only offers a rescue shell): Go into a little more detail on
24866 drive ordering.
24867
24868 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24869
24870 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24871
24872 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24873
24874 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24875 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24876
24877 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24878
24879 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24880 install_prefix, in line with install_dos_part and install_bsd_part.
24881 Add new prefix variable, which is copied to install_prefix after
24882 comparing core.img in memory with the one read from disk in the
24883 no-embedding case, and use that rather than overwriting
24884 install_prefix immediately when installing to a partition.
24885 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24886 Bicakci.
24887
24888 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24889
24890 * configure.ac: Avoid == in test command, it's not portable.
24891 * util/grub.d/30_os-prober.in: Likewise.
24892
24893 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
24894
24895 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24896
24897 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24898
24899 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24900 multiple (top-level) partmaps.
24901
24902 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 * util/i386/efi/grub-install.in: Don't use empty grub_device.
24905 Reported by: Tino Keitel.
24906
24907 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Bidi and diacritics support.
24910
24911 * Makefile.in (widthspec.bin): New target.
24912 (widthspec.h): Likewise.
24913 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24914 * autogen.sh: Generate unidata.c.
24915 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24916 * commands/ls.c (grub_ls_list_devices): Likewise.
24917 (grub_ls_list_files): Likewise.
24918 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24919 (grub_mini_cmd_lsmod): Likewise.
24920 * commands/read.c: Likewise.
24921 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24922 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24923 * lib/arg.c (grub_arg_show_help): Likewise.
24924 * lib/crypto.c (grub_password_get): Likewise.
24925 * normal/auth.c (grub_username_get): Likewise.
24926 * normal/misc.c (grub_normal_print_device_info): Likewise.
24927 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24928 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24929 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24930 (normal/charset.c_DEPENDENCIES): New variable.
24931 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24932 (pkglib_MODULES): Remove charset.mod.
24933 (charset_mod_SOURCES): Removed.
24934 (charset_mod_CFLAGS): Likewise.
24935 (charset_mod_LDFLAGS): Likewise.
24936 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24937 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24938 and term/tparm.c.
24939 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24940 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24941 (kernel_img_HEADERS): Add terminfo.h.
24942 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24943 Fill ->font. Reverse ascii bitmaps.
24944 (grub_font_get_xheight): New function.
24945 * font/font.c (grub_font_get_string_width): Moved from here ...
24946 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24947 * font/font.c (grub_font_draw_string): Moved from here ...
24948 * gfxmenu/font.c (grub_font_draw_string): ... here.
24949 * font/font.c (grub_font_dup_glyph): New function.
24950 (grub_font_blit_glyph): Likewise.
24951 (grub_font_blit_glyph_mirror): Likewise.
24952 (blit_comb): Likewise.
24953 (grub_font_construct_dry_run): Likewise.
24954 (grub_font_get_constructed_device_width): Likewise.
24955 (grub_font_construct_glyph): Likewise.
24956 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24957 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24958 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24959 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24960 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24961 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24962 (grub_font_get_xheight): New proto.
24963 (grub_font_get_constructed_device_width): Likewise.
24964 (grub_font_construct_glyph): Likewise.
24965 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24966 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24967 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24968 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24969 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24970 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24971 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24972 (grub_console_getcharwidth): Likewise.
24973 * include/grub/misc.h (grub_xputs): New proto.
24974 (grub_puts): Inlined.
24975 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24976 (grub_normal_get_line_counter): Removed.
24977 (grub_install_newline_hook): Likewise.
24978 (grub_normal_get_char_counter): New proto.
24979 (grub_normal_reset_more): Likewise.
24980 (grub_xputs_normal): Likewise.
24981 * include/grub/powerpc/ieee1275/console.h: Removed.
24982 * include/grub/sparc64/ieee1275/console.h: Likewise.
24983 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24984 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24985 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24986 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24987 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24988 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24989 (grub_term_input): Pass reference to self. All users updated.
24990 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24991 Pass reference to self. New fields normal_color, highlight_color and
24992 data. All users updated.
24993 (grub_putchar): Removed.
24994 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24995 (grub_unicode_estimate_width): New function.
24996 (grub_term_getcharwidth): Add defaults.
24997 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24998 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24999 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25000 (grub_cls): Remove EXPORT_FUNC.
25001 (grub_setcolorstate): Inline.
25002 (grub_newline_hook): Removed.
25003 * include/grub/terminfo.h: Rewritten. All users updated.
25004 * include/grub/unicode.h: New file.
25005 * include/grub/video.h (grub_video_signed_rect): New type.
25006 * kern/emu/console.c (grub_console_highlight_color): Removed.
25007 (grub_console_normal_color): Likewise.
25008 (grub_console_standard_color): Made static.
25009 (grub_ncurses_putchar): Remove mapping.
25010 (grub_ncurses_getcharwidth): Removed.
25011 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25012 (grub_ncurses_setcolor): Removed.
25013 (grub_ncurses_getcolor): Likewise.
25014 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25015 (grub_console_putchar): ... this.
25016 (grub_console_putchar): Handle argument difference.
25017 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25018 console_init_early and console_init_lately.
25019 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25020 * kern/misc.c (grub_puts): Removed.
25021 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25022 (grub_vsnprintf_real): Remove str = NULL support.
25023 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25024 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25025 * kern/term.c (grub_putcode): Renamed to ...
25026 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25027 (grub_putchar): Removed.
25028 (grub_xputs_dumb): New function.
25029 (grub_xputs): New variable.
25030 * lib/charset.c: Move from here ...
25031 * normal/charset.c: ... to here.
25032 (grub_ucs4_to_utf8): New function.
25033 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25034 (join_types): New variable.
25035 (unpack_join): New function.
25036 (bidi_types): New variable.
25037 (unpack_bidi): New function.
25038 (get_bidi_type): Likewise.
25039 (get_join_type): Likewise.
25040 (is_mirrored): Likewise.
25041 (grub_unicode_get_comb_type): Likewise.
25042 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25043 (is_type_after): Likewise.
25044 (grub_unicode_aglomerate_comb): Likewise.
25045 (bidi_line_wrap): Likewise.
25046 (grub_bidi_line_logical_to_visual): Likewise.
25047 (grub_bidi_logical_to_visual): Likewise.
25048 (grub_unicode_mirror_code): Likewise.
25049 (grub_unicode_shape_code): Likewise.
25050 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25051 Don't use grub_putchar.
25052 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25053 (grub_normal_reader_init): Likewise.
25054 (grub_xputs_saved): New variable.
25055 (GRUB_MOD_INIT): Set grub_xputs.
25056 (GRUB_MOD_FINI): Restore grub_xputs.
25057 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25058 (menu_init): Avoid printing gfxmenu error.
25059 (show_menu): Use grub_normal_get_char_counter.
25060 * normal/menu_entry.c (update_screen): Fix out-of-array.
25061 (complete): Avoid NULL dereferencing.
25062 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25063 * normal/menu_text.c (print_spaces): Removed.
25064 (grub_print_ucs4): Likewise.
25065 (grub_print_message_indented): Use grub_print_ucs4.
25066 (print_message): Use grub_putcode.
25067 (print_entry): Hanlde diacritics.
25068 * normal/term.c (term_state): New type.
25069 (grub_more_lines): Removed.
25070 (term_states): New variable.
25071 (grub_normal_line_counter): Renamed to ..
25072 (grub_normal_char_counter): ...this. All users updated.
25073 (grub_normal_get_line_counter): Renamed to ...
25074 (grub_normal_get_char_counter): ... this.
25075 (grub_normal_reset_more): New function.
25076 (process_newline): Removed.
25077 (print_more): New function.
25078 (grub_install_newline_hook): Removed.
25079 (map_code): New function.
25080 (grub_puts_terminal): Use grub_print_ucs4.
25081 (putglyph): New function.
25082 (putcode_real): Likewise.
25083 (grub_putcode): Use putcode_real.
25084 (get_maxwidth): New function.
25085 (get_startwidth): Likewise.
25086 (print_ucs4_terminal): Likewise.
25087 (find_term_state): Likewise.
25088 (put_glyphs_terminal): Likewise.
25089 (print_backlog): Likewise.
25090 (print_ucs4_real): Likewise.
25091 (grub_print_ucs4): Likewise.
25092 (grub_xputs_normal): Likewise.
25093 * term/efi/console.c (grub_console_putchar): Output diacritics.
25094 (grub_console_getcharwidth): Removed.
25095 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25096 * term/gfxterm.c (clear_char): Free chars.
25097 (scroll_up): Avoid leaking memory.
25098 (grub_gfxterm_putchar): Support diacritics.
25099 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25100 * term/i386/pc/console.c (grub_console_term_output): Declare as
25101 GRUB_TERM_CODE_TYPE_VGA.
25102 * term/i386/pc/vga.c (grub_vga_term): Declare as
25103 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25104 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25105 GRUB_TERM_CODE_TYPE_VGA.
25106 * term/i386/vga_common.c (map_char): Removed.
25107 (grub_console_putchar): Likewise.
25108 (grub_console_getcharwidth): Likewise.
25109 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25110 (colors): Reordered to match terminfo.
25111 (grub_ofconsole_normal_color): Removed.
25112 (grub_ofconsole_writeesc): Likewise.
25113 (grub_ofconsole_highlight_color): Likewise.
25114 (grub_ofconsole_getcharwidth): Likewise.
25115 (grub_ofconsole_setcolorstate): Likewise.
25116 (grub_ofconsole_setcolor): Likewise.
25117 (grub_ofconsole_getcolor): Likewise.
25118 (grub_ofconsole_readkey): Renamed to ...
25119 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25120 key.
25121 (grub_ofconsole_checkkey): Removed.
25122 (grub_ofconsole_getkey): Likewise.
25123 (grub_ofconsole_getxy): Likewise.
25124 (grub_ofconsole_gotoxy): Likewise.
25125 (grub_ofconsole_cls): Likewise.
25126 (grub_ofconsole_refresh): Likewise.
25127 (grub_ofconsole_terminfo_input): New struct.
25128 (grub_ofconsole_terminfo_output): Likewise.
25129 (grub_ofconsole_term_input): Use terminfo.
25130 (grub_ofconsole_term_output): Likewise.
25131 (grub_console_init): Split into ...
25132 (grub_console_init_early): ...this and ...
25133 (grub_console_init_lately): ...this. Use terminfo.
25134 (grub_ofconsole_putchar): Renamed to ...
25135 (put): ... this. Remove mapping.
25136 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25137 * term/serial.c: Simplify using terminfo.
25138 (xpos): Removed.
25139 (ypos): Likewise.
25140 (keep_track): Likewise.
25141 (registered): Likewise.
25142 (input_buf): Likewise.
25143 (npending): Likewise.
25144 (serial_translate_key_sequence): Likewise.
25145 (fill_input_buf): Likewise.
25146 (grub_serial_checkkey): Likewise.
25147 (grub_serial_getkey): Likewise.
25148 (grub_serial_getxy): Likewise.
25149 (grub_serial_gotoxy): Likewise.
25150 (grub_serial_putchar): Likewise.
25151 (grub_serial_cls): Likewise.
25152 (grub_serial_setcolorstate): Likewise.
25153 (grub_serial_setcursor): Likewise.
25154 (serial_hw_init): Use serial_hw_fetch.
25155 (grub_serial_terminfo_input): New variable.
25156 (grub_serial_terminfo_output): Likewise.
25157 (grub_serial_term_input): Use terminfo.
25158 (grub_serial_term_output): Likewise.
25159 * term/terminfo.c (putstr): Use put.
25160 (grub_terminfo_all_free): New function
25161 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25162 (grub_terminfo_output_register): New function.
25163 (grub_terminfo_output_unregister): Likewise.
25164 (grub_terminfo_getxy): Likewise.
25165 (grub_terminfo_readkey): Likewise.
25166 (grub_terminfo_checkkey): Likewise.
25167 (grub_terminfo_getkey): Likewise.
25168 (grub_terminfo_input_init): Likewise.
25169 (print_terminfo): Likewise.
25170 (grub_cmd_terminfo): Handle encoding.
25171 (grub_terminfo_gotoxy): Track position.
25172 (grub_terminfo_cls): Likewise.
25173 (grub_terminfo_putchar): Likewise.
25174 (grub_terminfo_setcolorstate): Handle colors
25175 (grub_terminfo_cursor_on): This ...
25176 (grub_terminfo_cursor_off): ... and this merged into ...
25177 (grub_terminfo_setcursor): ... this.
25178 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25179 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25180 * unicode/BidiMirroring.txt: Likewise.
25181 * unicode/UnicodeData.txt: Likewise.
25182 * unicode/COPYING: Likewise.
25183 * util/grub-editenv.c (grub_putchar): Removed.
25184 (grub_xputs_real): New function.
25185 (grub_xputs): New variable.
25186 * util/grub-fstest.c (grub_putchar): Removed.
25187 (grub_xputs_real): New function.
25188 (grub_xputs): New variable.
25189 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25190 (grub_xputs_real): New function.
25191 (grub_xputs): New variable.
25192 * util/grub-probe.c (grub_putchar): Removed.
25193 (grub_xputs_real): New function.
25194 (grub_xputs): New variable.
25195 * util/grub-script-check.c (grub_putchar): Removed.
25196 (grub_xputs_real): New function.
25197 (grub_xputs): New variable.
25198 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25199 (grub_xputs_real): New function.
25200 (grub_xputs): New variable.
25201 * util/import_unicode.py: New file.
25202 * util/grub-mkfont.c (ft_errmsgs): New array.
25203 (grub_glyph_info): Make bitmap a pointer.
25204 (file_formats): New type WIDTH_SPEC.
25205 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25206 (options): Add width-spec.
25207 (help): Likewise.
25208 (add_char): Renamed to ...
25209 (add_glyph): ... this.
25210 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25211 (glyph_replace): New type.
25212 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25213 (add_char): New function.
25214 (add_subst): Likewise.
25215 (process_cursive): Likewise.
25216 (add_font): Handle GSUB.
25217 (write_font_width_spec): New function.
25218 (main): Sort glyphs.
25219 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25220 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25221 * kern/term.c (grub_cls): Moved from here...
25222 * normal/term.c (grub_cls): ... here.
25223
25224 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25225
25226 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25227 suitable for using within the format argument of printf when
25228 converting grub_size_t.
25229 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25230 "x" to convert grub_size_t arguments.
25231
25232 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25233
25234 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25235 too long captions.
25236 (list_get_minimal_size): Take selection box into account.
25237
25238 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25239
25240 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25241 NULL font.
25242
25243 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25244
25245 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25246 devices when iterating over /dev/disk/by-id; they will be handled
25247 later if appropriate, which they aren't always (e.g. LVM).
25248
25249 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25250
25251 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25252 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25253 fails.
25254 (grub_halt): Likewise.
25255 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25256 reset-all fails.
25257 (grub_halt): Don't return, even if all of shut-down, power-off, and
25258 poweroff fail.
25259
25260 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25261
25262 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25263 arguments, not three.
25264
25265 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25266
25267 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25268 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25269 LVM-on-RAID is handled correctly.
25270
25271 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25272
25273 * docs/grub.texi (Changes from GRUB Legacy): New section.
25274 (Future): Fix typo.
25275
25276 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25277
25278 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25279 grub.d/README accidentally ends up executable for one reason or
25280 another. Ignore it.
25281
25282 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25283
25284 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25285 (gpt_partition_map_iterate): Support non-512B sectors.
25286
25287 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25290 Tested by: Seth Goldberg.
25291
25292 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25293
25294 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25295 Properly align mbi.
25296 Reported by: Seth Goldberg.
25297
25298 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25299
25300 * util/grub-mkrescue.in: Avoid module duplication.
25301
25302 2010-07-01 Sean Finney <seanius@seanius.net>
25303
25304 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25305
25306 2010-07-01 Sean Finney <seanius@seanius.net>
25307
25308 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25309
25310 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * disk/lvm.c (grub_lvm_checkvalue): New function.
25313 (grub_lvm_check_flag): Likewise.
25314
25315 2010-07-01 Robert Millan <rmh@gnu.org>
25316
25317 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25318 Support 'p' as partition separator on kernel of FreeBSD (used
25319 with GPT labels).
25320 (grub_util_biosdisk_get_grub_dev): Likewise.
25321
25322 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25323
25324 Yeeloong firmware port.
25325
25326 * boot/mips/yeeloong/fwstart.S: New file.
25327 * bus/cs5536.c (gpiodump): New const.
25328 (set_io_space): New function.
25329 (set_iod): Likewise.
25330 (set_p2d): Likewise.
25331 (grub_cs5536_init_geode): Likewise.
25332 * commands/mips/yeeloong/lsspd.c: New file.
25333 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25334 (serial_mod_SOURCES): New variable.
25335 (serial_mod_CFLAGS): Likewise.
25336 (serial_mod_LDFLAGS): Likewise.
25337 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25338 term/terminfo.c and term/tparm.c.
25339 (pkglib_IMAGES): Add fwstart.img.
25340 (fwstart_img_SOURCES): New variable.
25341 (fwstart_img_CFLAGS): Likewise.
25342 (fwstart_img_ASFLAGS): Likewise.
25343 (fwstart_img_LDFLAGS): Likewise.
25344 (fwstart_img_FORMAT): Likewise.
25345 (pkglib_MODULES): Add lsspd.mod.
25346 (lsspd_mod_SOURCES): New variable.
25347 (lsspd_mod_CFLAGS): Likewise.
25348 (lsspd_mod_LDFLAGS): Likewise.
25349 (pkglib_MODULES): Add halt.mod.
25350 (halt_mod_SOURCES): New variable.
25351 (halt_mod_CFLAGS): Likewise.
25352 (halt_mod_LDFLAGS): Likewise.
25353 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25354 (serial_mod_SOURCES): Removed.
25355 (serial_mod_CFLAGS): Likewise.
25356 (serial_mod_LDFLAGS): Likewise.
25357 * disk/ata.c (check_device): New function.
25358 (grub_ata_device_initialize): Use check_device.
25359 (grub_ata_iterate): Recheck devices.
25360 (grub_ata_open): Likewise.
25361 (grub_atapi_iterate): Likewise.
25362 (grub_atapi_open): Likewise.
25363 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25364 (GRUB_ATA_CH1_PORT1): Likewise.
25365 (GRUB_ATA_CH0_PORT2): Likewise.
25366 (GRUB_ATA_CH1_PORT2): Likewise.
25367 * include/grub/mips/loongson.h: New file.
25368 * include/grub/mips/yeeloong/ec.h: Likewise.
25369 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25370 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25371 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25372 * include/grub/misc.h (grub_halt): Declare as noreturn.
25373 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25374 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25375 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25376 (UART_ENABLE_DTRRTS): Likewise.
25377 (UART_ENABLE_MODEM): Removed.
25378 (UART_ENABLE_OUT2): New const.
25379 * include/grub/term.h (grub_term_register_input_active): New function.
25380 (grub_term_register_output_active): Likewise.
25381 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25382 argument.
25383 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25384 (init_pci): New function.
25385 (grub_machine_init): Execute platform init when firmware. Init serial.
25386 (grub_halt): Implement.
25387 (grub_exit): Likewise.
25388 (grub_reboot): Likewise.
25389 * term/serial.c (serial_hw_init): Update macros.
25390 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25391 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25392 (image_targets): New target mipsel-yeeloong-flash.
25393 (generate_image): Support IMAGE_YEELOONG_FLASH.
25394 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25395 (grub_video_sm712_setup): Init card.
25396 (grub_video_sm712_set_palette): Removed.
25397 * video/sm712_init.c: New file.
25398
25399 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
25400
25401 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25402 PATH when running help2man and then run it on the unadorned
25403 executable names, rather than passing $(builddir)/* paths to
25404 help2man. This avoids the build directory ending up in generated
25405 manual pages.
25406
25407 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25408
25409 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25410 to avoid accidents when debugging with 'sh -x'.
25411 * util/grub-mkrescue.in: Likewise.
25412 * util/grub.d/00_header.in: Likewise.
25413 * util/grub.d/10_hurd.in: Likewise.
25414 * util/grub.d/10_kfreebsd.in: Likewise.
25415 * util/grub.d/10_linux.in: Likewise.
25416 * util/grub.d/10_netbsd.in: Likewise.
25417 * util/grub.d/10_windows.in: Likewise.
25418 * util/grub.d/20_linux_xen.in: Likewise.
25419 * util/grub.d/30_os-prober.in: Likewise.
25420 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25421
25422 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25423
25424 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25425 last character in the buffer.
25426 Reported by: Vladimir Serbinenko.
25427
25428 2010-06-29 Robert Millan <rmh@gnu.org>
25429
25430 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25431 (Command-line and menu entry commands): Document `badram' command.
25432
25433 2010-06-28 Robert Millan <rmh@gnu.org>
25434
25435 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25436 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25437 command using ${GRUB_BADRAM} as parameter.
25438
25439 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25440
25441 * docs/grub.texi (Device map): New section.
25442 (Themes): New section (stub).
25443 * Makefile.in (docs/grub.info): The info documentation now builds
25444 without errors. Make sure it stays that way.
25445
25446 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 Use normal parser for menu entries.
25449 Reported by: Thomas Frauendorfer
25450
25451 * include/grub/parser.h (grub_parser_execute): Don't export.
25452 * normal/menu.c (grub_menu_execute_entry_real): New function.
25453 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25454
25455 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25456
25457 * docs/grub.texi (Embedded configuration): New section (replacing
25458 old "Preset Menu" stub).
25459 (Images): New section.
25460 (configfile): Note that any menu entries defined in `file' are shown
25461 immediately.
25462
25463 2010-06-28 Josh Triplett <josh@joshtriplett.org>
25464
25465 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25466
25467 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25468
25469 * util/grub-install.in: Add --debug-image= option.
25470
25471 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25472
25473 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25474 possible on Linux.
25475
25476 * util/deviceiter.c (check_device): Rename to ...
25477 (check_device_readable_unique): ... this. Update all callers.
25478 Maintain and check a list of which devices (by canonicalized name)
25479 have already been seen.
25480 (clear_seen_devices): New function.
25481 (compare_file_names) [__linux__]: New function.
25482 (grub_util_iterate_devices): Clear the list of seen devices on exit
25483 and (just in case) on entry.
25484 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25485 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25486 seen-devices list, superseded by general code in check_device.
25487
25488 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25489
25490 * commands/cat.c (options): New variable.
25491 (grub_cmd_cat): Parse options. If the --dos option is given, print
25492 DOS-style "\r\n" line endings as simple newlines (Debian bug
25493 #586358).
25494 (GRUB_MOD_INIT): Use extcmd.
25495 (GRUB_MOD_FINI): Likewise.
25496 * docs/grub.texi (cat): Document --dos.
25497
25498 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25499
25500 XEN with Linux grub-mkconfig support.
25501
25502 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25503 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25504 GRUB_CMDLINE_XEN_DEFAULT.
25505 * util/grub.d/20_linux_xen.in: New file.
25506
25507 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25508
25509 Initialise VGA video on qemu ourselves.
25510
25511 * boot/i386/qemu/boot.S: Don't call 0xc000.
25512 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25513 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25514 (kernel_img_HEADERS): Add pci.h.
25515 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25516 * configure.ac: Force unifont on qemu and yeeloong.
25517 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25518 (grub_vga_palette_write): Use correct register.
25519 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25520 Call grub_qemu_init_cirrus.
25521 * kern/i386/qemu/init.c: New file.
25522 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25523
25524 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25525
25526 2010-06-26 Pavel Roskin <proski@gnu.org>
25527
25528 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25529 13.
25530
25531 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25532
25533 * docs/grub.texi (Simple configuration): Explain that
25534 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25535 set to `true' to disable their respective recovery entries, not
25536 merely set.
25537
25538 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25539
25540 Make the `source' command slightly faster.
25541
25542 * normal/main.c (grub_normal_execute): Don't re-read list files when
25543 nested.
25544
25545 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25546
25547 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25548 field position and mask size to red fields from mode_info, not
25549 green.
25550 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25551 Remove redundant tag->common.framebuffer_type assignment.
25552 Reported by: Seth Goldberg.
25553
25554 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25555
25556 Sync up other versions of the Linux loader with Robert Millan's
25557 change of 2010-01-09, "Make loader output a bit more user-friendly".
25558
25559 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25560 grub_dprintf().
25561 (grub_cmd_linux): Likewise.
25562 (grub_cmd_initrd): Likewise.
25563 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25564 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25565
25566 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
25567
25568 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25569 larger than MEMORY_MAP_SIZE.
25570
25571 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25572
25573 Fix parallel build.
25574
25575 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25576 dependency.
25577 * script/parser.y: #include grub_script.tab.h header.
25578
25579 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25580
25581 Support >3GiB and <16MiB RAM in i386-qemu.
25582
25583 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25584 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25585 (grub_lower_mem): Removed.
25586 (grub_upper_mem): Likewise.
25587 (mem_size): Made static.
25588 (above_4g): New variable.
25589 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25590 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25591 support.
25592
25593 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 Cirrus 5446 and Bochs video cards support.
25596
25597 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25598 video_bochs.mod
25599 (video_cirrus_mod_SOURCES): New variable.
25600 (video_cirrus_mod_CFLAGS): Likewise.
25601 (video_cirrus_mod_LDFLAGS): Likewise.
25602 (video_bochs_mod_SOURCES): Likewise.
25603 (video_bochs_mod_CFLAGS): Likewise.
25604 (video_bochs_mod_LDFLAGS): Likewise.
25605 * include/grub/vga.h: New file.
25606 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25607 (grub_video_fb_set_page_t): New type.
25608 (grub_video_fb_setup): New prototype.
25609 (grub_video_fb_swap_buffers): Likewise.
25610 (grub_video_fb_get_info_and_fini): Likewise.
25611 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25612 (CRTC_DATA_PORT): Likewise.
25613 (CRTC_CURSOR): Likewise.
25614 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25615 (CRTC_CURSOR_ADDR_LOW): Likewise.
25616 (CRTC_CURSOR_DISABLE): Likewise.
25617 (update_cursor): Use grub_vga_cr_write.
25618 (grub_vga_text_setcursor): Likewise.
25619 * video/bochs.c: New file.
25620 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25621 (palette): Likewise.
25622 (palette_size): Likewise.
25623 (framebuffer): New variable.
25624 (grub_video_fb_init): Use 'framebuffer'.
25625 (grub_video_fb_fini): Likewise.
25626 (grub_video_fb_get_info): Likewise.
25627 (grub_video_fb_get_palette): Likewise.
25628 (grub_video_fb_set_palette): Likewise.
25629 (grub_video_fb_set_viewport): Likewise.
25630 (grub_video_fb_get_viewport): Likewise.
25631 (grub_video_fb_map_color): Likewise.
25632 (grub_video_fb_map_rgb): Likewise.
25633 (grub_video_fb_map_rgba): Likewise.
25634 (grub_video_fb_unmap_color): Likewise.
25635 (grub_video_fb_unmap_color_int): Likewise.
25636 (grub_video_fb_fill_rect): Likewise.
25637 (grub_video_fb_blit_bitmap): Likewise.
25638 (grub_video_fb_blit_render_target): Likewise.
25639 (grub_video_fb_scroll): Likewise.
25640 (grub_video_fb_create_render_target): Likewise.
25641 (grub_video_fb_doublebuf_blit_init): Likewise.
25642 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25643 (doublebuf_pageflipping_update_screen): New function.
25644 (doublebuf_pageflipping_init): Likewise.
25645 (grub_video_fb_setup): Likewise.
25646 (grub_video_fb_swap_buffers): Likewise.
25647 (grub_video_fb_get_info_and_fini): Likewise.
25648 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25649 All users updated.
25650 (doublebuf_pageflipping_commit): Restructured into ...
25651 (doublebuf_pageflipping_set_page): ... this.
25652 (doublebuf_pageflipping_update_screen): Removed.
25653 (doublebuf_pageflipping_init): Likewise.
25654 (double_buffering_init): Likewise.
25655 (grub_video_vbe_setup): Use grub_video_fb_setup.
25656 (grub_video_vbe_swap_buffers): Removed.
25657 (grub_video_vbe_set_active_render_target): Likewise.
25658 (grub_video_vbe_get_active_render_target): Likewise.
25659 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25660 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25661 grub_video_fb_set_active_render_target and
25662 grub_video_fb_get_active_render_target.
25663 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25664 (SEQUENCER_DATA_PORT): Likewise.
25665 (MAP_MASK_REGISTER): Likewise.
25666 (CRTC_ADDR_PORT): Likewise.
25667 (CRTC_DATA_PORT): Likewise.
25668 (START_ADDR_HIGH_REGISTER): Likewise.
25669 (START_ADDR_LOW_REGISTER): Likewise.
25670 (GRAPHICS_ADDR_PORT): Likewise.
25671 (GRAPHICS_DATA_PORT): Likewise.
25672 (READ_MAP_REGISTER): Likewise.
25673 (INPUT_STATUS1_REGISTER): Likewise.
25674 (INPUT_STATUS1_VERTR_BIT): Likewise.
25675 (get_map_mask): Use grub_vga_sr_read.
25676 (set_map_mask): Use grub_vga_sr_write.
25677 (set_read_map): Use grub_vga_gr_write.
25678 (set_start_address): Use grub_vga_cr_write.
25679 * video/sm712.c (framebuffer): Remove leftover fields.
25680
25681 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
25682
25683 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25684 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25685 instead. Replace the gfxterm backend check with a check that
25686 ${GRUB_PREFIX}/video.lst is non-empty.
25687 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25688 again.
25689 (load_video): New generated function. Call it before loading
25690 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25691 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25692 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25693 * docs/grub.texi (Simple configuration): Document
25694 GRUB_VIDEO_BACKEND.
25695
25696 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25697
25698 Use video functions in linux and xnu loaders.
25699
25700 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25701 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25702 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25703 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25704 loader/i386/pc/linux.c.
25705 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25706 (find_line_len): Removed.
25707 (find_framebuf): Likewise.
25708 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25709 * loader/i386/efi/xnu.c: Removed.
25710 * loader/i386/pc/xnu.c: Moved from here...
25711 * loader/i386/xnu.c: ...here.
25712
25713 Enable priorities in video drivers.
25714
25715 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25716 (grub_video_adapter): New field prio.
25717 (grub_video_register): Respect prio when inserting.
25718 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25719 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25720 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25721 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25722 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25723 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25724 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25725
25726 Fix SDL driver ID.
25727
25728 * include/grub/video.h (grub_video_driver_id_t): New value
25729 GRUB_VIDEO_DRIVER_SDL.
25730 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25731
25732 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25733
25734 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25735 argument to printf.
25736 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25737
25738 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25739
25740 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25741 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25742
25743 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25744
25745 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25746 directly, and recommend grub-install instead.
25747 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25748
25749 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25750
25751 Fix i386-pc prefix handling with nested partitions (Debian bug
25752 #585068). Note that the case where the core image is booted using
25753 multiboot and relocated from its original location still requires
25754 more work.
25755
25756 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25757 with "(,", fill the boot drive in between those two characters, but
25758 expect that a full partition specification including partition map
25759 names will follow.
25760 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25761 specified, write a prefix without the drive name but including a
25762 full partition specification.
25763
25764 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
25765
25766 * util/grub-mkconfig.in: Ignore non-option arguments, for
25767 compatibility with older versions (before 2010-06-12) which did the
25768 same. In particular, this makes it easier to ship an update-grub
25769 wrapper which is compatible with that used with GRUB Legacy (Debian
25770 bug #586056).
25771
25772 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25773
25774 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25775 for manual page generation.
25776
25777 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25778
25779 * po/POTFILES: Remove leftover commands/handler.c.
25780
25781 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
25782
25783 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25784 left this script non-functional.
25785
25786 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
25787
25788 * docs/man/grub-emu.h2m: New file.
25789
25790 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
25791
25792 * docs/grub.texi (Commands): Document reduced command set in rescue
25793 mode.
25794 (cpuid): New section.
25795
25796 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25797
25798 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25799 new partition naming style.
25800 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25801
25802 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25803
25804 Add "-o grub.iso" like cmdline options support.
25805
25806 * util/grub-install.in: Improve cmdline option parsing.
25807 * util/grub-mkconfig.in: Likewise.
25808 * util/grub-mkrescue.in: Likewise.
25809 * util/grub-reboot.in: Likewise.
25810 * util/grub-set-default.in: Likewise.
25811 * util/i386/efi/grub-install.in: Likewise.
25812 * util/ieee1275/grub-install.in: Likewise.
25813 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25814
25815 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25816
25817 * .bzrignore: Ignore 41_custom.
25818
25819 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25820
25821 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25822
25823 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25824
25825 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25826 prototype declarations.
25827
25828 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25829 generating fs, partmap, and video lists.
25830 * include/grub/fs.h (grub_fs_register): Omit prototype if
25831 GRUB_LST_GENERATOR is defined.
25832 * include/grub/partition.h (grub_partition_map_register): Likewise.
25833 * include/grub/video.h (grub_video_register): Likewise.
25834
25835 2010-06-12 Javier Martín <lordhabbit@gmail.com>
25836
25837 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25838
25839 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25840
25841 * util/grub-mkrescue.in: Support --xorriso argument.
25842
25843 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25844
25845 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25846 Suggested by: Thomas Schmitt.
25847
25848 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25849
25850 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25851 Suggested by: Thomas Schmitt.
25852
25853 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25854
25855 custom.cfg support.
25856
25857 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25858 * util/grub.d/41_custom.in: New file.
25859
25860 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25861
25862 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25863 been merged back into normal.
25864
25865 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
25866
25867 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25868 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25869
25870 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
25871
25872 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25873 when generating manual pages.
25874 * docs/man/grub-bin2h.h2m: New file.
25875 * docs/man/grub-editenv.h2m: New file.
25876 * docs/man/grub-fstest.h2m: New file.
25877 * docs/man/grub-install.h2m: New file.
25878 * docs/man/grub-macho2img.h2m: New file.
25879 * docs/man/grub-mkconfig.h2m: New file.
25880 * docs/man/grub-mkdevicemap.h2m: New file.
25881 * docs/man/grub-mkfont.h2m: New file.
25882 * docs/man/grub-mkimage.h2m: New file.
25883 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25884 * docs/man/grub-mkrelpath.h2m: New file.
25885 * docs/man/grub-mkrescue.h2m: New file.
25886 * docs/man/grub-ofpathname.h2m: New file.
25887 * docs/man/grub-pe2elf.h2m: New file.
25888 * docs/man/grub-probe.h2m: New file.
25889 * docs/man/grub-reboot.h2m: New file.
25890 * docs/man/grub-script-check.h2m: New file.
25891 * docs/man/grub-set-default.h2m: New file.
25892 * docs/man/grub-setup.h2m: New file.
25893
25894 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25895
25896 Use FOR_* macros instead of *_iterate whenever possible.
25897
25898 * commands/handler.c: Removed.
25899 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25900 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25901 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25902 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25903 (grub_probe_SOURCES): Remove kern/parser.c.
25904 (util/grub-script-check.c_DEPENDENCIES): Removed.
25905 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25906 and grub_script_check_init.c.
25907 (grub_script_check_init.lst): Removed.
25908 (grub_script_check_init.h): Likewise.
25909 (grub_script_check_init.c): Likewise.
25910 (pkglib_MODULES): Remove handler.mod and sh.mod.
25911 (handler_mod_SOURCES): Removed.
25912 (handler_mod_CFLAGS): Likewise.
25913 (handler_mod_LDFLAGS): Likewise.
25914 (normal_mod_SOURCES): Remove normal/handler.c.
25915 Add script/main.c, script/script.c, script/execute.c,
25916 script/function.c, script/lexer.c, grub_script.tab.c
25917 and grub_script.yy.c.
25918 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25919 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25920 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25921 (grub_setup_SOURCES): Remove kern/parser.c.
25922 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25923 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25924 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25925 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25926 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25927 (grub_setup_SOURCES): Remove kern/parser.c.
25928 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25929 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25930 * include/grub/command.h (grub_command_iterate): Removed.
25931 (FOR_COMMANDS): New macro.
25932 * include/grub/dl.h (grub_dl): New member next.
25933 (grub_dl_iterate): Removed.
25934 (grub_dl_head): New variable declaration.
25935 (FOR_DL_MODULES): New macro.
25936 * include/grub/fs.h: Include list.h.
25937 (grub_fs): Make next first element.
25938 (grub_fs_list): New variable declaration.
25939 (grub_fs_register): Make inline.
25940 (grub_fs_unregister): Likewise.
25941 (grub_fs_iterate): Removed.
25942 (FOR_FILESYSTEMS): New macro.
25943 * include/grub/handler.h: Removed.
25944 * include/grub/list.h (grub_list_hook_t): Removed.
25945 (grub_list_test_t): Likewise.
25946 (grub_list_pop): Likewise.
25947 (grub_list_iterate): Likewise.
25948 (grub_list_insert): Likewise.
25949 (FOR_LIST_ELEMENTS): New macro.
25950 * include/grub/parser.h (grub_parser_class): Removed.
25951 (grub_parser_register): Likewise.
25952 (grub_parser_unregister): Likewise.
25953 (grub_parser_get_current): Likewise.
25954 (grub_parser_set_current): Likewise.
25955 (grub_register_rescue_parser): Likewise.
25956 (grub_rescue_parse_line): New function.
25957 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25958 * include/grub/script_sh.h (grub_script_function_list): New variable
25959 declaration.
25960 (FOR_SCRIPT_FUNCTIONS): New macro.
25961 (grub_script_function_iterate): Removed.
25962 (grub_normal_parse_line): New prototype.
25963 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25964 (FOR_DISABLED_TERM_INPUTS): Likewise.
25965 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25966 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25967 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25968 element.
25969 (grub_video_register): Inline.
25970 (grub_video_unregister): Likewise.
25971 (grub_video_adapter_list): New variable declaration.
25972 (grub_video_iterate): Removed.
25973 (FOR_VIDEO_ADAPTERS): New macro.
25974 * kern/dl.c (grub_dl_list): Removed. All users updated.
25975 (grub_dl_iterate): Removed.
25976 * kern/fs.c (grub_fs_list): Make global.
25977 (grub_fs_register): Removed.
25978 (grub_fs_unregister): Likewise.
25979 (grub_fs_iterate): Likewise.
25980 * kern/handler.c: Removed.
25981 * kern/list.c (grub_list_pop): Removed.
25982 (grub_list_iterate): Likewise.
25983 (grub_list_insert): Likewise.
25984 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25985 (grub_prio_list_insert): Don't use grub_list_insert.
25986 * kern/main.c (grub_register_rescue_parser): Don't call
25987 grub_register_rescue_parser.
25988 * kern/parser.c (grub_parser_class): Removed.
25989 (grub_parser_execute): Use grub_rescue_parse_line.
25990 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25991 (grub_rescue_parser): Removed.
25992 (grub_register_rescue_parser): Likewise.
25993 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25994 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25995 (grub_auth_check_authentication): Likewise.
25996 * normal/completion.c (iterate_command): Removed.
25997 (grub_normal_do_completion): Use FOR_COMMANDS.
25998 * normal/handler.c: Removed.
25999 * normal/main.c (read_config_file): Remove parser changing.
26000 (grub_normal_execute): Don't call read_handler_list.
26001 (grub_normal_read_line_real): Statically allocate prompt.
26002 (grub_cmdline_run): Use grub_normal_parse_line.
26003 (GRUB_MOD_FINI): Don't call free_handler_list.
26004 * normal/menu_entry.c (run): Likewise.
26005 * script/function.c (grub_script_function_list): Make global.
26006 (grub_script_function_iterate): Removed.
26007 * script/main.c (grub_normal_parse_line): Make global.
26008 (grub_sh_parser): Removed.
26009 (GRUB_MOD_INIT): Likewise.
26010 (GRUB_MOD_FINI): Likewise.
26011 * tests/lib/functional_test.c (grub_functional_test): Use
26012 FOR_LIST_ELEMENTS.
26013 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26014 (grub_test_run): Use FOR_LIST_ELEMENTS.
26015 * tests/lib/unit_test.c (main): Likewise.
26016 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26017 grub_list_pop.
26018 * util/grub-fstest.c (grub_term_input_class): Removed.
26019 (grub_term_output_class): Likewise.
26020 * util/grub-probe.c: Likewise.
26021 * util/i386/pc/grub-setup.c: Likewise.
26022 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26023 * util/grub-script-check.c (main): Don't call grub_init_all and
26024 grub_fini_all.
26025 * video/video.c (grub_video_adapter_list): Make global.
26026 (grub_video_register): Removed.
26027 (grub_video_unregister): Likewise.
26028 (grub_video_iterate): Likewise.
26029
26030 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26031
26032 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26033 reported by Henrique Ferreiro.
26034
26035 2010-06-09 Robert Millan <rmh@gnu.org>
26036
26037 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26038 ones, when both are available.
26039
26040 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26041
26042 Make --version uniform and avoid hard-coded program name.
26043
26044 * util/grub-mkimage.c (main): Use `program_name' instead of
26045 hard-coded string.
26046 * util/i386/pc/grub-setup.c (main): Likewise.
26047 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26048 * util/grub-install.in: Save the basename of $0 in $self, and use the
26049 latter in informational messages. Use the same format for --version
26050 as the binary programs.
26051 * util/grub-mkconfig.in: Likewise.
26052 * util/grub-mkrescue.in: Likewise.
26053 * util/grub-reboot.in: Likewise.
26054 * util/grub-set-default.in: Likewise.
26055 * util/i386/efi/grub-install.in: Likewise.
26056 * util/ieee1275/grub-install.in: Likewise.
26057 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26058
26059 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26060
26061 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26062 embedding area. Use <= instead of == when checking for non-emptiness.
26063
26064 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26065
26066 * configure.ac: Add `.' to the directories searched for unifont.
26067
26068 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
26069
26070 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26071 grub_script.yy.h.
26072
26073 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
26074
26075 * docs/grub.texi (History): Expand to cover GRUB 2.
26076 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26077 commands, not `terminal'.
26078 (serial): Likewise.
26079 (terminal_input): New section.
26080 (terminal_output): New section.
26081 (uppermem): New section (stub).
26082 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26083
26084 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
26085
26086 * docs/grub.texi (Security): Menu entries are unrestricted by
26087 default, not restricted to superusers as I had previously thought.
26088 Reword to account for this.
26089
26090 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26091
26092 * kern/emu/misc.c (device_mapper_null_log): New function.
26093 (grub_device_mapper_supported): New function.
26094 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26095 prototype.
26096 * kern/emu/hostdisk.c (find_partition_start): Check whether
26097 device-mapper is supported before trying to use it.
26098 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26099
26100 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26101
26102 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26103 (File name syntax): Likewise.
26104 (help): --all is no longer supported in GRUB 2. Be more precise
26105 about pattern matching.
26106
26107 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26108
26109 * normal/completion.c (grub_normal_do_completion): When completing
26110 arguments to "set" and the current word contains an equals sign,
26111 skip to after the equals sign before starting completion.
26112
26113 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26114
26115 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26116
26117 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26118
26119 * docs/grub.texi (Network): New section.
26120 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26121 `(nd)' as in GRUB Legacy.
26122 (pxe_unload): New section.
26123
26124 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26125
26126 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26127 in the rescue shell, so recommend using `set' instead. Thanks,
26128 Jordan Uggla.
26129
26130 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26131
26132 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26133 (password): New section.
26134 (password_pbkdf2): New section.
26135 (search): New section.
26136 (Security): New section.
26137 (Troubleshooting): New section, currently very incomplete.
26138 (Invoking grub-mkpasswd-pbkdf2): New section.
26139 (Internals): New section, currently very incomplete.
26140
26141 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26142
26143 * util/grub.d/00_header.in: Add some more quoting (of
26144 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26145 work again.
26146 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26147
26148 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26149
26150 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26151 to `count', fixing variable shadowing that broke the -c option.
26152
26153 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
26154
26155 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26156 in case they contain spaces.
26157
26158 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26159
26160 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26161 "part_" to partmap module names, in line with grub-install.
26162 Reported by: Jindřich Makovička (Debian bug #584426).
26163
26164 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26165
26166 * util/grub-mkimage.c: Make target-related error messages slightly
26167 more helpful; -O talks about "format". Explicitly point to the use
26168 of -O if no target is specified.
26169 Reported by: Didier Raboud (Debian bug #584415).
26170
26171 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
26172
26173 * INSTALL: Document several build requirements for optional features
26174 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26175
26176 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26177
26178 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26179 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26180 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26181
26182 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26183
26184 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26185 Thanks to Jordan Uggla for spotting this.
26186
26187 2010-06-02 Aleš Nesrsta <starous@volny.cz>
26188
26189 Finally make USB usable.
26190
26191 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26192 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26193 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26194 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26195 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26196 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26197 (GRUB_OHCI_FSMPS): Likewise.
26198 (GRUB_OHCI_PERIODIC_START): Likewise.
26199 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26200 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26201 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26202 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26203 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26204 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26205 (grub_ohci_transaction): Likewise.
26206 (grub_ohci_transfer): Improve condition detection algorithms.
26207 Handle toggle property. Program the transactions correctly.
26208 Improve error handling. Various important fixups.
26209 (grub_ohci_portstatus): Put register writes in right order.
26210 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26211 (grub_uhci_transfer): Don't show "failed" message on success.
26212 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26213 array.
26214 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26215 determine its size.
26216 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26217 before initialization is completed. Use IN direction for empty
26218 transfers. Use last_trans and compute toggle.
26219 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26220 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26221 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26222 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26223 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26224 (grub_usb_device): Increase toggle to 256.
26225 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26226 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26227 GRUB_USBMS_SUBCLASS_SFF8070.
26228 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26229 (grub_scsi_inquiry): New member page and alloc_length.
26230 (grub_scsi_request_sense): New structure.
26231 (grub_scsi_request_sense_data): Likewise.
26232 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26233 control.
26234 * disk/scsi.c (grub_scsi_request_sense): New function.
26235 (grub_scsi_test_unit_ready): Likewise.
26236 (grub_scsi_inquiry): Fill new fields.
26237 (grub_scsi_read_capacity): Likewise.
26238 (grub_scsi_read10): Add request sense at the end.
26239 (grub_scsi_read12): Likewise.
26240 (grub_scsi_write10): Likewise.
26241 (grub_scsi_write12): Likewise.
26242 (grub_scsi_open): Add Test Unit Ready.
26243 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26244 Support additional subclasses. Con't clear halt yet. Activate the
26245 proper config. Calculate LUNs correctly.
26246 (grub_usbms_transfer): Various important fixups.
26247
26248 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26249
26250 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26251 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26252 (grub_ohci_fini_hw): New function.
26253 (grub_ohci_restore_hw): Likewise.
26254 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26255 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26256 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26257
26258 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 Dedicated DMA allocations.
26261
26262 * bus/pci.c (grub_memalign_dma32): New function
26263 (grub_dma_free): Likewise.
26264 (grub_dma_get_virt): Likewise.
26265 (grub_dma_get_phys): Likewise.
26266 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26267 (grub_ohci_pci_iter): Use dma32_alloc.
26268 (grub_ohci_transfer): Likewise.
26269 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26270 (grub_usb_bulk_readwrite): Likewise.
26271 * include/grub/pci.h: Add declarations.
26272
26273 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26274
26275 CS5536 support.
26276
26277 * bus/cs5536.c: New file.
26278 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26279 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26280 (cs5536_mod_SOURCES): New variable.
26281 (cs5536_mod_CFLAGS): Likewise.
26282 (cs5536_mod_LDFLAGS): Likewise.
26283 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26284 machine/pci.h.
26285 (kernel_img_SOURCES): Add bus/cs5536.c.
26286 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26287 usb_keyboard.mod.
26288 (usb_mod_SOURCES): New variable.
26289 (usb_mod_CFLAGS): New variable.
26290 (usb_mod_LDFLAGS): New variable.
26291 (usbtest_mod_SOURCES): New variable.
26292 (usbtest_mod_CFLAGS): New variable.
26293 (usbtest_mod_LDFLAGS): New variable.
26294 (ohci_mod_SOURCES): New variable.
26295 (ohci_mod_CFLAGS): New variable.
26296 (ohci_mod_LDFLAGS): New variable.
26297 (usbms_mod_SOURCES): New variable.
26298 (usbms_mod_CFLAGS): New variable.
26299 (usbms_mod_LDFLAGS): New variable.
26300 (usb_keyboard_mod_SOURCES): New variable.
26301 (usb_keyboard_mod_CFLAGS): New variable.
26302 (usb_keyboard_mod_LDFLAGS): New variable.
26303 * include/grub/smbus.h: New file.
26304 * include/grub/cs5536.h: New file.
26305
26306 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26307
26308 * util/grub.d/00_header.in: Add safety check to make sure that
26309 ${locale_dir} exists before trying to probe it.
26310
26311 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26312
26313 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26314 per the GNU Coding Standards; this is now too obscure to be worth
26315 documenting.
26316 (QNX): Likewise.
26317 (chainloader): Remove cross-reference to `SCO UnixWare'.
26318
26319 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26320
26321 * docs/grub.texi (Chain-loading): New section.
26322 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26323 adjusted for GRUB 2.
26324 (SCO UnixWare): Likewise.
26325 (QNX): Likewise.
26326 (chainloader): Add reference to `Block list syntax'.
26327 (drivemap): New section.
26328 (parttool): New section.
26329
26330 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26331
26332 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26333 the grub shell'.
26334 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26335 (Installing GRUB using grub-install): Remove reference to the grub
26336 shell; mention `grub-mkimage' and `grub-setup' instead.
26337 (Invoking grub-install): Likewise.
26338 (Interface): Add reference to `Menu entry editor'.
26339 (serial): Remove `--device' option.
26340
26341 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26342
26343 * docs/grub.texi (Configuration): New section, documenting
26344 configuration file generation using grub-mkconfig. I've left a slot
26345 for documenting the full shell scripting format but have not yet
26346 started on writing that up.
26347 (Invoking grub-mkconfig): New section.
26348
26349 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26350
26351 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26352 (GNU GRUB manual): Likewise.
26353 (General commands): Update description of `terminfo' for GRUB 2.
26354
26355 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26356
26357 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26358 (GRUB_MOD_INIT): Fix capitalisation.
26359 * docs/grub.texi (Command-line and menu entry commands): Document
26360 gettext and gptsync commands.
26361
26362 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26363
26364 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26365 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26366
26367 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
26368
26369 Add btrfs probing support, currently only in the single-device case.
26370
26371 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26372 function.
26373 (grub_guess_root_device): Call find_root_device_from_mountinfo
26374 before looking in /dev.
26375
26376 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26377
26378 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26379 GRUB_DISK_SIZE_UNKNOWN.
26380 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26381
26382 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
26383
26384 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26385 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26386 corrupted or not synced properly.
26387
26388 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26391 Reported by: Seth Goldberg.
26392
26393 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26396 addition of dest.
26397 Reported by: Seth Goldberg.
26398
26399 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26402 Reported by: Seth Goldberg.
26403
26404 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26405
26406 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26407 64-bit address as signed on MIPS.
26408
26409 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26410
26411 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26412 to the empty string.
26413
26414 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26415
26416 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26417
26418 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26419 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26420 * kern/misc.c (__enable_execute_stack): Disable on
26421 GRUB_MACHINE_EMU.
26422
26423 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26424
26425 Make grub-probe work with symbolic links under /dev/mapper as well
26426 as with real block devices. The Linux world seems to be (at best)
26427 in transition here, and GRUB shouldn't get caught in the middle.
26428
26429 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26430 /dev/mapper.
26431
26432 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26433
26434 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26435 input files (in which case exit zero).
26436
26437 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26438
26439 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26440 return NULL for various reasons even if it has a maximum-length
26441 buffer: for example, there might be a symlink loop, or the path
26442 might exceed PATH_MAX. If this happens, return NULL.
26443
26444 2010-05-27 Robert Millan <rmh@gnu.org>
26445
26446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26447 partmap module to handle cross-partmap setups.
26448 Reported by Orestes Mas. Gràcies!
26449
26450 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26451
26452 * util/grub-mkrescue.in: Initialise override_dir rather than
26453 assuming that it's unset or empty in the environment.
26454
26455 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26456
26457 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26458 variable index into p_index to suppress a warning with -Wshadow.
26459
26460 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26461
26462 * INSTALL: Added flex >= 2.5.35 requirement.
26463
26464 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26465
26466 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26467
26468 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26469
26470 cmostest support.
26471
26472 * commands/i386/cmostest.c: New file.
26473 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26474 (cmostest_mod_SOURCES): New variable.
26475 (cmostest_mod_CFLAGS): Likewise.
26476 (cmostest_mod_LDFLAGS): Likewise.
26477 * conf/i386-pc.rmk: Likewise.
26478 * docs/grub.texi (Vendor power-on keys): New section.
26479 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26480 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26481 and GRUB_BUTTON_CMOS_ADDRESS.
26482 * util/grub.d/00_header.in: Handle powering-on by separate button.
26483
26484 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26487 Removed drawing_scrollbar argument. All users updated
26488 Fixes #29792.
26489 Reported by Jo Shields
26490
26491 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26492
26493 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26494 buffer since gfxterm handles double repaint.
26495
26496 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26499 * term/gfxterm.c (real_scroll): Likewise.
26500
26501 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26504 before calling BIOS.
26505
26506 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26507
26508 * include/grub/i18n.h: Always enable grub_gettext.
26509
26510 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26511
26512 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26513 partition naming style.
26514
26515 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26518 not the first option.
26519
26520 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26521
26522 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26523
26524 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26525
26526 * util/misc.c: Move inclusion of <limits.h> to ...
26527 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26528
26529 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26530
26531 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26532 Fix merge error in NetBSD code.
26533 (find_partition_start) [__NetBSD__]: Likewise.
26534
26535 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26536
26537 Fix grub-mkrescue usage unit testing.
26538
26539 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26540
26541 2010-05-18 Christian Franke <franke@computer.org>
26542
26543 * util/grub.d/10_windows.in: Use path names instead of
26544 drive letters to prevent warning from Cygwin 1.7.
26545 Add drivemap command to menuentry if needed.
26546
26547 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26548
26549 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26550 gnumach and gnumach.gz.
26551
26552 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26553
26554 * include/grub/i18n.h (gettext): Inline instead of using #define.
26555 (grub_gettext): Likewise.
26556 (_): Likewise.
26557
26558 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26561 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26562 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26563 (main): Add a slash after pkglibdirroot.
26564
26565 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26566
26567 * util/grub-install.in: Add missing "in" keyword.
26568
26569 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26570
26571 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26572 Reported by: Seth Goldberg.
26573
26574 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26575
26576 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26577
26578 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26579
26580 * configure.ac: Check for Linux device-mapper support.
26581
26582 * util/hostdisk.c (device_is_mapped): New function.
26583 (find_partition_start): New function, partly broken out from
26584 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26585 device-mapper support added.
26586 (linux_find_partition): Use find_partition_start.
26587 (convert_system_partition_to_system_disk): Add `st' argument.
26588 Support Linux /dev/mapper/* devices if device-mapper support is
26589 available; only DM-RAID devices are understood at present.
26590 (find_system_device): Add `st' argument. Pass it to
26591 convert_system_partition_to_system_disk.
26592 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26593 find_system_device and convert_system_partition_to_system_disk. Use
26594 find_partition_start.
26595
26596 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26597 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26598 * util/deviceiter.c [__linux__]: Define MINOR.
26599 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26600 * util/mkdevicemap.c (grub_putchar): New function.
26601 (grub_getkey): New function.
26602 (grub_refresh): New function.
26603 (main): Set debug=all if -v -v is used.
26604
26605 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26606
26607 Fix build with non-GNU libcs.
26608
26609 * util/misc.c (canonicalize_file_name): Move to ...
26610 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26611 grub_make_system_path_relative_to_its_root.
26612
26613 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26614
26615 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26616 we handle finding grub-mkimage. Default to finding grub-mkimage in
26617 ${bindir} with program_transform_name applied, and provide a
26618 --grub-mkimage option to override this.
26619
26620 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 Remove grub-mkisofs.
26623
26624 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26625 (grub_mkisofs_SOURCES): Removed.
26626 (grub_mkisofs_CFLAGS): Removed.
26627 * util/mkisofs/defaults.h: Removed.
26628 * util/mkisofs/eltorito.c: Likewise.
26629 * util/mkisofs/exclude.h: Likewise.
26630 * util/mkisofs/hash.c: Likewise.
26631 * util/mkisofs/include/: Likewise.
26632 * util/mkisofs/include/fctldefs.h: Likewise.
26633 * util/mkisofs/include/mconfig.h: Likewise.
26634 * util/mkisofs/include/prototyp.h: Likewise.
26635 * util/mkisofs/include/statdefs.h: Likewise.
26636 * util/mkisofs/iso9660.h: Likewise.
26637 * util/mkisofs/joliet.c: Likewise.
26638 * util/mkisofs/match.c: Likewise.
26639 * util/mkisofs/match.h: Likewise.
26640 * util/mkisofs/mkisofs.c: Likewise.
26641 * util/mkisofs/mkisofs.h: Likewise.
26642 * util/mkisofs/msdos_partition.h: Likewise.
26643 * util/mkisofs/multi.c: Likewise.
26644 * util/mkisofs/name.c: Likewise.
26645 * util/mkisofs/rock.c: Likewise.
26646 * util/mkisofs/tree.c: Likewise.
26647 * util/mkisofs/write.c: Likewise.
26648
26649 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26650
26651 Unify grub-mkimage accross platforms.
26652
26653 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26654 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26655 (grub_mkelfimage_SOURCES): Removed.
26656 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26657 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26658 (bin_UTILITIES): Add grub-mkimage.
26659 (grub_mkimage_SOURCES): New variable.
26660 (kernel_img_HEADERS): Remove machine/kernel.h.
26661 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26662 (pkglib_PROGRAMS): Add kernel.img.
26663 (kernel_img_HEADERS): Add machine/kernel.h.
26664 (kernel_img_FORMAT): Removed.
26665 (bin_UTILITIES): Remove grub-mkimage.
26666 (grub_mkimage_SOURCES): Removed.
26667 (grub_mkimage_CFLAGS): Likewise.
26668 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26669 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26670 (pkglib_PROGRAMS): Add kernel.img.
26671 (bin_UTILITIES): Remove grub-mkimage.
26672 (grub_mkimage_SOURCES): Removed.
26673 (grub_mkimage_CFLAGS): Likewise.
26674 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26675 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26676 (pkglib_PROGRAMS): Add kernel.img.
26677 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26678 (pkglib_PROGRAMS): Add kernel.img.
26679 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26680 (grub_mkimage_SOURCES): Removed.
26681 (grub_mkimage_CFLAGS): Likewise.
26682 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26683 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26684 (pkglib_PROGRAMS): Add kernel.img.
26685 (bin_UTILITIES): Remove grub-mkimage.
26686 (grub_mkimage_SOURCES): Removed.
26687 (grub_mkimage_CFLAGS): Likewise.
26688 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26689 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26690 (grub_mkimage_SOURCES): Removed.
26691 (grub_mkimage_CFLAGS): Likewise.
26692 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26693 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26694 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26695 (grub_pe32_optional_header): ... this.
26696 (grub_pe64_optional_header): ... and this. All users updated.
26697 (GRUB_PE32_PE32_MAGIC): Split into ..
26698 (GRUB_PE32_PE32_MAGIC): .. this.
26699 (GRUB_PE32_PE64_MAGIC): .. and this.
26700 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26701 * include/grub/elf.h (PT_GNU_STACK): New definition.
26702 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26703 * include/grub/i386/efi/kernel.h: Likewise.
26704 * include/grub/i386/kernel.h: Likewise.
26705 * include/grub/i386/pc/kernel.h: Likewise.
26706 * include/grub/i386/qemu/boot.h: Likewise.
26707 * include/grub/mips/kernel.h: Likewise.
26708 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26709 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26710 * include/grub/powerpc/kernel.h: Likewise.
26711 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26712 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26713 * include/grub/sparc64/kernel.h: Likewise.
26714 * include/grub/x86_64/efi/kernel.h: Likewise.
26715 * include/grub/x86_64/kernel.h: Likewise.
26716 * include/grub/offsets.h: New file.
26717 * include/grub/kernel.h (grub_module_info): Split into ...
26718 (grub_module_info32): ... this.
26719 (grub_module_info64): ... and this.
26720 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26721 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26722 (grub_boot_blocklist): Moved from here ...
26723 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26724 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26725 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26726 * include/grub/types.h (grub_target_to_host16): Removed.
26727 (grub_target_to_host32): Likewise.
26728 (grub_target_to_host64): Likewise.
26729 (grub_host_to_target16): Likewise.
26730 (grub_host_to_target32): Likewise.
26731 (grub_host_to_target64): Likewise.
26732 (grub_host_to_target_addr): Likewise.
26733
26734 Support grub-mkrescue for efi, coreboot and qemu.
26735
26736 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26737 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26738 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26739 * util/grub-mkrawimage.c: Moved from here ...
26740 * util/grub-mkimage.c: ... here. All users updated.
26741 (ALIGN_ADDR): Use image_target.
26742 (TARGET_NO_FIELD): New const.
26743 (image_target_desc): New type.
26744 (image_targets): New array.
26745 (grub_target_to_host64): Use image_target.
26746 (grub_target_to_host32): Likewise.
26747 (grub_target_to_host16): Likewise.
26748 (grub_host_to_target64): Likewise.
26749 (grub_host_to_target32): Likewise.
26750 (grub_host_to_target16): Likewise.
26751 (grub_host_to_target_addr): Likewise.
26752 (generate_image): Handle multiimage.
26753 (main): Require -O parameter. All users updated.
26754 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26755 util/efi/grub-mkimage.c
26756 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26757 New option --rom-directory.
26758 Use xorriso.
26759 * util/i386/efi/grub-mkimage.c: Removed.
26760 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26761 (grub_target_to_host32): Likewise.
26762 (grub_target_to_host64): Likewise.
26763 (grub_host_to_target16): Likewise.
26764 (grub_host_to_target32): Likewise.
26765 (grub_host_to_target64): Likewise.
26766 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26767 (grub_target_to_host32): Likewise.
26768 (grub_target_to_host64): Likewise.
26769 (grub_host_to_target16): Likewise.
26770 (grub_host_to_target32): Likewise.
26771 (grub_host_to_target64): Likewise.
26772
26773 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26774
26775 Source tree is reorganized for emu build.
26776
26777 * include/grub/util/console.h: Move from here...
26778 * include/grub/emu/console.h: ...to here.
26779 * include/grub/util/getroot.h: Move from here...
26780 * include/grub/emu/getroot.h: ...to here.
26781 * include/grub/util/hostdisk.h: Move from here...
26782 * include/grub/emu/hostdisk.h: ...to here.
26783 * util/console.c: Move from here...
26784 * kern/emu/console.c: ...to here.
26785 * util/getroot.c: Move from here...
26786 * kern/emu/getroot.c: ...to here.
26787 * util/grub-emu.c: Move from here...
26788 * kern/emu/main.c: ...to here.
26789 * util/hostdisk.c: Move from here...
26790 * kern/emu/hostdisk.c: ...to here.
26791 * util/hostfs.c: Move from here...
26792 * kern/emu/hostfs.c: ...to here.
26793 * util/mm.c: Move from here...
26794 * kern/emu/mm.c: ...to here.
26795 * util/pci.c: Move from here...
26796 * bus/emu/pci.c: ...to here.
26797 * util/sdl.c: Move from here...
26798 * video/emu/sdl.c: ...to here.
26799 * util/time.c: Move from here...
26800 * kern/emu/time.c: ...to here.
26801 * util/usb.c: Move from here...
26802 * bus/usb/emu/usb.c: ...to here.
26803
26804 * include/grub/emu/misc.h: New header for grub-emu functions.
26805 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26806
26807 * conf/any-emu.rmk: Rule updates for above renames.
26808 * conf/common.rmk: Likewise.
26809 * conf/i386-pc.rmk: Likewise.
26810 * conf/i386-qemu.rmk: Likewise.
26811 * conf/mips.rmk: Likewise.
26812 * conf/sparc64-ieee1275.rmk: Likewise.
26813 * conf/x86-efi.rmk: Likewise.
26814
26815 * disk/lvm.h: #include updates for above renames.
26816 * util/grub-mkrelpath.c: Likewise.
26817 * util/grub-probe.c: Likewise.
26818 * util/i386/pc/grub-setup.c: Likewise.
26819 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26820 * kern/emu/console.c: Likewise.
26821 * kern/emu/getroot.c: Likewise.
26822 * kern/emu/hostdisk.c: Likewise.
26823 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26824
26825 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26826 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26827 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26828 * util/misc.c: Remove grub-emu functions.
26829
26830 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 Fix gfxmenu crash.
26833 Reported by: Thorsten Grützmacher.
26834
26835 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26836 timeout hook.
26837 (circprog_set_property): Register and unregister timeout hook.
26838 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26839 (label_destroy): Free template. and unregister hook.
26840 (label_set_state): New function.
26841 (label_set_property): Handle templates and hooks.
26842 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26843 timeout hook.
26844 (progress_bar_set_property): Register and unregister timeout hook.
26845 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26846 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26847 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26848 (update_timeout_visit): Removed.
26849 (update_timeouts): New function.
26850 (redraw_timeouts): Likewise.
26851 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26852 (grub_gfxmenu_clear_timeout): Likewise.
26853 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26854 (grub_gfxmenu_timeout_notify): Likewise.
26855 (grub_gfxmenu_timeout_notifications): New external variable.
26856 (grub_gfxmenu_timeout_register): New function.
26857 (grub_gfxmenu_timeout_unregister): Likewise.
26858
26859 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26860
26861 Transform (broken) vga terminal into (working) vga video driver.
26862
26863 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26864 video/i386/pc/vga.c.
26865 * include/grub/video.h (grub_video_driver_id):
26866 Add GRUB_VIDEO_DRIVER_VGA.
26867 * term/i386/pc/vga.c: Renamed to ...
26868 * video/i386/pc/vga.c: ...this
26869 (DEBUG_VGA): Removed.
26870 (CHAR_WIDTH): Likewise.
26871 (CHAR_HEIGHT): Likewise.
26872 (TEXT_WIDTH): Likewise.
26873 (TEXT_HEIGHT): Likewise.
26874 (DEFAULT_FG_COLOR): Likewise.
26875 (DEFAULT_BG_COLOR): Likewise.
26876 (colored_char): Likewise.
26877 (xpos): Likewise.
26878 (ypos): Likewise.
26879 (cursor_state): Likewise.
26880 (fg_color): Likewise.
26881 (bg_color): Likewise.
26882 (text_buf): Likewise.
26883 (page): Likewise.
26884 (font): Likewise.
26885 (framebuffer): New variable.
26886 (set_read_map): Disabled.
26887 (setup): New variable.
26888 (is_target): Likewise.
26889 (grub_vga_mod_init): Likewise.
26890 (grub_vga_mod_fini): Likewise.
26891 (check_vga_mem): Likewise.
26892 (write_char): Likewise.
26893 (write_cursor): Likewise.
26894 (scroll_up): Likewise.
26895 (grub_vga_putchar): Likewise.
26896 (grub_vga_getcharwidth): Likewise.
26897 (grub_vga_getwh): Likewise.
26898 (grub_vga_getxy): Likewise.
26899 (grub_vga_gotoxy): Likewise.
26900 (grub_vga_cls): Likewise.
26901 (grub_vga_setcolorstate): Likewise.
26902 (grub_vga_setcursor): Likewise.
26903 (grub_video_vga_init): New function.
26904 (grub_video_vga_setup): Likewise.
26905 (grub_video_vga_fini): Likewise.
26906 (update_target): Likewise.
26907 (grub_video_vga_blit_bitmap): Likewise.
26908 (grub_video_vga_blit_render_target): Likewise.
26909 (grub_video_vga_set_active_render_target): Likewise.
26910 (grub_video_vga_get_active_render_target): Likewise.
26911 (grub_video_vga_swap_buffers): Likewise.
26912 (grub_video_vga_set_palette): Likewise.
26913 (grub_video_vga_get_info_and_fini): Likewise.
26914 (grub_vga_term): Removed.
26915 (grub_video_vga_adapter): New variable.
26916 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26917 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26918
26919 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26920
26921 * video/readers/jpeg.c: Indented.
26922
26923 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26924
26925 Various jpeg cleanups.
26926
26927 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26928 (grub_jpeg_decode_quan_table): Use sizeof.
26929 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26930
26931 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
26932
26933 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26934 tables. Ignore non-last ac bit.
26935 (grub_jpeg_decode_quan_table): Likewise.
26936
26937 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26940 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26941 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26942 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26943 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26944 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26945
26946 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26949 error.
26950
26951 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26954
26955 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26956
26957 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26958 condition.
26959
26960 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26961
26962 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26963 part.
26964
26965 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26966
26967 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26968 pointers.
26969
26970 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26971
26972 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26973
26974 2010-05-01 Christian Franke <franke@computer.org>
26975
26976 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26977 Remove broken Cygwin path conversion.
26978 * util/misc.c: [__CYGWIN__] Add include and define.
26979 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26980 for Cygwin 1.7.
26981 (make_system_path_relative_to_its_root): Simplify loop, replace early
26982 return by break.
26983 [__CYGWIN__] Add conversion to win32 path.
26984 Include "/" case in trailing slash removal.
26985
26986 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26989 Reported by: Seth Goldberg
26990
26991 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26992
26993 * commands/help.c (grub_cmd_help): Fix a typo.
26994 Reported by: Seth Goldberg
26995
26996 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26997
26998 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26999 name and add N_.
27000 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27001 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27002 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27003 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27004 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27005 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27006 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27007 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27008 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27009 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27010 * normal/context.c (GRUB_MOD_INIT): Likewise.
27011 * normal/main.c (GRUB_MOD_INIT): Likewise.
27012 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27013 * term/serial.c (GRUB_MOD_INIT): Likewise.
27014 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27015
27016 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27017
27018 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27019 extra == 0.
27020
27021 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 * commands/iorw.c: New file.
27024 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27025 (iorw_mod_SOURCES): New variable.
27026 (iorw_mod_CFLAGS): Likewise.
27027 (iorw_mod_LDFLAGS): Likewise.
27028
27029 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 Hotkey support
27032
27033 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27034 * normal/main.c (hotkey_aliases): New variable.
27035 (grub_normal_add_menu_entry): Parse "--hotkey".
27036 * normal/menu_text.c (run_menu): Handle hotkeys.
27037
27038 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 * kern/i386/coreboot/init.c (grub_machine_init): Call
27041 grub_machine_mmap_init on qemu.
27042
27043 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27044
27045 * boot/i386/qemu/boot.S: Add a missing .code16.
27046
27047 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27048
27049 Use LBIO on coreboot.
27050
27051 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27052 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27053 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27054 New declaration.
27055 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27056 grub_machine_mmap_init on coreboot.
27057 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27058 GRUB_LINUXBIOS_MEMBER_LINK.
27059 (grub_machine_mmap_iterate): Fix declaration.
27060 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27061
27062 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27063
27064 Split coreboot and multiboot ports.
27065
27066 * conf/i386-multiboot.rmk: New file.
27067 * configure.ac: Add multiboot port.
27068 * include/grub/i386/multiboot/boot.h: New file.
27069 * include/grub/i386/multiboot/console.h: Likewise.
27070 * include/grub/i386/multiboot/init.h: Likewise.
27071 * include/grub/i386/multiboot/kernel.h: Likewise.
27072 * include/grub/i386/multiboot/loader.h: Likewise.
27073 * include/grub/i386/multiboot/memory.h: Likewise.
27074 * include/grub/i386/multiboot/serial.h: Likewise.
27075 * include/grub/i386/multiboot/time.h: Likewise.
27076 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27077 * loader/multiboot.c: Likewise.
27078 * loader/multiboot_mbi2.c: Likewise.
27079 * util/grub-mkrescue.in: Generate multiboot rescue.
27080
27081 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27082
27083 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27084
27085 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27086
27087 Merge handling of input and output terminals. Fix a hang.
27088
27089 * commands/terminal.c (abstract_terminal): New struct.
27090 (handle_command): New function. Based on grub_cmd_terminal_input.
27091 (grub_cmd_terminal_input): Use handle_command.
27092 (grub_cmd_terminal_output): Use handle_command.
27093
27094 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27095
27096 Fix comment handling.
27097
27098 * tests/grub_script_comments.in: New testcase.
27099 * conf/tests.rmk: Rules for new testcase.
27100 * script/yylex.l: Updated flex rules.
27101
27102 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27103
27104 * docs/grub.texi (play): Document that zero pitches produce rests.
27105 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27106 if argc is 1.
27107
27108 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27111 autogen issues.
27112
27113 2010-04-26 Christian Franke <franke@computer.org>
27114
27115 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27116 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27117 (grub_get_prefix): Remove function.
27118 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27119 make_system_path_relative_to_its_root ().
27120 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27121
27122 2010-04-24 Christian Franke <franke@computer.org>
27123
27124 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27125 (kernel_img_LDFLAGS): Remove -static-libgcc.
27126
27127 2010-04-24 Christian Franke <franke@computer.org>
27128
27129 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27130 and CHECK_END_SYMBOL if grub-emu is built.
27131 Unset TARGET_OBJ2ELF if grub-emu is built
27132 without module support.
27133
27134 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
27135
27136 Nilfs2 support.
27137
27138 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27139 (grub_fstest_SOURCES): Likewise.
27140 (pkglib_MODULES): Add nilfs2.mod.
27141 (nilfs2_mod_SOURCES): New variable.
27142 (nilfs2_mod_CFLAGS): Likewise.
27143 (nilfs2_mod_LDFLAGS): Likewise.
27144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27145 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27146 * fs/nilfs2.c: New file.
27147
27148 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27149
27150 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27151 is not supported.
27152
27153 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27154
27155 Add grub-mkconfig support for NetBSD.
27156
27157 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27158 * util/grub-mkconfig.in: export new NetBSD specific variables.
27159 * po/POTFILES-shell: added 10_netbsd.in.
27160 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27161
27162 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27163
27164 Fix emu build with grub-emu-pci and grub-emu-modules.
27165
27166 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27167 functions.
27168 * include/grub/libpciaccess.h: New file.
27169 * conf/any-emu.rmk: Update kernel headers for emu build.
27170
27171 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27172
27173 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27174
27175 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27178
27179 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27180
27181 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27182 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27183 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27184 util/ieee1275/ofpath.c.
27185 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27186 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27187 * include/grub/sparc64/ieee1275/boot.h
27188 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27189 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27190 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27191 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27192 const char *.
27193 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27194 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27195 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27196 install.
27197
27198 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27199
27200 * util/grub-mkconfig.in: Corrected two == equality tests.
27201 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27202 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27203 expect a number appended to it.
27204 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27205 expects a number appended to it.
27206
27207 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27208
27209 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27210
27211 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27212
27213 * util/hostdisk.c (make_device_name): Change to new partition naming.
27214
27215 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27216
27217 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27218
27219 2010-04-17 Christian Franke <franke@computer.org>
27220
27221 * Makefile.in: Add missing localedir setting.
27222
27223 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
27224
27225 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27226 mistake in r2156. Noticed by Anthony Fok.
27227
27228 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27229 @localedir@.
27230 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27231
27232 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27233
27234 Fix a spurious, uninitialized variable warning.
27235
27236 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27237 Initialize variable, shdr.
27238 (grub_freebsd_load_elfmodule): Likewise.
27239 (grub_freebsd_load_elf_meta): Likewise.
27240
27241 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27242
27243 Fix for escaped dollar in double quoted strings.
27244
27245 * script/yylex.l: Updated flex rules.
27246 * conf/tests.rmk: Rule for new testcase.
27247 * tests/grub_script_dollar.in: New testcase.
27248
27249 2010-04-13 Carles Pina i Estany <carles@pina.cat>
27250 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
27251
27252 Enclose all translated strings in grub.cfg in single quotes, and
27253 escape them appropriately (Ubuntu bug #552921).
27254
27255 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27256 * util/grub.d/10_hurd.in: Use it.
27257 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27258 * util/grub.d/10_linux.in (linux_entry): Likewise.
27259
27260 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 Fix cygwin compilation.
27263
27264 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27265 * include/grub/misc.h (__register_frame_info)
27266 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27267 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27268 * kern/misc.c (__register_frame_info)
27269 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27270 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27271
27272 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27275
27276 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27277
27278 Unify libgcc processing.
27279
27280 * Makefile.in (kernel_img_LDFLAGS): New variable.
27281 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27282 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27283 overwriting.
27284 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27285 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27286 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27287 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27288 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27289 overwriting. Remove -lgcc and -static-libgcc
27290 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27291 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27292 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27293 (kernel_img_LDFLAGS): Append instead of overwriting.
27294 Remove -lgcc and -static-libgcc
27295 * conf/sparc64-ieee1275.rmk: Likewise.
27296 * include/grub/powerpc/libgcc.h: Move to ...
27297 * include/grub/libgcc.h: .. this.
27298 * include/grub/libgcc.h: Don't export most of the function on x86.
27299 (__bswapsi2): New export.
27300 (__bswapdi2): Likewise.
27301 * include/grub/mips/libgcc.h: Removed.
27302 * include/grub/sparc64/libgcc.h: Likewise.
27303
27304 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27305
27306 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27307 disk_info_msg (conflicts with gettexting into languages with cases).
27308
27309 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27310
27311 Add grub-probe support for NetBSD.
27312
27313 * util/getroot.c (find_root_device): Convert block device to
27314 character device on NetBSD.
27315 * util/probe.c (probe): Require character device on NetBSD.
27316 * util/hostdisk.c: NetBSD specific headers.
27317 (configure_device_driver): new function to tune device driver
27318 parameters (currently only for NetBSD floppy driver).
27319 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27320 via disklabel ioctl).
27321 (open_device): call configure_device_driver on NetBSD.
27322 (convert_system_partition_to_system_disk): NetBSD specific code.
27323 (device_is_wholedisk): Likewise.
27324 (grub_util_biosdisk_get_grub_dev): Likewise.
27325 (make_device_name): Fixed a typo in bsd_part_str.
27326 * configure.ac: check for opendisk() and getrawpartition() on
27327 NetBSD and set LIBUTIL.
27328 * Makefile.in: add LIBUTIL to LIBS.
27329
27330 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27331
27332 Documentation fix.
27333
27334 * util/grub-script-check.c: Better help message.
27335
27336 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27337
27338 Fix FreeBSD build.
27339
27340 * configure.ac: Flex version check.
27341 * conf/common.rmk: Add -Wno-error to sh.mod.
27342 * script/yylex.l: Remove all #pragma.
27343
27344 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27345
27346 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27347 prototype.
27348 Reported by: Seth Goldberg.
27349
27350 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27353 Rename "module" to "module2".
27354 Reported by: Seth Goldberg.
27355
27356 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27357
27358 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27359 EXPORT_FUNC.
27360 Reported by: Seth Goldberg.
27361
27362 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27363
27364 * lib/posix_wrap/locale.h: Add missing file.
27365 Reported by: Seth Goldberg.
27366
27367 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27368
27369 grub-emu module load support.
27370
27371 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27372 NO_DYNAMIC_MODULES switched to this.
27373 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27374 (CFLAGS): Likewise.
27375 * conf/any-emu.rmk: Generate symlist.
27376 (kernel_img_HEADERS): Add util/datetime.h.
27377 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27378 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27379 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27380 kern/$(target_cpu)/cache.S.
27381 * configure.ac (grub-emu-modules): New option.
27382 * genmk.rb: Handle multiple source lists.
27383 * include/grub/sdl.h: New file.
27384 * include/grub/libusb.h: Likewise.
27385 * util/grub-emu.c (main): Hanle (host) root.
27386 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27387 GRUB_ERR_UNKNOWN_DEVICE.
27388 * util/misc.c: Move mm functions to ...
27389 * util/mm.c: ... here. All users updated.
27390
27391 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27392
27393 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27394 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27395 missing files.
27396 (maintainer-clean): Remove libgcrypt-grub.
27397
27398 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27401
27402 2010-04-09 EFI Coder <eficoder@hotmail.com>
27403
27404 * normal/menu_text.c (print_message): Clean up the message and show
27405 the Fn information when on EFI
27406 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27407
27408 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27411 All users updated.
27412 * normal/crypto.c (read_crypto_list): Likewise.
27413 * normal/dyncmd.c (read_command_list): Likewise.
27414 * normal/term.c (read_terminal_list): Likewise.
27415 * normal/main.c (read_lists): Use explicit prefix.
27416 (read_lists_hook): Use read_lists.
27417 (grub_normal_execute): Likewise.
27418
27419 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27420
27421 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27422 Reported by: Thomas Schmitt.
27423 Add -no-emul-boot to grub-mkisofs parameters.
27424
27425 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 * font/font.c: Indented.
27428
27429 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27430
27431 Elif support to GRUB script (by Deepak Vankadaru).
27432
27433 * tests/grub_script_if.in: New testcase.
27434 * conf/tests.rmk: Rule for new testcase.
27435 * script/parser.y: Grammar rules for elif.
27436
27437 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27438
27439 While and until loops support to GRUB script.
27440
27441 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27442 (grub_script_create_cmdwhile): New function prototype.
27443 (grub_script_execute_cmdwhile): New function prototype.
27444 * script/execute.c (grub_script_execute_cmdwhile): New function.
27445 * script/parser.y (command): New commands.
27446 (whilecmd): New grammar rule.
27447 (untilcmd): New grammar rule.
27448 * script/script.c (grub_script_create_cmdwhile): New function.
27449 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27450 function.
27451
27452 * tests/grub_script_while1.in: New testcase.
27453 * conf/tests.rmk: Rule for new testcase.
27454
27455 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27456
27457 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27458 as *.jpg.
27459
27460 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
27461
27462 GRUB_BACKGROUND support.
27463
27464 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27465 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27466
27467 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 Load fonts and modules for gfxmenu in grub-mkconfig.
27470 Idea by: Mario Vazquez
27471
27472 * util/grub.d/00_header.in: Load pf2 and image modules.
27473
27474 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27475
27476 grub-mkconfig multiple terminal support.
27477
27478 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27479 * util/grub.d/00_header.in: Likewise.
27480
27481 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27484 we use cd $(srcdir).
27485
27486 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
27487
27488 * util/grub.d/10_linux.in: Only use the first word of
27489 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27490 spaces in GRUB_DISTRIBUTOR.
27491 * util/grub.d/10_kfreebsd.in: Likewise.
27492 * util/grub.d/10_hurd.in: Likewise.
27493
27494 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27495
27496 Fix unit testing framework for Qemu 0.12.
27497
27498 * tests/util/grub-shell.in: Remove -serial stdio option.
27499
27500 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27501
27502 POSIX header file wrappers.
27503
27504 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27505 equivalents.
27506 * lib/posix_wrap/ctype.h: Likewise.
27507 * lib/posix_wrap/errno.h: Likewise.
27508 * lib/posix_wrap/langinfo.h: Likewise.
27509 * lib/posix_wrap/limits.h: Likewise.
27510 * lib/posix_wrap/localcharset.h: Likewise.
27511 * lib/posix_wrap/stdint.h: Likewise.
27512 * lib/posix_wrap/stdio.h: Likewise.
27513 * lib/posix_wrap/stdlib.h: Likewise.
27514 * lib/posix_wrap/string.h: Likewise.
27515 * lib/posix_wrap/sys/types.h: Likewise.
27516 * lib/posix_wrap/unistd.h: Likewise.
27517 * lib/posix_wrap/wchar.h: Likewise.
27518 * lib/posix_wrap/wctype.h: Likewise.
27519 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27520 (grub_script.yy.h): Likewise.
27521 * script/yylex.l: Remove POSIX emulation #defines.
27522 * Makefile.in (POSIX_CFLAGS): New variable.
27523 (GNULIB_UTIL_CFLAGS): Likewise.
27524
27525 Regexp support.
27526
27527 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27528 (regexp_mod_SOURCES): New variable.
27529 (regexp_mod_CFLAGS): Likewise.
27530 (regexp_mod_LDFLAGS): Likewise.
27531 * commands/regexp.c: New file.
27532 * gnulib/regcomp.c: New file. Imported from gnulib.
27533 * gnulib/regex.c: Likewise.
27534 * gnulib/regex_internal.c: Likewise.
27535 * gnulib/regex_internal.h: Likewise.
27536 * gnulib/regexec.c: Likewise.
27537 * gnulib/regex.h: Likewise.
27538
27539 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27540
27541 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27542 unsupported video mode types.
27543
27544 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27545
27546 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27547
27548 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27549
27550 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27551 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27552
27553 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27554
27555 Remove unused grub_vga_get_font.
27556
27557 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27558 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27559
27560 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27561
27562 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27563 * include/grub/misc.h: Likewise.
27564
27565 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27566
27567 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27568 for which failure is fatal.
27569
27570 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27571
27572 * util/grub-install.in: Use mkdir -p to create grub directory.
27573 * util/i386/efi/grub-install.in: Likewise.
27574 * util/ieee1275/grub-install.in: Likewise.
27575
27576 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27577
27578 * Makefile.in (LEX): new variable.
27579
27580 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27581
27582 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27583 `=' and added double quotes on operands of this equality test.
27584
27585 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27586
27587 * Makefile.in (uninstall): Remove a leftover debug echo.
27588 Reported by: Grégoire Sutre
27589
27590 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27591
27592 MIPS multiboot2 support.
27593
27594 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27595 (multiboot2_mod_SOURCES): New variable.
27596 (multiboot2_mod_CFLAGS): Likewise.
27597 (multiboot2_mod_LDFLAGS): Likewise.
27598 (multiboot2_mod_ASFLAGS): Likewise.
27599 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27600 definition.
27601 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27602 (MULTIBOOT_MBI_REGISTER): Likewise.
27603 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27604 (MULTIBOOT_ELF32_MACHINE): Likewise.
27605 (MULTIBOOT_ELF64_MACHINE): Likewise.
27606 * include/grub/mips/multiboot.h: New file.
27607 * include/grub/video.h (grub_video_driver_id): New type
27608 GRUB_VIDEO_DRIVER_SM712.
27609 (grub_video_get_info_and_fini): Export.
27610 (grub_video_get_palette): Likewise.
27611 (grub_video_get_driver_id): Likewise.
27612 * include/multiboot2.h: Resynced with spec.
27613 * loader/i386/multiboot.c: Moved from here ...
27614 * loader/multiboot.c: ... here. All users updated.
27615 (grub_multiboot_boot): Use platform-specific macros.
27616 * loader/i386/multiboot_elfxx.c: Moved from here ...
27617 * loader/multiboot_elfxx.c: ... here. All users updated.
27618 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27619 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27620 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27621
27622 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 Import gnulib argp module.
27625
27626 * gnulib/argp-ba.c: New file.
27627 * gnulib/argp-eexst.c: Likewise.
27628 * gnulib/argp-fmtstream.c: Likewise.
27629 * gnulib/argp-fmtstream.h: Likewise.
27630 * gnulib/argp-fs-xinl.c: Likewise.
27631 * gnulib/argp-help.c: Likewise.
27632 * gnulib/argp-namefrob.h: Likewise.
27633 * gnulib/argp-parse.c: Likewise.
27634 * gnulib/argp-pin.c: Likewise.
27635 * gnulib/argp-pv.c: Likewise.
27636 * gnulib/argp-pvh.c: Likewise.
27637 * gnulib/argp-version-etc.c: Likewise.
27638 * gnulib/argp-version-etc.h: Likewise.
27639 * gnulib/argp-xinl.c: Likewise.
27640 * gnulib/argp.h: Likewise.
27641
27642 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 * kern/device.c (grub_device_iterate): Clear errors after failed
27645 opening device.
27646
27647 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27650 returned by firmware.
27651
27652 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27653
27654 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27655 compilation on coreboot and qemu
27656
27657 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27658
27659 * include/multiboot2.h: Resync with spec.
27660
27661 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27662
27663 Multiboot2 tag support
27664
27665 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27666 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27667 Remove loader/multiboot_loader.c.
27668 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27669 (grub_multiboot2_real_boot): Likewise.
27670 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27671 (grub_get_multiboot_mmap_count): New proto.
27672 (grub_fill_multiboot_mmap): Likewise.
27673 (grub_multiboot_set_video_mode): Likewise.
27674 (grub_multiboot_set_console): Likewise.
27675 (grub_multiboot_load): Likewise.
27676 (grub_multiboot_load_elf): Likewise.
27677 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27678 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27679 * include/multiboot.h: Resynced with specification.
27680 * include/multiboot2.h: Resynced with specification.
27681 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27682 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27683 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27684 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27685 users updated.
27686 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27687 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27688 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27689 Removed.
27690 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27691 Moved from here...
27692 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27693 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27694 Moved from here...
27695 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27696 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27697 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27698 All users updated.
27699 * loader/i386/multiboot_mbi2.c: New file.
27700
27701 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27702
27703 Resync with gnulib.
27704
27705 * Makefile.in (GNULIB_CFLAGS): New variable.
27706 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27707 (grub_script_check_CFLAGS): New variable.
27708 * gnulib/alloca.h: Resync with gnulib.
27709 * gnulib/error.c: Likewise.
27710 * gnulib/error.h: Likewise.
27711 * gnulib/fnmatch.c: Likewise.
27712 * gnulib/fnmatch_loop.c: Likewise.
27713 * gnulib/getdelim.c: Likewise.
27714 * gnulib/getline.c: Likewise.
27715 * gnulib/getopt.c: Likewise.
27716 * gnulib/getopt1.c: Likewise.
27717 * gnulib/getopt_int.h: Likewise.
27718 * gnulib/gettext.h: Likewise.
27719 * gnulib/progname.c: Likewise.
27720 * gnulib/progname.h: Likewise.
27721
27722 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27723
27724 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27725 which is the case with --disabled-nls.
27726
27727 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27728 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27729 * util/misc.c: Likewise.
27730 * util/mkisofs/mkisofs.c: Likewise.
27731 * util/mkisofs/mkisofs.h: Likewise.
27732
27733 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27734
27735 Simplify Apple CC support.
27736
27737 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27738 Add 0 byte at the end not to have a symbol with empty target.
27739 * mmap/i386/pc/mmap_helper.S: Likewise.
27740 * genmk.rb: Ignore errors 2030 and 2050.
27741 * kern/i386/pc/startup.S: Use LOCAL when possible.
27742
27743 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27744
27745 Testcase and the fix for final semicolon on cmdline.
27746
27747 * tests/grub_script_final_semicolon.in: New testcase.
27748 * conf/tests.rmk: Rules for the new testcase.
27749 * script/parser.y: Grammar fix.
27750
27751 2010-03-26 BVK Chaitanya <bvk@localhost>
27752
27753 Blank lines testcase for GRUB script.
27754
27755 * tests/grub_script_blanklines.in: New testcase.
27756 * conf/tests.rmk: Rules for the new testcase.
27757
27758 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 Don't use __FILE__.
27761
27762 * genmk.rb: Add -DGRUB_FILE to all C targets.
27763 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27764 * include/grub/list.h: Likewise.
27765 * include/grub/misc.h: Likewise.
27766 * include/grub/mm.h: Likewise.
27767 * include/grub/test.h: Likewise.
27768 * kern/mm.c: Likewise.
27769 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27770
27771 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27772
27773 Sunpc partitions support.
27774
27775 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27776 (grub_fstest_SOURCES): Likewise.
27777 (pkglib_MODULES): Add part_sunpc.mod.
27778 (part_sunpc_mod_SOURCES): New variable.
27779 (part_sunpc_mod_CFLAGS): Likewise.
27780 (part_sunpc_mod_LDFLAGS): Likewise.
27781 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27782 * partmap/sunpc.c: New file.
27783
27784 2010-03-26 BVK Chaitanya <bvk@localhost>
27785
27786 For loop support to GRUB script.
27787
27788 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27789 (grub_script_create_cmdfor): New function prototype.
27790 (grub_script_execute_cmdfor): New function prototype.
27791 * script/execute.c (grub_script_execute_cmdfor): New function.
27792 * script/parser.y (command): New for command.
27793 (forcmd): New grammar rule.
27794 * script/script.c (grub_script_create_cmdfor): New function.
27795 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27796 function.
27797 * tests/grub_script_for1.in: New testcase.
27798 * conf/tests.rmk: Rules for new testcase.
27799
27800 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27801
27802 Nested partitions
27803
27804 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27805 'partition' is NULL, grub_partition_get_start already does that.
27806 * commands/loadenv.c (check_blocklists): Likewise.
27807 (write_blocklists): Likewise.
27808 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27809 (grub_fstest_SOURCES): Likewise.
27810 (pkglib_MODULES): Add part_bsd.mod.
27811 (part_bsd_mod_SOURCES): New variable.
27812 (part_bsd_mod_CFLAGS): Likewise.
27813 (part_bsd_mod_LDFLAGS): Likewise.
27814 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27815 (grub_emu_SOURCES): Likewise.
27816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27817 * include/grub/bsdlabel.h: New file.
27818 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27819 'get_name'.
27820 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27821 (grub_partition_map_list): New variable.
27822 (grub_partition_map_register): Inline.
27823 (grub_partition_map_unregister): Likewise.
27824 (FOR_PARTITION_MAPS): New macro.
27825 (grub_partition_map_iterate): Removed.
27826 (grub_partition_get_start): Handle nested partitions.
27827 * include/grub/msdos_partition.h: Remove bsd-related entries.
27828 (grub_pc_partition): Remove.
27829 * kern/disk.c (grub_disk_close): Free partition data.
27830 (grub_disk_adjust_range): Handle nested partitions.
27831 * kern/partition.c (grub_partition_map_probe): New function.
27832 (grub_partition_probe): Parse name to number, handle subpartitions.
27833 (get_partmap): New function.
27834 (grub_partition_iterate): Handle subpartitions.
27835 (grub_partition_get_name): Likewise.
27836 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27837 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27838 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27839 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27840 Set 'number'.
27841 (acorn_partition_map_probe): Remove.
27842 (acorn_partition_map_get_name): Likewise.
27843 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27844 Set 'number'.
27845 Set 'index' to 0 since there can be only one partition entry per sector.
27846 (amiga_partition_map_probe): Remove.
27847 (amiga_partition_map_get_name): Likewise.
27848 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27849 Set 'number'.
27850 Set 'offset' and 'index' to real positions of partitions.
27851 (apple_partition_map_probe): Remove.
27852 (apple_partition_map_get_name): Likewise.
27853 * partmap/bsdlabel.c: New file.
27854 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27855 Set 'number'.
27856 Allocate 'data' so it can be correctly freed.
27857 Set 'index' to offset inside sector.
27858 (gpt_partition_map_probe): Remove.
27859 (gpt_partition_map_get_name): Likewise.
27860 * partmap/msdos.c (grub_partition_parse): Remove.
27861 (pc_partition_map_iterate): Don't force raw access.
27862 Set 'number'.
27863 Make 'ext_offset' a local variable.
27864 (pc_partition_map_probe): Remove.
27865 (pc_partition_map_get_name): Remove.
27866 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27867 Set 'number'.
27868 (sun_partition_map_probe): Remove.
27869 (sun_partition_map_get_name): Likewise.
27870 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27871 (grub_pcpart_type): Likewise.
27872 * util/hostdisk.c (open_device): Handle new numbering scheme.
27873 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27874 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27875 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27876 * util/grub-install.in: Insert all subpartition modules.
27877 * util/ieee1275/grub-install.in: Likewise.
27878
27879 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27880
27881 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27882 grammar.
27883
27884 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
27885
27886 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27887
27888 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
27889
27890 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27891 match where 'make install' puts them.
27892 * util/i386/efi/grub-install.in: Likewise.
27893
27894 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
27895
27896 * .bzrignore: Add gentrigtables, grub-script-check,
27897 grub_script_check_init.c, grub_script_check_init.h, and
27898 trigtables.c.
27899
27900 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27901
27902 * kern/parser.c: Indented.
27903
27904 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27905
27906 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27907
27908 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27911 alpha_mask_size == 0 case.
27912
27913 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27914
27915 GRUB shell lexer and parser improvements.
27916
27917 * conf/any-emu.rmk: Build rule updates.
27918 * conf/common.rmk: Likewise.
27919 * conf/i386-coreboot.rmk: Likewise.
27920 * conf/i386-efi.rmk: Likewise.
27921 * conf/i386-ieee1275.rmk: Likewise.
27922 * conf/i386-pc.rmk: Likewise.
27923 * conf/powerpc-ieee1275.rmk: Likewise.
27924 * conf/x86_64-efi.rmk: Likewise.
27925
27926 * configure.ac: Configure check for flex.
27927
27928 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27929 types.
27930 (grub_lexer_param): Struct member updates.
27931 (grub_parser_param): Likewise.
27932 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27933 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27934 (grub_script_lexer_init): Prototype update.
27935 (grub_script_lexer_record_start): Likewise.
27936 (grub_script_lexer_record_stop): Likewise.
27937 (grub_script_lexer_yywrap): New function prototype.
27938 (grub_script_lexer_fini): Likewise.
27939 (grub_script_execute_argument_to_string): Removed by...
27940 (grub_script_execute_argument_to_argv): ...better version.
27941
27942 * script/execute.c (ROUND_UPTO): New macro.
27943 (grub_script_execute_cmdline): Out of memory fixes.
27944 (grub_script_execute_menuentry): Likewise.
27945 (grub_script_execute_argument_to_string): Removed. Update all
27946 users by...
27947 (grub_script_execute_argument_to_argv): ...better version.
27948 * script/function.c (grub_script_function_create): Use
27949 grub_script_execute_argument_to_argv instead of
27950 grub_script_execute_argument_to_string.
27951
27952 * script/lexer.c (check_varstate): Removed.
27953 (check_textstate): Removed.
27954 (grub_script_lexer_record_start): Likewise.
27955 (grub_script_lexer_record_stop): Likewise.
27956 (recordchar): Replaced with...
27957 (grub_script_lexer_record): ...new function.
27958 (nextchar): Removed.
27959 (grub_script_lexer_init): Rewritten.
27960 (grub_script_yylex): Rewritten.
27961 (append_newline): New function.
27962 (grub_script_lexer_yywrap): New function.
27963 (grub_script_lexer_fini): New function.
27964 (grub_script_yyerror): Sets error flag.
27965
27966 * script/yylex.l: New file.
27967 (grub_lexer_yyfree): Wrapper for flex yyffre.
27968 (grub_lexer_yyalloc): Likewise.
27969 (grub_lexer_yyrealloc): Likewise.
27970 * script/parser.y: Refactored.
27971
27972 * script/script.c (grub_script_arg_add): Out of memory fixes.
27973 (grub_script_add_arglist): Likewise.
27974 (grub_script_create_cmdline): Likewise.
27975 (grub_script_create_cmdmenu): Likewise.
27976 (grub_script_add_cmd): Likewise.
27977 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27978 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27979 unnecessary code.
27980
27981 * tests/grub_script_echo1.in: New testcase.
27982 * tests/grub_script_vars1.in: New testcase.
27983 * tests/grub_script_echo_keywords.in: New testcase.
27984
27985 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 Remove some redundancy in build system.
27988
27989 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27990 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27991 (TARGET_LDFLAGS): Add -nostdlib.
27992 (TARGET_IMG_LDFLAGS): Likewise.
27993 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27994 anything since mmap isn't available.
27995 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27996 Add util/time.c.
27997 (pkglib_MODULES): Remove reboot.mod.
27998 (reboot_mod_SOURCES): Removed.
27999 (reboot_mod_CFLAGS): Likewise.
28000 (reboot_mod_LDFLAGS): Likewise.
28001 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28002 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28003 (DEFSYMFILES): Add kernel_syms.lst.
28004 (kernel_img_HEADERS): Add common headers.
28005 (symlist.c): New target.
28006 (kernel_syms.lst): Likewise.
28007 (pkglib_MODULES): Add memdisk.mod.
28008 (memdisk_mod_SOURCES): New variable.
28009 (memdisk_mod_CFLAGS): Likewise.
28010 (memdisk_mod_LDFLAGS): Likewise.
28011 (pkglib_MODULES): Add reboot.mod.
28012 (reboot_mod_SOURCES): New variable.
28013 (reboot_mod_CFLAGS): Likewise.
28014 (reboot_mod_LDFLAGS): Likewise.
28015 (pkglib_MODULES): Add date.mod.
28016 (date_mod_SOURCES): New variable.
28017 (date_mod_CFLAGS): Likewise.
28018 (date_mod_LDFLAGS): Likewise.
28019 (pkglib_MODULES): Add datehook.mod.
28020 (datehook_mod_SOURCES): New variable.
28021 (datehook_mod_CFLAGS): Likewise.
28022 (datehook_mod_LDFLAGS): Likewise.
28023 (pkglib_MODULES): Add lsmmap.mod.
28024 (lsmmap_mod_SOURCES): New variable.
28025 (lsmmap_mod_CFLAGS): Likewise.
28026 (lsmmap_mod_LDFLAGS): Likewise.
28027 (pkglib_MODULES): Add boot.mod.
28028 (boot_mod_SOURCES): New variable.
28029 (boot_mod_CFLAGS): Likewise.
28030 (boot_mod_LDFLAGS): Likewise.
28031 * conf/i386-coreboot.rmk: Removed redundant parts.
28032 * conf/i386-ieee1275.rmk: Likewise.
28033 * conf/i386-pc.rmk: Likewise.
28034 * conf/mips-yeeloong.rmk: Likewise.
28035 * conf/mips.rmk: Likewise.
28036 * conf/powerpc-ieee1275.rmk: Likewise.
28037 * conf/sparc64-ieee1275.rmk: Likewise.
28038 * conf/x86_64-efi.rmk: Likewise.
28039 * conf/i386-coreboot.rmk: Moved qemu parts ..
28040 * conf/i386-qemu.rmk: ... here
28041 * conf/i386-efi.rmk: Moved common parts to...
28042 * conf/x86-efi.rmk: ... here.
28043 * conf/i386.rmk: Added modules common to all x86 variants.
28044 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28045 * disk/memdisk.c: Remove grub/machine/kernel.h.
28046 * gensymlist.sh.in: Include symbol.h.
28047 * hook/datehook.c: Correct module name.
28048 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28049 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28050 * include/grub/i386/efi/serial.h: New file.
28051 * include/grub/x86_64/efi/serial.h: Likewise.
28052 * util/time.c: Likewise.
28053 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28054
28055 2010-03-14 Colin King <colin.king@ubuntu.com>
28056 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
28057
28058 Shrink the pre-partition-table part of boot.img by eight bytes.
28059
28060 * boot/i386/pc/boot.S (ERR): New macro.
28061 (chs_mode): Use ERR.
28062 (geometry_error): Likewise.
28063 (hd_probe_error): Remove. This is only used once, so we wrwite
28064 it inline instead.
28065 (read_error): Instead of printing read_error_string, just set up
28066 %si and fall through to ...
28067 (error_message): ... this new function, also used by ERR.
28068
28069 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
28070
28071 Speed up consecutive hostdisk operations on the same device.
28072
28073 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28074 (grub_util_biosdisk_open): Initialise disk->data.
28075 (struct linux_partition_cache): New structure.
28076 (linux_find_partition): Cache partition start positions; these are
28077 expensive to compute on every read and write.
28078 (open_device): Cache open file descriptor in disk->data, so that we
28079 don't have to reopen it and flush the buffer cache for consecutive
28080 operations on the same device.
28081 (grub_util_biosdisk_close): New function.
28082 (grub_util_biosdisk_dev): Set `close' member.
28083
28084 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28085 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28086 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28087 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28088 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28089
28090 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 Compile parts of grub-emu as modules.
28093
28094 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28095 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28096 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28097 (all-local): Add $(GRUB_EMU).
28098 (install-local): Install $(GRUB_EMU).
28099 (uninstall): Uninstall $(GRUB_EMU).
28100 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28101 * kern/dl.c: Likewise.
28102 * commands/sleep.c: Not include machine/time.h.
28103 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28104 (COMMON_CFLAGS): Likewise.
28105 (sbin_UTILITIES): Remove grub-emu.
28106 (grub_emu_SOURCES): Removed.
28107 (kernel_img_RELOCATABLE): New variable.
28108 (pkglib_PROGRAMS): Add kernel.img.
28109 (kernel_img_SOURCES): New variable
28110 (kernel_img_CFLAGS): Likewise.
28111 (kernel_img_LDFLAGS): Likewise.
28112 (TARGET_NO_STRIP): Likewise.
28113 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28114 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28115 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28116 (grub-emu): New target.
28117 (GRUB_EMU): New variable.
28118 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28119 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28120 * loader/xnu.c: Likewise.
28121 * include/grub/pci.h: Likewise.
28122 * genemuinit.sh: New file.
28123 * genemuinitheader.sh: Likewise.
28124 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28125 Support TARGET_NO_DYNAMIC_MODULES.
28126 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28127 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28128 * disk/loopback.c: Likewise.
28129 * font/font_cmd.c: Likewise.
28130 * partmap/acorn.c: Likewise.
28131 * partmap/amiga.c: Likewise.
28132 * partmap/apple.c: Likewise.
28133 * partmap/gpt.c: Likewise.
28134 * partmap/msdos.c: Likewise.
28135 * partmap/sun.c: Likewise.
28136 * parttool/msdospart.c: Likewise.
28137 * term/gfxterm.c: Likewise.
28138 * video/bitmap.c: Likewise.
28139 * video/readers/jpeg.c: Likewise.
28140 * video/readers/png.c: Likewise.
28141 * video/readers/tga.c: Likewise.
28142 * video/video.c: Likewise.
28143 * util/grub-emu.c (read_command_list): Removed.
28144 (main): Don't call util_init_nls.
28145 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28146 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28147
28148 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28151 date.mod, datehook.mod.
28152 (datetime_mod_SOURCES): New variable.
28153 (datetime_mod_CFLAGS): Likewise.
28154 (datetime_mod_LDFLAGS): Likewise.
28155 (date_mod_SOURCES): Likewise.
28156 (date_mod_CFLAGS): Likewise.
28157 (date_mod_LDFLAGS): Likewise.
28158 (datehook_mod_SOURCES): Likewise.
28159 (datehook_mod_CFLAGS): Likewise.
28160 (datehook_mod_LDFLAGS): Likewise.
28161 * conf/sparc64-ieee1275.rmk: Likewise.
28162 * lib/ieee1275/datetime.c: New file.
28163
28164 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28167 (ieee1275_fb_mod_SOURCES): New variable.
28168 (ieee1275_fb_mod_CFLAGS): Likewise.
28169 (ieee1275_fb_mod_LDFLAGS): Likewise.
28170 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28171 New proto.
28172 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28173 (HEAP_MAX_ADDR): Likewise.
28174 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28175 type.
28176 Correct stop condition.
28177 (grub_ieee1275_devices_iterate): New function.
28178 * video/ieee1275.c: New file.
28179
28180 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28183
28184 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28185 as scratch.
28186 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28187 SCRATCH_PAD_DISKBOOT as scratch.
28188 (bootit): Pass Openfirmware pointer in %o4.
28189 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28190 of 0x200000.
28191 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28192 with util/grub-mkrawimage.c.
28193 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28194 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28195 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28196 (grub_aout_load) [GRUB_UTIL]: Likewise.
28197 * include/grub/kernel.h (grub_modules_get_end): New proto.
28198 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28199 (SCRATCH_PAD_BOOT): New definition.
28200 (SCRATCH_PAD_DISKBOOT): Likewise.
28201 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28202 * include/grub/sparc64/ieee1275/ieee1275.h
28203 (grub_ieee1275_original_stack): New variable
28204 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28205 New definition
28206 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28207 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28208 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28209 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28210 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28211 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28212 (grub_platform_image_format_t): New type.
28213 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28214 * kern/main.c (grub_modules_get_end)
28215 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28216 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28217 (codestart): Switch stacks.
28218 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28219 variable.
28220 (grub_heap_init): Use grub_modules_get_end.
28221 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28222 stack.
28223 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28224 (main): Likewise.
28225 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28226
28227 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
28228
28229 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28230
28231 2010-03-08 Matt Kraai <kraai@ftbfs.org>
28232
28233 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28234 bug #559005).
28235
28236 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28237
28238 * genmoddep.awk: Output all missing symbols and not only first.
28239
28240 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28241
28242 * NEWS: Put the date of 1.98 release.
28243
28244 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28245
28246 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28247 ft2build.h.
28248
28249 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28250
28251 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28252 completition in the middle of string.
28253
28254 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28255
28256 * util/grub-mkrescue.in: Use mktemp with explicit template.
28257
28258 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28259
28260 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28261
28262 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28263
28264 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28265 right pointer.
28266
28267 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28268
28269 Fix FreeBSD compilation.
28270
28271 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28272 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28273
28274 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28277
28278 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28281
28282 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28283
28284 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28285
28286 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28287
28288 Support relative image path in theme file.
28289
28290 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28291 (image_set_property): Handle theme_dir and relative path.
28292
28293 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * configure.ac: Alias amd64 to x86_64.
28296
28297 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * NEWS: mention multiboot on EFI.
28300
28301 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 * kern/main.c (grub_load_modules): Handle errors from init functions of
28304 embeded modules.
28305
28306 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28307
28308 * normal/autofs.c (autoload_fs_module): Handle errors.
28309
28310 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 Disable linux.mod on qemu-mips since it's not functional and leads
28313 to compilation failure.
28314
28315 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28316 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28317 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28318 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28319 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28320 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28321 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28322 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28323 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28324 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28325 Reported by: BVK Chaitanya
28326
28327 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28328
28329 * INSTALL: Add gettext as a dependency and add qemu to a new section
28330 "Prerequisites for make-check".
28331
28332 2010-03-04 Christian Franke <franke@computer.org>
28333
28334 * util/grub-pe2elf.c: Add missing include "progname.h".
28335
28336 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 * normal/crypto.c (read_crypto_list): Fix a typo.
28339 Reported by: Seth Goldberg.
28340
28341 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
28344 Reported by: Seth Goldberg.
28345
28346 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28347
28348 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28349 ascii.bitmaps.
28350
28351 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28352
28353 * genmk.rb: Remove terminal*.lst in make clean.
28354 Reported by: Seth Goldberg.
28355
28356 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28357
28358 * util/i386/efi/grub-install.in: Copy gettext files.
28359
28360 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28361
28362 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28363
28364 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28365
28366 Wait for user entry basing on presence of output rather than on errors.
28367
28368 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28369 (grub_install_newline_hook): Likewise.
28370 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28371 * normal/menu.c (show_menu): Check line_counter to determine presence
28372 of output.
28373 * normal/term.c (grub_normal_line_counter): New variable.
28374 (grub_normal_get_line_counter): New function.
28375 (grub_install_newline_hook): Likewise.
28376
28377 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28378
28379 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28380
28381 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 * configure.ac: Update version to 1.98.
28384
28385 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * util/grub.d/10_linux.in (linux_entry): Don't default to
28388 gfxpayload=keep if Linux doesn't support video handover.
28389
28390 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28391
28392 Don't compile video modules on yeeloong since video subsystem is part
28393 of kernel.
28394
28395 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28396 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28397 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28398 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28399 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28400 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28401 * include/grub/bitmap_scale.h: Likewise.
28402 * include/grub/bufio.h: Likewise.
28403 * include/grub/font.h: Likewise.
28404 * include/grub/gfxterm.h: Likewise.
28405 * include/grub/video.h: Likewise.
28406 * include/grub/vbe.h: Don't include video_fb.h.
28407 * video/i386/pc/vbe.c: Include video_fb.h.
28408 * commands/i386/pc/vbetest.c: Include video.h.
28409
28410 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28411
28412 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28413 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28414 default entry if GRUB_SAVEDEFAULT=true. This allows using
28415 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28416 saving a new default on every boot.
28417
28418 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28421 * normal/term.c (read_terminal_list): Likewise.
28422 * normal/main.c (grub_normal_init_page): Likewise.
28423 (grub_normal_read_line_real): Likewise.
28424
28425 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28426
28427 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28428 memory leak.
28429 Reported by: Seth Goldberg.
28430
28431 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28432
28433 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28434 duplicate declaration of `start'.
28435
28436 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28437
28438 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28439 filename.
28440 Reported by: Georgy Buranov
28441
28442 2010-02-20 Carles Pina i Estany <carles@pina.cat>
28443
28444 * util/grub-mkrawimage.c (usage): Change string formatting to
28445 improve gettext.
28446
28447 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28448
28449 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28450 backspace keys.
28451
28452 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28453
28454 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28455 Reported by: Michael Suchanek.
28456
28457 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
28458
28459 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28460 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28461
28462 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28463
28464 Remove any reference to non-free fonts.
28465
28466 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28467 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28468 uses non-free components.
28469 * font/font.c (grub_font_get_name): Remove example name.
28470 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28471 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28472 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28473 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28474
28475 2010-02-16 Georgy Buranov <gburanov@gmail.com>
28476
28477 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28478
28479 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28480
28481 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28482 Double divisor.
28483 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28484 features.
28485 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28486
28487 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28488
28489 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28490
28491 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28492
28493 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28494 * docs/grub.texi (Command-line and menu entry commands): Document play
28495 command.
28496
28497 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28498
28499 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28500 parse arguments as inline tempo and notes. Move code for playing notes
28501 to...
28502 (play): ... new function.
28503
28504 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28505
28506 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28507 grub_uint16_t instead of short.
28508 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28509 disk from little endian to cpu endianness.
28510
28511 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28512
28513 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28514 GRUB_TICKS_PER_SECOND instead of 120.
28515
28516 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28517
28518 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28519 escape sequence after \e.
28520
28521 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28524 non-ASCII characters.
28525
28526 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28527
28528 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28529 set root in single quotes to prevent \, from being unescaped.
28530
28531 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28532
28533 Prevent unknown commands from stopping menuentry execution.
28534
28535 * script/execute.c (grub_script_execute_cmdline): Print error after
28536 unknown command.
28537
28538 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28539
28540 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28541 Reported by: Pavel Pisa.
28542
28543 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28544
28545 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28546
28547 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28548
28549 Merge grub_ieee1275_map_physical into grub_map and rename to
28550 grub_ieee1275_map
28551
28552 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28553 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28554 Remove.
28555 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28556 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28557 necessary.
28558 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28559
28560 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28561
28562 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28563 opening and not after.
28564
28565 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28566
28567 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28568 constants.
28569
28570 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28573 (alloc_phys): Use ALIGN_UP instead of align_addr.
28574
28575 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28576
28577 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28578
28579 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28582
28583 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28584
28585 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28586 verbose dprintf.
28587
28588 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28589
28590 Fix over-4GiB seek on sparc64.
28591
28592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28593 Replace pos_i and pos_lo with pos. All users updated.
28594 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28595 New constant.
28596 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28597 Likewise.
28598 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28599 and pos_lo.
28600
28601 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28602
28603 * util/grub-mkrawimage.c (main): Call set_program_name.
28604
28605 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 Properly align 64-bit targets.
28608
28609 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28610 (generate_image): Use ALIGN_ADDR.
28611
28612 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28613
28614 Properly create cross-endian images.
28615
28616 * include/grub/types.h (grub_host_to_target_addr): New macro
28617 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28618
28619 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28620
28621 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28622
28623 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28624
28625 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28626
28627 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28628 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28629 (grub_linux_boot): Divide by 64K when on VESA.
28630
28631 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28632
28633 Support GRUB_GFXPAYLOAD_LINUX.
28634
28635 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28636 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28637
28638 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28639
28640 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28641 to show messages instead of discarding them.
28642 Process errors after executing command and not before. Keep old method
28643 too as precaution.
28644
28645 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 * configure.ac: Check for ft2build.h.
28648
28649 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28650
28651 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28652
28653 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28654
28655 * genkernsyms.sh.in: Use TARGET_CC.
28656
28657 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
28658
28659 * NEWS: Update.
28660
28661 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28662
28663 * include/grub/multiboot2.h: Remove leftover file.
28664 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28665 * include/grub/partition.h [GRUB_UTIL]: Likewise.
28666
28667 2010-02-07 Yves Blusseau <blusseau@zetam.org>
28668
28669 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
28670
28671 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28672
28673 Fix warnings in grub-emu when compiling with maximum warning options.
28674
28675 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28676 (grub_arch_modules_addr): Return 0 and not NULL.
28677 * util/misc.c (ENABLE_RELOCATABLE): New definition.
28678 (xstrdup): Use newstr instead of dup.
28679 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28680 of disk to dsk to avoid shadowing.
28681 (find_free_slot): Fix prototype.
28682 * util/getroot.c (grub_util_is_dmraid): Make static.
28683 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28684 Add missing prototype.
28685 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
28686
28687 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28688
28689 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28690 appropriately.
28691
28692 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28693
28694 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28695 code out.
28696
28697 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28698
28699 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28700 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28701 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28702 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28703 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28704 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28705
28706 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28707
28708 * include/grub/err.h (grub_err_printf): Don't export.
28709
28710 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28711
28712 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28713
28714 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28715
28716 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28717 * kern/misc.c (grub_gettext_dummy): Make static.
28718
28719 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28720
28721 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28722 by non-valid ones.
28723 * kern/term.c (grub_putchar): Likewise.
28724
28725 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28726
28727 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28728 buggy hook call and memory leak.
28729
28730 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28731
28732 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28733
28734 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28735
28736 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28737
28738 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28739
28740 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28741 modevar.
28742 Return grub_errno on allocation error.
28743
28744 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28747
28748 2010-02-06 Yves Blusseau <blusseau@zetam.org>
28749
28750 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28751 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28752
28753 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28756 non-pxe disk.
28757 (grub_pxefs_open): Likewise.
28758
28759 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28760
28761 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28762 * util/grub.d/10_kfreebsd.in: Likewise.
28763 * util/grub.d/10_linux.in: Likewise.
28764
28765 2010-02-06 Colin D Bennett <colin@gibibit.com>
28766
28767 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28768 (gfxmenu_mod_SOURCES): New variable.
28769 (gfxmenu_mod_CFLAGS): Likewise.
28770 (gfxmenu_mod_LDFLAGS): Likewise.
28771 * include/grub/term.h (grub_term_set_current_output): Declare
28772 argument as const.
28773 * docs/gfxmenu-theme-example.txt: New file.
28774 * gfxmenu/gfxmenu.c: Likewise.
28775 * gfxmenu/gui_box.c: Likewise.
28776 * gfxmenu/gui_canvas.c: Likewise.
28777 * gfxmenu/gui_circular_progress.c: Likewise.
28778 * gfxmenu/gui_image.c: Likewise.
28779 * gfxmenu/gui_label.c: Likewise.
28780 * gfxmenu/gui_list.c: Likewise.
28781 * gfxmenu/gui_progress_bar.c: Likewise.
28782 * gfxmenu/gui_string_util.c: Likewise.
28783 * gfxmenu/gui_util.c: Likewise.
28784 * gfxmenu/icon_manager.c: Likewise.
28785 * gfxmenu/model.c: Likewise.
28786 * gfxmenu/named_colors.c: Likewise.
28787 * gfxmenu/theme_loader.c: Likewise.
28788 * gfxmenu/view.c: Likewise.
28789 * gfxmenu/widget-box.c: Likewise.
28790 * include/grub/gfxmenu_model.h: Likewise.
28791 * include/grub/gfxmenu_view.h: Likewise.
28792 * include/grub/gfxwidgets.h: Likewise.
28793 * include/grub/gui.h: Likewise.
28794 * include/grub/gui_string_util.h: Likewise.
28795 * include/grub/icon_manager.h: Likewise.
28796
28797 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28798
28799 Agglomerate scrolling in gfxterm.
28800
28801 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28802 (grub_virtual_screen_setup): Initialise 'total_screen'.
28803 (write_char): Split to ...
28804 (paint_char): ... this ...
28805 (write_char): ... and this.
28806 (paint_char): Handle delayed scrolling.
28807 (draw_cursor): Likewise.
28808 (scroll_up): Split to ...
28809 (real_scroll): ... this ...
28810 (scroll_up): ... and this.
28811 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28812 characters.
28813 (grub_gfxterm_refresh): Call real_scroll.
28814
28815 2010-02-06 Colin D Bennett <colin@gibibit.com>
28816
28817 * include/grub/misc.h (grub_iscntrl): New inline function.
28818 (grub_isalnum): Likewise.
28819 (grub_strtol): Likewise.
28820
28821 2010-02-06 Colin D Bennett <colin@gibibit.com>
28822
28823 * normal/menu_text.c (get_entry_number): Move from here ...
28824 * normal/menu.c (get_entry_number): ... moved here.
28825 * include/grub/menu.h (grub_menu_get_default_entry_index):
28826 New prototype.
28827 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28828 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28829 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28830 (grub_menu_viewer_should_return): Likewise.
28831 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28832 * normal/menu_text.c (run_menu): Enable menu switching.
28833 * normal/menu_viewer.c (should_return): New variable.
28834 (menu_viewer_changed): Likewise.
28835 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28836 (grub_menu_viewer_should_return): New function.
28837 (menuviewer_write_hook): Likewise.
28838 (grub_menu_viewer_init): Likewise.
28839
28840 2010-02-06 Colin D Bennet <colin@gibibit.com>
28841 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28842
28843 Support for gfxterm in a window.
28844
28845 * include/grub/gfxterm.h: New file.
28846 * include/grub/video.h (struct grub_video_rect): New declaration.
28847 (grub_video_rect_t): Likewise.
28848 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28849 (refcount): New variable.
28850 (render_target): Likewise.
28851 (window): Likewise.
28852 (repaint_callback): Likewise.
28853 (grub_virtual_screen_setup): Use 'render_target'.
28854 (init_window): New function.
28855 (grub_gfxterm_init_window): Likewise.
28856 (grub_gfxterm_init): Check reference counter.
28857 Use init_window.
28858 (destroy_window): New function.
28859 (grub_gfxterm_destroy_window): Likewise.
28860 (grub_gfxterm_fini): Check reference counter.
28861 Use destroy_window.
28862 (redraw_screen_rect): Restore viewport.
28863 Use 'render_target' and 'window'.
28864 Call 'repaint_callback'.
28865 (write_char): Use 'render_target'.
28866 (draw_cursor): Likewise.
28867 (scroll_up): Restore viewport.
28868 Use 'render_target' and 'window'.
28869 Call 'repaint_callback'.
28870 (grub_gfxterm_cls): Likewise.
28871 (grub_gfxterm_refresh): Use 'window'.
28872 (grub_gfxterm_set_repaint_callback): New function.
28873 (grub_gfxterm_background_image_cmd): Use 'window'.
28874 (grub_gfxterm_get_term): New function.
28875 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28876
28877 2010-02-06 Colin D Bennett <colin@gibibit.com>
28878
28879 Bitmap scaling support.
28880
28881 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28882 (bitmap_scale_mod_SOURCES): New variable.
28883 (bitmap_scale_mod_CFLAGS): Likewise.
28884 (bitmap_scale_mod_LDFLAGS): Likewise.
28885 * include/grub/bitmap_scale.h: New file.
28886 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28887 (background_image_cmd_options): New variable.
28888 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28889 (cmd): Rename and change type to ...
28890 (background_image_cmd_handle): ... this. All users updated.
28891 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28892 * video/bitmap_scale.c: New file.
28893
28894 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 SDL support.
28897
28898 * Makefile.in (LIBSDL): New variable.
28899 (enable_grub_emu_sdl): Likewise.
28900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28901 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28902 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28903 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28904 * util/sdl.c: New file.
28905
28906 2010-02-06 Colin D Bennett <colin@gibibit.com>
28907 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28908
28909 Double buffering support.
28910
28911 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28912 * include/grub/video.h: Update comment.
28913 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28914 New type.
28915 (grub_video_fb_doublebuf_blit_init): New prototype.
28916 * term/gfxterm.c (scroll_up): Support double buffering.
28917 (grub_gfxterm_refresh): Likewise.
28918 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28919 (grub_video_fb_doublebuf_blit_init): Likewise.
28920 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28921 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28922 'displayed_page', 'render_page' and 'update_screen'.
28923 (grub_video_vbe_fini): Free offscreen buffer.
28924 (doublebuf_pageflipping_commit): New function.
28925 (doublebuf_pageflipping_update_screen): Likewise.
28926 (doublebuf_pageflipping_init): Likewise.
28927 (double_buffering_init): Likewise.
28928 (grub_video_vbe_setup): Enable doublebuffering.
28929 (grub_video_vbe_swap_buffers): Implement.
28930 (grub_video_vbe_set_active_render_target): Handle double buffering.
28931 (grub_video_vbe_get_active_render_target): Likewise.
28932 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28933 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28934 (grub_video_vbe_enable_double_buffering): Likewise.
28935 (grub_video_vbe_swap_buffers): Use update_screen.
28936 (grub_video_set_mode): Use double buffering.
28937
28938 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28939
28940 * maintainance/gentrigtables.py: Remove.
28941 * lib/trig.c: Likewise.
28942
28943 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28944
28945 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28946 `trigtables.c'.
28947 (trigtables.c): New rule.
28948 (gentrigtables): Likewise.
28949 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28950
28951 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28954 integer constants.
28955
28956 2010-02-06 Colin D Bennet <colin@gibibit.com>
28957
28958 Trigonometry support.
28959
28960 * include/grub/trig.h: New file.
28961 * lib/trig.c: Likewise.
28962 * maintainance/gentrigtables.py: Likewise.
28963 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28964 (trig_mod_SOURCES): New variable.
28965 (trig_mod_CFLAGS): Likewise.
28966 (trig_mod_LDFLAGS): Likewise.
28967
28968 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28969
28970 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28971 disk devices.
28972
28973 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28976 error.
28977
28978 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * util/hostdisk.c (open_device): Don't use partition device when reading
28981 before the partition.
28982 (grub_util_biosdisk_read): Don't read from partition and before the
28983 partition in single operation.
28984 (grub_util_biosdisk_write): Don't write to partition and before the
28985 partition in single operation.
28986
28987 2010-02-03 Torsten Landschoff <torsten@debian.org>
28988
28989 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28990 last sectors.
28991
28992 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28993
28994 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28995 CDROM reads.
28996 (grub_biosdisk_write): Refuse to write to CDROM.
28997
28998 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28999
29000 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29001
29002 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29003
29004 * font/font.c (find_glyph): Check that bmp_idx is available before
29005 using it.
29006 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29007 with (font == NULL).
29008
29009 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
29010
29011 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29012
29013 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29014
29015 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29016 * util/grub-script-check.c (getline): Fix empty lines case.
29017
29018 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29019
29020 * Makefile.in (check): Exit with fail status when one of the tests
29021 fails.
29022 * tests/example_functional_test.c (example_test): Fix reversed assert.
29023 * tests/example_unit_test.c (example_test): Likewise.
29024
29025 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
29026
29027 * util/grub.d/10_linux.in: This script does not use any of the
29028 contents of gettext.sh, only the external command `gettext', so stop
29029 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29030 the same prefix as GRUB.)
29031 * util/grub.d/10_kfreebsd.in: Likewise.
29032
29033 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29036 of the line.
29037
29038 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29041 last sectors.
29042
29043 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29046 having a 4KiB and not 32KiB buffer size.
29047
29048 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29049
29050 * util/hostfs.c: Include `<errno.h>'.
29051 (grub_hostfs_read): Handle errors from fseeko() and fread().
29052
29053 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29054
29055 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29056 loop when using read hooks on files whose size isn't sector-aligned.
29057
29058 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29059
29060 Remove unused parameter.
29061
29062 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29063 (grub_iso9660_open): Remove initialization of `data->length'.
29064
29065 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29066
29067 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29068 memleak conditions.
29069
29070 2010-01-27 Carles Pina i Estany <carles@pina.cat>
29071
29072 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29073 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29074
29075 2010-01-26 Carles Pina i Estany <carles@pina.cat>
29076
29077 * util/bin2h.c (usage): Fix warning (space after backslash).
29078
29079 2010-01-26 Carles Pina i Estany <carles@pina.cat>
29080
29081 * font/font.c: Include `grub/fontformat.h.
29082 Remove font file format constants.
29083 (grub_font_load): Use the new macros.
29084 * include/grub/fontformat.h: New file.
29085 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29086 (write_font_pf2): Use the new macros.
29087
29088 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29089
29090 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29091 does.
29092
29093 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29094
29095 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29096
29097 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29098 (_start): Macroify `0x7F'.
29099
29100 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29101 (make_install_device): Use "(pxe)" as fallback prefix when booting
29102 via PXE.
29103
29104 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29105
29106 * configure.ac: Reset LIBS after check for libgcc symbols.
29107
29108 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
29109
29110 * util/hostdisk.c (open_device): Add trailing newline to debug
29111 message.
29112
29113 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29114
29115 * configure.ac: Check for `limits.h'.
29116 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29117
29118 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29119
29120 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29121 capitalize error strings.
29122
29123 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29124
29125 * util/grub.d/10_hurd.in: Add a recovery mode.
29126
29127 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29128
29129 * configure.ac: Check for libgcc symbols with -nostdlib.
29130
29131 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29132
29133 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29134
29135 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29138 stack since heap may be unavailable at that point.
29139 (grub_ofconsole_gotoxy): Likewise.
29140
29141 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29142
29143 * configure.ac: Check for _restgpr_14_x.
29144 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29145 and _savegpr_* prototypes.
29146
29147 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29148
29149 Use generic grub_reboot() for i386-efi.
29150
29151 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29152 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29153 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29154
29155 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29156
29157 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29158 presence of "prefix" variable as it breaks when normal.mod is
29159 embedded.
29160
29161 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29164 stack since heap is unavailable at that point.
29165
29166 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29169 (grub_freebsd_bootinfo): Rewritten.
29170 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29171
29172 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29173
29174 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29175
29176 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29177
29178 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29179 domain now.
29180
29181 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
29182
29183 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29184 around for handling "/" to the correct fix. Fix a memory leak. Use
29185 xstrdup instead of strdup.
29186
29187 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29188
29189 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29190
29191 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29194
29195 * font/font.c (struct grub_font): New member 'bmp_idx'.
29196 (font_init): Initialise 'bmp_idx'.
29197 (load_font_index): Fill 'bmp_idx'.
29198 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29199
29200 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29203 unnecessary calls.
29204
29205 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29206
29207 Move context handling out of the kernel.
29208
29209 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29210 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29211 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29212 * conf/i386-efi.rmk: Likewise.
29213 * conf/i386-ieee1275.rmk: Likewise.
29214 * conf/i386-pc.rmk: Likewise.
29215 * conf/powerpc-ieee1275.rmk: Likewise.
29216 * conf/sparc64-ieee1275.rmk: Likewise.
29217 * conf/x86_64-efi.rmk: Likewise.
29218 * include/grub/env.h: Include grub/menu.h.
29219 (grub_env_var_type): Removed.
29220 (grub_env_var): Replaced field 'type' with 'global'.
29221 (grub_env_find): New prototype.
29222 (grub_env_context_open): Remove EXPORT_FUNC.
29223 (grub_env_context_close): Likewise.
29224 (grub_env_export): Likewise.
29225 (grub_env_set_data_slot): Removed.
29226 (grub_env_get_data_slot): Likewise.
29227 (grub_env_unset_data_slot): Likewise.
29228 (grub_env_unset_menu): New prototype.
29229 (grub_env_set_menu): Likewise.
29230 (grub_env_get_menu): Likewise.
29231 * include/grub/env_private.h: New file.
29232 * include/grub/normal.h (grub_context_init): New prototype.
29233 (grub_context_fini): Likewise.
29234 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29235 * normal/context.c (grub_cmd_export): ... to here.
29236 * kern/env.c: Include env_private.h.
29237 (HASHSZ): Moved to include/grub/env_private.h.
29238 (grub_env_context): Likewise.
29239 (grub_env_sorted_var): Likewise.
29240 (current_context): Renamed from this ...
29241 (grub_current_context): ...to this. 'static' removed. All users updated.
29242 (grub_env_find): Removed 'static'.
29243 (grub_env_context_open): Moved to normal/context.c.
29244 (grub_env_context_close): Likewise.
29245 (grub_env_export): Likewise.
29246 (mangle_data_slot_name): Removed.
29247 (grub_env_set_data_slot): Likewise.
29248 (grub_env_get_data_slot): Likewise.
29249 (grub_env_unset_data_slot): Likewise.
29250 * kern/main.c (grub_set_root_dev): Don't export root.
29251 It will be done later.
29252 (grub_main): Don't export prefix.
29253 It will be done later.
29254 * normal/context.c: New file.
29255 * normal/main.c (free_menu): Use grub_env_unset_menu.
29256 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29257 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29258 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29259 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29260
29261 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 setpci support.
29264
29265 * commands/setpci.c: New file.
29266 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29267 (setpci_mod_SOURCES): New variable.
29268 (setpci_mod_CFLAGS): Likewise.
29269 (setpci_mod_LDFLAGS): Likewise.
29270
29271 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29272
29273 Byte-addressable PCI configuration space.
29274
29275 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29276 dword address.
29277 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29278 GRUB_PCI_REG_CACHELINE.
29279 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29280 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29281 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29282 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29283 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29284 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29285 grub_pci_make_address.
29286 (lock_rom_area): Likewise.
29287 * commands/lspci.c (grub_lspci_iter): Use macroses
29288 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29289 of grub_pci_make_address.
29290 * disk/ata.c (grub_ata_pciinit): Likewise.
29291 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29292 (GRUB_PCI_REG_VENDOR): Likewise.
29293 (GRUB_PCI_REG_DEVICE): Likewise.
29294 (GRUB_PCI_REG_COMMAND): Likewise.
29295 (GRUB_PCI_REG_STATUS): Likewise.
29296 (GRUB_PCI_REG_REVISION): Likewise.
29297 (GRUB_PCI_REG_CLASS): Likewise.
29298 (GRUB_PCI_REG_CACHELINE): Likewise.
29299 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29300 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29301 (GRUB_PCI_REG_BIST): Likewise.
29302 (GRUB_PCI_REG_ADDRESSES): Likewise.
29303 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29304 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29305 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29306 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29307 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29309 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29310 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29311 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29312 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29313 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29314 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29315 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29316 (GRUB_PCI_REG_MIN_GNT): Likewise.
29317 (GRUB_PCI_REG_MAX_LAT): Likewise.
29318 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29319 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29320 * video/efi_uga.c (find_framebuf): Likewise.
29321 * video/sm712.c (grub_video_sm712_setup): Likewise.
29322 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29323 space.
29324
29325 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29326
29327 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29328 can be reliably determined to be supported.
29329
29330 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29331
29332 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29333 that VESA is supported.
29334 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29335 supported.
29336
29337 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29338
29339 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29340
29341 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29342
29343 * util/misc.c (make_system_path_relative_to_its_root): Work around
29344 special-casing of "/", as previous incarnation of this routine did.
29345
29346 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29347
29348 Fix any-emu compilation.
29349
29350 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29351 * grub_bin2h_SOURCES: New variable.
29352
29353 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29354
29355 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29356
29357 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29358
29359 * util/grub.d/00_header.in: Fix handling of locale_dir.
29360
29361 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29364 as possible unifont location (Gentoo).
29365 Reported by: Alexander Brüning
29366
29367 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29368
29369 Don't try to generate lists for kernel.img.
29370
29371 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29372 (pkglib_MODULES): Remove kernel.img.
29373 (kernel_img_EXPORTS): Removed.
29374 (kernel_img_RELOCATABLE): New variable.
29375 * conf/x86_64-efi.rmk: Likewise.
29376 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29377
29378 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29379
29380 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29381 grub_xasprintf or grub_snprintf.
29382 (grub_vsprintf): Likewise.
29383 (grub_snprintf): New proto.
29384 (grub_vsnprintf): Likewise.
29385 (grub_xasprintf): Likewise.
29386 (grub_xvasprintf): Likewise.
29387 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29388 (grub_sprintf): Removed.
29389 (grub_vsnprintf): New function.
29390 (grub_snprintf): Likewise.
29391 (grub_xvasprintf): Likewise.
29392 (grub_xasprintf): Likewise.
29393 (grub_vsprintf): Renamed to ...
29394 (grub_vsnprintf_real): ...this. New argument max_len.
29395
29396 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29397
29398 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29399 fix grub-script-check warning.
29400
29401 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29402
29403 * include/grub/font.h (grub_font_load): Fix prototype.
29404
29405 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29406
29407 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29408
29409 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29410
29411 * include/grub/x86_64/at_keyboard.h: New file.
29412
29413 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29414
29415 * loader/mips/linux.c: Include missing grub/i18n.h.
29416
29417 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29418
29419 * normal/menu.c (notify_execution_failure): Clarify error message.
29420
29421 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29424 return value (and revert all return statements). Update users.
29425
29426 2010-01-20 Dan Merillat <debian@dan.merillat.org>
29427
29428 * kern/device.c (grub_device_iterate): Allocate new part_ent
29429 structure based on sizeof (*p) rather than sizeof (p->next), to
29430 account for structure padding.
29431
29432 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29433 disk is NULL, which might happen for LVM physical volumes with no
29434 LVM signature.
29435
29436 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 * loader/mips/linux.c (grub_cmd_initrd)
29439 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29440
29441 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29442
29443 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29444 (grub_video_video_init, grub_video_bitmap_init)
29445 (grub_font_manager_init, grub_term_gfxterm_init)
29446 (grub_at_keyboard_init): New extern declarations.
29447 (grub_machine_init): Initialize gfxterm and at_keyboard.
29448
29449 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29450
29451 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29452 `gfxterm.mod' into core image.
29453
29454 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29455 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29456 (kernel_img_FORMAT): Copy to ...
29457
29458 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29459 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29460 (kernel_img_FORMAT): ... here, and ...
29461
29462 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29463 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29464 (kernel_img_FORMAT): ... here.
29465
29466 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29467 and input (at_keyboard) terminals in kernel.
29468 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29469
29470 (pkglib_MODULES): Remove `pci.mod'.
29471 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29472 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29473 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29474 (at_keyboard_mod_LDFLAGS): Remove variables.
29475
29476 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
29477
29478 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29479
29480 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * include/grub/mips/libgcc.h: Only export symbols for functions
29483 that libgcc provides.
29484
29485 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29486
29487 MIPS support.
29488
29489 * bus/bonito.c: New file.
29490 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29491 GRUB_PCI_NUM_DEVICES.
29492 * term/i386/pc/serial.c: Move to ...
29493 * term/serial.c: ... here. All users updated.
29494 * util/i386/pc/grub-mkimage.c: Move to ...
29495 * util/grub-mkrawimage.c: ... here. All users updated.
29496 * term/i386/pc/at_keyboard.c: Move to ...
29497 * term/at_keyboard.c: ... here. All users updated.
29498 * conf/mips-qemu-mips.rmk: New file.
29499 * conf/mips-yeeloong.rmk: Likewise.
29500 * conf/mips.rmk: Likewise.
29501 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29502 mipsel-qemu-mips.
29503 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29504 to port addresses.
29505 (grub_ata_pciinit): Support CS5536.
29506 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29507 * font/font_cmd.c (loadfont_command): Open file before passing it to
29508 grub_font_load.
29509 (pseudo_file_read): New function.
29510 (pseudo_file_close): Likewise.
29511 (pseudo_fs): New structure.
29512 (load_font_module): New function.
29513 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29514 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29515 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29516 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29517 * include/grub/i386/at_keyboard.h: Split into ...
29518 * include/grub/at_keyboard.h: ... this ...
29519 * include/grub/i386/at_keyboard.h: ... and this.
29520 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29521 New prototype.
29522 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29523 updated.
29524 (grub_elf64_size): Likewise.
29525 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29526 filename.
29527 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29528 * include/grub/i386/coreboot/serial.h: Rewritten.
29529 * include/grub/i386/ieee1275/serial.h: Include
29530 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29531 * include/grub/i386/pc/serial.h: Moved from here ...
29532 * include/grub/serial.h: ... to here. All users updated.
29533 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29534 (GRUB_PCI_NUM_BUS): Likewise.
29535 (GRUB_PCI_NUM_DEVICES): Likewise.
29536 (grub_pci_device_map_range): Add missing volatile keyword.
29537 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29538 * include/grub/mips/at_keyboard.h: New file.
29539 * include/grub/mips/cache.h: Likewise.
29540 * include/grub/mips/io.h: Likewise.
29541 * include/grub/mips/kernel.h: Likewise.
29542 * include/grub/mips/libgcc.h: Likewise.
29543 * include/grub/mips/pci.h: Likewise.
29544 * include/grub/mips/qemu-mips/boot.h: Likewise.
29545 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29546 * include/grub/mips/qemu-mips/loader.h: Likewise.
29547 * include/grub/mips/qemu-mips/memory.h: Likewise.
29548 * include/grub/mips/qemu-mips/serial.h: Likewise.
29549 * include/grub/mips/qemu-mips/time.h: Likewise.
29550 * include/grub/mips/relocator.h: Likewise.
29551 * include/grub/mips/time.h: Likewise.
29552 * include/grub/mips/types.h: Likewise.
29553 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29554 * include/grub/mips/yeeloong/boot.h: Likewise.
29555 * include/grub/mips/yeeloong/kernel.h: Likewise.
29556 * include/grub/mips/yeeloong/loader.h: Likewise.
29557 * include/grub/mips/yeeloong/memory.h: Likewise.
29558 * include/grub/mips/yeeloong/pci.h: Likewise.
29559 * include/grub/mips/yeeloong/serial.h: Likewise.
29560 * include/grub/mips/yeeloong/time.h: Likewise.
29561 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29562 * kern/elf.c (grub_elf32_size): New parameter. All users
29563 updated.
29564 (grub_elf64_size): Likewise.
29565 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29566 Load modules before saying "Welcome to GRUB!".
29567 Call grub_refresh after saying "Welcome to GRUB!".
29568 * kern/mips/cache.S: New file.
29569 * kern/mips/cache_flush.S: Likewise.
29570 * kern/mips/dl.c: Likewise.
29571 * kern/mips/init.c: Likewise.
29572 * kern/mips/qemu-mips/init.c: Likewise.
29573 * kern/mips/startup.S: Likewise.
29574 * kern/mips/yeeloong/init.c: Likewise.
29575 * kern/term.c (grub_putcode): Handle NULL terminal.
29576 (grub_getcharwidth): Likewise.
29577 (grub_getkey): Likewise.
29578 (grub_checkkey): Likewise.
29579 (grub_getkeystatus): Likewise.
29580 (grub_getxy): Likewise.
29581 (grub_getwh): Likewise.
29582 (grub_gotoxy): Likewise.
29583 (grub_cls): Likewise.
29584 (grub_setcolorstate): Likewise.
29585 (grub_setcolor): Likewise.
29586 (grub_getcolor): Likewise.
29587 (grub_refresh): Likewise.
29588 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29589 (write_jump): Add hatch nop.
29590 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29591 * lib/mips/setjmp.S: New file.
29592 * loader/mips/linux.c: Likewise.
29593 * term/i386/pc/at_keyboard.c: Move from here ...
29594 * term/at_keyboard.c: ... to here.
29595 * term/i386/pc/serial.c: Moved from here ...
29596 * term/serial.c: ... to here. All users updated.
29597 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29598 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29599 (serial_translate_key_sequence): Avoid deadlock.
29600 (grub_serial_getkey): Handle backspace.
29601 (grub_serial_putchar): Fix newline handling.
29602 * util/i386/pc/grub-mkimage.c: Move from here ...
29603 * util/grub-mkrawimage.c: ... to here. All users updated.
29604 (generate_image): New parameters 'font_path' and 'format'.
29605 Support embedding font.
29606 Use grub_host_to_target* instead of grub_cpu_to_le*.
29607 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29608 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29609 (options): New option "--font".
29610 (usage): Likewise.
29611 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29612 (main): Handle "--font".
29613 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29614 (grub_virtual_screen_setup): Set bg_color_display.
29615 (redraw_screen_rect): Use bg_color_display instead of incorrect
29616 bg_color.
29617 (grub_gfxterm_cls): Likewise.
29618 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29619 Support embedding config file.
29620 (add_segments): Likewise.
29621 (options): New option "--config".
29622 (main): Handle "--config".
29623 * video/sm712.c: New file.
29624
29625 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29626
29627 Fix parallel builds.
29628
29629 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29630 font.c depend on ascii.h).
29631
29632 2010-01-12 Carles Pina i Estany <carles@pina.cat>
29633
29634 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29635
29636 2010-01-11 Carles Pina i Estany <carles@pina.cat>
29637
29638 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29639 By default: disabled.
29640 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29641 parameter.
29642
29643 2010-01-10 Carles Pina i Estany <carles@pina.cat>
29644
29645 * font/font.c: Update copyright years.
29646 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29647
29648 2010-01-10 Carles Pina i Estany <carles@pina.cat>
29649
29650 * font/font.c: Include `ascii.h'.
29651 (ASCII_BITMAP_SIZE): New macro.
29652 (ascii_font_glyph): Define.
29653 (ascii_glyph_lookup): New function.
29654 (grub_font_get_string_width): Change comment. If glyph not found, use
29655 ascii_glyph_lookup.
29656 (grub_font_get_glyph_with_fallback): If glyph not available returns
29657 ascii_glyph_lookup.
29658 * util/grub-mkfont.c (file_formats): New enum.
29659 (options): Add `ascii-bitmaps' new option.
29660 (usage): Add `asii-bitmaps' new option.
29661 (write_font_ascii_bitmap): New function.
29662 (write_font): Rename to ...
29663 (write_font_p2): ... this. Remove print_glyphs call.
29664 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29665 used. Call print_glyphs.
29666 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29667
29668 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29669
29670 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29671 (grub_bin2h_SOURCES): New variable.
29672 * util/bin2h.c: New file.
29673
29674 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29675
29676 * include/multiboot.h: Resynced with spec.
29677 * include/multiboot2.h: Likewise.
29678 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29679 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29680
29681 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29682
29683 * include/grub/term.h (grub_term_register_input,
29684 grub_term_register_output): Check return of terminal init()
29685 routines, and abort if errors are raised.
29686
29687 * commands/terminal.c: Update copyright year.
29688
29689 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29690
29691 * commands/terminal.c (grub_cmd_terminal_input)
29692 (grub_cmd_terminal_output): Check return of terminal init()
29693 routines, and abort if errors are raised.
29694
29695 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29696
29697 * include/grub/i386/bsd.h: Fix include pathes.
29698
29699 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 Add missing *BSD copyright headers.
29702
29703 * include/grub/aout.h: Add BSD licence.
29704 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29705 * include/grub/i386/freebsd_linker.h: ... here,
29706 * include/grub/i386/freebsd_reboot.h: ... here,
29707 * include/grub/i386/netbsd_bootinfo.h: ... here,
29708 * include/grub/i386/netbsd_reboot.h: ... here,
29709 * include/grub/i386/openbsd_bootarg.h: ... here,
29710 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29711 licence to each file.
29712
29713 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29714
29715 * acinclude.m4: Remove `nop' assembly instruction; it's not
29716 implemented by all architectures.
29717
29718 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29719
29720 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29721 ELILO. This is no longer necessary.
29722
29723 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29724
29725 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29726
29727 * util/grub-script-check.c: grub-script-check tool.
29728 * conf/common.rmk: Make rules for grub-script-check.
29729
29730 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29731
29732 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29733 spotting it back in 2008. Shame on me for forgetting he did.
29734
29735 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29736
29737 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29738
29739 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29740 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29741 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29742 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29743 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29744 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29745
29746 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 * include/grub/test.h: Add license header.
29749 * tests/example_functional_test.c: Likewise.
29750 * tests/example_unit_test.c: Likewise.
29751 * tests/lib/functional_test.c: Likewise.
29752 * tests/lib/test.c: Likewise.
29753 * tests/lib/unit_test.c: Likewise.
29754
29755 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 Use flag-based instead of hook-based video mode selection and "auto"
29758 keyword.
29759
29760 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29761 (grub_video_set_mode): Changed prototype. All users updated.
29762 (grub_video_check_mode_flag): New inline function.
29763 * video/video.c (parse_modespec): New function.
29764 (grub_video_set_mode): Parse flags and keywords.
29765
29766 2010-01-17 Carles Pina i Estany <carles@pina.cat>
29767
29768 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29769 fprintf call.
29770
29771 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29772
29773 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29774
29775 2010-01-16 Carles Pina i Estany <carles@pina.cat>
29776
29777 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29778 string.
29779 * util/grub-emu.c (usage): Likewise.
29780 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29781 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29782 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29783 * util/i386/pc/grub-setup.c (usage): Likewise.
29784
29785 2010-01-16 Carles Pina i Estany <carles@pina.cat>
29786
29787 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29788 the message.
29789 (grub_util_info): Likewise.
29790 (grub_util_error): Likewise.
29791 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29792 and/or new lines in `grub_util_warna', `grub_util_info',
29793 `grub_util_error' calls.
29794 * util/getroot.c: Likewise.
29795 * util/grub-editenv.c: Likewise.
29796 * util/grub-emu.c: Likewise.
29797 * util/grub-fstest.c: Likewise.
29798 * util/grub-mkdevicemap.c: Likewise.
29799 * util/grub-mkfont.c: Likewise.
29800 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29801 * util/grub-mkrelpath.c: Likewise.
29802 * util/grub-pe2elf.c: Likewise.
29803 * util/grub-probe.c: Likewise.
29804 * util/hostdisk.c: Likewise.
29805 * util/i386/efi/grub-mkimage.c: Likewise.
29806 * util/i386/pc/grub-mkimage.c: Likewise.
29807 * util/i386/pc/grub-setup.c: Likewise.
29808 * util/ieee1275/ofpath.c: Likewise.
29809 * util/mkisofs/eltorito.c: Likewise.
29810 * util/mkisofs/rock.c: Likewise.
29811 * util/mkisofs/write.c: Likewise.
29812 * util/raid.c: Likewise.
29813 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29814 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29815
29816 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29817
29818 Enable multiboot on non-pc.
29819
29820 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29821 multiboot.mod and multiboot2.mod to ...
29822 * conf/i386.rmk (pkglib_MODULES): ... here.
29823 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29824 Moved to ...
29825 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29826 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29827 Moved to ...
29828 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29829 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29830 Moved to ...
29831 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29832 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29833 Moved to ...
29834 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29835 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29836 relocator.mod.
29837 (ata_mod_SOURCES): Removed.
29838 (ata_mod_CFLAGS): Likewise.
29839 (ata_mod_LDFLAGS): Likewise.
29840 (relocator_mod_SOURCES): Removed.
29841 (relocator_mod_CFLAGS): Likewise.
29842 (relocator_mod_ASFLAGS): Likewise.
29843 (relocator_mod_LDFLAGS): Likewise.
29844 Include i386.mk.
29845 * include/grub/x86_64/multiboot.h: New file.
29846 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29847 Terminate EFI.
29848
29849 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29850
29851 Video multiboot support.
29852
29853 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29854 New prototype.
29855 * include/multiboot.h: Resynced with multiboot specification.
29856 * include/multiboot2.h: Likewise.
29857 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29858 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29859 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29860 (HAS_VGA_TEXT): Likewise.
29861 (accepts_video): New variable.
29862 (grub_multiboot_set_accepts_video): New function.
29863 (grub_multiboot_get_mbi_size): Account for video structures.
29864 (set_video_mode): New function.
29865 (retrieve_video_parameters): Likewise.
29866 (grub_multiboot_make_mbi): Fill video fields.
29867
29868 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29869
29870 Video driver ids.
29871
29872 * include/grub/video.h (grub_video_driver_id): New type.
29873 (grub_video_adapter): New member 'id'. All users updated.
29874 (grub_video_get_driver_id): New proto.
29875 * video/video.c (grub_video_get_driver_id): New function.
29876
29877 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29878
29879 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29880 `var=val'.
29881
29882 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29883
29884 * normal/cmdline.c (print_completion): Gettextizze.
29885
29886 2001-01-14 Carles Pina i Estany <carles@pina.cat>
29887
29888 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29889
29890 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29891
29892 * gettext/gettext.c (grub_gettext_translate): Push and pop
29893 grub_errno.
29894 (grub_gettext_delete_list): Change comment style.
29895 * kern/err.c (grub_error): Gettextizze.
29896 (grub_fatal): Gettextizze.
29897
29898 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29899
29900 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29901 (grub_linux16_real_boot): ... this.
29902 * kern/i386/loader.S: Likewise.
29903 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29904 (grub_linux16_boot): New function. Switches to text mode and calls
29905 grub_linux16_real_boot().
29906
29907 * loader/i386/bsd.c: Include `<grub/video.h>'.
29908 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29909 text mode before calling grub_unix_real_boot().
29910
29911 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29912 (grub_multiboot_boot): Switch to text mode before calling
29913 grub_relocator32_boot().
29914
29915 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29916 (grub_chainloader_boot): Switch to text mode before calling
29917 grub_chainloader_real_boot().
29918
29919 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29920 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29921
29922 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29923 non-empty value.
29924
29925 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29926 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29927
29928 * util/grub.d/00_header.in: Define a "savedefault" function for use
29929 in menu entries.
29930 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29931
29932 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29933 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29934
29935 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29936 saved_entry if boot_once is unset.
29937 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29938 previous saved entry (i.e. grub-reboot).
29939
29940 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29941
29942 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29943
29944 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29945
29946 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29947 `var=val'.
29948 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29949
29950 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29951
29952 * util/grub-reboot.in: Fix --version output.
29953 * util/grub-set-default.in: Likewise.
29954
29955 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29956
29957 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29958 blocks.
29959
29960 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29961
29962 * util/grub.d/00_header.in: Quote the value assigned to `default',
29963 in case it contains spaces.
29964
29965 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29966
29967 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29968 `save_default_entry' call from the macosx case to the linux case.
29969
29970 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
29971 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
29972
29973 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29974 in `chosen' environment variable.
29975 * normal/menu_text.c (get_entry_number): Check if the variable
29976 matches the title of a menu entry.
29977 (run_menu): Pass menu to get_entry_number.
29978
29979 * util/grub-reboot.in: New file.
29980 * util/grub-set-default.in: New file.
29981 * conf/common.rmk (grub-reboot): New utility.
29982 (grub-set-default): New utility.
29983
29984 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29985 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29986 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29987 move it to `saved_entry' for the next boot. Load environment on
29988 initialisation.
29989 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29990 * util/grub.d/10_hurd.in: Likewise.
29991 * util/grub.d/10_linux.in (linux_entry): Likewise.
29992 * util/grub.d/10_windows.in: Likewise.
29993 * util/grub.d/30_os-prober.in: Likewise.
29994
29995 * util/grub-install.in: Create environment block.
29996 * util/i386/efi/grub-install.in: Likewise.
29997 * util/ieee1275/grub-install.in: Likewise.
29998 * util/sparc64/ieee1275/grub-install.in: Likewise.
29999
30000 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30001
30002 Unit testing framework for GRUB.
30003
30004 * Makefile.in: Test framework build rules for 'make check'.
30005 * conf/tests.rmk: Build rules for individual tests and framework.
30006
30007 * include/grub/test.h: Header file for whitebox tests.
30008 * tests/lib/functional_test.c: Framework support for whitebox
30009 functional tests.
30010 * tests/lib/test.c: Common whitebox testing code for unit and
30011 functional tests.
30012 * tests/lib/unit_test.c: Framework support for whitebox unit
30013 tests.
30014
30015 * tests/util/grub-shell-tester.in: Support utility for grub-script
30016 tests.
30017 * tests/util/grub-shell.in: Utility to execute grub-script
30018 commands in a Qemu instance.
30019
30020 * tests/example_functional_test.c: Example whitebox functional
30021 test.
30022 * tests/example_grub_script_test.in: Example grub-script test.
30023 * tests/example_scripted_test.in: Example scripted test.
30024 * tests/example_unit_test.c: Example whitebox unit test.
30025
30026 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30027
30028 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30029 Add loader/i386/multiboot_mbi.c.
30030 (multiboot2_mod_SOURCES): Likewise.
30031 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30032 (multiboot2_mod_SOURCES): Likewise.
30033 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30034 (grub_multiboot_make_mbi): Likewise.
30035 (grub_multiboot_free_mbi): Likewise.
30036 (grub_multiboot_init_mbi): Likewise.
30037 (grub_multiboot_add_module): Likewise.
30038 (grub_multiboot_set_bootdev): Likewise.
30039 * loader/i386/multiboot.c (mbi): Removed.
30040 (mbi_dest): Likewise.
30041 (alloc_mbi): New variable.
30042 (grub_multiboot_payload_size): Removed. All users updated.
30043 (grub_multiboot_pure_size): New variable.
30044 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30045 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30046 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30047 (grub_fill_multiboot_mmap): Likewise.
30048 (grub_multiboot_get_bootdev): Likewise.
30049 (grub_multiboot): Use multiboot_mbi functions.
30050 * loader/i386/multiboot_mbi.c: New file.
30051
30052 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30053
30054 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30055 it would result in module crash.
30056
30057 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30060 (grub_ofconsole_getwh): Split to ...
30061 (grub_ofconsole_getwh): ... this.
30062 (grub_ofconsole_dimensions): ...and this.
30063 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30064
30065 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30066
30067 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30068
30069 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30070
30071 * loader/i386/pc/multiboot2.c: Removed stalled file.
30072
30073 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30074
30075 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30076 Reported by: Grégoire Sutre
30077
30078 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 * util/misc.c (canonicalize_file_name): New function.
30081 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30082 instead of realpath().
30083
30084 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
30085
30086 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30087 and make it clearer that it's optional. Based on confusion
30088 witnessed on IRC.
30089
30090 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30093 in premature implicit newline.
30094
30095 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30096
30097 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30098 which resulted in garbled command line at the end of screen.
30099
30100 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30103 initialization with similar approach as with other Linux loaders.
30104
30105 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30106
30107 Fix i386-ieee1275 build.
30108
30109 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30110 and grub_term_height() for video_{width,height} initialization.
30111
30112 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30113
30114 Fix grub-emu build.
30115
30116 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30117
30118 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30119 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30120
30121 Support for multiple terminals.
30122
30123 * Makefile.in (pkglib_DATA): terminal.lst.
30124 (terminal.lst): New target.
30125 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30126 (GRUB_MOD_INIT(handler)): Likewise.
30127 (GRUB_MOD_FINI(handler)): Likewise.
30128 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30129 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30130 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30131 (grub_cmd_sleep): Use grub_term_save_pos.
30132 * commands/terminal.c: New file.
30133 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30134 commands/terminal.c and lib/charset.c.
30135 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30136 (pkglib_MODULES): Add terminal.mod.
30137 (terminal_mod_SOURCES): New variable.
30138 (terminal_mod_CFLAGS): Likewise.
30139 (terminal_mod_LDFLAGS): Likewise.
30140 * genhandlerlist.sh: Don't handle terminals.
30141 * genmk.rb: Generate terminal-*.lst.
30142 * genterminallist.sh: New file.
30143 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30144 (grub_is_valid_utf8): Likewise.
30145 (grub_utf8_to_ucs4_alloc): Likewise.
30146 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30147 (grub_menu_register_viewer): Changed argument.
30148 (grub_menu_try_text): New proto.
30149 (grub_gfxmenu_try_hook): New declaration.
30150 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30151 (grub_menu_init_page): Additional argument term.
30152 (grub_normal_init_page): Likewise.
30153 (grub_cmdline_get): Arguments simplified.
30154 (grub_utf8_to_ucs4_alloc): Removed.
30155 (grub_print_ucs4): Additional argument term.
30156 (grub_getstringwidth): Likewise.
30157 (grub_print_message_indented): Likewise.
30158 (grub_menu_text_register_instances): New proto.
30159 (grub_show_menu): Likewise.
30160 (read_terminal_list): Likewise.
30161 (grub_set_more): Likewise.
30162 * include/grub/parser.h: Include handler.h.
30163 * include/grub/reader.h: Rewritten.
30164 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30165 (GRUB_TERM_WIDTH): Changed to function.
30166 (GRUB_TERM_HEIGHT): Likewise.
30167 (GRUB_TERM_BORDER_WIDTH): Likewise.
30168 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30169 (GRUB_TERM_NUM_ENTRIES): Likewise.
30170 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30171 (GRUB_TERM_CURSOR_X): Likewise.
30172 (grub_term_input_class): Likewise.
30173 (grub_term_output_class): Likewise.
30174 (grub_term_outputs_disabled): New declaration.
30175 (grub_term_inputs_disabled): Likewise.
30176 (grub_term_outputs): Likewise.
30177 (grub_term_inputs): Likewise.
30178 (grub_term_register_input): Rewritten.
30179 (grub_term_register_output): Likewise.
30180 (grub_term_unregister_input): Likewise.
30181 (grub_term_unregister_output): Likewise.
30182 (FOR_ACTIVE_TERM_INPUTS): New macro.
30183 (FOR_DISABLED_TERM_INPUTS): Likewise.
30184 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30185 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30186 * include/grub/terminfo.h: Add oterm argument to all protypes.
30187 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30188 Use grub_rescue_run.
30189 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30190 All users updated.
30191 * kern/reader.c: Removed. All users updated.
30192 * kern/rescue_reader.c (grub_rescue_init): Removed.
30193 (grub_rescue_reader): Likewise.
30194 (grub_register_rescue_reader): Likewise.
30195 (grub_rescue_run): New function based on kern/reader.c.
30196 * kern/term.c: Adapted for multiterm.
30197 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30198 (grub_is_valid_utf8): Likewise.
30199 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30200 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30201 right terminal.
30202 * loader/i386/linux.c (grub_linux_boot): Likewise.
30203 * normal/auth.c (grub_username_get): New function.
30204 (grub_auth_check_authentication): Use grub_username_get.
30205 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30206 * normal/color.c: Adapt for multiterm.
30207 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30208 (grub_normal_init_page): Additional argument term.
30209 (read_lists): Call read_terminal_lists.
30210 (grub_enter_normal_mode): Call grub_cmdline_run.
30211 Handle grub_normal_exit_level.
30212 (grub_cmd_normal): Make reentrant.
30213 (grub_cmd_normal_exit): New function.
30214 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30215 * normal/menu.c: Adapt for multiterm.
30216 * normal/menu_entry.c: Likewise.
30217 * normal/menu_text.c: Likewise.
30218 * normal/menu_viewer.c: Removed. All users updated.
30219 * normal/term.c: New file.
30220 * util/console.c: Change order of includes to workaround a bug in
30221 ncurses headers.
30222 * term/terminfo.c: New argument oterm on all exported functions.
30223 All users updated.
30224 * util/grub-editenv.c (grub_term_input_class): Removed.
30225 (grub_term_output_class): Likewise.
30226
30227 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30228
30229 Make loader output a bit more user-friendly.
30230
30231 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30232 is being loaded. Likewise for the Hurd.
30233
30234 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30235 that kernel of FreeBSD ${version} is being loaded.
30236
30237 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30238 grub_dprintf().
30239 (grub_cmd_initrd): Likewise.
30240 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30241 that Linux ${version} is being loaded. Likewise for initrd.
30242
30243 2010-01-09 Carles Pina i Estany <carles@pina.cat>
30244
30245 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30246
30247 2010-01-08 Carles Pina i Estany <carles@pina.cat>
30248
30249 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30250 (GRUB_MOD_INIT): Gettextizze.
30251 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30252 (GRUB_MOD_INIT): Gettextizze.
30253 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30254 (grub_cmd_linux): Capitalise Linux.
30255 (GRUB_MOD_INIT): Gettextizze.
30256 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30257 (grub_cmd_linux): Capitalise Linux.
30258 (GRUB_MOD_INIT): Gettextizze.
30259 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30260 (grub_cmd_linux): Capitalise Linux.
30261 (GRUB_MOD_INIT): Gettextizze.
30262 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30263 (GRUB_MOD_INIT): Gettextizze.
30264 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30265 (grub_cmd_linux): Capitalise Linux.
30266 (GRUB_MOD_INIT): Gettextizze.
30267 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30268 (grub_cpu_xnu_init): Gettextizze.
30269 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30270 (GRUB_MOD_INIT): Gettextizze.
30271 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30272 (GRUB_MOD_INIT): Gettextizze.
30273 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30274 (grub_linux_load64): Capitalise Linux.
30275 (GRUB_MOD_INIT): Gettextizze.
30276 * loader/xnu.c: Include `<grub/i18n.h>'.
30277 (GRUB_MOD_INIT): Gettextizze.
30278 * po/POTFILES: Add `loader/efi/appleloader.c',
30279 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30280 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30281 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30282 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30283 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30284 and `loader/xnu.c'.
30285
30286 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30287
30288 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30289
30290 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30291
30292 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30293 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30294 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30295
30296 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30297
30298 Reset Multiboot 2 support. New loader implements the draft in
30299 /branches/multiboot2 and shares as much code as possible with the
30300 production Multiboot 1 implementation.
30301
30302 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30303 * loader/multiboot2.c: Likewise.
30304 * loader/i386/multiboot_helper.S: Likewise.
30305 * include/multiboot2.h: Replace with latest version from the draft
30306 in /branches/multiboot2.
30307
30308 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30309 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30310 and `loader/multiboot2.c'.
30311 (pkglib_MODULES): Add `multiboot2.mod'.
30312 (multiboot2_mod_SOURCES): New variable.
30313 (multiboot2_mod_LDFLAGS): Likewise.
30314 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30315
30316 * conf/i386-pc.rmk: Likewise.
30317
30318 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30319 (multiboot_mod_SOURCES): Remove variable.
30320 (multiboot_mod_LDFLAGS): Likewise.
30321 (multiboot_mod_CFLAGS): Likewise.
30322
30323 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30324 `<multiboot2.h>' instead of `<multiboot.h>'.
30325 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30326 (MULTIBOOT_HEADER_MAGIC): New macros.
30327
30328 * loader/multiboot_loader.c (module_version_status): Remove variable.
30329 (find_multi_boot2_header): Remove function.
30330 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30331 logic. Always check for the Multiboot version we're compiling for.
30332 (grub_cmd_module_loader): Likewise.
30333 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30334 command instead of `multiboot'.
30335
30336 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30337
30338 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30339 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30340 all users.
30341
30342 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30343 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30344
30345 Fix breakage introduced with previous commit.
30346
30347 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30348 commands.
30349 * normal/handler.c (read_handler_list): Revert part of previous commit
30350 affecting this file.
30351 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30352 (grub_normal_execute): ... here.
30353
30354 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30355
30356 Merge prefix-redefinition-fix branch.
30357
30358 * normal/autofs.c (read_fs_list): Make function capable of being
30359 run multiple times, gracefuly replacing the previous data
30360 structures.
30361 * normal/dyncmd.c (read_command_list): Likewise.
30362 * normal/handler.c (read_handler_list): Likewise.
30363 * normal/main.c (read_lists): New function. Calls all the
30364 list reading functions.
30365 (grub_normal_execute): Use read_lists() instead of calling all
30366 list reading functions explicitly. Register read_lists() as a
30367 variable hook attached to ${prefix}.
30368
30369 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30370
30371 Merge crypto branch.
30372
30373 * Makefile.in (pkglib_DATA): Add crypto.lst.
30374 (crypto.lst): New target.
30375 * commands/hashsum.c: New file.
30376 * commands/password.c (check_password): Use grub_crypto_memcmp.
30377 * commands/password_pbkdf2.c: New file.
30378 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30379 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30380 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30381 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30382 -I$(srcdir)/lib/libgcrypt_wrap.
30383 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30384 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30385 password_pbkdf2.mod.
30386 (crypto_mod_SOURCES): New variable.
30387 (crypto_mod_CFLAGS): Likewise.
30388 (crypto_mod_LDFLAGS): Likewise.
30389 (hashsum_mod_SOURCES): New variable.
30390 (hashsum_mod_CFLAGS): Likewise.
30391 (hashsum_mod_LDFLAGS): Likewise.
30392 (pbkdf2_mod_SOURCES): New variable.
30393 (pbkdf2_mod_CFLAGS): Likewise.
30394 (pbkdf2_mod_LDFLAGS): Likewise.
30395 (password_pbkdf2_mod_SOURCES): New variable.
30396 (password_pbkdf2_mod_CFLAGS): Likewise.
30397 (password_pbkdf2_mod_LDFLAGS): Likewise.
30398 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30399 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30400 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30401 Include conf/gcry.rmk.
30402 * include/grub/auth.h: Rewritten.
30403 * include/grub/crypto.h: New file.
30404 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30405 * include/grub/normal.h (read_crypto_list): New prototype.
30406 * lib/crypto.c: New file.
30407 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30408 * lib/pbkdf2.c: Likewise.
30409 * normal/auth.c (grub_auth_strcmp): Removed.
30410 (grub_iswordseparator): Likewise.
30411 (grub_auth_strword): Likewise.
30412 (is_authenticated): Use grub_strword.
30413 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30414 and grub_strword. Pass entered password to authentication callback.
30415 * normal/crypto.c: New file.
30416 * normal/main.c: Call read_crypto_list.
30417 * util/grub-mkpasswd-pbkdf2.c: New file.
30418 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30419
30420 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 Fix descent and ascent calculation.
30423
30424 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30425 (options): New option "asce".
30426 (usage): Likewise.
30427 (add_char): Ignore invalid glyphs for descent calculation.
30428 Calculate ascent from actual content.
30429 (print_glyphs): Use 'asce'.
30430 (write_font): Likewise. Allow ascent override.
30431 (main): Handle "asce" option.
30432
30433 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30434
30435 * kern/err.c: Include `<grub/i18n.h>'.
30436 (grub_print_error): Add full stop. Gettextizze.
30437 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30438 (grub_bsd_load_elf): Capitalise ELF.
30439 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30440 (grub_cmd_freebsd_module): Likewise.
30441 (grub_cmd_freebsd_module_elf): Likewise.
30442 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30443
30444 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30445
30446 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30447 * commands/search_file.c (HELP_MESSAGE): New macro.
30448 * commands/search_label.c (HELP_MESSAGE): Likewise.
30449 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30450 * po/POTFILES: Add `commands/search_file.c',
30451 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30452 `commands/search.c'.
30453
30454 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30455
30456 * config.rpath: Update from Gnulib.
30457
30458 2010-01-05 Yves Blusseau <blusseau@zetam.org>
30459
30460 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30461
30462 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30463
30464 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30465
30466 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30467
30468 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30469 arguments to fread so that we get a return value in bytes, rather
30470 than something that will normally be rounded down to 0.
30471 Adjust error handling to avoid producing garbage when size_t is not
30472 the same size as long long.
30473
30474 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30475
30476 * util/mkisofs/write.c (padblock_write): Check return value of
30477 fread.
30478
30479 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30480
30481 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30482 floppy images now.
30483
30484 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30485
30486 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30487
30488 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30489 instead of manual alignment.
30490 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30491 verbose). Avoid attempts to read past end of the device
30492 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30493 but GRUB_DISK_CACHE_SIZE may exceed that).
30494
30495 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30496
30497 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30498 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30499 it to upper layer.
30500
30501 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30502
30503 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30504 New constant.
30505 (grub_efi_piwg_device_path): New structure
30506 (grub_efi_piwg_device_path_t): New type.
30507 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30508 (devpath_1): Transform to a structure. All users updated.
30509 (devpath_2): Likewise.
30510 (devpath_3): Likewise.
30511 (devpath_4): Likewise.
30512 (devpath_5): Likewise.
30513
30514 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30515
30516 * loader/efi/appleloader.c: Restored. Update all users.
30517
30518 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30519
30520 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30521
30522 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30523 (struct boot_blocklist): Move from here ...
30524 * include/grub/i386/pc/boot.h [ASM_FILE]
30525 (struct grub_boot_blocklist): ... to here. Update all users.
30526 (setup): Only initialize `start' member of `first_block'
30527 structure. Add assert() calls to verify the other members.
30528
30529 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30530 (generate_image): Fix broken blocklist length initialization.
30531 Add assert() call to verify blocklist `segment' field.
30532
30533 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * loader/efi/appleloader.c: Remove. Update all users.
30536
30537 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30538
30539 * boot/i386/pc/boot.S: Update copyright year.
30540 * boot/i386/pc/cdboot.S: Likewise.
30541 * boot/i386/pc/diskboot.S: Likewise.
30542 * boot/i386/pc/lnxboot.S: Likewise.
30543 * boot/i386/pc/pxeboot.S: Likewise.
30544 * bus/pci.c: Likewise.
30545 * commands/cmp.c: Likewise.
30546 * commands/help.c: Likewise.
30547 * commands/hexdump.c: Likewise.
30548 * commands/i386/pc/halt.c: Likewise.
30549 * commands/i386/pc/play.c: Likewise.
30550 * commands/i386/pc/vbeinfo.c: Likewise.
30551 * commands/ls.c: Likewise.
30552 * commands/test.c: Likewise.
30553 * disk/dmraid_nvidia.c: Likewise.
30554 * disk/i386/pc/biosdisk.c: Likewise.
30555 * disk/ieee1275/nand.c: Likewise.
30556 * disk/ieee1275/ofdisk.c: Likewise.
30557 * disk/lvm.c: Likewise.
30558 * disk/raid.c: Likewise.
30559 * disk/raid6_recover.c: Likewise.
30560 * disk/scsi.c: Likewise.
30561 * fs/affs.c: Likewise.
30562 * fs/cpio.c: Likewise.
30563 * fs/ext2.c: Likewise.
30564 * fs/hfs.c: Likewise.
30565 * fs/iso9660.c: Likewise.
30566 * fs/ntfs.c: Likewise.
30567 * fs/sfs.c: Likewise.
30568 * fs/udf.c: Likewise.
30569 * fs/ufs.c: Likewise.
30570 * fs/xfs.c: Likewise.
30571 * gencmdlist.sh: Likewise.
30572 * genmk.rb: Likewise.
30573 * include/grub/disk.h: Likewise.
30574 * include/grub/efi/api.h: Likewise.
30575 * include/grub/efi/efi.h: Likewise.
30576 * include/grub/efi/pe32.h: Likewise.
30577 * include/grub/elf.h: Likewise.
30578 * include/grub/fs.h: Likewise.
30579 * include/grub/i386/at_keyboard.h: Likewise.
30580 * include/grub/i386/pc/memory.h: Likewise.
30581 * include/grub/i386/pc/vbe.h: Likewise.
30582 * include/grub/i386/pci.h: Likewise.
30583 * include/grub/i386/tsc.h: Likewise.
30584 * include/grub/ieee1275/ieee1275.h: Likewise.
30585 * include/grub/ntfs.h: Likewise.
30586 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30587 * include/grub/sparc64/libgcc.h: Likewise.
30588 * include/grub/symbol.h: Likewise.
30589 * include/grub/types.h: Likewise.
30590 * include/multiboot2.h: Likewise.
30591 * io/gzio.c: Likewise.
30592 * kern/device.c: Likewise.
30593 * kern/disk.c: Likewise.
30594 * kern/efi/efi.c: Likewise.
30595 * kern/efi/mm.c: Likewise.
30596 * kern/elf.c: Likewise.
30597 * kern/file.c: Likewise.
30598 * kern/i386/dl.c: Likewise.
30599 * kern/i386/pc/init.c: Likewise.
30600 * kern/i386/pc/startup.S: Likewise.
30601 * kern/ieee1275/ieee1275.c: Likewise.
30602 * kern/ieee1275/init.c: Likewise.
30603 * kern/main.c: Likewise.
30604 * kern/mm.c: Likewise.
30605 * kern/powerpc/dl.c: Likewise.
30606 * kern/sparc64/dl.c: Likewise.
30607 * kern/x86_64/dl.c: Likewise.
30608 * lib/hexdump.c: Likewise.
30609 * loader/efi/appleloader.c: Likewise.
30610 * loader/i386/ieee1275/linux.c: Likewise.
30611 * loader/i386/pc/chainloader.c: Likewise.
30612 * loader/i386/pc/linux.c: Likewise.
30613 * loader/i386/pc/multiboot2.c: Likewise.
30614 * loader/ieee1275/multiboot2.c: Likewise.
30615 * loader/multiboot2.c: Likewise.
30616 * loader/multiboot_loader.c: Likewise.
30617 * loader/powerpc/ieee1275/linux.c: Likewise.
30618 * normal/completion.c: Likewise.
30619 * normal/menu_entry.c: Likewise.
30620 * partmap/apple.c: Likewise.
30621 * util/grub.d/10_hurd.in: Likewise.
30622 * util/hostfs.c: Likewise.
30623 * video/readers/png.c: Likewise.
30624
30625 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
30626
30627 * include/grub/misc.h (GNUC_PREREQ): New macro.
30628 (ATTRIBUTE_ERROR): New macro.
30629 * include/grub/list.h (grub_bad_type_cast_real): Use
30630 ATTRIBUTE_ERROR.
30631
30632 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30633
30634 * normal/menu_text.c (print_message): Change messages.
30635
30636 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30637
30638 * normal/menu_entry.c (store_completion): Gettextizze.
30639
30640 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30641
30642 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30643
30644 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30645
30646 * po/POTFILES: Sort correctly.
30647
30648 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30649
30650 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30651 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30652 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30653 full stop.
30654 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30655 summary. Gettextizze the strings.
30656 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30657 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30658 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30659 full stop.
30660 (GRUB_MOD_INIT): Remove command name from summary.
30661 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30662 summary.
30663 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30664 * term/i386/pc/serial.c (options): Add full stops.
30665 (GRUB_MOD_INIT): Remove command name from the summary.
30666
30667 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30668
30669 * commands/acpi.c: Gettextizze help strings and/or options. Include
30670 `grub/i18n.h' if needed.
30671 * commands/blocklist.c: Likewise.
30672 * commands/boot.c: Likewise.
30673 * commands/cat.c: Likewise.
30674 * commands/cmp.c: Likewise.
30675 * commands/configfile.c: Likewise.
30676 * commands/crc.c: Likewise.
30677 * commands/date.c: Likewise.
30678 * commands/echo.c: Likewise.
30679 * commands/efi/fixvideo.c: Likewise.
30680 * commands/efi/loadbios.c: Likewise.
30681 * commands/gptsync.c: Likewise.
30682 * commands/halt.c: Likewise.
30683 * commands/handler.c: Likewise.
30684 * commands/hdparm.c: Likewise.
30685 * commands/hexdump.c: Likewise.
30686 * commands/i386/cpuid.c: Likewise.
30687 * commands/i386/pc/drivemap.c: Likewise.
30688 * commands/i386/pc/halt.c: Likewise.
30689 * commands/i386/pc/pxecmd.c: Likewise.
30690 * commands/i386/pc/vbeinfo.c: Likewise.
30691 * commands/i386/pc/vbetest.c: Likewise.
30692 * commands/ieee1275/suspend.c: Likewise.
30693 * commands/keystatus.c: Likewise.
30694 * commands/loadenv.c: Likewise.
30695 * commands/ls.c: Likewise.
30696 * commands/lsmmap.c: Likewise.
30697 * commands/lspci.c: Likewise.
30698 * commands/memrw.c: Likewise.
30699 * commands/minicmd.c: Likewise.
30700 * commands/parttool.c: Likewise.
30701 * commands/password.c: Likewise.
30702 * commands/probe.c: Likewise.
30703 * commands/read.c: Likewise.
30704 * commands/reboot.c: Likewise.
30705 * commands/search.c: Likewise.
30706 * commands/sleep.c: Likewise.
30707 * commands/test.c: Likewise.
30708 * commands/true.c: Likewise.
30709 * commands/usbtest.c: Likewise.
30710 * commands/videotest.c: Likewise.
30711 * commands/xnu_uuid.c: Likewise.
30712 * disk/loopback.c: Likewise.
30713 * hello/hello.c: Likewise.
30714 * loader/i386/bsd.c: Likewise.
30715 * term/i386/pc/serial.c: Likewise.
30716 * po/POTFILES: Add new files.
30717
30718 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
30719
30720 * term/i386/pc/at_keyboard.c
30721 (keyboard_controller_wait_untill_ready): Rename to ...
30722 (keyboard_controller_wait_until_ready): ... this. Update all users.
30723
30724 2010-01-01 Carles Pina i Estany <carles@pina.cat>
30725
30726 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30727 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30728 string using string width.
30729 * normal/menu_text.c (grub_print_message_indented): Use
30730 grub_print_spaces and not print_spaces.
30731 (print_timeout): Likewise.
30732 (print_spaces): Move to...
30733 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30734
30735 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30736
30737 Import from Gnulib.
30738
30739 * gnulib/getdelim.c: New file.
30740 * gnulib/getline.c: Likewise.
30741
30742 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30743
30744 * include/grub/list.h (grub_assert_fail): Removed.
30745 (grub_bad_type_cast_real): New function.
30746 (grub_bad_type_cast): New macro.
30747 (GRUB_AS_LIST): Use grub_bad_type_cast.
30748 (GRUB_AS_LIST_P): Likewise.
30749 (GRUB_AS_NAMED_LIST): Likewise.
30750 (GRUB_AS_NAMED_LIST_P): Likewise.
30751 (GRUB_AS_PRIO_LIST): Likewise.
30752 (GRUB_AS_PRIO_LIST_P): Likewise.
30753 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
30754
30755 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30756
30757 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30758 Fix syntax error.
30759
30760 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30761
30762 * configure.ac: Check for TARGET_CFLAGS initialization before we
30763 initialize it ourselves (sigh).
30764 Move a few modifications to TARGET_CFLAGS to be unconditional
30765 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30766 eh_frame)
30767
30768 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30769 * term/i386/pc/at_keyboard.c
30770 (keyboard_controller_wait_untill_ready): Likewise.
30771 (keyboard_controller_led): Rename `led_status' paramter to avoid
30772 name conflict.
30773
30774 2009-12-28 Carles Pina i Estany <carles@pina.cat>
30775
30776 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30777 quotes.
30778
30779 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30780
30781 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30782
30783 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30784
30785 * normal/menu_text.c (grub_print_message_indented): Prevent
30786 past-the-end-of-array dereference.
30787
30788 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30789
30790 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30791 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30792
30793 2009-12-27 Carles Pina i Estany <carles@pina.cat>
30794
30795 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30796 * normal/main.c (grub_normal_read_line): Remove a space from the
30797 default prompt.
30798
30799 2009-12-27 Carles Pina i Estany <carles@pina.cat>
30800
30801 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30802 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30803 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30804 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30805 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30806 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30807 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30808
30809 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30810
30811 * video/readers/jpeg.c (cmd): Declare.
30812 (grub_cmd_jpegtest): Use `grub_command_t' type.
30813 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30814 Assign to `cmd'.
30815 (GRUB_MOD_FINI): Use `cmd' to unregister.
30816 * video/readers/png.c (cmd): Declare.
30817 (grub_cmd_pngtest): Use `grub_command_t' type.
30818 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30819 Assign to `cmd'.
30820 (GRUB_MOD_FINI): Use `cmd' to unregister.
30821 * video/readers/tga.c (cmd): Declare.
30822 (grub_cmd_tgatest): Use `grub_command_t' type.
30823 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30824 Assign to `cmd'.
30825 (GRUB_MOD_FINI): Use `cmd' to unregister.
30826
30827 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30828
30829 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30830 stops.
30831 * kern/corecmd.c (grub_register_core_commands): Likewise.
30832 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30833 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30834 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30835 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30836 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30837 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30838 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30839 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30840 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30841 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30842 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30843 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30844 * normal/handler.c (insert_handler): Likewise.
30845 * normal/main.c (GRUB_MOD_INIT): Likewise.
30846 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30847
30848 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30849
30850 * commands/help.c (grub_cmd_help): Print the command name before the
30851 summary.
30852 (GRUB_MOD_INIT): Remove command name from the summary.
30853 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
30854 string as summary.
30855 * lib/arg.c (find_long): Print the command name before the summary.
30856 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30857 summary.
30858 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30859 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30860 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30861 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30862 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30863 * commands/date.c (GRUB_MOD_INIT): Likewise.
30864 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30865 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30866 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30867 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30868 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30869 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30870 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30871 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30872 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30873 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30874 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30875 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30876 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30877 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30878 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30879 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30880 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30881 * commands/password.c (GRUB_MOD_INIT): Likewise.
30882 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30883 * commands/read.c (GRUB_MOD_INIT): Likewise.
30884 * commands/search.c (GRUB_MOD_INIT): Likewise.
30885 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30886 * commands/test.c (GRUB_MOD_INIT): Likewise.
30887 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30888 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30889 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30890 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30891 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30892 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30893 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30894 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30895 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30896 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30897 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30898 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30899 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30900 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30901
30902 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30903
30904 Use search command for preliminar UUID search.
30905
30906 * commands/search.c: Split into ...
30907 * commands/search_wrap.c: ...this
30908 * commands/search.c: ...and this.
30909 * commands/search_file.c: New file.
30910 * commands/search_label.c: New file.
30911 * commands/search_uuid.c: New file.
30912 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30913 Add commands/search_wrap.c, commands/search_file.c,
30914 commands/search_label.c and commands/search_uuid.c.
30915 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30916 (search_mod_SOURCES): Set to commands/search_wrap.c.
30917 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30918 search_label.mod.
30919 (search_fs_file_mod_SOURCES): New variable.
30920 (search_fs_file_mod_CFLAGS): Likewise.
30921 (search_fs_file_mod_LDFLAGS): Likewise.
30922 (search_label_mod_SOURCES): Likewise.
30923 (search_label_mod_CFLAGS): Likewise.
30924 (search_label_mod_LDFLAGS): Likewise.
30925 (search_fs_uuid_mod_SOURCES): New variable.
30926 (search_fs_uuid_mod_CFLAGS): Likewise.
30927 (search_fs_uuid_mod_LDFLAGS): Likewise.
30928 (fs_file_mod_SOURCES): Removed.
30929 (fs_file_mod_CFLAGS): Likewise.
30930 (fs_file_mod_LDFLAGS): Likewise.
30931 (fs_uuid_mod_SOURCES): Removed.
30932 (fs_uuid_mod_CFLAGS): Likewise.
30933 (fs_uuid_mod_LDFLAGS): Likewise.
30934 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30935 Set to util/grub-install.in.
30936 * disk/fs_file.c: Removed.
30937 * disk/fs_uuid.c: Likewise.
30938 * include/grub/search.h: New file.
30939 * util/grub-install.in: Handle sparc64.
30940 Create and use load.cfg.
30941 * util/sparc64/ieee1275/grub-install.in: Removed.
30942
30943 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30944
30945 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30946 Ignore return status if CF is cleared.
30947 (grub_biosdisk_get_diskinfo_standard): Likewise.
30948
30949 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30950
30951 * term/i386/pc/at_keyboard.c
30952 (keyboard_controller_wait_untill_ready): New function.
30953 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30954 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30955 for keyboard polling, rather than duplicate the same loop. This
30956 saves a few bytes in code size.
30957
30958 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30959
30960 Support for (pxe[:server[:gateway]]) syntax and
30961 use environment variable for PXE.
30962
30963 * commands/i386/pc/pxecmd.c (options): Removed.
30964 (print_ip): Removed.
30965 (grub_cmd_pxe): Removed
30966 (grub_cmd_pxe_unload): New function.
30967 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30968 (grub_pxe_your_ip): Made static.
30969 (grub_pxe_default_server_ip): Likewise.
30970 (grub_pxe_default_gateway_ip): Likewise.
30971 (grub_pxe_blksize): Likewise.
30972 (parse_ip): New function.
30973 (grub_pxe_open): Support server and gateway specification.
30974 (grub_pxe_close): Free disk->data.
30975 (grub_pxefs_open): Use disk->data.
30976 (grub_pxefs_read): Likewise.
30977 (grub_env_write_readonly): New function.
30978 (set_mac_env): Likewise.
30979 (set_env_limn_ro): Likewise.
30980 (parse_dhcp_vendor): Likewise.
30981 (grub_pxe_detect): Set the environment variables.
30982 (set_ip_env): New function.
30983 (write_ip_env): Likewise.
30984 (grub_env_write_pxe_default_server): Likewise.
30985 (grub_env_write_pxe_default_gateway): Likewise.
30986 (grub_env_write_pxe_blocksize): Likewise.
30987 (GRUB_MOD_INIT(pxe)): Set environment variables.
30988 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30989 (grub_pxe_mac_addr_t): ... this. All users updated.
30990 (grub_pxe_your_ip): Removed.
30991 (grub_pxe_server_ip): Likewise.
30992 (grub_pxe_gateway_ip): Likewise.
30993 (grub_pxe_blksize): Likewise.
30994
30995 2009-12-25 Carles Pina i Estany <carles@pina.cat>
30996
30997 * commands/help.c: Include `<grub/i18n.h>'.
30998 (grub_cmd_help): Gettextizze.
30999 (GRUB_MOD_INIT): Likewise.
31000 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31001 (GRUB_MOD_INIT): Gettextizze.
31002 * commands/search.c: Include `<grub/i18n.h>'.
31003 (options): Gettextizze.
31004 (GRUB_MOD_INIT): Gettextizze.
31005 * lib/arg.c: Include `<grub/i18n.h>'.
31006 (help_options): Gettextizze.
31007 (find_long): Likewise.
31008 (grub_arg_show_help): Likewise.
31009 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31010 (read_command_list): Gettextizze.
31011 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
31012 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
31013
31014 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31015
31016 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31017 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31018 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31019 (led_status): New variable.
31020 (keyboard_controller_led): New function.
31021 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31022 update led status for caps lock, num lock and scroll lock.
31023
31024 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
31025
31026 * util/hostdisk.c (open_device): Fix a comment.
31027
31028 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31029
31030 * util/grub-install.in (host_os): New variable.
31031 * util/i386/efi/grub-install.in (host_os): Likewise.
31032
31033 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * util/mkisofs/write.c (padblock_write): Abort when given an
31036 excedingly large embed image, instead of silently truncating it.
31037
31038 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31039
31040 * include/multiboot.h: Indentation fixes.
31041
31042 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31043
31044 * include/multiboot.h (struct multiboot_aout_symbol_table)
31045 (struct multiboot_elf_section_header_table): New structure
31046 declarations (stolen from GRUB Legacy).
31047 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31048 table information.
31049
31050 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31051 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31052 type aliases.
31053
31054 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 * include/multiboot.h: Make comments src2texi-friendly.
31057
31058 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31059
31060 For consistency with [multiboot]/docs/boot.S.
31061
31062 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31063 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31064 (MULTIBOOT_MAGIC2): Rename from this ...
31065 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31066
31067 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31068
31069 * include/multiboot.h: Remove `<grub/types.h>'.
31070 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31071 types. Update all users.
31072
31073 2009-12-25 Carles Pina i Estany <carles@pina.cat>
31074
31075 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31076 `couldn't' and `can not' by `cannot'.
31077 * commands/i386/pc/drivemap.c: Likewise.
31078 * disk/ata.c: Likewise.
31079 * disk/ieee1275/nand.c: Likewise.
31080 * fs/affs.c: Likewise.
31081 * fs/fat.c: Likewise.
31082 * fs/hfs.c: Likewise.
31083 * fs/hfsplus.c: Likewise.
31084 * fs/iso9660.c: Likewise.
31085 * fs/jfs.c: Likewise.
31086 * fs/minix.c: Likewise.
31087 * fs/reiserfs.c: Likewise.
31088 * fs/sfs.c: Likewise.
31089 * fs/udf.c: Likewise.
31090 * fs/ufs.c: Likewise.
31091 * fs/xfs.c: Likewise.
31092 * loader/powerpc/ieee1275/linux.c: Likewise.
31093 * loader/sparc64/ieee1275/linux.c: Likewise.
31094 * util/grub-probe.c: Likewise.
31095 * util/misc.c: Likewise.
31096
31097 2009-12-24 Carles Pina i Estany <carles@pina.cat>
31098
31099 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31100 grub_errno calls.
31101 * commands/acpi.c: Likewise.
31102 * commands/blocklist.c: Likewise.
31103 * commands/efi/loadbios.c: Likewise.
31104 * commands/i386/pc/drivemap.c: Likewise.
31105 * commands/loadenv.c: Likewise.
31106 * commands/memrw.c: Likewise.
31107 * commands/password.c: Likewise.
31108 * commands/videotest.c: Likewise.
31109 * disk/ata.c: Likewise.
31110 * disk/ata_pthru.c: Likewise.
31111 * disk/dmraid_nvidia.c: Likewise.
31112 * disk/ieee1275/nand.c: Likewise.
31113 * disk/ieee1275/ofdisk.c: Likewise.
31114 * disk/loopback.c: Likewise.
31115 * disk/lvm.c: Likewise.
31116 * disk/mdraid_linux.c: Likewise.
31117 * disk/raid.c: Likewise.
31118 * disk/raid6_recover.c: Likewise.
31119 * disk/scsi.c: Likewise.
31120 * efiemu/main.c: Likewise.
31121 * efiemu/mm.c: Likewise.
31122 * efiemu/pnvram.c: Likewise.
31123 * efiemu/symbols.c: Likewise.
31124 * font/font.c: Likewise.
31125 * fs/cpio.c: Likewise.
31126 * fs/hfsplus.c: Likewise.
31127 * fs/iso9660.c: Likewise.
31128 * fs/jfs.c: Likewise.
31129 * fs/minix.c: Likewise.
31130 * fs/ntfs.c: Likewise.
31131 * fs/ntfscomp.c: Likewise.
31132 * fs/reiserfs.c: Likewise.
31133 * fs/ufs.c: Likewise.
31134 * fs/xfs.c: Likewise.
31135 * gettext/gettext.c: Likewise.
31136 * include/grub/auth.h: Likewise.
31137 * kern/elf.c: Likewise.
31138 * kern/file.c: Likewise.
31139 * kern/ieee1275/init.c: Likewise.
31140 * kern/ieee1275/mmap.c: Likewise.
31141 * kern/ieee1275/openfw.c: Likewise.
31142 * kern/powerpc/dl.c: Likewise.
31143 * kern/sparc64/dl.c: Likewise.
31144 * lib/arg.c: Likewise.
31145 * loader/i386/bsd.c: Likewise.
31146 * loader/i386/bsdXX.c: Likewise.
31147 * loader/i386/efi/linux.c: Likewise.
31148 * loader/i386/efi/xnu.c: Likewise.
31149 * loader/i386/ieee1275/linux.c: Likewise.
31150 * loader/i386/linux.c: Likewise.
31151 * loader/i386/multiboot.c: Likewise.
31152 * loader/i386/pc/linux.c: Likewise.
31153 * loader/i386/pc/multiboot2.c: Likewise.
31154 * loader/i386/xnu.c: Likewise.
31155 * loader/ieee1275/multiboot2.c: Likewise.
31156 * loader/macho.c: Likewise.
31157 * loader/machoXX.c: Likewise.
31158 * loader/multiboot2.c: Likewise.
31159 * loader/multiboot_loader.c: Likewise.
31160 * loader/powerpc/ieee1275/linux.c: Likewise.
31161 * loader/sparc64/ieee1275/linux.c: Likewise.
31162 * loader/xnu.c: Likewise.
31163 * loader/xnu_resume.c: Likewise.
31164 * mmap/i386/pc/mmap.c: Likewise.
31165 * normal/menu_viewer.c: Likewise.
31166 * partmap/acorn.c: Likewise.
31167 * partmap/amiga.c: Likewise.
31168 * partmap/apple.c: Likewise.
31169 * script/lexer.c: Likewise.
31170 * term/gfxterm.c: Likewise.
31171 * term/i386/pc/serial.c: Likewise.
31172 * term/i386/pc/vga.c: Likewise.
31173 * term/ieee1275/ofconsole.c: Likewise.
31174 * term/terminfo.c: Likewise.
31175 * video/bitmap.c: Likewise.
31176 * video/efi_gop.c: Likewise.
31177 * video/efi_uga.c: Likewise.
31178 * video/fb/video_fb.c: Likewise.
31179 * video/i386/pc/vbe.c: Likewise.
31180 * video/readers/tga.c: Likewise.
31181 * video/video.c: Likewise.
31182
31183 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
31184
31185 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31186 * commands/lspci.c: Likewise.
31187 * commands/probe.c: Likewise.
31188 * commands/xnu_uuid.c: Likewise.
31189 * conf/i386-coreboot.rmk: Likewise.
31190 * conf/i386-efi.rmk: Likewise.
31191 * conf/i386-ieee1275.rmk: Likewise.
31192 * conf/i386-pc.rmk: Likewise.
31193 * conf/powerpc-ieee1275.rmk: Likewise.
31194 * conf/sparc64-ieee1275.rmk: Likewise.
31195 * conf/x86_64-efi.rmk: Likewise.
31196 * fs/i386/pc/pxe.c: Likewise.
31197 * gettext/gettext.c: Likewise.
31198 * include/grub/efi/graphics_output.h: Likewise.
31199 * include/grub/i386/pc/memory.h: Likewise.
31200 * kern/env.c: Likewise.
31201 * kern/i386/qemu/startup.S: Likewise.
31202 * lib/i386/pc/biosnum.c: Likewise.
31203 * lib/i386/relocator.c: Likewise.
31204 * lib/i386/relocator_asm.S: Likewise.
31205 * lib/relocator.c: Likewise.
31206 * loader/i386/bsd.c: Likewise.
31207 * loader/i386/multiboot.c: Likewise.
31208 * loader/i386/pc/chainloader.c: Likewise.
31209 * loader/i386/xnu.c: Likewise.
31210 * loader/xnu.c: Likewise.
31211 * normal/main.c: Likewise.
31212 * normal/menu_text.c: Likewise.
31213 * util/getroot.c: Likewise.
31214 * util/grub-mkconfig_lib.in: Likewise.
31215 * util/grub.d/00_header.in: Likewise.
31216 * util/i386/pc/grub-mkimage.c: Likewise.
31217 * util/mkisofs/eltorito.c: Likewise.
31218 * util/mkisofs/exclude.h: Likewise.
31219 * util/mkisofs/hash.c: Likewise.
31220 * util/mkisofs/iso9660.h: Likewise.
31221 * util/mkisofs/joliet.c: Likewise.
31222 * util/mkisofs/mkisofs.c: Likewise.
31223 * util/mkisofs/mkisofs.h: Likewise.
31224 * util/mkisofs/multi.c: Likewise.
31225 * util/mkisofs/name.c: Likewise.
31226 * util/mkisofs/rock.c: Likewise.
31227 * util/mkisofs/tree.c: Likewise.
31228 * util/mkisofs/write.c: Likewise.
31229 * video/efi_gop.c: Likewise.
31230
31231 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31234 size counting.
31235
31236 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31237
31238 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31239 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31240
31241 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31242
31243 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31244 (GRUB_MOD_INIT(memrw)): Update help line.
31245
31246 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31247
31248 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31249 Use grub_extcmd_t. All users updated.
31250 (options): New variable.
31251 (grub_cmd_read): Restructure for readability. Support "-v" option.
31252 (grub_cmd_write): Restructure for readability.
31253
31254 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31255
31256 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31257
31258 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31259
31260 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31261 with the actual contents of the correspondending make variable.
31262 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31263 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31264 specifying `*.lst' and `efiemu??.o'
31265
31266 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31267
31268 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31269 after function name.
31270 Noticed by Rene Engelhard <rene@debian.org>.
31271
31272 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31273
31274 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31275 (options): New variable.
31276 (iospace): Likewise.
31277 (grub_lspci_iter): List IO spaces if "-i" was given.
31278 (grub_cmd_lspci): Parse options.
31279 (GRUB_MOD_INIT(lspci)): Use extcmd.
31280 (GRUB_MOD_FINI(lspci)): Likewise.
31281
31282 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31283
31284 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31285 `function' keyword.
31286 Patch by Tony Mancill <tmancill@debian.org>.
31287
31288 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31289
31290 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31291 (grub_uhci_portstatus): Likewise.
31292 (grub_uhci_portstatus): Add necessary delay.
31293 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
31294
31295 2009-12-21 Carles Pina i Estany <carles@pina.cat>
31296
31297 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31298 (GRUB_MOD_INIT): Likewise.
31299 * commands/boot.c (GRUB_MOD_INIT): Likewise.
31300 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31301 * commands/echo.c (options): Fix capitalizations and/or full stops.
31302 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31303 (enable_rom_area): Likewise.
31304 (GRUB_MOD_INIT): Likewise.
31305 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31306 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31307 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31308 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31309 * commands/hexdump.c (options): Likewise.
31310 * commands/i386/cpuid.c (options): Likewise.
31311 (GRUB_MOD_INIT): Likewise.
31312 * commands/i386/pc/drivemap.c (options): Likewise.
31313 (GRUB_MOD_INIT): Likewise.
31314 * commands/i386/pc/halt (options): Likewise.
31315 (GRUB_MOD_INIT): Likewise.
31316 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31317 * commands/i386/pc/pxecmd.c (options): Likewise.
31318 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31319 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31320 * commands/keystatus.c (options): Likewise.
31321 (GRUB_MOD_INIT): Likewise.
31322 * commands/loadenv.c (options): Likewise.
31323 * commands/ls.c (options): Likewise.
31324 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31325 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31326 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31327 * commands/parttool.c (helpmsg): Likewise.
31328 * commands/probe.c (options): Likewise.
31329 * commands/read.c (GRUB_MOD_INIT): Likewise.
31330 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31331 * commands/search.c (options): Likewise.
31332 * commands/sleep.c (options): Likewise.
31333 * commands/test.c (GRUB_MOD_INIT): Likewise.
31334 * commands/true.c (GRUB_MOD_INIT): Likewise.
31335 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31336 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31337 * lib/arg.c (help_options): Likewise.
31338 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31339 `$(XGETTEXT)'.
31340 * po/POTFILES: Add `commands/loadenv.c'.
31341
31342 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
31343
31344 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
31345 instead of specifying them explicit.
31346
31347 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31348
31349 * NEWS: Add grub-probe support for GNU/Hurd.
31350
31351 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31352
31353 * NEWS: gettext was added after 1.97.
31354
31355 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31356
31357 * util/mkisofs/msdos_partition.h: New file (based on
31358 include/grub/msdos_partition.h).
31359 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31360 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31361 (ld_options, main): Recognize --protective-msdos-label.
31362 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31363 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31364 (padblock_write): If `use_protective_msdos_label' is set, patch a
31365 protective DOS-style label in the output image.
31366
31367 * util/grub-mkrescue.in: Use --protective-msdos-label.
31368
31369 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31370
31371 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31372 boot.
31373
31374 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31375
31376 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31377 variables.
31378 (ld_options, main): Recognize `--embedded-boot'.
31379 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31380 declarations.
31381 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31382 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31383 (padblock_write): Likewise. Rewrite to support embedded boot image.
31384
31385 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31386 for BIOS-based disk boot instead of only ElTorito.
31387
31388 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31389
31390 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31391 build (not needed for bootstrap).
31392
31393 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31394
31395 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31396 from i386-pc build (not needed for bootstrap).
31397 Rewrite a pair of strings.
31398
31399 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31400
31401 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31402
31403 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
31404
31405 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31406
31407 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31408
31409 * kern/env.c (grub_env_context_open): Mark exported variable for
31410 reexport.
31411
31412 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31413
31414 * kern/env.c (grub_env_export): Create nonexistent variables before
31415 exporting.
31416
31417 2009-12-20 Carles Pina i Estany <carles@pina.cat>
31418
31419 * include/grub/auth.h: Include `<grub/i18n.h>'.
31420 (GRUB_GET_PASSWORD): Gettextizze string.
31421 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31422 menu_text.c.
31423 (grub_utf8_to_ucs4_alloc): Fix indentation.
31424 (grub_print_ucs4): Likewise.
31425 (grub_getstringwidth): Likewise.
31426 (print_message_indented): New declaration.
31427 * normal/auth.c: Include `<grub/i18n.h>'.
31428 (grub_auth_check_authentication): Gettexttize string.
31429 * normal/cmdline.c: Include `<grub/i18n.h>'.
31430 (grub_cmdline_get): Gettextizze.
31431 * normal/color.c: Include `<grub/i18n.h>'.
31432 (grub_parse_color_name_pair): Gettexttize strings.
31433 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31434 string (use `print_message_indented').
31435 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31436 `include/grub/normal.h'.
31437 (print_message_indented): Renamed to ...
31438 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31439 used in normal/main.c).
31440 (print_message): Use `grub_print_message_indented' instead of
31441 `print_message_indented'.
31442 (print_timeout): Likewise.
31443 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31444 (grub_normal_print_device_info): Gettexttize strings.
31445 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31446
31447 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31448
31449 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31450 of arguments. Return number of tokens and not arguments. All users
31451 updated.
31452
31453 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31454
31455 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31456 non-MSDOS paritions.
31457
31458 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31459
31460 * include/grub/types.h (UNUSED): Removed since it conflicts with
31461 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31462 Reported by Grégoire Sutre.
31463
31464 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31465
31466 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31467 (grub_print_ucs4_alloc): Likewise.
31468 (grub_getstringwidth): Likewise.
31469 * normal/main.c (grub_normal_init_page): Gettextize version string.
31470 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31471 (getstringwidth): Renamed to ...
31472 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31473 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31474 (grub_print_ucs4): Remove `static' qualifer (now used in
31475 normal/main.c).
31476 * po/POTFILES: Add normal/main.c.
31477
31478 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31479
31480 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31481 (print_message_indented): Add `margin_left' and `margin_right'
31482 parameters.
31483 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31484 strings.
31485 (print_timeout): Use `print_message_indented' to print the message.
31486 Deletes `second_stage' parameter.
31487 (run_menu): Update `print_timeout' calls.
31488
31489 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31490
31491 Fix console palette on OpenFirmware.
31492
31493 * term/ieee1275/ofconsole.c (MAX): Removed.
31494 (colors): Redone based on VGA palette.
31495 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31496 colors are supported.
31497 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31498
31499 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31500
31501 Fix potential EfiEmu double prepare.
31502
31503 * efiemu/main.c (prepared): New variable
31504 (grub_efiemu_unload): Set prepare to '0'.
31505 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31506
31507 set_virtual_address_map support.
31508
31509 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31510 prototype.
31511 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31512 prototype.
31513 (grub_efiemu_crc32): Likewise.
31514 (grub_efiemu_crc64): Likewise.
31515 (grub_efiemu_set_virtual_address_map): Likewise.
31516 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31517 New definition.
31518 (grub_autoefi_set_virtual_address_map): Likewise.
31519 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31520 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31521 Restructure flow to accomodate it.
31522 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31523 (grub_efiemu_crc): Recompute CRC32.
31524 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31525 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31526 * efiemu/symbols.c (relocated_handle): New variable.
31527 (grub_efiemu_free_syms): Free relocated_handle.
31528 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31529 (grub_efiemu_write_sym_markers): New function.
31530 (grub_efiemu_set_virtual_address_map): Likewise.
31531
31532 Newer XNU parameters.
31533
31534 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31535 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31536 (grub_xnu_fill_devicetree): New prototype.
31537 (grub_xnu_heap_real_start): New variable.
31538 * loader/xnu.c (get_name_ptr): New function.
31539 (grub_xnu_load_driver): Fill namelen and name.
31540
31541 64-bit xnu support.
31542
31543 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31544 and 'loader/macho64.c'.
31545 * conf/i386-pc.rmk: Likewise.
31546 * conf/x86_64-efi.rmk: Likewise.
31547 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31548 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31549 * include/grub/macho.h (grub_macho_segment64): New structure.
31550 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31551 (grub_macho_size32): ... to this.
31552 (grub_macho32_get_entry_point): Renamed from ...
31553 (grub_macho_get_entry_point32): ... to this.
31554 (grub_macho_contains_macho64): New prototype.
31555 (grub_macho_size64): Likewise.
31556 (grub_macho_get_entry_point64): Likewise.
31557 (grub_macho32_load): Renamed from ...
31558 (grub_macho_load32): ... to this.
31559 (grub_macho32_filesize): Renamed from ...
31560 (grub_macho_filesize32): ... to this.
31561 (grub_macho32_readfile): Renamed from ...
31562 (grub_macho_readfile32): ... to this.
31563 (grub_macho_filesize64): New prototype.
31564 (grub_macho_readfile64): Likewise.
31565 (grub_macho_parse32): Likewise.
31566 (grub_macho_parse64): Likewise.
31567 * loader/macho.c: Split into ...
31568 * loader/machoXX.c: ... and this. Replace 32 with XX.
31569 * loader/macho32.c: New file.
31570 * loader/macho64.c: Likewise.
31571 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31572 (grub_cmd_xnu_kernel): Make 32-bit only.
31573 (grub_cmd_xnu_kernel64): New function.
31574 (grub_xnu_load_driver): Support Mach-O 64.
31575 (grub_cmd_xnu_mkext): Likewise.
31576 * util/grub.d/30_os-prober.in (osx_entry): New function.
31577 Generate entries for 64-bit boot too.
31578
31579 Eliminate ad-hoc tree format in XNU and EfiEmu.
31580
31581 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31582 * efiemu/pnvram.c: Rewritten to use environment variables.
31583 All users updated.
31584
31585 Inline utf16_to_utf8.
31586
31587 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31588 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31589 All users updated.
31590 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31591
31592 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31593 * commands/usbtest.c (grub_usb_get_string): ... move here.
31594 (usb_print_str): Fix error handling.
31595 * include/grub/usb.h (grub_usb_get_string): Remove.
31596
31597 UTF-8 to UTF-16 transformation.
31598
31599 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31600 (charset_mod_SOURCES): New variable.
31601 (charset_mod_CFLAGS): Likewise.
31602 (charset_mod_LDFLAGS): Likewise.
31603 * include/grub/utf.h: New file.
31604 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31605
31606 Support for device properties.
31607
31608 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31609 (grub_xnu_devprop_device_header): Likewise.
31610 (grub_xnu_devprop_device_descriptor): Likewise.
31611 (grub_xnu_devprop_add_device): New prototype.
31612 (grub_xnu_devprop_remove_device): Likewise.
31613 (grub_xnu_devprop_remove_property): Likewise.
31614 (grub_xnu_devprop_add_property_utf8): Likewise.
31615 (grub_xnu_devprop_add_property_utf16): Likewise.
31616 (grub_cpu_xnu_init): Likewise.
31617 (grub_cpu_xnu_fini): Likewise.
31618 (grub_cpu_xnu_unload): Likewise.
31619 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31620 (property_descriptor): Likewise.
31621 (devices): New variable.
31622 (grub_xnu_devprop_remove_property): New function.
31623 (grub_xnu_devprop_add_device): Likewise.
31624 (grub_xnu_devprop_remove_device): Likewise.
31625 (grub_xnu_devprop_add_property): Likewise.
31626 (grub_xnu_devprop_add_property_utf8): Likewise.
31627 (grub_xnu_devprop_add_property_utf16): Likewise.
31628 (hextoval): Likewise.
31629 (grub_cpu_xnu_fill_devprop): Likewise.
31630 (grub_cmd_devprop_load): Likewise.
31631 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31632 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31633 (cmd_devprop_load): New variable.
31634 (grub_cpu_xnu_init): New function.
31635 (grub_cpu_xnu_fini): Likewise.
31636 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31637 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31638 (grub_cmd_xnu_devtree): Likewise.
31639 (hextoval): New function.
31640 (unescape): Likewise.
31641 (grub_xnu_fill_devicetree): Likewise.
31642
31643 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31644 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31645
31646 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31647
31648 Workaround for broken ATI VBE.
31649
31650 * video/i386/pc/vbe.c (last_set_mode): New variable.
31651 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31652 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31653 (grub_video_vbe_setup): Don't check for reserved flag.
31654
31655 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
31656
31657 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31658 the `find' command.
31659
31660 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31661
31662 UUID support for HFS.
31663
31664 * fs/hfs.c (grub_hfs_uuid): New function.
31665 (grub_hfs_fs): New value .uuid.
31666 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31667
31668 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
31669
31670 Fix a segfault with parsing unknown long options.
31671
31672 * util/grub-mkrelpath.c (options): Zero terminate it.
31673
31674 2009-12-13 Carles Pina i Estany <carles@pina.cat>
31675
31676 * include/grub/misc.h (grub_puts): New declaration.
31677 (grub_puts_): Likewise.
31678 * kern/misc.c (grub_puts): New definition.
31679 (grub_puts_): Likewise.
31680
31681 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31682
31683 * util/grub-probe.c (probe): Improve error message.
31684
31685 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31686
31687 * loader/i386/multiboot_elfxx.c
31688 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31689 initialization.
31690
31691 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31692
31693 Relocator framework
31694
31695 * loader/i386/xnu_helper.S: Removed. All users updated.
31696 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31697 (relocator_mod_SOURCES): New variable.
31698 (relocator_mod_CFLAGS): Likewise.
31699 (relocator_mod_LDFLAGS): Likewise.
31700 (relocator_mod_ASFLAGS): Likewise.
31701 * conf/x86_64.rmk: Likewise.
31702 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31703 (grub_multiboot_payload_entry_offset): Likewise.
31704 (grub_multiboot_forward_relocator): Likewise.
31705 (grub_multiboot_forward_relocator_end): Likewise.
31706 (grub_multiboot_backward_relocator): Likewise.
31707 (grub_multiboot_backward_relocator_end): Likewise.
31708 (grub_multiboot_payload_eip): New variable.
31709 (grub_multiboot_payload_orig): Likewise.
31710 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31711 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31712 * include/grub/i386/memory.h
31713 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31714 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31715 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31716 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31717 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31718 * include/grub/i386/relocator.h: New file.
31719 * include/grub/x86_64/relocator.h: Likewise.
31720 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31721 (XNU_RELOCATOR): New macro.
31722 (grub_xnu_launcher_start): Remove.
31723 (grub_xnu_launcher_end): Likewise.
31724 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31725 (grub_xnu_heap_real_start): Remove.
31726 (grub_xnu_heap_start): Change to void *. All users updated.
31727 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31728 * lib/i386/relocator.c: New file.
31729 * lib/i386/relocator_asm.S: Likewise.
31730 * lib/i386/relocator_backward.S: Likewise.
31731 * lib/mips/relocator.c: Likewise.
31732 * lib/mips/relocator_asm.S: Likewise.
31733 * lib/relocator.c: Likewise.
31734 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31735 (entry): Removed.
31736 (playground): Likewise.
31737 (grub_multiboot_payload_orig): New variable.
31738 (grub_multiboot_payload_dest): Likewise.
31739 (grub_multiboot_payload_size): Likewise.
31740 (grub_multiboot_payload_eip): Likewise.
31741 (grub_multiboot_payload_esp): Likewise.
31742 (grub_multiboot_boot): Use grub_relocator32_boot.
31743 (grub_multiboot_unload): Free relocators.
31744 (grub_multiboot): Setup stack. Use relocators.
31745 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31746 (grub_multiboot_load_elfXX): Use relocators.
31747 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31748 (grub_multiboot_payload_size): Likewise.
31749 (grub_multiboot_payload_dest): Likewise.
31750 (grub_multiboot_payload_entry_offset): Likewise.
31751 (grub_multiboot_forward_relocator): Likewise.
31752 (grub_multiboot_backward_relocator): Likewise.
31753 (grub_multiboot_real_boot): Likewise.
31754 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31755 (grub_xnu_entry_point): Likewise.
31756 (grub_xnu_arg1): Likewise.
31757 (grub_xnu_stack): Likewise.
31758 (grub_xnu_launch): Removed.
31759 (grub_xnu_boot_resume): New function.
31760 (grub_xnu_boot): Use relocators.
31761 * loader/i386/xnu_helper.S: Removed.
31762 * loader/xnu.c (grub_xnu_heap_start): New variable.
31763 (grub_xnu_heap_size): Likewise.
31764 (grub_xnu_heap_malloc): Use relocators.
31765 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31766
31767 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31768
31769 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31770 anything.
31771
31772 2009-12-13 Carles Pina i Estany <carles@pina.cat>
31773
31774 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31775 GRUB_ERR_NONE before calling grub_env_set.
31776
31777 2009-12-12 Robert Millan <rmh@aybabtu.com>
31778
31779 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31780 * genmk.rb (video): New variable.
31781 (CLEANFILES, VIDEOFILES): Add #{video}.
31782 (#{video}): New target rule.
31783 * genvideolist.sh: New file.
31784 * Makefile.in (pkglib_DATA): Add video.lst.
31785 (video.lst): New target rule.
31786 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31787 `video.lst'.
31788 * util/grub.d/30_os-prober.in: Replace `vbe' with
31789 ${GRUB_VIDEO_BACKEND}.
31790
31791 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31792
31793 * THANKS: Add David Miller.
31794
31795 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31796
31797 libpciaccess support.
31798
31799 * Makefile.in (LIBPCIACCESS): New variable.
31800 (enable_grub_emu_pci): Likewise.
31801 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31802 util/pci.c and commands/lspci.c.
31803 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31804 * configure.ac (grub-emu-pci): New option.
31805 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31806 (grub_pci_device_unmap_range): Likewise.
31807 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31808 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31809 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31810 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31811 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31812 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31813 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31814 * include/grub/pciutils.h: New file.
31815 * util/pci.c: Likewise.
31816
31817 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
31818
31819 * util/misc.c: Don't include <errno.h> twice.
31820
31821 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
31822
31823 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31824 name in an error message.
31825 (grub_biosdisk_rw): Likewise.
31826
31827 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31828
31829 Eliminate NTFS 4Gib barrier.
31830
31831 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31832 (read_run_data): Likewise.
31833 (grub_ntfs_read_run_list): Likewise.
31834 (grub_ntfs_read_block): Likewise.
31835 (grub_ntfs_iterate_dir): Likewise.
31836 (read_mft): Likewise.
31837 (read_data): Likewise.
31838 Use COM_LOG_LEN.
31839 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31840 to avoid 64-bit division
31841 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31842 (grub_ntfs_rlst): Use grub_disk_addr_t.
31843
31844 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31845
31846 Eliminate grub-fstest 4Gib barrier.
31847
31848 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31849 (read_file): Fix error reporting.
31850
31851 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31852
31853 Eliminate hexdump 4Gib barrier.
31854
31855 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31856 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31857
31858 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31859
31860 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31861 Fixes amarsh bug.
31862
31863 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31864
31865 Remove miscellaneous files in distclean target.
31866
31867 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31868
31869 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
31870
31871 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31872 if they're already set. This resolves the conflict between my
31873 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31874 fixing the --grub-probe option again.
31875 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31876 change on 2009-10-06, so that we now once again source
31877 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31878
31879 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31880
31881 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31882 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31883 `util/devicemap.c'.
31884
31885 2009-12-08 Carles Pina i Estany <carles@pina.cat>
31886
31887 * include/grub/misc.h (grub_printf_): New declaration.
31888 * kern/misc.c (grub_printf_): New definition.
31889 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31890 instead of `grub_printf' and `_'.
31891 * normal/menu_entry.c (store_completion): Likewise.
31892 (run): Likewise.
31893 (grub_menu_entry_run): Likewise.
31894 * normal/menu_text.c (grub_wait_after_message): Likewise.
31895 (notify_booting): Likewise.
31896 (notify_fallback): Likewise.
31897 (notify_execution_failure): Likewise.
31898
31899 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
31900
31901 * configure.ac: Check for vasprintf.
31902 * util/misc.c (asprintf): Move allocation from here ...
31903 (vasprintf): ... to here. New function.
31904 (xasprintf): New function.
31905 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31906 prototypes.
31907 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31908 * util/grub-mkfont.c (write_font): Likewise.
31909 * util/grub-probe.c (probe): Likewise.
31910 * util/hostdisk.c (make_device_name): Likewise.
31911
31912 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
31913
31914 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31915 anything even prefixed with 'cdrom' as a cdrom.
31916
31917 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
31918
31919 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31920 mount points.
31921
31922 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31923
31924 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31925 grub_gettext_msg_list.
31926 (grub_gettext_gettranslation_from_position): Return const char *
31927 and not char *.
31928 (grub_gettext_translate): Add the translated strings into a list,
31929 returns from the list if existing there.
31930 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31931 (grub_gettext_delete_list): Delete the list.
31932 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31933 lang environment variable is changed.
31934 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31935
31936 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31937
31938 Rename kernel.mod to kernel.img.
31939
31940 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31941 (kernel_mod_EXPORTS): Rename to ...
31942 (kernel_img_EXPORTS): ... this.
31943 (kernel_mod_SOURCES): Rename to ...
31944 (kernel_img_SOURCES): ... this.
31945 (kernel_mod_HEADERS): Rename to ...
31946 (kernel_img_HEADERS): ... this. All users updated.
31947 (kernel_mod_CFLAGS): Rename to ...
31948 (kernel_img_CFLAGS): ... this.
31949 (kernel_mod_ASFLAGS): Rename to ...
31950 (kernel_img_ASFLAGS): ... this.
31951 (kernel_mod_LDFLAGS): Rename to ...
31952 (kernel_img_LDFLAGS): ... this.
31953 * conf/x86_64-efi.rmk: Likewise.
31954 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31955 (read_kernel_image): ... this. All users updated.
31956 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31957
31958 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31959
31960 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31961 (print_spaces): New function.
31962 (grub_print_ucs4): New function.
31963 (getstringwidth): New function.
31964 (print_message_indented): New function.
31965 (print_message): Gettexttize strings using print_message_indented.
31966 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31967 width.
31968 (get_entry_number): Gettextize and uses dynamic terminal width.
31969 (notify_booting, notify_fallback, notify_execution_failure):
31970 Gettextize.
31971 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31972 string.
31973 (run): Likewise.
31974 (grub_menu_entry_run): Likewise.
31975 * PO/POTFILES: Add normal/menu_entry.c.
31976
31977 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31978
31979 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31980
31981 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31982
31983 * util/grub-install.in: Install gettext .mo files.
31984 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31985
31986 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31987
31988 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31989 grub_dprintf.
31990
31991 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31992
31993 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31994 non-firmware-dependant one in realmode.S takes precedence.
31995
31996 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31997
31998 * commands/halt.c: Replace misc arch-specific headers with
31999 `<grub/misc.h>'.
32000 * commands/reboot.c: Likewise.
32001 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32002 `<grub/misc.h>'.
32003 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32004 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32005 (kernel_img_SOURCES): ... to here.
32006
32007 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32008 * include/grub/i386/pc/init.h: Likewise.
32009 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32010 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32011
32012 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32013
32014 * include/grub/i386/halt.h: Remove.
32015 * include/grub/i386/reboot.h: Likewise.
32016
32017 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32018
32019 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
32020
32021 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32022 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32023 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32024 "progname.h"
32025 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32026 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32027 (usage): Add missing comma in printf.
32028
32029 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 Use the same reboot approach on i386 coreboot and qemu as we do on
32032 BIOS.
32033
32034 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32035 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32036 * kern/i386/reboot.c: Remove.
32037 * include/grub/i386/reboot.h (grub_reboot): Export function.
32038 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32039 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32040 0xf000:0xfff0 instead of 0xffff:0x0000.
32041 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32042 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32043
32044 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32045
32046 Fix $srcdir != $objdir build.
32047
32048 * Makefile.in (po/%.po): Rewrite as ...
32049 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32050
32051 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32052
32053 Fix GNU/Hurd grub-install crash.
32054 * util/grub-probe.c (probe): Try to access `path' only when it is not
32055 NULL.
32056
32057 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32058
32059 Correct module naming.
32060
32061 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32062 (GRUB_MOD_INIT(efi_uga)): ... to this
32063 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32064 (GRUB_MOD_FINI(efi_uga)): ... to this
32065 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32066 (GRUB_MOD_INIT(efi_gop)): ... to this
32067 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32068 (GRUB_MOD_FINI(efi_gop)): ... to this
32069
32070 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32073 translatable.
32074 (usage): Translate `arg' strings using gettext().
32075 Thanks to Jordi Mallach for the suggestion.
32076
32077 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32078
32079 GOP support. Based on patch from Bean
32080 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32081
32082 * video/efi_gop.c: New file.
32083 * include/grub/efi/graphics_output.h: Likewise.
32084 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32085 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32086 variables.
32087 * conf/x86_64-efi.rmk: Likewise.
32088
32089 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32090
32091 Rename efi_fb to efi_uga.
32092
32093 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32094 'efi_uga.mod'.
32095 (efi_fb_mod_SOURCES): Rename this ...
32096 (efi_uga_mod_SOURCES): ... to this.
32097 (efi_fb_mod_CFLAGS): Rename this ...
32098 (efi_uga_mod_CFLAGS): ... to this.
32099 (efi_fb_mod_LDFLAGS): Rename this ...
32100 (efi_uga_mod_LDFLAGS): ... to this.
32101 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32102 'efi_uga.mod'.
32103 (efi_fb_mod_SOURCES): Rename this ...
32104 (efi_uga_mod_SOURCES): ... to this.
32105 (efi_fb_mod_CFLAGS): Rename this ...
32106 (efi_uga_mod_CFLAGS): ... to this.
32107 (efi_fb_mod_LDFLAGS): Rename this ...
32108 (efi_uga_mod_LDFLAGS): ... to this.
32109 * video/efi_fb.c: Move this ...
32110 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32111
32112 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32113
32114 * po/README: New file. Explain our PO file workflow.
32115
32116 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32117
32118 * po/ChangeLog: Remove. Move relevant entries back to ...
32119 * ChangeLog: ... here.
32120 * po/ca.po: Remove (now handled by TLP).
32121 * po/id.po: Likewise.
32122 * po/zh_CN.po: Likewise.
32123 * Makefile.in (LINGUAS): Initialize in a way that supports
32124 empty set.
32125
32126 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32127
32128 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32129 reliing on po/LINGUAS.
32130 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32131 (po/%.po): ... this.
32132
32133 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32134
32135 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32136 (main): Use `program_name' instead of nonexistent `progname'.
32137
32138 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32139
32140 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32141 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32142
32143 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32144
32145 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32146 commit.
32147 * conf/i386-efi.rmk: Likewise.
32148 * conf/i386-ieee1275.rmk: Likewise.
32149 * conf/powerpc-ieee1275.rmk: Likewise.
32150 * conf/sparc64-ieee1275.rmk: Likewise.
32151 * conf/x86_64-efi.rmk: Likewise.
32152
32153 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32154
32155 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32156
32157 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32158
32159 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32160
32161 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32162
32163 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32164 (grub_mkdevicemap_SOURCES): New variable.
32165 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32166 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32167 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32168 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32169 (grub_mkdevicemap_SOURCES): Remove.
32170 * conf/i386-efi.rmk: Likewise.
32171 * conf/i386-ieee1275.rmk: Likewise.
32172 * conf/i386-pc.rmk: Likewise.
32173 * conf/powerpc-ieee1275.rmk: Likewise.
32174 * conf/sparc64-ieee1275.rmk: Likewise.
32175 * conf/x86_64-efi.rmk: Likewise.
32176 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32177 (usage): Fix strings to use `program_name'.
32178 (main): Initialize gettext.
32179 * util/grub-editenv.c: Likewise.
32180 * util/grub-emu.c: Likewise.
32181 * util/grub-fstest.c: Likewise.
32182 * util/grub-mkdevicemap.c: Likewise.
32183 * util/grub-mkfont.c: Likewise.
32184 * util/grub-mkrelpath.c: Likewise.
32185 * util/grub-pe2elf.c: Likewise.
32186 * util/grub-probe.c: Likewise.
32187 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32188 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32189 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32190
32191 * util/misc.c: Include `"progname.h"'.
32192 (progname): Remove variable.
32193 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32194
32195 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32196
32197 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32198 printf and print a newline after the menuentry header line.
32199 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32200
32201 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32202
32203 autoconf >= 2.60 support $(localedir).
32204
32205 * INSTALL: Note that autoconf 2.60 is required.
32206 * configure.ac (AC_PREREQ): Bump to 2.60.
32207 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32208 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32209
32210 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32211
32212 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32213 aclocal is run.
32214
32215 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32216
32217 * normal/main.c (grub_normal_read_line): Fix off-by-one
32218 buffer overflow.
32219
32220 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32221
32222 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32223 "parser.grub" in grub_command_execute() call.
32224
32225 2009-11-24 Carles Pina i Estany <carles@pina.cat>
32226
32227 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32228 * conf/i386-efi.rmk: Likewise.
32229 * conf/i386-ieee1275.rmk: Likewise.
32230 * conf/i386-pc.rmk: Likewise.
32231 * conf/powerpc-ieee1275.rmk: Likewise.
32232 * conf/sparc64-ieee1275.rmk: Likewise.
32233 * conf/x86_64-efi.rmk: Likewise.
32234 * gettext/gettex.c: Include <grub/i18n.h>.
32235 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32236 here ...
32237 * include/grub/i18n.h: ... to here
32238 * include/grub/i18n.h: ... to here.
32239 * kern/misc.c: Include <grub/i18n.h>
32240 (grub_gettext_dummy): Move above user.
32241
32242 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32243
32244 * util/Makefile.in (install-local): Convert a `for' into a normal
32245 shell expansion.
32246
32247 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32248
32249 * autogen.sh: Add automake call.
32250 * config.guess: Remove.
32251 * config.sub: Likewise.
32252 * install-sh: Likewise.
32253
32254 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32255
32256 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32257
32258 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32259
32260 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32261 function to a normal shell `for'.
32262
32263 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32264
32265 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32266
32267 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32268
32269 * util/grub-mkrelpath.c: New file.
32270 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32271 (grub_mkrelpath_SOURCES): New variable.
32272 * include/grub/util/misc.h: New function prototype.
32273 * util/misc.c (make_system_path_relative_to_its_root): New function.
32274
32275 * util/grub-mkconfig_lib.in (bindir): New variable.
32276 (grub_mkrelpath): Likewise.
32277 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32278
32279 * util/probe.c (probe): Make the file path relative to its root.
32280 Change a info message to use the GRUB path. Enable again the
32281 check if we can read the file with GRUB facilities.
32282
32283 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32284 to its root.
32285
32286 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32287
32288 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32289 platform.
32290
32291 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32292
32293 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32294 strncmp().
32295
32296 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32297
32298 * util/getroot.c (grub_util_is_dmraid): New function.
32299 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32300 devices as normal ones, not as LVM.
32301
32302 2009-11-23 Carles Pina i Estany <carles@pina.cat>
32303
32304 * conf/common.rmk: Add grub-gettext_lib target and updates
32305 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32306 LDFLAGS.
32307 * gettext/gettext.c: New file. (Reads mo files).
32308 * include/grub/file.h (grub_file_pread): New prototype.
32309 * include/grub/i18n.h (_): New prototype.
32310 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32311 prototypes.
32312 * kern/misc.c (grub_gettext_dummy): New function.
32313 * normal/menu_text.c: Include <grub/i18n.h>.
32314 * normal/menu_text.c (print_timeout): Gettexttize string.
32315 * normal/menu_text.c (print_message): Gettexttize string.
32316 * po/POTFILES: Add `normal/menu_text.c'.
32317 * po/ca.po: Add new translations.
32318 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32319 gettext module and defines locale_dir and lang in grub.cfg.
32320 * NEWS: Add gettext support.
32321
32322 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32323
32324 * util/hostdisk.c: Include `<grub/i18n.h>'.
32325 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32326 (make_device_name): Rewrite using asprintf.
32327 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32328 (find_system_device): If a device is not found, generate one just
32329 by reusing the OS path name.
32330 (read_device_map): Make it permissible for device.map not to exist.
32331
32332 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32333
32334 * script/sh/execute.c: Move from here ...
32335 * script/execute.c: ... to here. Update all users.
32336 * script/sh/function.c: Move from here ...
32337 * script/function.c: ... to here. Update all users.
32338 * script/sh/lexer.c: Move from here ...
32339 * script/lexer.c: ... to here. Update all users.
32340 * script/sh/main.c: Move from here ...
32341 * script/main.c: ... to here. Update all users.
32342 * script/sh/parser.y: Move from here ...
32343 * script/parser.y: ... to here. Update all users.
32344 * script/sh/script.c: Move from here ...
32345 * script/script.c: ... to here. Update all users.
32346
32347 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32348
32349 * configure.ac: Detect all `emu' platforms. Define
32350 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32351 --enable-grub-emu logic. Disable include/grub/machine
32352 symlink on `emu' platforms.
32353
32354 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32355 * gensymlist.sh.in: Likewise.
32356
32357 * include/grub/i386/coreboot/machine.h: Remove file.
32358 * include/grub/i386/efi/machine.h: Likewise.
32359 * include/grub/i386/ieee1275/machine.h: Likewise.
32360 * include/grub/i386/pc/machine.h: Likewise.
32361 * include/grub/i386/qemu/machine.h: Likewise.
32362 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32363 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32364 * include/grub/x86_64/efi/machine.h: Likewise.
32365
32366 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32367 * commands/halt.c: Likewise.
32368 * commands/reboot.c: Likewise.
32369 * include/grub/autoefi.h: Likewise.
32370 * include/grub/i386/at_keyboard.h: Likewise.
32371 * include/grub/i386/kernel.h: Likewise.
32372 * include/grub/i386/loader.h: Likewise.
32373 * include/grub/i386/pc/memory.h: Likewise.
32374 * kern/dl.c: Likewise.
32375 * kern/i386/coreboot/init.c: Likewise.
32376 * loader/i386/bsd.c: Likewise.
32377 * loader/i386/linux.c: Likewise.
32378 * loader/multiboot_loader.c: Likewise.
32379 * term/i386/pc/serial.c: Likewise.
32380 * term/usb_keyboard.c: Likewise.
32381
32382 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32383 `<grub/machine/machine.h>'
32384 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32385 * util/misc.c: Remove `<grub/machine/machine.h>' and
32386 `<grub/machine/time.h>'.
32387
32388 * Makefile.in (enable_grub_emu): Remove variable.
32389 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32390
32391 * conf/any-emu.rmk: New file.
32392 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32393 (grub_emu_init.c): Move from here ...
32394 * conf/any-emu.rmk: ... to here.
32395
32396 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32397 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32398 * conf/any-emu.rmk: ... to here.
32399
32400 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32401
32402 * include/grub/parser.h (grub_parser_register): Document need
32403 of `name' parameter.
32404 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32405 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32406 "sh" to "grub".
32407
32408 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32409
32410 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32411 `$(XGETTEXT)'.
32412 * include/grub/i18n.h (N_): New macro.
32413 * util/mkisofs/mkisofs.h: Likewise.
32414 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32415 around N_().
32416 (usage): Use gettext() to translate help strings when printing them.
32417
32418 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32419
32420 Based on patch from Bean
32421 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32422
32423 * video/efi_fb.c: New file.
32424 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32425 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32426 variables.
32427 * conf/x86_64-efi.rmk: Likewise.
32428
32429 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32430
32431 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32432 * util/i386/pc/grub-setup.c: Likewise.
32433
32434 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32435
32436 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32437 <hurd/fs.h>
32438 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32439 file_get_storage_info to implement grub_guess_root_device.
32440
32441 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32442
32443 * Makefile.in (target): Use make's builtin $(shell) function
32444 instead of calling directly $(SHELL) to create the locale directories,
32445 inside the $(foreach) function.
32446
32447 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32448
32449 * util/grub-mkrescue.in: Print an error and usage if output option
32450 has not been given.
32451
32452 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32453
32454 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32455 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32456 root and /boot are on different devices.
32457
32458 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32459
32460 Fix build for srcdir != objdir.
32461
32462 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32463 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32464 $(srcdir).
32465 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32466 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32467 reference for input.
32468
32469 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32472 or hardlinking it). Remove -J option, Joliet is not compatible with
32473 multiple source directories.
32474
32475 2009-11-21 Carles Pina i Estany <carles@pina.cat>
32476 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32479 (process_input_dir): New function. Process an arbitrary input
32480 directory.
32481 Misc adjustments to support both "override mode" and system-wide mode.
32482
32483 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32484
32485 * configure.ac (UNIFONT_BDF): Rename to ...
32486 (FONT_SOURCE): ... this. Update all users.
32487
32488 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32489
32490 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32491 to the list of unifont files to look for.
32492
32493 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32494
32495 Patch from Joe Auricchio <jauricchio@gmail.com>
32496 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32497 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32498 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32499
32500 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32501
32502 * Makefile.in (install-local): Add a missing backslash.
32503
32504 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32505
32506 * include/grub/x86_64/io.h: New file.
32507
32508 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32511 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32512 Include `"progname.h"'.
32513 (main): Initialize gettext.
32514 * util/i386/pc/grub-setup.c: Gettexttize.
32515 * util/i386/pc/grub-mkimage.c: Likewise.
32516
32517 * Makefile.in (po/*.po): Redefine as ...
32518 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32519
32520 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32521
32522 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32523
32524 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32525 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32526 (program_name): Remove.
32527 (main): Initialize gettext support.
32528 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32529 Include `<libintl.h>'.
32530 (_): New macro.
32531
32532 * util/mkisofs/eltorito.c: Gettexttize.
32533 * util/mkisofs/joliet.c: Likewise.
32534 * util/mkisofs/mkisofs.c: Likewise.
32535 * util/mkisofs/multi.c: Likewise.
32536 * util/mkisofs/rock.c: Likewise.
32537 * util/mkisofs/tree.c: Likewise.
32538 * util/mkisofs/write.c: Likewise.
32539
32540 * po/POTFILES: Update with new files.
32541
32542 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32543
32544 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32545 * util/mkisofs/iso9660.h: Likewise.
32546 * util/mkisofs/joliet.c: Likewise.
32547 * util/mkisofs/mkisofs.c: Likewise.
32548 * util/mkisofs/mkisofs.h: Likewise.
32549 * util/mkisofs/rock.c: Likewise.
32550 * util/mkisofs/tree.c: Likewise.
32551 * util/mkisofs/write.c: Likewise.
32552
32553 * util/mkisofs/eltorito.c (rcsid): Remove.
32554 * util/mkisofs/hash.c: Likewise.
32555 * util/mkisofs/joliet.c: Likewise.
32556 * util/mkisofs/name.c: Likewise.
32557 * util/mkisofs/rock.c: Likewise.
32558 * util/mkisofs/tree.c: Likewise.
32559 * util/mkisofs/write.c: Likewise.
32560
32561 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32562
32563 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32564 instead of static allocation.
32565 * util/mkisofs/match.h: Likewise.
32566
32567 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32568
32569 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32570 and `util/grub.d/10_linux.in'.
32571 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32572 translatable Shell files.
32573
32574 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32575
32576 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32577
32578 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32579
32580 * INSTALL: Document Automake is needed for bootstrap.
32581 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
32582 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32583 Add gettext initialization.
32584 (kfreebsd_entry): Make menuentry output translatable.
32585
32586 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32587
32588 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32589 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32590 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32591 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32592 (LINGUAS): Auto-generate using `po/LINGUAS'.
32593 * po/LINGUAS: New file.
32594
32595 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32596
32597 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32598 other things).
32599 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32600 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32601 bindtextdomain() calls for gettext initialization.
32602
32603 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32604
32605 * gnulib/progname.c: New file (imported from Gnulib).
32606 * gnulib/progname.h: Likewise.
32607 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32608 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32609 (usage): Replace `progname' with `program_name'.
32610 (main): Use set_program_name() for program name initialization.
32611
32612 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32613
32614 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32615 from here ...
32616 * Makefile.in (CPPFLAGS): ... to here.
32617
32618 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32619
32620 * aclocal.m4: Move from here ...
32621 * acinclude.m4: ... to here.
32622 * autogen.sh: Add call to `aclocal'.
32623 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32624
32625 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32628 (LINGUAS): New variable.
32629 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32630 (install-local): Install MO files.
32631 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32632 * include/grub/i18n.h: New file.
32633 * po/POTFILES: New file.
32634 * po/ca.po: New file.
32635 * util/grub.d/10_linux.in (bindir): New variable.
32636 Add gettext initialization.
32637 (linux_entry): Make menuentry output translatable.
32638 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32639 (usage): Make --help output translatable.
32640 (main): Initialize gettext.
32641
32642 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32643
32644 * import_gcry.py: New file (written by Vladimir with minor
32645 adjustments).
32646 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32647 ciphers.
32648 * INSTALL: Document that Python is required for bootstrap.
32649
32650 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 Import ciphers from libgcrypt 1.4.4.
32653
32654 * lib/libgcrypt/cipher/ChangeLog
32655 * lib/libgcrypt/cipher/ac.c
32656 * lib/libgcrypt/cipher/arcfour.c
32657 * lib/libgcrypt/cipher/bithelp.h
32658 * lib/libgcrypt/cipher/blowfish.c
32659 * lib/libgcrypt/cipher/camellia-glue.c
32660 * lib/libgcrypt/cipher/camellia.c
32661 * lib/libgcrypt/cipher/camellia.h
32662 * lib/libgcrypt/cipher/cast5.c
32663 * lib/libgcrypt/cipher/cipher.c
32664 * lib/libgcrypt/cipher/crc.c
32665 * lib/libgcrypt/cipher/des.c
32666 * lib/libgcrypt/cipher/dsa.c
32667 * lib/libgcrypt/cipher/ecc.c
32668 * lib/libgcrypt/cipher/elgamal.c
32669 * lib/libgcrypt/cipher/hash-common.c
32670 * lib/libgcrypt/cipher/hash-common.h
32671 * lib/libgcrypt/cipher/hmac-tests.c
32672 * lib/libgcrypt/cipher/md.c
32673 * lib/libgcrypt/cipher/md4.c
32674 * lib/libgcrypt/cipher/md5.c
32675 * lib/libgcrypt/cipher/primegen.c
32676 * lib/libgcrypt/cipher/pubkey.c
32677 * lib/libgcrypt/cipher/rfc2268.c
32678 * lib/libgcrypt/cipher/rijndael-tables.h
32679 * lib/libgcrypt/cipher/rijndael.c
32680 * lib/libgcrypt/cipher/rmd.h
32681 * lib/libgcrypt/cipher/rmd160.c
32682 * lib/libgcrypt/cipher/rsa.c
32683 * lib/libgcrypt/cipher/seed.c
32684 * lib/libgcrypt/cipher/serpent.c
32685 * lib/libgcrypt/cipher/sha1.c
32686 * lib/libgcrypt/cipher/sha256.c
32687 * lib/libgcrypt/cipher/sha512.c
32688 * lib/libgcrypt/cipher/tiger.c
32689 * lib/libgcrypt/cipher/twofish.c
32690 * lib/libgcrypt/cipher/whirlpool.c
32691
32692 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32693
32694 Fix build for systems without error().
32695
32696 * gnulib/error.c: New file (imported from Gnulib).
32697 * gnulib/error.h: Likewise.
32698 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32699 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32700 (this variable is now used by error()).
32701
32702 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
32703
32704 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32705 instead of relying that char is signed.
32706
32707 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32708
32709 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32710 blocksize different from specified.
32711 (grub_pxefs_read): Likewise.
32712
32713 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
32714
32715 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32716
32717 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32718 (grub_ata_readwrite): Likewise. Update 2 format strings.
32719 (grub_atapi_read): Likewise.
32720
32721 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32722 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32723 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32724 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32725 (ata_mod_LDFLAGS): Move from here ...
32726 * conf/i386.rmk: ... to here ...
32727 * conf/x86_64-efi.rmk: ... and here.
32728 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32729 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32730
32731 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32732
32733 Relicense multiboot.h, with RMS' blessing.
32734
32735 * include/multiboot.h: Change to X11 license.
32736
32737 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32738
32739 Support --version in grub-mkisofs.
32740
32741 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32742 (OPTION_VERSION): New macro.
32743 (ld_options): Recognize --version.
32744 (usage): Move `program_name' from here ...
32745 (program_name): ... to here. Add `static' qualifier.
32746 (main): Recognize `OPTION_VERSION'.
32747
32748 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
32749
32750 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32751 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32752
32753 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32754
32755 Fix help2man generation for mkisofs.
32756
32757 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32758 (usage): Send output to stdout (rather than stderr).
32759
32760 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32761
32762 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32763 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32764 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32765 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32766 (bin_SCRIPTS): Add `grub-mkfloppy'.
32767 (grub_mkfloppy_SOURCES): New variable.
32768
32769 * util/grub-mkrescue.in: New file.
32770 * util/i386/pc/grub-mkfloppy.in: New file.
32771
32772 * util/i386/coreboot/grub-mkrescue.in: Remove.
32773 * util/i386/pc/grub-mkrescue.in: Remove.
32774
32775 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32776
32777 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32778 from here ...
32779 * include/multiboot.h (struct multiboot_header): ... to here. Update
32780 all users.
32781 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32782 from here ...
32783 * include/multiboot.h (struct multiboot_info): ... to here. Update
32784 all users.
32785 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32786 from here ...
32787 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32788 Update all users.
32789 * include/grub/multiboot.h (struct grub_mod_list): Move
32790 from here ...
32791 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32792 Update all users.
32793
32794 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32795
32796 * include/multiboot2.h (multiboot_word): Rename from this ...
32797 (multiboot2_word): ... to this. Update all users.
32798 (multiboot_header): Rename from this ...
32799 (multiboot2_header): ... to this. Update all users.
32800 (multiboot_tag_header): Rename from this ...
32801 (multiboot2_tag_header): ... to this. Update all users.
32802 (multiboot_tag_start): Rename from this ...
32803 (multiboot2_tag_start): ... to this. Update all users.
32804 (multiboot_tag_name): Rename from this ...
32805 (multiboot2_tag_name): ... to this. Update all users.
32806 (multiboot_tag_module): Rename from this ...
32807 (multiboot2_tag_module): ... to this. Update all users.
32808 (multiboot_tag_memory): Rename from this ...
32809 (multiboot2_tag_memory): ... to this. Update all users.
32810 (multiboot_tag_unused): Rename from this ...
32811 (multiboot2_tag_unused): ... to this. Update all users.
32812 (multiboot_tag_end): Rename from this ...
32813 (multiboot2_tag_end): ... to this. Update all users.
32814
32815 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32816
32817 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32818 this platform we should support Multiboot1 first.
32819
32820 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32821 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32822 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32823
32824 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32825
32826 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32827 of write calls (converting them to fwrite() if they aren't already).
32828 (get_torito_desc): Likewise.
32829 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32830
32831 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32832
32833 * util/i386/pc/grub-install.in: Move from here ...
32834 * util/grub-install.in: ... to here. Update all users.
32835
32836 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
32837
32838 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32839
32840 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 Support for El Torito without floppy emulation.
32843
32844 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32845 (init_boot_catalog): Improve error handling.
32846 (get_torito_desc): Don't use floppy emulation unless requested by
32847 user. Patch boot information table when requested via
32848 `-boot-info-table'.
32849 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32850 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32851 (use_boot_info_table): New variables.
32852 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32853 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32854 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32855 `--eltorito-emul-floppy'.
32856 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32857 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32858 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32859 (use_boot_info_table, get_731): New prototypes.
32860 * util/mkisofs/write.c (get_731): New function.
32861
32862 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
32863
32864 Fix the generation of the man page.
32865
32866 * util/pc/i386/grub-install.in: Source
32867 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32868
32869 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 Large file support for grub-mkisofs.
32872
32873 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32874 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32875 (session_start): Upgrade type to `uint64_t'. Update all users.
32876 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32877 (struct directory_entry): Upgrade type of `starting_block' and
32878 `size' to `uint64_t'. Update all users.
32879 (struct deferred): Remove unused structure.
32880 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32881 Update all users.
32882 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32883 file is larger than `UINT32_MAX'.
32884 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32885 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32886 return value.
32887 (struct deferred_write): Upgrade type of `extent' and `size' to
32888 `uint64_t'. Update all users.
32889 (last_extent_written): Upgrade type to `uint64_t'. Update all
32890 users.
32891 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32892 Update all users. Upgrade type of `remain' to `int64_t' and
32893 `use' to `size_t'. Use error() to handle fread() errors.
32894 (write_files): Rely on write_one_file() rather than calling
32895 xfwrite() directly.
32896
32897 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
32898
32899 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32900
32901 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32902
32903 * util/mkisofs/fnmatch.c: Remove.
32904 * util/mkisofs/getopt1.c: Likewise.
32905 * util/mkisofs/getopt.c: Likewise.
32906 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32907 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32908 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32909 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32910 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32911
32912 * configure.ac: Detect `mingw32msvc' host_os.
32913 Check for lstat(), getuid() and getgid().
32914
32915 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32916 instances of `u_char' with `uint8_t'.
32917
32918 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32919 [!HAVE_GETUID] (getuid): New function (stub).
32920 [!HAVE_GETGID] (getgid): Likewise.
32921 [!HAVE_LSTAT] (lstat): Likewise.
32922 [!S_IROTH] (S_IROTH): New macro (dummy).
32923 [!S_IRGRP] (S_IRGRP): Likewise.
32924
32925 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32926
32927 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32928 conditional expression).
32929
32930 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32931
32932 Import from Gnulib.
32933
32934 * gnulib/fnmatch.c: New file.
32935 * gnulib/fnmatch.h: Likewise.
32936 * gnulib/fnmatch_loop.c: Likewise.
32937 * gnulib/getopt.c: Likewise.
32938 * gnulib/getopt.h: Likewise.
32939 * gnulib/getopt1.c: Likewise.
32940 * gnulib/getopt_int.h: Likewise.
32941 * gnulib/gettext.h: Likewise.
32942
32943 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32944
32945 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32946 * normal/handler.c (read_handler_list): Likewise.
32947
32948 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 Misc cleanup.
32951
32952 * kern/command.c (grub_register_command_prio): Use
32953 grub_zalloc() instead of explicitly zeroing data.
32954 * kern/list.c: Include `<grub/mm.h>'.
32955 (grub_named_list_find): Replace `0' with `NULL'.
32956 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32957 (fs_module_list): Change type to `grub_named_list_t'. Update all
32958 users.
32959 * normal/dyncmd.c (read_command_list): Add space between function
32960 call and parenthesis.
32961 * normal/handler.c (read_handler_list): Likewise.
32962
32963 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32964
32965 * normal/auth.c (punishment_delay): Moved from here ...
32966 (grub_auth_strcmp): ... to here (inside function).
32967
32968 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * include/grub/list.h (struct grub_named_list): Remove `const'
32971 qualifier from `name'.
32972 (struct grub_prio_list): Likewise.
32973
32974 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32975
32976 * normal/auth.c: Include `<grub/time.h>'.
32977 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32978
32979 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32980
32981 * normal/auth.c (punishment_delay): New variable.
32982 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32983 (grub_auth_check_authentication): Punish failed login attempts with
32984 an incremental (2^N) delay.
32985
32986 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32989 path with $(srcdir).
32990
32991 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32992
32993 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32994
32995 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32996
32997 * util/i386/coreboot/grub-mkrescue.in: New file.
32998 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32999 variables.
33000
33001 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33002 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33003 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33004 requirements.
33005 * util/mkisofs/defaults.h: New file.
33006 * util/mkisofs/eltorito.c: Likewise.
33007 * util/mkisofs/exclude.h: Likewise.
33008 * util/mkisofs/fnmatch.c: Likewise.
33009 * util/mkisofs/getopt.c: Likewise.
33010 * util/mkisofs/getopt1.c: Likewise.
33011 * util/mkisofs/hash.c: Likewise.
33012 * util/mkisofs/include/fctldefs.h: Likewise.
33013 * util/mkisofs/include/mconfig.h: Likewise.
33014 * util/mkisofs/include/prototyp.h: Likewise.
33015 * util/mkisofs/include/statdefs.h: Likewise.
33016 * util/mkisofs/iso9660.h: Likewise.
33017 * util/mkisofs/joliet.c: Likewise.
33018 * util/mkisofs/match.c: Likewise.
33019 * util/mkisofs/match.h: Likewise.
33020 * util/mkisofs/mkisofs.c: Likewise.
33021 * util/mkisofs/mkisofs.h: Likewise.
33022 * util/mkisofs/multi.c: Likewise.
33023 * util/mkisofs/name.c: Likewise.
33024 * util/mkisofs/rock.c: Likewise.
33025 * util/mkisofs/tree.c: Likewise.
33026 * util/mkisofs/write.c: Likewise.
33027
33028 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33029
33030 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33031 being insecure.
33032
33033 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33036 `grub-mkimage' (and use $0 when possible).
33037
33038 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33039
33040 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33041 error message for excessively large memory map.
33042
33043 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33044
33045 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33046 executable bit.
33047
33048 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33051 message for coreboot users.
33052
33053 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33054
33055 Fix build with GNU gold.
33056
33057 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33058 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33059 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33060 link addresses.
33061 * aclocal.m4: Likewise.
33062
33063 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
33064
33065 * configure.ac (AC_PREREQ): Bump to 2.59d.
33066 * INSTALL: Make it more clear when Autoconf and Ruby are
33067 needed and when to run `./autogen.sh'.
33068
33069 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33070
33071 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33072 OSes.
33073
33074 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33075
33076 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33077
33078 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33079
33080 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33081 giving it to GNU Mach.
33082
33083 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33084
33085 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33086 GNU partition number to get internal GRUB partition number.
33087
33088 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33089
33090 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33091 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33092
33093 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33094
33095 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33096 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33097 case.
33098
33099 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
33100
33101 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33102
33103 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33104
33105 Fix build problem.
33106
33107 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33108 `-isystem=$(srcdir)/include'.
33109
33110 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33111
33112 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33113 checked (grub-install doesn't currently rely on it).
33114
33115 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33116
33117 Revert SVN r2660.
33118
33119 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33120 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33121 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33122 * conf/i386-ieee1275.rmk: Likewise.
33123 * conf/i386-pc.rmk: Likewise.
33124 * conf/powerpc-ieee1275.rmk: Likewise.
33125 * conf/sparc64-ieee1275.rmk: Likewise.
33126 * conf/x86_64-efi.rmk: Likewise.
33127
33128 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33129
33130 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33131
33132 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33133
33134 * include/grub/misc.h: Stop checking for APPLE_CC.
33135
33136 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33139 doesn't cause an infinite call loop.
33140
33141 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
33142
33143 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33144 strings.
33145
33146 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33147
33148 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33149 variable.
33150 * Makefile.in: Likewise.
33151
33152 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33153
33154 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33155
33156 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33157
33158 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33159
33160 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33161
33162 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33163
33164 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33165
33166 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33167 from here ...
33168 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33169
33170 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33171
33172 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33173 in $(MAKEINFO) invocation. This makes it clear in output that
33174 errors are being ignored.
33175
33176 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33179 from here ...
33180 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33181 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33182 * conf/i386-ieee1275.rmk: Likewise.
33183 * conf/i386-pc.rmk: Likewise.
33184 * conf/powerpc-ieee1275.rmk: Likewise.
33185 * conf/sparc64-ieee1275.rmk: Likewise.
33186 * conf/x86_64-efi.rmk: Likewise.
33187
33188 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33189
33190 * util/grub-editenv.c (main): If only a command is given, use
33191 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33192 (usage): FILENAME is now optional and has a default.
33193
33194 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33195
33196 Improve grub-mkconfig performance when there are several menu
33197 entries on a single filesystem.
33198
33199 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33200 prepare_grub_to_access_device.
33201 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33202 * util/grub.d/30_os-prober.in: Likewise.
33203
33204 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33205
33206 * util/grub.d/10_freebsd.in: Remove.
33207 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33208 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33209
33210 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33211
33212 * docs/grub.cfg: Fix example usage of *BSD loaders.
33213
33214 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33215
33216 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33217 grub_util_error() call.
33218
33219 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33220
33221 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33222 `reserved_first_sector' member.
33223 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33224 `reserved_first_sector' to 1.
33225 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33226 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33227 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33228 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33229 filesystems which begin at first sector.
33230 (options): New option --skip-fs-probe.
33231 (main): Handle --skip-fs-probe and pass it to setup().
33232
33233 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33234
33235 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33236 (memset): Fix function prototype.
33237
33238 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33239 2009-10-25 Vasily Averin <vvs@parallels.com>
33240
33241 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33242 `dirent.direntlen == 0'.
33243
33244 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33245
33246 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33247 `cpio'.
33248 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33249
33250 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33251
33252 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33253 `__trampoline_setup' and `__ucmpdi2'.
33254 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33255 that libgcc provides.
33256
33257 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33258
33259 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33260 * include/grub/sparc64/libgcc.h (memset): Likewise.
33261 * include/grub/misc.h (memset, memcmp): New function prototypes.
33262
33263 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33264
33265 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33266 `cpio'.
33267 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33268
33269 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33270
33271 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33272 * docs/grub.cfg: Compensate for recent change in multiboot
33273 loader (since 2009-08-14 it won't pass filename to payload).
33274 * util/grub.d/10_hurd.in: Likewise.
33275
33276 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
33277
33278 * config.guess: Update to latest version from config git
33279 repository.
33280 * config.sub: Likewise.
33281
33282 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33283
33284 Fix build on sparc64.
33285
33286 * configure.ac: Perform checks for libgcc symbols before
33287 adding `-nostdlib' to LDFLAGS.
33288
33289 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33290
33291 Let user specify OpenBSD root device.
33292
33293 * loader/i386/bsd.c (openbsd_root): New variable.
33294 (openbsd_opts): New option 'root'.
33295 (OPENBSD_ROOT_ARG): New macro.
33296 (grub_openbsd_boot): Use 'openbsd_root'.
33297 (grub_cmd_openbsd): Fill 'openbsd_root'.
33298
33299 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33300
33301 * NEWS: Misc adjustments.
33302
33303 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33304
33305 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33306
33307 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33308
33309 * configure.ac: Bump version to 1.97.
33310
33311 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
33312
33313 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33314 -mno-3dnow on x86 architectures. Some toolchains enable these
33315 features by default, but they rely on registers that aren't enabled
33316 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33317
33318 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33319
33320 Make entry text a bit more readable.
33321
33322 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33323
33324 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33325
33326 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33327
33328 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33329
33330 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33331 operations.
33332
33333 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33334
33335 * configure.ac: Add missing dollar.
33336
33337 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33338
33339 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33340
33341 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33342 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33343 exports.
33344 * include/grub/sparc64/libgcc.h: Likewise. Use
33345 preprocessor conditionals.
33346
33347 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33348
33349 * conf/common.rmk (grub-dumpbios): Remove rule.
33350 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33351 * util/grub-dumpbios.in: Remove file.
33352
33353 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33354
33355 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33356 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33357
33358 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33359 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33360 users.
33361
33362 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33363 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33364 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33365 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33366 users.
33367
33368 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33369
33370 * term/tparm.c: Switch to GPLv3.
33371
33372 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33373
33374 * include/grub/i386/cpuid.h: Add header protection.
33375
33376 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33377
33378 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33379
33380 * include/grub/i386/cpuid.h: New file.
33381 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33382 (has_longmode): Rename to ...
33383 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33384 `static' attribute.
33385 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33386 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33387 on a CPU that doesn't implement AMD64 instruction set.
33388
33389 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33390
33391 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33392 that version.texi is rebuilt on version number changes.
33393
33394 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33395
33396 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33397 Fixes bug #27602.
33398
33399 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33400
33401 * util/i386/pc/grub-install.in: Source
33402 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33403 that the --grub-probe option will work.
33404 * util/sparc64/ieee1275/grub-install.in: Likewise.
33405
33406 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33407
33408 * configure.ac: Bump version to 1.97~beta4.
33409
33410 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33411
33412 Resync grub-mkdevicemap in x86_64-efi.
33413
33414 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33415 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33416 `util/devicemap.c'.
33417
33418 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
33419
33420 * util/grub-editenv.c (create_envblk_file): Write new block with a
33421 .new suffix and then rename it into place, to ensure atomic
33422 creation.
33423
33424 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33425
33426 Do not automatically install headers.
33427
33428 * Makefile.in (include_DATA): Remove. Update all users.
33429
33430 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33433 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33434
33435 * util/osdetect.lua: Remove.
33436 * script/lua/lauxlib.c: Likewise.
33437 * script/lua/ldebug.c: Likewise.
33438 * script/lua/grub_main.c: Likewise.
33439 * script/lua/lauxlib.h: Likewise.
33440 * script/lua/ldebug.h: Likewise.
33441 * script/lua/ltablib.c: Likewise.
33442 * script/lua/liolib.c: Likewise.
33443 * script/lua/lstrlib.c: Likewise.
33444 * script/lua/lualib.h: Likewise.
33445 * script/lua/ldo.c: Likewise.
33446 * script/lua/ldump.c: Likewise.
33447 * script/lua/ldo.h: Likewise.
33448 * script/lua/loslib.c: Likewise.
33449 * script/lua/lundump.c: Likewise.
33450 * script/lua/grub_lib.c: Likewise.
33451 * script/lua/ldblib.c: Likewise.
33452 * script/lua/lundump.h: Likewise.
33453 * script/lua/lmem.c: Likewise.
33454 * script/lua/grub_lib.h: Likewise.
33455 * script/lua/lmathlib.c: Likewise.
33456 * script/lua/lstate.c: Likewise.
33457 * script/lua/ltm.c: Likewise.
33458 * script/lua/lvm.c: Likewise.
33459 * script/lua/lmem.h: Likewise.
33460 * script/lua/lstate.h: Likewise.
33461 * script/lua/ltm.h: Likewise.
33462 * script/lua/ltable.c: Likewise.
33463 * script/lua/lvm.h: Likewise.
33464 * script/lua/llex.c: Likewise.
33465 * script/lua/lgc.c: Likewise.
33466 * script/lua/grub_lua.h: Likewise.
33467 * script/lua/loadlib.c: Likewise.
33468 * script/lua/lfunc.c: Likewise.
33469 * script/lua/lopcodes.c: Likewise.
33470 * script/lua/lparser.c: Likewise.
33471 * script/lua/ltable.h: Likewise.
33472 * script/lua/llex.h: Likewise.
33473 * script/lua/lgc.h: Likewise.
33474 * script/lua/lfunc.h: Likewise.
33475 * script/lua/lbaselib.c: Likewise.
33476 * script/lua/lopcodes.h: Likewise.
33477 * script/lua/lparser.h: Likewise.
33478 * script/lua/lzio.c: Likewise.
33479 * script/lua/linit.c: Likewise.
33480 * script/lua/lobject.c: Likewise.
33481 * script/lua/llimits.h: Likewise.
33482 * script/lua/lstring.c: Likewise.
33483 * script/lua/lzio.h: Likewise.
33484 * script/lua/lapi.c: Likewise.
33485 * script/lua/lcode.c: Likewise.
33486 * script/lua/lua.h: Likewise.
33487 * script/lua/lobject.h: Likewise.
33488 * script/lua/lstring.h: Likewise.
33489 * script/lua/lapi.h: Likewise.
33490 * script/lua/lcode.h: Likewise.
33491 * script/lua/luaconf.h: Likewise.
33492
33493 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
33494
33495 * docs/grub.texi (Command-line and menu entry commands): Document
33496 date and echo commands.
33497
33498 2009-09-24 Pavel Roskin <proski@gnu.org>
33499
33500 * include/grub/kernel.h (struct grub_module_header): Remove
33501 `grub_module_header_types'. Make `type' unsigned. Make `size'
33502 32-bit on all platforms.
33503 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33504 8-bit field. Use grub_host_to_target32() for `size'.
33505 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33506 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33507 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33508
33509 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33510
33511 Fix "lost keypress" bug in at_keyboard.
33512
33513 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33514 Checks for readyness of input buffer (without flushing it).
33515 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33516 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33517
33518 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33519
33520 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33521 size check within GRUB_MACHINE_PCBIOS section.
33522
33523 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33524
33525 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33526 return value.
33527 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33528 KEYBOARD_ISREADY check.
33529 (grub_at_keyboard_checkkey): Rename to ...
33530 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33531 Remove gratuitous cast.
33532
33533 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
33534
33535 * configure.ac: Call AC_PROG_MKDIR_P.
33536 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33537 version.texi in $(builddir) rather than $(srcdir).
33538 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33539 to makeinfo's @include search path.
33540
33541 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33542
33543 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33544
33545 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33546
33547 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33548 for `*.dpkg-new'.
33549
33550 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
33551
33552 Build info documentation. Some code borrowed from Automake.
33553
33554 * configure.ac: Check for makeinfo.
33555 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33556 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33557 docs/version.texi.
33558 (MOSTLYCLEANFILES): Add vti.tmp.
33559 (docs/version.texi, docs/stamp-vti): Update automatically.
33560 (docs/grub.info): Build info documentation. Use --force and ignore
33561 errors for now.
33562 (all-local): Add $(INFOS).
33563 (install-local): Install info files.
33564 (uninstall): Uninstall info files.
33565 * docs/version.texi: Remove from revision control. This file is
33566 automatically generated on build now.
33567 * gendistlist.sh: Add `*.info'.
33568
33569 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33570
33571 * kern/term.c: Fix indentation.
33572
33573 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33574
33575 * util/hostdisk.c: Fix a comment.
33576
33577 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33578
33579 Fix regression introduced in r2539.
33580
33581 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33582 to 0xA1.
33583
33584 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
33585
33586 * util/grub.d/30_os-prober.in: Don't throw away stderr from
33587 os-prober. Under normal operation, it does not print anything to
33588 stderr; if it does, we need to debug it, and throwing away stderr
33589 makes that excessively difficult.
33590
33591 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33592
33593 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33594
33595 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33596
33597 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33598 AC_LANG_PROGRAM from autoconf.
33599 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33600 prototypes (fixes warning).
33601
33602 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33603 `--disable-werror' was used.
33604
33605 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33606
33607 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33608 uninitialized `lastaddr'.
33609
33610 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33611
33612 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
33613
33614 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33615
33616 * commands/test.c (get_fileinfo): Return immediately if
33617 grub_fs_probe fails.
33618
33619 2009-09-14 José Martínez <xosemp@gmail.com>
33620
33621 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33622
33623 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33624
33625 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33626 output.
33627
33628 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33629
33630 * configure.ac: Remove --enable-grub-pe2elf. Only build
33631 grub-pe2elf when needed by the build system itself.
33632 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33633
33634 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33635
33636 * configure.ac: Bump version to 1.97~beta3.
33637 * docs/version.texi: Likewise.
33638
33639 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33640
33641 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33642 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33643 from here ...
33644 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33645 (grub_linux_setup_video): ... to here (with some adjustments).
33646
33647 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33648
33649 Fix memory corruption issue (spotted by Colin Watson).
33650
33651 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33652 causing returned size to be stored in an incorrect memory location.
33653 Fix use of uninitialized value when storing the returned size.
33654
33655 2009-09-12 Yves Blusseau <blusseau@zetam.org>
33656
33657 Change clean rules to properly remove files
33658
33659 * genmk.rb: add new clean rules
33660 * Makefile.in (clean): add the new targets
33661 (mostlyclean): likewise
33662
33663 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
33664
33665 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33666 to grub_uint64_t.
33667 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33668 non-resident files.
33669
33670 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
33671
33672 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33673 part of bug #27349.
33674
33675 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
33676
33677 * util/grub-mkconfig.in: Make the created config mode 400 and
33678 print a warning if it fails.
33679
33680 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33681
33682 * util/grub.d/40_custom.in: Ask user to type custom entries below
33683 comment, rather than below 'exec tail' line.
33684
33685 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
33686
33687 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33688 visible in grub.cfg.
33689
33690 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
33691
33692 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33693 file.
33694
33695 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
33696
33697 * docs/grub.cfg: Add an example menu entry for memtest86+.
33698
33699 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
33700
33701 * config.guess: Update to latest version from config git.
33702 * config.sub: Likewise.
33703
33704 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
33705
33706 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33707 unknown-command case. Fixes bug #27320.
33708
33709 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
33710
33711 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33712 `help' if the command exists.
33713
33714 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33715
33716 * INSTALL: Require GCC 4.1.3 or later.
33717
33718 2009-09-06 Yves Blusseau <blusseau@zetam.org>
33719
33720 * Makefile.in (RMKFILES): add i386-qemu.rmk
33721 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33722 $(srcdir)/stamp-h.in
33723
33724 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33725
33726 * util/grub-probe.c (probe): Comment out buggy codepath, which
33727 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33728 should be re-enabled after 1.97.
33729
33730 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
33731
33732 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33733 find searches for.
33734
33735 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33736
33737 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33738 unnecessary calls to grub_error.
33739
33740 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
33741
33742 * NEWS: Mention `keystatus' and Unicode fonts.
33743
33744 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33745
33746 * configure.ac: Bump version to 1.97~beta2.
33747 * docs/version.texi: Likewise.
33748
33749 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
33750
33751 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33752 containing unwind information in some cases where it previously did
33753 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33754 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33755 discussion.
33756
33757 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33758
33759 Embedding loadenv module into grub-emu
33760
33761 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33762 commands/loadenv.c
33763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33767 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33768 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33769
33770 2009-09-03 Magnus Granberg <zorry@ume.nu>
33771
33772 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33773 include -fPIE in the default specs.
33774 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33775 to TARGET_CFLAGS.
33776
33777 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
33778
33779 * INSTALL: Note that GNU Bison 2.3 or later is required.
33780
33781 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
33782
33783 * kern/i386/pc/startup.S: Fix typo.
33784
33785 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33786
33787 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33788 according to GCS.
33789
33790 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33791
33792 * docs/grub.texi (Naming convention): Describe one-based partition
33793 numbering.
33794 (Device syntax): Likewise.
33795 (File name syntax): Likewise.
33796 (Block list syntax): Likewise.
33797 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33798 menu.lst.
33799 (File name syntax): Likewise.
33800 (Command-line and menu entry commands): Document acpi, blocklist,
33801 crc, export, insmod, keystatus, ls, set, and unset commands.
33802
33803 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33804
33805 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33806 to avoid implying that only one of --shift, --ctrl, or --alt may be
33807 used.
33808
33809 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33810
33811 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33812 rather than comparing against S_IFREG, which will almost never work.
33813
33814 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33815
33816 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33817 (write_blocklists): Likewise.
33818
33819 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
33820
33821 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33822 argument to grub_printf.
33823
33824 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
33825
33826 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
33827 non GNU test.
33828
33829 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33830
33831 * kern/file.c (grub_file_read): Spelling fix
33832
33833 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33834
33835 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33836 loading of headers in some cases.
33837
33838 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33839
33840 * configure.ac: Bump version to 1.97~beta1.
33841 * docs/version.texi: Likewise.
33842
33843 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
33844
33845 * include/grub/i386/xnu.h: Add license header.
33846 include grub/err.h explicitly.
33847
33848 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33849
33850 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33851 to `ufs' in the vfs.root.mountfrom kernel parameter.
33852
33853 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33854
33855 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33856
33857 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33858 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33859
33860 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33861 `ARRAY_SIZE' macro.
33862
33863 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33864
33865 * kern/file.c (grub_file_read): Check offset.
33866 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33867 * fs/jfs.c (grub_jfs_read_file): Likewise.
33868 * fs/ntfs.c (grub_ntfs_read): Likewise.
33869 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33870 * fs/minix.c (grub_minix_read_file): Correct offset check.
33871 * fs/ufs.c (grub_ufs_read_file): Likewise.
33872
33873 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33874
33875 * term/i386/pc/console.c (bios_data_area): Cast
33876 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33877
33878 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33879
33880 1-bit optimised blitters.
33881
33882 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33883 prototype.
33884 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33885 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33886 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33887 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33888 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33889 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33890 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33891 function.
33892 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33893 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33894 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33895 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33896 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33897 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33898 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33899 when possible.
33900 * video/video.c (grub_video_get_blit_format): Return
33901 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33902
33903 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33904
33905 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33906 the first argument to grub_printf.
33907
33908 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33909 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33910
33911 Add `getkeystatus' terminal method. Add a new `keystatus' command
33912 to query it.
33913
33914 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33915 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33916 modifier key bitmasks.
33917 (struct grub_term_input): Add `getkeystatus' member.
33918 (grub_getkeystatus): Add prototype.
33919 * kern/term.c (grub_getkeystatus): New function.
33920
33921 * include/grub/i386/pc/memory.h
33922 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33923 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33924 Data Area layout.
33925 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33926 (grub_console_term_input): Set `getkeystatus' member.
33927 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33928 constants.
33929 (grub_usb_keyboard_getreport): Likewise.
33930 (grub_usb_keyboard_checkkey): Likewise.
33931 (grub_usb_keyboard_getkeystatus): New function.
33932 (grub_usb_keyboard_term): Set `getkeystatus' member.
33933
33934 * commands/keystatus.c: New file.
33935 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33936 (keystatus_mod_SOURCES): New variable.
33937 (keystatus_mod_CFLAGS): Likewise.
33938 (keystatus_mod_LDFLAGS): Likewise.
33939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33940 commands/keystatus.c.
33941 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33942 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33943 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33947
33948 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33949
33950 Split befs.mod and afs.mod into *_be.mod and *.mod
33951
33952 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33953 (grub_fstest_SOURCES): Likewise.
33954 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33955 (afs_be_mod_SOURCES): New variable.
33956 (afs_be_mod_CFLAGS): Likewise.
33957 (afs_be_mod_LDFLAGS): Likewise.
33958 (befs_be_mod_SOURCES): Likewise.
33959 (befs_be_mod_CFLAGS): Likewise.
33960 (befs_be_mod_LDFLAGS): Likewise.
33961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33962 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33964 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33965 (grub_emu_SOURCES): Likewise.
33966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33967 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33968 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33969 * fs/afs_be.c: New file.
33970 * fs/befs_be.c: New file.
33971 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33972 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33973 (U16): Replaced with ...
33974 (grub_afs_to_cpu16): ...this. All users updated.
33975 (U32): Replaced with ...
33976 (grub_afs_to_cpu32): ...this. All users updated.
33977 (U64): Replaced with ...
33978 (grub_afs_to_cpu64): ...this. All users updated.
33979 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33980 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
33981 (grub_afs_validate_sblock): Check only one endianness.
33982 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33983 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33984 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33985 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33986 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33987 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33988 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33989 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33990
33991 2009-08-26 Bean <bean123ch@gmail.com>
33992
33993 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33994 64-bit number.
33995 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33996 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33997 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33998
33999 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34000
34001 NetBSD memory map support.
34002
34003 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34004 (grub_netbsd_btinfo_mmap_header): New structure.
34005 (grub_netbsd_btinfo_mmap_entry): Likewise.
34006 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34007
34008 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34009
34010 Enable bsd.mod on coreboot.
34011
34012 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34013 (bsd_mod_SOURCES): New variable.
34014 (bsd_mod_CFLAGS): Likewise.
34015 (bsd_mod_LDFLAGS): Likewise.
34016 (bsd_mod_ASFLAGS): Likewise.
34017 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34018 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34019
34020 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34021
34022 Cleanup NetBSD root support.
34023
34024 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34025 grub_bsd_get_device.
34026 Fix typo.
34027
34028 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
34029
34030 * util/grub.d/00_header.in: Move check for the video backend of
34031 gfxterm from here ...
34032 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34033 a suitable video backend.
34034
34035 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34036
34037 Fix breakage in grub-setup.
34038
34039 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34040 "msdos_partition_map".
34041
34042 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34043
34044 Fix breakage in normal/auth.c.
34045
34046 * normal/auth.c (grub_iswordseparator): New function.
34047
34048 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34049
34050 Authentication support.
34051
34052 * commands/password.c: New file.
34053 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34054 (password_mod_SOURCES): New variable.
34055 (password_mod_CFLAGS): Likewise.
34056 (password_mod_LDFLAGS): Likewise.
34057 (normal_mod_SOURCES): Add normal/auth.c.
34058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34059 normal/auth.c.
34060 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34062 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34065 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34066 * include/grub/auth.h: New file.
34067 * include/grub/err.h (grub_err_t): New enum value
34068 GRUB_ERR_ACCESS_DENIED.
34069 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34070 'users'.
34071 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34072 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34073 users updated.
34074 * normal/auth.c: New file.
34075 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34076 (grub_cmdline_run): Don't allow to go to command line without
34077 authentication.
34078 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34079 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34080 menuentry without superuser rights.
34081 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34082 user isn't a superuser.
34083
34084 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34085
34086 Save space by inlining misc.c functions.
34087
34088 * kern/misc.c (grub_iswordseparator): Made static.
34089 * kern/misc.c (grub_strcat): Moved from here ...
34090 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34091 * kern/misc.c (grub_strncat): Moved from here ...
34092 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34093 * kern/misc.c (grub_strcasecmp): Moved from here ...
34094 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34095 * kern/misc.c (grub_strncasecmp): Moved from here ...
34096 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34097 * kern/misc.c (grub_isalpha): Moved from here ...
34098 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34099 * kern/misc.c (grub_isdigit): Moved from here ...
34100 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34101 * kern/misc.c (grub_isgraph): Moved from here ...
34102 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34103 * kern/misc.c (grub_tolower): Moved from here ...
34104 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34105
34106 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34107
34108 * script/sh/function.c (grub_script_function_find): Cut error message
34109 not to flood terminal.
34110 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34111 limit.
34112 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34113
34114 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
34115
34116 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34117 `report' grub_uint8_t *.
34118 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34119 Use a 50-millisecond timeout rather than just repeating
34120 grub_usb_keyboard_getreport 50 times.
34121 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34122
34123 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34124
34125 Rename *_partition_map to part_*
34126
34127 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34128 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34129 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34130 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34131 All users updated.
34132 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34133 All users updated.
34134 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34135 * util/grub-probe.c (probe_partmap): Don't transform partition name
34136 to get module name.
34137
34138 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34139
34140 Fix OpenBSD and NetBSD support.
34141
34142 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34143 memory address conflict.
34144 (OPENBSD_MMAP_ACPI): New definition.
34145 (OPENBSD_MMAP_NVS): Likewise.
34146 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34147 and OPENBSD_MMAP_NVS.
34148 Add memory map terminator
34149 Explicit cast when calling grub_unix_real_boot.
34150 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
34151
34152 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34153
34154 Let user specify NetBSD root device.
34155
34156 * loader/i386/bsd.c (netbsd_root): New variable.
34157 (netbsd_opts): New option 'root'.
34158 (NETBSD_ROOT_ARG): New macro.
34159 (grub_netbsd_boot): Use 'netbsd_root'.
34160 (grub_bsd_unload): Free 'netbsd_root'.
34161 (grub_cmd_netbsd): Fill 'netbsd_root'.
34162
34163 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34164
34165 Support for 64-bit NetBSD.
34166
34167 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34168 point when booting non-FreeBSD.
34169
34170 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34171
34172 Support --no-smp and --no-acpi for NetBSD.
34173
34174 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34175 (NETBSD_AB_NOACPI): Likewise.
34176 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34177 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34178
34179 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34180
34181 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34182 errors.
34183 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34184 errors. Call grub_error when needed.
34185
34186 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34187
34188 * commands/search.c (search_fs): Try searching without autoload first.
34189 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34190 filesystem module explicitly for faster booting.
34191
34192 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34193
34194 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34195
34196 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34197
34198 * util/grub.d/30_os-prober.in: Disable os-prober if
34199 `GRUB_DISABLE_OS_PROBER' was set to true.
34200
34201 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34202
34203 * partmap/pc.c: Rename to ...
34204 * partmap/msdos.c: ... this. Update all users.
34205 (grub_pc_partition_map): Rename to ...
34206 (grub_msdos_partition_map): ... this. Update all users.
34207
34208 * parttool/pcpart.c: Rename to ...
34209 * parttool/msdospart.c: ... this. Update all users.
34210
34211 * include/grub/pc_partition.h: Rename to ...
34212 * include/grub/msdos_partition.h: ... this. Update all users.
34213 (grub_pc_partition_bsd_entry): Rename to ...
34214 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34215 (grub_pc_partition_disk_label): Rename to ...
34216 (grub_msdos_partition_disk_label): ... this. Update all users.
34217 (grub_pc_partition_entry): Rename to ...
34218 (grub_msdos_partition_entry): ... this. Update all users.
34219 (grub_pc_partition_mbr): Rename to ...
34220 (grub_msdos_partition_mbr): ... this. Update all users.
34221 (grub_pc_partition): Rename to ...
34222 (grub_msdos_partition): ... this. Update all users.
34223 (grub_pc_partition_is_empty): Rename to ...
34224 (grub_msdos_partition_is_empty): ... this. Update all users.
34225 (grub_pc_partition_is_extended): Rename to ...
34226 (grub_msdos_partition_is_extended): ... this. Update all users.
34227 (grub_pc_partition_is_bsd): Rename to ...
34228 (grub_msdos_partition_is_bsd): ... this. Update all users.
34229
34230 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34231 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34232 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34233 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34234 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34235 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34236 (gpt_mod_LDFLAGS): Rename to ...
34237 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34238 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34239 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34240 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34241 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34242 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34243 (part_gpt_mod_LDFLAGS): ... this.
34244 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34245 `pcpart.mod' to `msdospart.mod'.
34246 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34247 to ...
34248 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34249 (msdospart_mod_LDFLAGS): ... this.
34250
34251 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34252
34253 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34254 (openbsd_opts): Likewise.
34255 (netbsd_opts): Likewise.
34256 (freebsd_flags): Added 0 terminator.
34257 (openbsd_flags): Likewise.
34258 (netbsd_flags): Likewise.
34259 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34260 (grub_cmd_freebsd): Transformed into extended command.
34261 (grub_cmd_openbsd): Likewise.
34262 (grub_cmd_netbsd): Likewise.
34263 (cmd_freebsd): Changed type to grub_extcmd_t.
34264 (cmd_openbsd): Likewise.
34265 (cmd_netbsd): Likewise.
34266 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34267 grub_cmd_openbsd as extended commands.
34268 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34269 cmd_netbsd and cmd_openbsd
34270
34271 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34272
34273 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34274
34275 2009-08-21 Pavel Roskin <proski@gnu.org>
34276
34277 * Makefile.in (install-local): When checking if a file is in the
34278 build directory, use "test -e" to detect symlinks.
34279
34280 * Makefile.in (install-local): Remove all files in
34281 $(DESTDIR)$(pkglibdir) before installing new files there.
34282
34283 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34284
34285 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34286 grub-mkelfimage.
34287
34288 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34289
34290 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34291 explicitly specified by the user.
34292
34293 2009-08-18 Pavel Roskin <proski@gnu.org>
34294
34295 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34296 grub_uint8_t pointer for data.
34297 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34298 Likewise.
34299 * video/fb/fbutil.c: Remove unnecessary casts.
34300
34301 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34302
34303 VBE cleanup.
34304
34305 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34306 (grub_vbe_set_video_mode): Save active mode info
34307 only after setting the mode.
34308 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34309 second argument.
34310
34311 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34312
34313 Rename variables for clarity.
34314
34315 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34316 (active_vbe_mode_info): ... this. All users updated.
34317 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34318 All users updated.
34319 (initial_mode): Rename to ...
34320 (initial_vbe_mode): ... this. All users updated.
34321 (mode_in_use): Rename to ..
34322 (vbe_mode_in_use): ... this. All users updated.
34323 (mode_list): Rename to ..
34324 (vbe_mode_list): ... this. All users updated.
34325 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34326 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34327 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34328 'mode_list_size' to 'vbe_mode_list_size'.
34329 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34330 'best_mode_info' to 'best_vbe_mode_info' and
34331 'best_mode' to 'best_vbe_mode'
34332
34333 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34334
34335 Remove duplicate grub_video_fb_get_video_ptr.
34336
34337 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34338 (grub_video_fb_get_video_ptr): ... this.
34339 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34340 * video/fb/fbutil.c: Add comment about addressing.
34341 (get_data_ptr): Rename to ...
34342 (grub_video_fb_get_video_ptr): ... this. All users updated.
34343 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34344
34345 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34346
34347 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34348 grub_dprintf() that was just added.
34349
34350 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34351
34352 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34353 (DEFAULT_VIDEO_MODE): Remove macros.
34354 (grub_linux_boot): Remove assumption that Linux has FB support,
34355 and use "text" as default video mode.
34356
34357 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34358
34359 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34360 grub_dprintf.
34361 * fs/fat.c (grub_fat_read_data): Likewise.
34362
34363 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34364
34365 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34366 payload.
34367 (grub_module): Likewise.
34368
34369 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34370
34371 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34372 mbi->cmdline but free playground.
34373
34374 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34375
34376 Handle group offset on UFS1.
34377
34378 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34379 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34380
34381 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34382
34383 Split ufs.mod into ufs1.mod and ufs2.mod.
34384
34385 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34386 (grub_fstest_SOURCES): Likewise.
34387 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34388 (ufs_mod_SOURCES): Remove.
34389 (ufs_mod_CFLAGS): Likewise.
34390 (ufs_mod_LDFLAGS): Likewise.
34391 (ufs1_mod_SOURCES): New variable.
34392 (ufs1_mod_CFLAGS): Likewise.
34393 (ufs1_mod_LDFLAGS): Likewise.
34394 (ufs2_mod_SOURCES): New variable.
34395 (ufs2_mod_CFLAGS): Likewise.
34396 (ufs2_mod_LDFLAGS): Likewise.
34397 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34398 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34399 Likewise.
34400 (grub_emu_SOURCES): Likewise.
34401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34403 (grub_setup_SOURCES): Likewise.
34404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34405 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34406 (grub_setup_SOURCES): Likewise.
34407 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34408 Likewise.
34409 * fs/ufs2.c: New file.
34410 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34411
34412 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34413
34414 Framebuffer split.
34415
34416 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34417 subsystem at the end.
34418 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34419 (video_fb_mod_SOURCES): New variable.
34420 (video_fb_mod_CFLAGS): Likewise.
34421 (video_fb_mod_LDFLAGS): Likewise.
34422 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34423 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34424 * video/i386/pc/vbeblit.c: Moved from here ...
34425 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34426 * video/i386/pc/vbefill.c: Moved from here ...
34427 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34428 * video/i386/pc/vbeutil.c: Moved from here ...
34429 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34430 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34431 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34432 * include/grub/i386/pc/vbefill.h: Moved from here ...
34433 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34434 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34435 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34436 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34437 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34438 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34439 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34440 (grub_video_adapter): Added 'get_info_and_fini'.
34441 (grub_video_get_info_and_fini): New prototype.
34442 (grub_video_set_mode): make modestring const char *.
34443 * loader/i386/linux.c (grub_linux_setup_video): Use
34444 grub_video_get_info_and_fini.
34445 (grub_linux_boot): Move modesetting just before booting.
34446 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34447 grub_video_get_info_and_fini.
34448 * video/i386/pc/vbe.c: Moved framebuffer part ...
34449 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34450 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34451 grub_video_fbstd_colors and grub_video_fb_set_palette.
34452 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34453 grub_video_fb_init.
34454 (grub_video_vbe_fini): Use grub_video_fb_fini.
34455 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34456 render_target and use grub_video_fb_set_active_render_target and
34457 grub_video_fb_set_palette.
34458 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34459 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34460 (grub_video_vbe_adapter): Use framebuffer.
34461 * video/video.c (grub_video_get_info_and_fini): New function.
34462 (grub_video_set_mode): Make modestring const char *.
34463 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34464 values are already initialised.
34465
34466 2009-08-14 Pavel Roskin <proski@gnu.org>
34467
34468 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34469 ABS and APPLE_CC.
34470 * boot/i386/pc/diskboot.S: Likewise.
34471 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34472 sectors allow compilation on MacOSX.
34473 * conf/i386-pc.rmk: Enable unconditional compilation of
34474 lnxboot.img.
34475
34476 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
34477
34478 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34479 * util/grub.d/00_header.in: Enter interruptible sleep if
34480 GRUB_HIDDEN_TIMEOUT is set.
34481
34482 2009-08-13 Yves Blusseau <blusseau@zetam.org>
34483
34484 * include/grub/symbol.h: Add the LOCAL macro.
34485 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34486 starting with "L_".
34487
34488 2009-08-13 Pavel Roskin <proski@gnu.org>
34489
34490 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34491 any modern compilers we support.
34492
34493 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34494 Use local labels starting with "L_" so that Apple assembler
34495 knows they are local.
34496
34497 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34498
34499 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34500 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34501 (bsd_kernel_types): ... this enum.
34502
34503 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34504 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34505 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34506
34507 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34508 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34509 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34510 messages.
34511
34512 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34513
34514 * util/grub-dumpdevtree: Moved from here ...
34515 * util/i386/efi/grub-dumpdevtree: ... to here.
34516 (hexify): New function. Converts a string to its hex version.
34517 Generate hex versions of "efi" and "device-properties" by calling
34518 hexify() on the ASCII strings rather than by hardcoding numbers.
34519
34520 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34521
34522 * fs/jfs.c: Update copyright year.
34523
34524 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34525
34526 * util/grub.d/00_header.in: Fix a comment.
34527 * util/grub.d/10_linux.in: Likewise.
34528 * util/grub.d/10_windows.in: Likewise.
34529 * util/grub.d/10_hurd.in: Likewise.
34530
34531 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34532
34533 * util/grub-mkconfig.in: Allow the user to specify the used font
34534 with GRUB_FONT.
34535
34536 2009-08-08 Pavel Roskin <proski@gnu.org>
34537
34538 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34539 available, xfs.mod needs it now.
34540
34541 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34542 the "g" modifier in sed when the intention is to strip something
34543 once. This fixes comparison of kernels with multiple dashes.
34544
34545 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34546 on it. Add missing space before closing bracket. Fix
34547 misleading formatting.
34548
34549 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34550
34551 * docs/grub.texi: Major overhaul. Remove all sections that are
34552 specific to GRUB Legacy, or mostly composed of Legacy-specific
34553 information.
34554
34555 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34556
34557 * docs/version.texi: New file. Provides version information for
34558 grub.texi.
34559
34560 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34561
34562 * docs/grub.texi: Update CVS information to SVN.
34563 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34564
34565 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34566
34567 * util/grub-mkconfig.in: Remove a wrong `fi'.
34568
34569 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34570
34571 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34572 (grub_jfs_uuid): New function.
34573 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34574
34575 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34576
34577 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34578 of it to ...
34579 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34580 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34581
34582 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34583
34584 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34585 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34586 Update all users.
34587
34588 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34589 not just "vmlinu[zx]".
34590 Moved from here ...
34591 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34592 all users.
34593
34594 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34595 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34596 all users.
34597
34598 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34599
34600 * util/grub.d/10_freebsd.in: Use an absolute device path for
34601 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34602
34603 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
34604
34605 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34606 handling of multiple abstraction modules.
34607
34608 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34609
34610 Fix a bug resulting in black screen when loading Linux using a
34611 packed video mode.
34612
34613 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34614 function.
34615
34616 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34617 (grub_vbe_bios_getset_dac_palette_width): New function.
34618 (grub_vbe_bios_get_dac_palette_width)
34619 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34620 grub_vbe_bios_getset_dac_palette_width()).
34621
34622 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34623 check for return status.
34624 (grub_vbe_get_video_mode_info): When getting information for a packed
34625 mode (<= 8 bpp), obtain DAC palette width using
34626 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34627 {red,green,blue}_mark_size.
34628
34629 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
34630
34631 * commands/search.c (options): Fix help output to match actual code.
34632
34633 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34634
34635 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34636 of homegrown code.
34637
34638 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34639
34640 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34641 on XFS or ReiserFS.
34642
34643 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34644
34645 Support Apple partition map with sector size different from 512 bytes.
34646
34647 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34648 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34649 and 'apart.partmap_size'.
34650
34651 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34652 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34653
34654 Fix cpuid command.
34655
34656 * commands/i386/cpuid.c (options): New variable.
34657 (grub_cmd_cpuid): Return real error.
34658 (GRUB_MOD_INIT(cpuid)): Declare options.
34659
34660 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34661
34662 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34663 valid.
34664
34665 2009-07-31 Bean <bean123ch@gmail.com>
34666
34667 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34668 log2_inode.
34669 (grub_fshelp_node): Move inode field to the end.
34670 (grub_xfs_data): Remove inode field.
34671 (grub_xfs_inode_block): Calculate inode size using sblock.
34672 (grub_xfs_inode_offset): Likewise.
34673 (grub_xfs_read_inode): Calculate inode size using sblock.
34674 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34675 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34676 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34677 to match inode size.
34678 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34679 not accessible when data is null.
34680 (grub_xfs_open): Likewise.
34681
34682 2009-07-31 Bean <bean123ch@gmail.com>
34683
34684 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34685 Don't change pv->disk if it's already set.
34686
34687 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34688 (grub_raid_register): ... here.
34689 (grub_raid_rescan): Removed.
34690
34691 * include/grub/raid.h (grub_raid_rescan): Removed.
34692
34693 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34694 (fstest): Replace grub_raid_rescan with module fini function followed
34695 by init function.
34696
34697 * util/grub-probe.c: Add include file <grub/raid.h>.
34698 (probe_raid_level): New function.
34699 (probe): Detect abstraction by walking the disk device, support two
34700 level of abstraction (LVM on RAID) when detecting partition map.
34701
34702 2009-07-31 Pavel Roskin <proski@gnu.org>
34703
34704 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34705 to grub_zalloc(), it was erroneous.
34706 Reported by Bean <bean123ch@gmail.com>
34707
34708 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34709
34710 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
34711 embedding zone, not only the first one.
34712
34713 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
34714
34715 * term/gfxterm.c (clear_char): New function.
34716 (grub_virtual_screen_setup): Use clear_char.
34717 (scroll_up): Likewise.
34718 (grub_virtual_screen_cls): Likewise.
34719
34720 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
34721
34722 * util/deviceiter.c (get_acceleraid_disk_name): New static
34723 function.
34724 (grub_util_iterate_devices): Handle Accelraid devices.
34725 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34726
34727 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34730 separator for the suggested gfxpayload string (';' collides with the
34731 parser and needs escaping).
34732
34733 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34734
34735 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34736 Clear direction flag before jumping to OS.
34737 (grub_multiboot2_real_boot): Likewise.
34738
34739 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
34740
34741 * util/i386/pc/grub-install: Fix parsing of --disk-module
34742 option.
34743
34744 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
34745
34746 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34747 when embedding.
34748
34749 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
34750
34751 * util/grub-mkconfig.in (package_version): New variable.
34752 Use it do display the version.
34753
34754 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
34755
34756 * kern/file.c (grub_file_open): Revert to previous check with
34757 grub_errno.
34758
34759 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34760
34761 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34762 from help line. It's out of sync with code.
34763
34764 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34765
34766 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34767 entries on failed boot.
34768
34769 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
34770
34771 * kern/file.c (grub_file_open): Fix an error check.
34772
34773 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34774
34775 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34776 partition map couldn't be identified.
34777
34778 2009-07-23 Pavel Roskin <proski@gnu.org>
34779
34780 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34781 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34782 case of little endian words becomes just an optimization.
34783 Respect const modifier.
34784 (md5_final): Use code that doesn't depend on endianness.
34785
34786 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34787 to avoid loss of upper bits if align is unsigned and shorter
34788 than addr.
34789
34790 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34791
34792 UUID support for UFS
34793
34794 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34795 (grub_ufs_uuid): New function.
34796 (grub_ufs_fs): add .uuid
34797
34798 2009-07-21 Pavel Roskin <proski@gnu.org>
34799
34800 * kern/dl.c (grub_dl_check_header): Make static.
34801
34802 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
34803
34804 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34805 add drivemap for Vista. It breaks Windows 7.
34806
34807 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34808
34809 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34810 128 bytes
34811
34812 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34813
34814 Add BFS support
34815
34816 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34817 (grub_fstest_SOURCES): Likewise.
34818 (pkglib_MODULES): Add befs.mod.
34819 (befs_mod_SOURCES): New variable.
34820 (befs_mod_CFLAGS): Likewise.
34821 (befs_mod_LDFLAGS): Likewise.
34822 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34823 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34825 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34826 (grub_setup_SOURCES): Likewise.
34827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34829 (grub_setup_SOURCES): Likewise.
34830 * fs/befs.c: New file.
34831 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34832 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34833 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34834 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34835 (B_KEY_INDEX_ALIGN): New declaration.
34836 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34837 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34838 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34839 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34840 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34841 (grub_afs_mount) [MODE_BFS]: Likewise.
34842 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34843 (grub_afs_fs): Use GRUB_AFS_FSNAME
34844 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34845 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34846 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34847 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34848
34849 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34850
34851 * util/getroot.c (find_root_device): Add support for MacOSX.
34852 * util/hostdisk.c: Likewise.
34853
34854 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34855
34856 * font/font.c (find_glyph): Check whether a font is present to avoid
34857 segmentation fault.
34858
34859 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
34860
34861 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34862
34863 2009-07-20 Pavel Roskin <proski@gnu.org>
34864
34865 * configure.ac: Trim excessively wordy excuses.
34866
34867 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34868
34869 Add symlink, mtime and label support to AtheFS.
34870
34871 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34872 (grub_afs_iterate_dir): Handle symlinks.
34873 (grub_afs_open): Use grub_afs_read_symlink.
34874 (grub_afs_dir): Likewise.
34875 Pass mtime.
34876 (grub_afs_label): New function.
34877 (grub_afs_fs): Add grub_afs_label.
34878 (grub_afs_read_symlink): New function.
34879
34880 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34881
34882 Fix AtheFS support.
34883
34884 * fs/afs.c: Fix comments style.
34885 (grub_afs_blockrun): Declare as packed.
34886 (grub_afs_datastream): Likewise.
34887 (grub_afs_bnode): Likewise.
34888 (grub_afs_btree): Likewise.
34889 (grub_afs_sblock): Likewise.
34890 Declare `name' as char.
34891 (grub_afs_inode): Declare as packed.
34892 Change void *vnode to grub_uint32_t unused.
34893 (grub_afs_iterate_dir): Check that key_size is positive.
34894 (grub_afs_mount): Don't read superblock twice.
34895 (grub_afs_dir): Don't free node in case of error,
34896 grub_fshelp_find_file already handles this.
34897 (grub_afs_open): Likewise.
34898
34899 2009-07-19 Pavel Roskin <proski@gnu.org>
34900
34901 * Makefile.in: Remove LIBLZO and enable_lzo.
34902 * conf/i386-pc.rmk: Remove lzo support.
34903 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34904 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34905 support.
34906 * kern/i386/pc/lzo1x.S: Remove.
34907 * kern/i386/pc/startup.S: Remove lzo support.
34908 * util/i386/pc/grub-mkimage.c: Likewise.
34909
34910 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34911
34912 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34913 * fs/xfs.c (grub_xfs_dir): Likewise.
34914 * fs/afs.c (grub_afs_dir): Likewise.
34915 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34916 (grub_iso9660_open): Likewise.
34917 * fs/jfs.c (grub_jfs_open): Likewise.
34918 * fs/ext2.c (grub_ext2_dir): Likewise.
34919 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34920 * script/sh/lexer.c (grub_script_yylex): Likewise.
34921
34922 2009-07-16 Pavel Roskin <proski@gnu.org>
34923
34924 * configure.ac: Never add "-c" to CFLAGS.
34925
34926 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34927
34928 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34929 grub_cv_cc_efiemu should be used.
34930
34931 * configure.ac: Typo fixes.
34932
34933 * kern/mm.c (grub_zalloc): New function.
34934 (grub_debug_zalloc): Likewise.
34935 * include/grub/mm.h: Declare grub_zalloc() and
34936 grub_debug_zalloc().
34937 * util/misc.c (grub_zalloc): New function.
34938 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34939 instead of grub_malloc(), remove unneeded initializations.
34940 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34941 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34942 * commands/parttool.c (grub_cmd_parttool): Likewise.
34943 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34944 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34945 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34946 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34947 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34948 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34949 (grub_cmd_efiemu_pnvram): Likewise.
34950 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34951 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34952 (grub_iso9660_iterate_dir): Likewise.
34953 * fs/jfs.c (grub_jfs_opendir): Likewise.
34954 * fs/ntfs.c (list_file): Likewise.
34955 (grub_ntfs_mount): Likewise.
34956 * kern/disk.c (grub_disk_open): Likewise.
34957 * kern/dl.c (grub_dl_load_core): Likewise.
34958 * kern/elf.c (grub_elf_file): Likewise.
34959 * kern/env.c (grub_env_context_open): Likewise.
34960 (grub_env_set): Likewise.
34961 (grub_env_set_data_slot): Likewise.
34962 * kern/file.c (grub_file_open): Likewise.
34963 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34964 * loader/i386/multiboot.c (grub_module): Likewise.
34965 * loader/xnu.c (grub_xnu_create_key): Likewise.
34966 (grub_xnu_create_value): Likewise.
34967 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34968 (read_config_file): Likewise.
34969 * normal/menu_entry.c (make_screen): Likewise.
34970 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34971 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34972 * script/sh/script.c (grub_script_parse): Likewise.
34973 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34974 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34975 * video/readers/png.c (grub_png_output_byte): Likewise.
34976 (grub_video_reader_png): Likewise.
34977
34978 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34979
34980 Enable all targets that can be built by default
34981
34982 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
34983 grub-mkfont and grub-fstest if they can be built
34984
34985 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34986
34987 Fix hang and segmentation fault in grub-emu-usb
34988
34989 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34990 * util/usb.c (grub_libusb_devices): likewise
34991 (grub_libusb_init): rename to ...
34992 (GRUB_MOD_INIT (libusb)):...this
34993 (grub_libusb_fini): rename to ..
34994 (GRUB_MOD_FINI (libusb)):...this
34995 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34996 * include/grub/disk.h (grub_raid_init): removed, it's useless
34997 (grub_raid_fini): likewise
34998 (grub_lvm_init): likewise
34999 (grub_lvm_fini): likewise
35000 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35001 by grub_init_all
35002
35003 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35004
35005 Fix libusb
35006
35007 * Makefile.in (LIBUSB): new macro
35008 * genmk.rb (Utility/print_tail): new method
35009 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35010 (top level): call util.print_tail at the end.
35011
35012 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35013
35014 Make FreeBSD accept zpool.cache
35015
35016 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35017 type is /boot/zfs/zpool.cache
35018
35019 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35020
35021 Fix 64-bit efiemu
35022
35023 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35024 correct wrong typedef
35025 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35026
35027 2009-07-15 Pavel Roskin <proski@gnu.org>
35028
35029 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35030 * kern/disk.c (struct grub_disk_cache): Likewise.
35031
35032 * commands/probe.c (options): Typo fix.
35033
35034 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35035 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35036 accordingly.
35037 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35038
35039 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35040 the end of "Error" to make the message more readable.
35041
35042 * boot/i386/pc/boot.S (kernel_segment): Remove.
35043 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35044 for destination.
35045
35046 * boot/i386/pc/boot.S (boot_version): Remove.
35047 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35048 Remove.
35049
35050 * include/grub/i386/pc/boot.h: Sort all offsets.
35051 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35052 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35053 * boot/i386/pc/boot.S: Assert location of every offset listed in
35054 include/grub/i386/pc/boot.h.
35055
35056 2009-07-13 Pavel Roskin <proski@gnu.org>
35057
35058 * include/grub/i386/coreboot/machine.h: Rename
35059 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35060 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35061 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35062
35063 * kern/dl.c: Force native word size to suppress warnings when
35064 compiling grub-emu.
35065
35066 * kern/device.c (grub_device_iterate): Change struct part_ent to
35067 hold the name, not a pointer to it. Use one grub_malloc() per
35068 partition, not two. Free partition_name if grub_malloc() fails.
35069 Set ents to NULL only before grub_partition_iterate() is called.
35070
35071 2009-07-11 Bean <bean123ch@gmail.com>
35072
35073 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35074 childname.
35075
35076 2009-07-10 Bean <bean123ch@gmail.com>
35077 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35078
35079 * kern/ieee1275/openfw.c (grub_children_iterate)
35080 (grub_devalias_iterate): Fix size evaluation for property or path
35081 strings, which was broken since r2132.
35082
35083 2009-07-07 Pavel Roskin <proski@gnu.org>
35084
35085 * commands/search.c (search_file): Merge into ...
35086 (search_fs): ... this. Accept search type as argument.
35087 (grub_cmd_search): Pass search type to search_fs().
35088
35089 * include/grub/util/console.h: New file.
35090 * util/console.c: Use it instead of grub/machine/console.h.
35091 * util/grub-emu.c: Likewise.
35092
35093 * lib/arg.c (find_long_option): Remove.
35094 (find_long): Add `len' argument, make `s' const char *.
35095 (grub_arg_parse): Parse long options in place, not in a
35096 temporary buffer.
35097
35098 2009-07-06 Pavel Roskin <proski@gnu.org>
35099
35100 * commands/search.c (search_fs): Fix potential NULL pointer
35101 dereference.
35102
35103 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35104 function pointer.
35105
35106 2009-07-06 Daniel Mierswa <impulze@impulze.org>
35107
35108 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35109 comparison.
35110
35111 2009-07-05 Pavel Roskin <proski@gnu.org>
35112
35113 * include/grub/i386/linux.h (struct linux_kernel_params):
35114 Restore padding3, it's still needed.
35115
35116 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35117 FreeBSD.
35118 * util/osdetect.lua: Likewise.
35119
35120 2009-07-05 Bean <bean123ch@gmail.com>
35121
35122 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35123
35124 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35125 (grub_lua_getenv): Likewise.
35126 (grub_lua_setenv): Likewise.
35127 (save_errno): New function.
35128 (push_result): Likewise.
35129 (grub_lua_enum_device): Likewise.
35130 (grub_lua_enum_file): Likewise.
35131 (grub_lua_file_open): Likewise.
35132 (grub_lua_file_close): Likewise.
35133 (grub_lua_file_seek): Likewise.
35134 (grub_lua_file_read): Likewise.
35135 (grub_lua_file_getline): Likewise.
35136 (grub_lua_file_getsize): Likewise.
35137 (grub_lua_file_getpos): Likewise.
35138 (grub_lua_file_eof): Likewise.
35139 (grub_lua_file_exist): Likewise.
35140 (grub_lua_add_menu): Likewise.
35141
35142 * script/lua/grub_lua.h (isupper): New inline function.
35143 (islower): Likewise.
35144 (ispunct): Likewise.
35145 (isxdigit): Likewise.
35146 (strcspn): Change to normal function.
35147 (strpbkr): New function declaration.
35148 (memchr): Likewise.
35149
35150 * script/lua/grub_main.c (scan_str): New function.
35151 (strcspn): Likewise.
35152 (strpbrk): Likewise.
35153 (memchr): Likewise.
35154
35155 * script/lua/linit.c (lualibs): Enable the string library.
35156
35157 * util/osdetect.lua: New file.
35158
35159 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35160
35161 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35162 `capabilities' member.
35163
35164 2009-07-02 Pavel Roskin <proski@gnu.org>
35165
35166 * genparttoollist.sh: Add missing newline at the end.
35167
35168 2009-07-01 Pavel Roskin <proski@gnu.org>
35169
35170 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35171
35172 * util/hostdisk.c (open_device): Remove `const' from
35173 `sysctl_size', as sysctlbyname() can change it (in this case it
35174 doesn't actually happen).
35175
35176 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35177 using signed long int constants.
35178
35179 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35180 constant to avoid a warning on FreeBSD.
35181
35182 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35183 where it's needed.
35184
35185 * Makefile.in: Install include/grub/machine symlink.
35186
35187 * Makefile.in: When installing symlinks, use "cp -fR", which
35188 works on FreeBSD and MacOSX.
35189 From Yves Blusseau <cl7m42e02@sneakemail.com>
35190
35191 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35192 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35193
35194 * util/misc.c: Move grub_reboot() and grub_halt() ...
35195 * util/grub-emu.c: ... here. Make main_env static.
35196 * include/grub/util/misc.h: Remove main_env.
35197
35198 * kern/mm.c: Use correct format to print size_t.
35199
35200 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35201 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35202 * kern/powerpc/dl.c: Likewise.
35203 * kern/sparc64/dl.c: Likewise.
35204 * kern/x86_64/dl.c: Likewise.
35205
35206 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35207
35208 Fix grub-emu build on sparc64-ieee1275.
35209
35210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
35211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35212
35213 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35214
35215 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35216 (grub_reboot, grub_halt): New functions.
35217
35218 * util/i386/pc/misc.c: Delete. Update all users.
35219 * util/sparc64/ieee1275/misc.c: Likewise.
35220 * util/powerpc/ieee1275/misc.c: Likewise.
35221
35222 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35223
35224 * conf/i386.rmk (setjmp_mod_SOURCES)
35225 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35226 * conf/common.rmk (setjmp_mod_SOURCES)
35227 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35228 to use $(target_cpu).
35229 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35231 * conf/powerpc-ieee1275.rmk: Likewise.
35232 * conf/sparc64-ieee1275.rmk: Likewise.
35233
35234 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35235 $(target_cpu) for kern/$(target_cpu)/dl.c.
35236 * conf/i386-efi.rmk: Likewise.
35237 * conf/i386-ieee1275.rmk: Likewise.
35238 * conf/x86_64-efi.rmk: Likewise.
35239 * conf/i386-coreboot.rmk: Likewise.
35240 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35241 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35242 kern/$(target_cpu)/cache.S.
35243 * conf/sparc64-ieee1275.rmk: Likewise.
35244
35245 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35246
35247 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35248 type to `grub_uint8_t', and adjust `padding9' accordingly.
35249
35250 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35251
35252 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35253
35254 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35255 assembly in final jump, using register constraints.
35256
35257 (grub_linux_boot): For text mode, initialize `have_vga' using
35258 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35259
35260 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35261 right before the final jump.
35262
35263 Set `video_mode' to 0x3.
35264
35265 Document initialization of `video_page', `video_mode' and
35266 `video_ega_bx'.
35267
35268 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35269
35270 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35271 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
35272 and set GRUB_LINUX_FLAG_QUIET appropriately.
35273
35274 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35275
35276 Fix build on Debian / sparc.
35277
35278 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35279
35280 2009-06-28 Pavel Roskin <proski@gnu.org>
35281
35282 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35283 fix a warning.
35284
35285 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35286
35287 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35288
35289 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35290 `err'.
35291
35292 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35293
35294 Revert r2338.
35295
35296 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35297 file can't be opened. grub_file_open() is already supposed to set
35298 grub_errno / grub_errmsg appropriately.
35299 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35300
35301 2009-06-27 Pavel Roskin <proski@gnu.org>
35302 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35303
35304 * include/grub/dl.h: Include grub/elf.h.
35305 (struct grub_dl): Add symtab field.
35306 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35307 GRUB_MODULES_MACHINE_READONLY.
35308 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35309 of the header for read-only modules.
35310 (grub_dl_unload): Free mod->symtab for read-only modules.
35311 * kern/i386/dl.c: Use mod->symtab.
35312 * kern/powerpc/dl.c: Likewise.
35313 * kern/sparc64/dl.c: Likewise.
35314 * kern/x86_64/dl.c: Likewise.
35315
35316 * conf/i386-qemu.rmk: New file.
35317 * kern/i386/qemu/startup.S: Likewise.
35318 * kern/i386/qemu/mmap.c: Likewise.
35319 * boot/i386/qemu/boot.S: Likewise.
35320 * include/grub/i386/qemu/time.h: Likewise.
35321 * include/grub/i386/qemu/serial.h: Likewise.
35322 * include/grub/i386/qemu/kernel.h: Likewise.
35323 * include/grub/i386/qemu/console.h: Likewise.
35324 * include/grub/i386/qemu/boot.h: Likewise.
35325 * include/grub/i386/qemu/init.h: Likewise.
35326 * include/grub/i386/qemu/machine.h: Likewise.
35327 * include/grub/i386/qemu/loader.h: Likewise.
35328 * include/grub/i386/qemu/memory.h: Likewise.
35329
35330 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35331 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35332 [qemu] (pkglib_IMAGES): Add `boot.img'.
35333 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35334 [qemu] (boot_img_FORMAT): New variables.
35335 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35336 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35337 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35338 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35339 [qemu] (kernel_img_FORMAT): New variables.
35340
35341 * configure.ac: Recognise `i386-qemu'.
35342
35343 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35344 (for no compression).
35345 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35346 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35347 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35348 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35349 ifdefs).
35350
35351 2009-06-27 Pavel Roskin <proski@gnu.org>
35352
35353 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35354 read.
35355 * efiemu/prepare32.c: Likewise.
35356 * efiemu/prepare64.c: Likewise.
35357
35358 2009-06-26 Pavel Roskin <proski@gnu.org>
35359
35360 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35361 * include/grub/elf.h: Define symbols without "32" or "64" based
35362 on GRUB_TARGET_WORDSIZE.
35363 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35364 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35365 ELF definitions.
35366 * efiemu/loadcore64.c: Likewise.
35367 * loader/i386/bsd32.c: Likewise.
35368 * loader/i386/bsd64.c: Likewise.
35369 * kern/dl.c: Remove own ELF definitions.
35370 * util/i386/efi/grub-mkimage.c: Likewise.
35371
35372 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35373
35374 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35375 segment 0x0 unconditionally, because the reference generated by
35376 GAS is an absolute address.
35377
35378 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35379
35380 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35381 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35382
35383 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35384
35385 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35386 indexes. Check for -f explicitly.
35387 (search_file): Improve error message.
35388 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
35389
35390 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35391
35392 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35393 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35394
35395 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35396
35397 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35398 * conf/i386-ieee1275.rmk: Likewise.
35399 * conf/i386-coreboot.rmk: Likewise.
35400
35401 * kern/i386/pc/startup.S (grub_stop): Remove function.
35402 * kern/i386/ieee1275/startup.S: Likewise.
35403 * kern/i386/coreboot/startup.S: Likewise.
35404 * kern/i386/misc.S (grub_stop): New function.
35405
35406 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35407
35408 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35409 * kern/i386/realmode.S (real_to_prot): ... to here.
35410
35411 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35412
35413 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35414 with `kernel.img'.
35415 (kernel_elf_SOURCES): Rename to ...
35416 (kernel_img_SOURCES): ... this.
35417 (kernel_elf_HEADERS): Rename to ...
35418 (kernel_img_HEADERS): ... this. Update all users.
35419 (kernel_elf_ASFLAGS): Rename to ...
35420 (kernel_img_ASFLAGS): ... this.
35421 (kernel_elf_CFLAGS): Rename to ...
35422 (kernel_img_CFLAGS): ... this.
35423 (kernel_elf_LDFLAGS): Rename to ...
35424 (kernel_img_LDFLAGS): ... this.
35425 * conf/i386-coreboot.rmk: Likewise.
35426 * conf/powerpc-ieee1275.rmk: Likewise.
35427
35428 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35429 with "kernel.img".
35430
35431 2009-06-21 Pavel Roskin <proski@gnu.org>
35432
35433 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35434 to match nested functions.
35435 * loader/sparc64/ieee1275/linux.c: Likewise.
35436
35437 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35438
35439 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35440
35441 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35442 all i386 platforms.
35443
35444 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35445
35446 Fix asm file handling on ELF, and remove workarounds.
35447
35448 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
35449 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
35450 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35451 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35452
35453 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35454
35455 Load BSD ELF modules
35456
35457 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35458 and loader/i386/bsd64.c
35459 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35460 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35461 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35462 (grub_freebsd_load_elfmodule32): New declaration
35463 (grub_freebsd_load_elfmoduleobj64): Likewise
35464 (grub_freebsd_load_elf_meta32): Likewise
35465 (grub_freebsd_load_elf_meta64): Likewise
35466 (grub_freebsd_add_meta): Likewise
35467 (grub_freebsd_add_meta_module): Likewise
35468 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35469 (grub_freebsd_add_meta_module): Likewise and move module-specific
35470 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35471 (grub_cmd_freebsd): Add elf-kernel specific parts
35472 based on grub_freebsd_add_meta_module
35473 (grub_cmd_freebsd_module): Add type parsing moved from
35474 grub_freebsd_add_meta_module
35475 (grub_cmd_freebsd_module_elf): New function
35476 (cmd_freebsd_module_elf): New variable
35477 (GRUB_MOD_INIT): Register freebsd_module_elf
35478 * loader/i386/bsd32.c: New file
35479 * loader/i386/bsd64.c: Likewise
35480 * loader/i386/bsdXX.c: Likewise
35481 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35482 (grub_elf64_load): Likewise
35483 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35484 All users updated
35485 (grub_elf64_load_hook_t): Likewise
35486
35487 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
35488
35489 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35490 variable.
35491 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35492 don't write a menu entry for recovery mode.
35493
35494 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35495
35496 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35497 after it's no longer needed.
35498
35499 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35500
35501 * include/grub/i386/loader.h (grub_linux_prot_size)
35502 (grub_linux_tmp_addr, grub_linux_real_addr)
35503 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35504 GRUB_MACHINE_PCBIOS.
35505 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35506 common grub_util_info() call to ...
35507 (generate_image): ... here.
35508 Fix use of uninitialized memory, comparison of signed with
35509 unsigned integers and memory leak.
35510 Remove bogus module address message.
35511
35512 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35513
35514 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35515 grub_raid_register
35516 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35517
35518 2009-06-19 Pavel Roskin <proski@gnu.org>
35519
35520 * configure.ac: Remove stray AC_MSG_CHECKING.
35521
35522 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35523
35524 * disk/scsi.c (grub_scsi_open): use continue instead of big if
35525
35526 2009-06-18 Pavel Roskin <proski@gnu.org>
35527
35528 * conf/common.rmk: Add fs_file.mod.
35529 * disk/fs_file.c: New file.
35530 * include/grub/disk.h (enum grub_disk_dev_id): Add
35531 GRUB_DISK_DEVICE_FILE_ID.
35532
35533 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35534
35535 Fix build with Apple's toolchain. Part 2
35536
35537 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35538 a fake start
35539
35540 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35541
35542 Fix build with Apple's toolchain. Part 1
35543
35544 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35545 for long calls
35546 * configure.ac: remove a leftover AC_MSG_RESULT
35547 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
35548 Apple's toolchain
35549
35550 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35551
35552 Fix warnings
35553
35554 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35555 (decomp_block): initialize ch
35556 use grub_memcpy instead of memcpy
35557
35558 2009-06-17 Pavel Roskin <proski@gnu.org>
35559
35560 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35561 version, use declarations needed to use vga_text as the startup
35562 console.
35563
35564 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35565 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35566 the kernel.
35567 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35568 and grub_at_keyboard_fini(), it's done on module load and
35569 unload.
35570
35571 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
35572
35573 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35574 file can't be found.
35575 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35576
35577 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35578
35579 Fix newline handling
35580
35581 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
35582 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
35583 (grub_script_yylex): don't segfault on unterminated script
35584 newline terminates command and variable
35585
35586 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35587
35588 avoid double grub_adjust_range call. Bug reported by David Simner
35589
35590 * kern/disk.c (grub_disk_write): change to raw disk access before
35591 calling disk_read
35592
35593 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
35594
35595 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35596 spaces, for the benefit of help2man.
35597 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35598
35599 2009-06-16 Pavel Roskin <proski@gnu.org>
35600
35601 * kern/i386/halt.c: Include grub/machine/init.h.
35602 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35603
35604 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
35605
35606 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35607 drivemap menuentry.
35608
35609 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35610
35611 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35612 `echo' command.
35613
35614 2009-06-16 Pavel Roskin <proski@gnu.org>
35615
35616 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35617 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35618 save %dx, we only need %dl and we never change it.
35619 * boot/i386/pc/cdboot.S: Don't set the root drive.
35620 * boot/i386/pc/pxeboot.S: Likewise.
35621 * include/grub/i386/pc/boot.h: Remove
35622 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35623 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35624 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35625 * kern/i386/pc/init.c (make_install_device): Remove references
35626 to grub_root_drive.
35627 * kern/i386/pc/startup.S: Likewise.
35628 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35629
35630 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35631
35632 xnu_uuid command
35633
35634 * commands/xnu_uuid.c: new file
35635 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35636 (xnu_uuid_mod_SOURCES): new variable
35637 (xnu_uuid_mod_CFLAGS): likewise
35638 (xnu_uuid_mod_LDFLAGS): likewise
35639 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35640 * conf/i386-ieee1275.rmk: likewise
35641 * conf/i386-pc.rmk: likewise
35642 * conf/powerpc-ieee1275.rmk: likewise
35643 * conf/sparc64-ieee1275.rmk: likewise
35644 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35645
35646 2009-06-16 Pavel Roskin <proski@gnu.org>
35647
35648 * configure.ac: Avoid '==' in test command, it's not portable.
35649
35650 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35651
35652 Probe command
35653
35654 * commands/probe.c: new file
35655 * conf/common.rmk (pkglib_MODULES): add probe.mod
35656 (probe_mod_SOURCES): new variable
35657 (probe_mod_CFLAGS): likewise
35658 (probe_mod_LDFLAGS): likewise
35659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35660 * conf/i386-ieee1275.rmk: likewise
35661 * conf/i386-pc.rmk: likewise
35662 * conf/powerpc-ieee1275.rmk: likewise
35663 * conf/sparc64-ieee1275.rmk: likewise
35664
35665 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35666
35667 Fix handling of string like \"hello\" and "a
35668 b"
35669
35670 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35671 (grub_script_yylex): fix parsing of quoting, escaping and newline
35672
35673 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35674
35675 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
35676 handling
35677
35678 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
35679
35680 * util/grub-mkconfig.in: Fix parsing of --output option.
35681
35682 2009-06-12 Pavel Roskin <proski@gnu.org>
35683
35684 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35685 genmk.rb don't need to be generated or installed.
35686
35687 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35688
35689 * commands/i386/pc/drivemap_int13h.S: add more comments
35690
35691 2009-06-11 Pavel Roskin <proski@gnu.org>
35692
35693 * Makefile.in (uninstall): Uninstall manuals.
35694
35695 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35696 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35697 and update-grub_lib in two places.
35698 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35699
35700 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35701 a compiler warning.
35702
35703 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35704 `entry_lo' to fix variable shadowing.
35705
35706 2009-06-11 Christian Franke <franke@computer.org>
35707
35708 * kern/misc.c (__enable_execute_stack): Add missing return type
35709 to prevent gcc warning.
35710
35711 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
35712
35713 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35714
35715 2009-06-11 Pavel Roskin <proski@gnu.org>
35716
35717 * Makefile.in: Don't rely on any scripts being executable.
35718 Always use $(SHELL) to run shell scripts.
35719
35720 * configure.ac: Always define ___main if using -nostdlib. This
35721 fixes tests on Cygwin.
35722
35723 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35724
35725 UDF fix
35726
35727 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
35728 is in bytes and not in blocks
35729
35730 2009-06-11 Pavel Roskin <proski@gnu.org>
35731
35732 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35733 warning.
35734
35735 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
35736
35737 * util/grub.d/30_os-prober.in: Fix a comment. Source
35738 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35739 to set the root device. Place drivemap command in the generated
35740 chain entry.
35741
35742 2009-06-11 Pavel Roskin <proski@gnu.org>
35743
35744 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35745 have long been resolved.
35746
35747 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
35748
35749 * util/grub.d/10_linux.in: Capitalise "Linux".
35750
35751 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35752
35753 2009-06-11 Pavel Roskin <proski@gnu.org>
35754
35755 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35756 fix a gcc warning and ensure that the function won't ever exit.
35757
35758 * kern/i386/ieee1275/init.c: Add missing prototype for
35759 grub_stop_floppy().
35760
35761 * loader/ieee1275/multiboot2.c [__i386__]: Include
35762 grub/cpu/multiboot.h.
35763
35764 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35765 casts to short - they are not portable and cause warnings. Fix
35766 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35767
35768 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35769
35770 Drivemap fixes
35771
35772 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35773 new function
35774 (grub_get_root_biosnumber_saved): new variable
35775 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35776 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
35777 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
35778 %dx after the call if necessary
35779 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35780 (boot_mod_SOURCES): remove
35781 (boot_mod_CFLAGS): remove
35782 (boot_mod_LDFLAGS): remove
35783 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35784 (boot_mod_SOURCES): new variable
35785 (boot_mod_CFLAGS): likewise
35786 (boot_mod_LDFLAGS): likewise
35787 * conf/i386-efi.rmk: likewise
35788 * conf/i386-ieee1275.rmk: likewise
35789 * conf/i386-pc.rmk: likewise
35790 * conf/powerpc-ieee1275.rmk: likewise
35791 * conf/sparc64-ieee1275.rmk: likewise
35792 * conf/x86_64-efi.rmk: likewise
35793 * include/grub/i386/pc/biosnum.h: new file
35794 * lib/i386/pc/biosnum.c: likewise
35795 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35796 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35797 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
35798
35799 2009-06-10 Pavel Roskin <proski@gnu.org>
35800
35801 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35802 Use separate variables. Read only the file size at the end, but
35803 not the checksum that we don't use.
35804
35805 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35806 Adjust all callers.
35807
35808 * kern/ieee1275/openfw.c: Remove libc includes.
35809 * kern/ieee1275/cmain.c: Likewise.
35810 * include/grub/ieee1275/ieee1275.h: Likewise.
35811
35812 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35813 compiler warnings.
35814
35815 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
35816
35817 * Makefile.in: Remove all trailing whitespace.
35818 * conf/i386-pc.rmk: Likewise.
35819 * conf/powerpc-ieee1275.rmk: Likewise.
35820 * conf/sparc64-ieee1275.rmk: Likewise.
35821 * docs/grub.texi: Likewise.
35822 * docs/texinfo.tex: Likewise.
35823 * disk/fs_uuid.c: Likewise.
35824 * disk/lvm.c: Likewise.
35825 * disk/scsi.c: Likewise.
35826 * disk/ata.c: Likewise.
35827 * disk/ieee1275/ofdisk.c: Likewise.
35828 * disk/i386/pc/biosdisk.c: Likewise.
35829 * disk/host.c: Likewise.
35830 * disk/raid.c: Likewise.
35831 * disk/efi/efidisk.c: Likewise.
35832 * disk/usbms.c: Likewise.
35833 * disk/memdisk.c: Likewise.
35834 * disk/loopback.c: Likewise.
35835 * kern/powerpc/dl.c: Likewise.
35836 * kern/device.c: Likewise.
35837 * kern/dl.c: Likewise.
35838 * kern/sparc64/dl.c: Likewise.
35839 * kern/ieee1275/ieee1275.c: Likewise.
35840 * kern/term.c: Likewise.
35841 * kern/fs.c: Likewise.
35842 * kern/i386/dl.c: Likewise.
35843 * kern/i386/pc/startup.S: Likewise.
35844 * kern/i386/pc/init.c: Likewise.
35845 * kern/i386/pc/mmap.c: Likewise.
35846 * kern/i386/pc/lzo1x.S: Likewise.
35847 * kern/i386/ieee1275/init.c: Likewise.
35848 * kern/i386/realmode.S: Likewise.
35849 * kern/i386/tsc.c: Likewise.
35850 * kern/partition.c: Likewise.
35851 * kern/corecmd.c: Likewise.
35852 * kern/file.c: Likewise.
35853 * kern/efi/efi.c: Likewise.
35854 * kern/efi/init.c: Likewise.
35855 * kern/efi/mm.c: Likewise.
35856 * kern/main.c: Likewise.
35857 * kern/err.c: Likewise.
35858 * kern/env.c: Likewise.
35859 * kern/disk.c: Likewise.
35860 * kern/generic/millisleep.c: Likewise.
35861 * kern/generic/rtc_get_time_ms.c: Likewise.
35862 * kern/misc.c: Likewise.
35863 * kern/parser.c: Likewise.
35864 * genmk.rb: Likewise.
35865 * configure.ac: Likewise.
35866 * boot/i386/pc/diskboot.S: Likewise.
35867 * boot/i386/pc/pxeboot.S: Likewise.
35868 * boot/i386/pc/boot.S: Likewise.
35869 * boot/i386/pc/lnxboot.S: Likewise.
35870 * boot/i386/pc/cdboot.S: Likewise.
35871 * parttool/pcpart.c: Likewise.
35872 * video/readers/tga.c: Likewise.
35873 * video/video.c: Likewise.
35874 * video/bitmap.c: Likewise.
35875 * lib/envblk.c: Likewise.
35876 * lib/i386/setjmp.S: Likewise.
35877 * fs/xfs.c: Likewise.
35878 * fs/afs.c: Likewise.
35879 * fs/fat.c: Likewise.
35880 * fs/ntfs.c: Likewise.
35881 * fs/udf.c: Likewise.
35882 * fs/affs.c: Likewise.
35883 * fs/iso9660.c: Likewise.
35884 * fs/hfs.c: Likewise.
35885 * fs/fshelp.c: Likewise.
35886 * fs/ext2.c: Likewise.
35887 * fs/jfs.c: Likewise.
35888 * fs/reiserfs.c: Likewise.
35889 * fs/hfsplus.c: Likewise.
35890 * fs/minix.c: Likewise.
35891 * fs/cpio.c: Likewise.
35892 * fs/sfs.c: Likewise.
35893 * fs/ufs.c: Likewise.
35894 * efiemu/prepare.c: Likewise.
35895 * efiemu/loadcore_common.c: Likewise.
35896 * efiemu/runtime/efiemu.sh: Likewise.
35897 * efiemu/runtime/efiemu.S: Likewise.
35898 * efiemu/runtime/efiemu.c: Likewise.
35899 * efiemu/pnvram.c: Likewise.
35900 * efiemu/main.c: Likewise.
35901 * efiemu/i386/pc/cfgtables.c: Likewise.
35902 * efiemu/i386/loadcore64.c: Likewise.
35903 * efiemu/i386/loadcore32.c: Likewise.
35904 * efiemu/loadcore.c: Likewise.
35905 * efiemu/symbols.c: Likewise.
35906 * efiemu/mm.c: Likewise.
35907 * include/grub/autoefi.h: Likewise.
35908 * include/grub/datetime.h: Likewise.
35909 * include/grub/term.h: Likewise.
35910 * include/grub/hfs.h: Likewise.
35911 * include/grub/lvm.h: Likewise.
35912 * include/grub/i386/tsc.h: Likewise.
35913 * include/grub/i386/linux.h: Likewise.
35914 * include/grub/i386/xnu.h: Likewise.
35915 * include/grub/i386/efiemu.h: Likewise.
35916 * include/grub/i386/pc/biosdisk.h: Likewise.
35917 * include/grub/i386/pc/memory.h: Likewise.
35918 * include/grub/i386/pc/vbe.h: Likewise.
35919 * include/grub/parttool.h: Likewise.
35920 * include/grub/video.h: Likewise.
35921 * include/grub/memory.h: Likewise.
35922 * include/grub/fs.h: Likewise.
35923 * include/grub/partition.h: Likewise.
35924 * include/grub/xnu.h: Likewise.
35925 * include/grub/efi/api.h: Likewise.
35926 * include/grub/efi/pe32.h: Likewise.
35927 * include/grub/efi/memory.h: Likewise.
35928 * include/grub/multiboot.h: Likewise.
35929 * include/grub/usbdesc.h: Likewise.
35930 * include/grub/multiboot2.h: Likewise.
35931 * include/grub/acpi.h: Likewise.
35932 * include/grub/efiemu/efiemu.h: Likewise.
35933 * include/grub/disk.h: Likewise.
35934 * include/grub/ieee1275/ieee1275.h: Likewise.
35935 * include/grub/net.h: Likewise.
35936 * include/grub/machoload.h: Likewise.
35937 * include/grub/macho.h: Likewise.
35938 * include/multiboot.h: Likewise.
35939 * genmoddep.awk: Likewise.
35940 * normal/main.c: Likewise.
35941 * normal/menu_entry.c: Likewise.
35942 * normal/menu_viewer.c: Likewise.
35943 * normal/completion.c: Likewise.
35944 * normal/cmdline.c: Likewise.
35945 * normal/misc.c: Likewise.
35946 * normal/datetime.c: Likewise.
35947 * bus/usb/usbtrans.c: Likewise.
35948 * bus/usb/ohci.c: Likewise.
35949 * bus/usb/uhci.c: Likewise.
35950 * bus/usb/usb.c: Likewise.
35951 * mmap/efi/mmap.c: Likewise.
35952 * mmap/i386/pc/mmap_helper.S: Likewise.
35953 * mmap/i386/pc/mmap.c: Likewise.
35954 * mmap/i386/mmap.c: Likewise.
35955 * mmap/i386/uppermem.c: Likewise.
35956 * mmap/mmap.c: Likewise.
35957 * commands/acpi.c: Likewise.
35958 * commands/echo.c: Likewise.
35959 * commands/blocklist.c: Likewise.
35960 * commands/loadenv.c: Likewise.
35961 * commands/usbtest.c: Likewise.
35962 * commands/boot.c: Likewise.
35963 * commands/parttool.c: Likewise.
35964 * commands/search.c: Likewise.
35965 * commands/cat.c: Likewise.
35966 * commands/i386/pc/play.c: Likewise.
35967 * commands/i386/pc/drivemap.c: Likewise.
35968 * commands/i386/pc/vbeinfo.c: Likewise.
35969 * commands/i386/pc/acpi.c: Likewise.
35970 * commands/i386/pc/vbetest.c: Likewise.
35971 * commands/ls.c: Likewise.
35972 * commands/cmp.c: Likewise.
35973 * commands/test.c: Likewise.
35974 * commands/efi/acpi.c: Likewise.
35975 * commands/gptsync.c: Likewise.
35976 * commands/help.c: Likewise.
35977 * partmap/amiga.c: Likewise.
35978 * partmap/apple.c: Likewise.
35979 * partmap/acorn.c: Likewise.
35980 * partmap/pc.c: Likewise.
35981 * partmap/sun.c: Likewise.
35982 * partmap/gpt.c: Likewise.
35983 * script/sh/lexer.c: Likewise.
35984 * script/sh/function.c: Likewise.
35985 * font/font.c: Likewise.
35986 * font/font_cmd.c: Likewise.
35987 * loader/powerpc/ieee1275/linux.c: Likewise.
35988 * loader/efi/chainloader.c: Likewise.
35989 * loader/multiboot_loader.c: Likewise.
35990 * loader/macho.c: Likewise.
35991 * loader/i386/multiboot.c: Likewise.
35992 * loader/i386/linux.c: Likewise.
35993 * loader/i386/pc/linux.c: Likewise.
35994 * loader/i386/pc/multiboot2.c: Likewise.
35995 * loader/i386/pc/chainloader.c: Likewise.
35996 * loader/i386/pc/xnu.c: Likewise.
35997 * loader/i386/bsd_trampoline.S: Likewise.
35998 * loader/i386/efi/linux.c: Likewise.
35999 * loader/i386/multiboot_elfxx.c: Likewise.
36000 * loader/i386/bsd_helper.S: Likewise.
36001 * loader/i386/bsd.c: Likewise.
36002 * loader/i386/linux_trampoline.S: Likewise.
36003 * loader/i386/xnu_helper.S: Likewise.
36004 * loader/i386/xnu.c: Likewise.
36005 * loader/i386/bsd_pagetable.c: Likewise.
36006 * loader/i386/multiboot_helper.S: Likewise.
36007 * loader/xnu.c: Likewise.
36008 * loader/xnu_resume.c: Likewise.
36009 * io/gzio.c: Likewise.
36010 * term/efi/console.c: Likewise.
36011 * term/terminfo.c: Likewise.
36012 * term/ieee1275/ofconsole.c: Likewise.
36013 * term/i386/pc/serial.c: Likewise.
36014 * term/i386/pc/vesafb.c: Likewise.
36015 * term/i386/pc/vga.c: Likewise.
36016 * term/usb_keyboard.c: Likewise.
36017 * term/gfxterm.c: Likewise.
36018 * aclocal.m4: Likewise.
36019 * util/lvm.c: Likewise.
36020 * util/grub.d/30_os-prober.in: Likewise.
36021 * util/grub.d/10_hurd.in: Likewise.
36022 * util/console.c: Likewise.
36023 * util/grub-macho2img.c: Likewise.
36024 * util/grub-probe.c: Likewise.
36025 * util/hostfs.c: Likewise.
36026 * util/i386/pc/grub-mkimage.c: Likewise.
36027 * util/i386/pc/grub-setup.c: Likewise.
36028 * util/i386/efi/grub-mkimage.c: Likewise.
36029 * util/grub-mkconfig.in: Likewise.
36030 * util/raid.c: Likewise.
36031 * util/resolve.c: Likewise.
36032 * util/grub-mkdevicemap.c: Likewise.
36033 * util/grub-emu.c: Likewise.
36034 * util/getroot.c: Likewise.
36035 * util/hostdisk.c: Likewise.
36036 * util/usb.c: Likewise.
36037 * util/grub-editenv.c: Likewise.
36038 * util/misc.c: Likewise.
36039
36040 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
36041
36042 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36043 `genparttoollist.sh'.
36044 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36045 Add `*.sh' to the list find searches for and change `mdate.sh'
36046 to `mdate-sh'.
36047
36048 2009-06-10 Pavel Roskin <proski@gnu.org>
36049
36050 * include/grub/multiboot2.h: Provide compatibility defines for
36051 multiboot2.h.
36052 * include/multiboot2.h: Include stdint.h only if needed, using
36053 angle brackets.
36054 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36055 grub/multiboot2.h.
36056 * loader/ieee1275/multiboot2.c: Likewise.
36057 * loader/multiboot2.c: Likewise.
36058 * loader/multiboot_loader.c: Likewise.
36059
36060 * configure.ac: Use -nostdlib when probing for the target. It
36061 should not be required to have libc for the target.
36062
36063 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36064 they fail without libc headers for the target.
36065 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36066 exports.
36067 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36068 preprocessor conditionals.
36069
36070 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36071 build system doesn't need to be aware of the tar.c internals.
36072
36073 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
36074
36075 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
36076
36077 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36078
36079 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36080 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36081
36082 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
36083
36084 * util/i386/pc/grub-install.in: Change the error message if UUIDs
36085 aren't available if ata.mod gets used.
36086
36087 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
36088
36089 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
36090 initialising controller.
36091 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36092
36093 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36094
36095 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36096 to choose between ata and biosdisk module on i386-pc.
36097
36098 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
36099
36100 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36101 Subclass and Programming Interface fields in terms of the 3 byte
36102 Class Code register.
36103 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36104
36105 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36106 interface is OHCI. Add grub_dprintf for symmetry with
36107 bus/usb/uhci.c.
36108 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36109 interface is UHCI. Add interf variable for programming
36110 interface. Print interface with class/subclass.
36111
36112 * bus/usb/ohci.c: Set interf with correct field.
36113
36114 * bus/usb/uhci.c: Remove unneeded doubled lines.
36115 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36116 Remove whitespace inside comment.
36117
36118 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36119
36120 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36121 as fallback an equivalent option without depth.
36122
36123 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36124
36125 Not fail if unable to retrieve C/H/S on LBA disks
36126
36127 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
36128 if unable to retrieve C/H/S on LBA disks
36129
36130 2009-06-08 Pavel Roskin <proski@gnu.org>
36131
36132 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36133 about aliasing.
36134
36135 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36136
36137 * Makefile.in (uninstall): Remove all $lib_DATA files.
36138
36139 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36140
36141 Bugfix: install on partitionless device
36142
36143 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36144 is a whole disk
36145
36146 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36147
36148 * Makefile.in (uninstall): Remove all $include_DATA files.
36149
36150 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36151
36152 * commands/true.c: New file. Implement the true and false commands.
36153 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36154 (true_mod_SOURCES): New variable.
36155 (true_mod_CFLAGS): Likewise.
36156 (true_mod_LDFLAGS): Likewise.
36157
36158 2009-06-05 Colin D Bennett <colin@gibibit.com>
36159
36160 Optimized font character lookup using binary search instead of linear
36161 search. Fonts now are required to have the character index ordered by
36162 code point.
36163
36164 * font/font.c (load_font_index): Verify that fonts have ordered
36165 character indices.
36166 (find_glyph): Use binary search instead of linear search to find a
36167 character in a font.
36168
36169 2009-06-05 Michael Scherer <misc@mandriva.org>
36170
36171 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36172 uses case sensitive btree.
36173 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36174 only for case insensitive filesystems.
36175
36176 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36177
36178 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36179 * conf/common.rmk (search_mod_CFLAGS): likewise
36180
36181 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36182
36183 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
36184 compensate a compiler bug
36185
36186 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36187
36188 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
36189 instead of '\b'
36190
36191 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36192
36193 Definitions for creating asm symbols with Apple's CC
36194
36195 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36196 [APPLE_CC] (VARIABLE): likewise
36197
36198 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36199
36200 Disable lnxboot.img when compiled
36201 with Apple's CC
36202
36203 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36204 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36205 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36206 [! APPLE_CC] (CODE_LENG): skip
36207 [! APPLE_CC] (setup_sects): likewise
36208 [! APPLE_CC]: skip filling
36209
36210 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36211
36212 Address in trampolines based on 32-bit registers when compiled
36213 with Apple's CC
36214
36215 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
36216 for addresses
36217 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36218
36219 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36220
36221 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36222
36223 * kern/misc.c [APPLE_CC] (memcpy): new function
36224 [APPLE_CC] (memmove): likewise
36225 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
36226 (memcpy): define alias conditionally on !APPLE_CC
36227 (memset): likewise
36228 (abort): likewise
36229 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36230 APPLE_CC are defined
36231 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36232 (grub_assert_fail): make prototype conditional
36233
36234 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36235
36236 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36237
36238 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36239 grub-macho2img
36240 (CLEANFILES): add grub-macho2img
36241 (grub_macho2img_SOURCES): new variable
36242 * kern/i386/pc/startup.S (bss_start): new variable
36243 (bss_end): likewise
36244 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36245 * util/grub-macho2img.c: new file
36246
36247 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36248
36249 Use objconv when compiling with Apple's CC
36250
36251 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36252 (efiemu64.o): likewise
36253 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36254 when compiling with Apple's CC
36255 (efiemu64_s.o): likewise
36256 * configure.ac: check for objconv when compiling with Apple's CC
36257 * genmk.rb: use objconv for modules when compiled with Apple's CC
36258
36259 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36260
36261 Define segment as well as section when compiling with
36262 Apple's CC
36263
36264 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36265 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36266 (efiemu_convert_pointer): likewise
36267 (efiemu_set_virtual_address_map): likewise
36268 (efiemu_convert_pointer): likewise
36269 (efiemu_getcrc32): likewise
36270 (init_crc32_table): likewise
36271 (reflect): likewise
36272 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36273 (GRUB_MOD_DEP): likewise
36274
36275 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36276
36277 Allow a compilation without -mcmodel=large
36278
36279 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36280 when compiled without -mcmodel=large
36281 (filter_memory_map): remove memory post 4 GiB when compiled
36282 without -mcmodel=large
36283 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
36284 TARGET_CFLAGS when -mcmodel=large isn't supported
36285
36286 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36287
36288 Remove nested functions in efiemu core
36289
36290 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
36291
36292 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36293
36294 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36295
36296 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36297 temporary storage
36298 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36299 using Apple's CC
36300 (grub_cpu_is_tsc_supported): likewise
36301 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
36302
36303 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36304
36305 Absolute addressing through constant with Apple's cc
36306
36307 * kern/i386/pc/startup.S: Define necessary constants
36308 and address through it when using ABS with Apple's CC
36309 * boot/i386/pc/diskboot.S: likewise
36310 * boot/i386/pc/boot.S: likewise
36311 * boot/i386/pc/lnxboot.S: likewise
36312 * boot/i386/pc/cdboot.S: likewise
36313 * mmap/i386/pc/mmap_helper.S: likewise
36314 * commands/i386/pc/drivemap_int13h.S: likewise
36315
36316 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36317
36318 Check if compiler is apple cc
36319
36320 * Makefile.in (ASFLAGS): new variable
36321 (TARGET_ASFLAGS): likewise
36322 (TARGET_MODULE_FORMAT): likewise
36323 (TARGET_APPLE_CC): likewise
36324 (OBJCONV): likewise
36325 (TARGET_IMG_CFLAGS): likewise
36326 (TARGET_CPPFLAGS): add includedir
36327 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36328 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36329 Check for linker script only if compiler isn't Apple's CC
36330 (TARGET_MODULE_FORMAT): set
36331 (TARGET_APPLE_CC): likewise
36332 (TARGET_ASFLAGS): likewise
36333 (ASFLAGS): likewise
36334 Check for objcopy only if compiler isn't Apple's CC
36335 Check for BSS symbol only if compiler isn't Apple's CC
36336 * genmk.rb: adapt nm options if we use Apple's utils
36337 * aclocal.m4 (grub_apple_cc): new test
36338 (grub_apple_target_cc): likewise
36339
36340 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36341
36342 Simplify sed expressions and improve awk
36343
36344 * Makefile.in (install-local): simplify sed expression
36345 * gencmdlist.sh: likewise
36346 * genmoddep.awk: avoid adding module as a dependency of itself
36347
36348 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36349
36350 Add missing start symbols
36351
36352 * boot/i386/pc/boot.S: add start
36353 * boot/i386/pc/pxeboot.S: likewise
36354
36355 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36356
36357 Fix wrong assumptions with grub-mkimage on EFI
36358
36359 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
36360 (relocate_addresses): consider both r_addend and value at offset
36361 (make_mods_section): zerofill modinfo and header
36362 (convert_elf): write prefix here
36363
36364 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36365
36366 Use .asciz instead of .string
36367
36368 * i386/pc/diskboot.S: use .asciz instead of .string
36369 * i386/pc/boot.S: likewise
36370 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36371 (GRUB_MOD_NAME): likewise
36372
36373 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36374
36375 gfxpayload support
36376
36377 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36378 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36379 (grub_video_setup): remove
36380 (grub_video_set_mode): new prototype
36381 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36382 (vid_mode): remove
36383 (linux_vesafb_res): compile only on PCBIOS
36384 (grub_linux_boot): support gfxpayload
36385 * loader/i386/pc/xnu.c (video_hook): new function
36386 (grub_xnu_set_video): support gfxpayload
36387 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36388 (DEFAULT_VIDEO_HEIGHT): likewise
36389 (DEFAULT_VIDEO_FLAGS): likewise
36390 (DEFAULT_VIDEO_MODE): new definition
36391 (video_hook): new function
36392 (grub_gfxterm_init): use grub_video_set_mode
36393 * util/grub.d/30_os-prober.in: remove explicit modesetting before
36394 loading xnu
36395 * video/video.c (grub_video_setup): removed
36396 (grub_video_set_mode): new function based on grub_gfxterm_init and
36397 grub_video_setup
36398
36399 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36400
36401 Avoid calling biosdisk in drivemap
36402
36403 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36404 (revparse_biosdisk): likewise
36405 (list_mappings): derive name from id directly
36406 (grub_cmd_drivemap): use tryparse_diskstring
36407
36408 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36409
36410 Script fixes
36411
36412 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36413 (grub_lexer_param): add tokenonhold
36414 (grub_script_create_cmdline): remove cmdline. All callers updated
36415 (grub_script_function_create): make functionname
36416 grub_script_arg. All callers updated
36417 (grub_script_execute_argument_to_string): new prototype
36418 * kern/parser.c (state_transitions): reorder
36419 (grub_parser_cmdline_state): fix a bug and make more compact
36420 * script/sh/execute.c (grub_script_execute_argument_to_string):
36421 make global
36422 (grub_script_execute_cmdline): use new format
36423 * script/sh/function.c (grub_script_function_create): make functionname
36424 grub_script_arg. All callers updated
36425 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
36426 (grub_script_yylex): remove
36427 (grub_script_yylex2): renamed to ...
36428 (grub_script_yylex): ...renamed
36429 parse the expressions like a${b}c
36430 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36431 (GRUB_PARSER_TOKEN_VAR): remove
36432 (GRUB_PARSER_TOKEN_NAME): likewise
36433 ("if"): declare as typeless
36434 ("while"): likewise
36435 ("function"): likewise
36436 ("else"): likewise
36437 ("then"): likewise
36438 ("fi"): likewise
36439 (text): remove
36440 (argument): likewise
36441 (script): accept empty scripts and make exit on error
36442 (arguments): use GRUB_PARSER_TOKEN_ARG
36443 (function): likewise
36444 (command): move error handling to script
36445 (menuentry): move grub_script_lexer_ref before
36446 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
36447 argument. All callers updated
36448
36449 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36450
36451 Prevent GRUB from probing floppies during boot.
36452
36453 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36454 * commands/search.c (options): Add --no-floppy.
36455 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36456 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36457 --no-floppy when searching for UUIDs.
36458
36459 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36460
36461 Simplify the code duplication in commands/search.c.
36462
36463 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36464 (search_fs): ... this. Update all users.
36465
36466 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
36467
36468 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36469
36470 2009-05-28 Pavel Roskin <proski@gnu.org>
36471
36472 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36473 Remove the original symlink explicitly.
36474
36475 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36476 just one slash. That's how grub_fshelp_find_file() does it.
36477
36478 2009-05-26 Pavel Roskin <proski@gnu.org>
36479
36480 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36481 to `str'.
36482
36483 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36484 possibly unused.
36485
36486 2009-05-25 Christian Franke <franke@computer.org>
36487
36488 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36489 register.
36490 (grub_atapi_identify): Add wait after drive select.
36491 (grub_ata_identify): Do more strict status register check before
36492 calling grub_atapi_identify (). Suppress error message if status
36493 register is 0x00 after command failure. Add status register
36494 check after PIO read to avoid bogus identify due to stuck DRQ.
36495 Thanks to Pavel Roskin for testing.
36496 (grub_device_initialize): Remove unsafe status register check.
36497 Thanks to 'phcoder' for problem report and patch.
36498 Prevent sign extension in debug message.
36499
36500 2009-05-23 Colin D Bennett <colin@gibibit.com>
36501
36502 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36503 definition file, and functions defined in `normal/menu.c' have had
36504 their prototypes moved to `include/grub/menu.h' for consistency.
36505
36506 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36507 from normal.h.
36508 (grub_menu_get_entry): Likewise.
36509 (grub_menu_get_timeout): Likewise.
36510 (grub_menu_set_timeout): Likewise.
36511 (grub_menu_execute_entry): Likewise.
36512 (grub_menu_execute_with_fallback): Likewise.
36513 (grub_menu_entry_run): Likewise.
36514
36515 * include/grub/normal.h: Re-ordered and grouped function
36516 prototypes by file that the function is defined in.
36517 (grub_menu_execute_callback): Removed; moved to menu.h.
36518 (grub_menu_get_entry): Likewise.
36519 (grub_menu_get_timeout): Likewise.
36520 (grub_menu_set_timeout): Likewise.
36521 (grub_menu_execute_entry): Likewise.
36522 (grub_menu_execute_with_fallback): Likewise.
36523 (grub_menu_entry_run): Likewise.
36524 (grub_menu_addentry): Renamed from this ...
36525 (grub_normal_add_menu_entry): ... to this.
36526
36527 * normal/main.c (grub_menu_addentry): Renamed from this ...
36528 (grub_normal_add_menu_entry): ... to this.
36529
36530 * script/sh/execute.c (grub_script_execute_menuentry): Update
36531 reference to renamed grub_menu_addentry function.
36532
36533 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
36534
36535 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36536
36537 2009-05-22 Pavel Roskin <proski@gnu.org>
36538
36539 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36540 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36541 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36542 compiling for the i386 targets, but not for the utilities.
36543
36544 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36545 to grub_uint8_t.
36546 (grub_root_drive): Likewise.
36547 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36548 remove alignment.
36549 (grub_root_drive): Change size to byte.
36550 (grub_start_addr): Remove.
36551 (grub_end_addr): Likewise.
36552 (grub_apm_bios_info): Likewise.
36553
36554 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
36555
36556 * normal/i386: Remove.
36557 * normal/powerpc: Likewise.
36558 * normal/sparc64: Likewise.
36559 * normal/x86_64: Likewise.
36560
36561 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36562
36563 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
36564 * loader/i386/linux_trampoline.S: Fix indentation
36565 * loader/i386/xnu_helper.S: Likewise
36566
36567 2009-05-18 Colin D Bennett <colin@gibibit.com>
36568
36569 Display error messages when parsing a Lua statement fails.
36570 Previously, executing a syntactically invalid statement like
36571 ")foo" or "bar;" would silently fail.
36572
36573 * script/lua/grub_main.c (handle_lua_error): New function.
36574 (grub_lua_parse_line): Improved reporting of Lua parser and
36575 execution errors.
36576
36577 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36578
36579 Remove -Werror which causes build to fail on some systems
36580
36581 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36582 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36583 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
36584
36585 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36586
36587 trampoline for linux on 64-bit platform
36588
36589 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36590 loader/i386/efi/linux_trampoline.S
36591 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
36592 declaration
36593 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36594 here
36595 * loader/i386/linux_trampoline.S: moved here
36596 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36597 trampoline
36598 (jumpvector): removed
36599 (grub_linux_trampoline_start): new declaration
36600 (grub_linux_trampoline_end): likewise
36601 (grub_linux_boot): use trampoline when on 64-bit platform
36602 * loader/i386/linux.c: likewise
36603
36604 2009-05-16 Pavel Roskin <proski@gnu.org>
36605
36606 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36607 const to avoid a warning.
36608 (grub_lua_setenv): Likewise.
36609 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36610 lmsg to fix a warning.
36611
36612 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36613
36614 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
36615 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36616 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36617 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36618 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36619 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36620 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36621 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36622
36623 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36624
36625 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36626
36627 2009-05-16 Bean <bean123ch@gmail.com>
36628
36629 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36630 (lua_mod_SOURCES): New variable.
36631 (lua_mod_CFLAGS): Likewise.
36632 (lua_mod_LDFLAGS): Likewise.
36633
36634 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36635 (setjmp_mod_SOURCES): New variable.
36636 (setjmp_mod_CFLAGS): Likewise.
36637 (setjmp_LDFLAGS): Likewise.
36638
36639 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36640 (setjmp_mod_SOURCES): New variable.
36641 (setjmp_mod_CFLAGS): Likewise.
36642 (setjmp_LDFLAGS): Likewise.
36643
36644 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36645 (setjmp_mod_SOURCES): New variable.
36646 (setjmp_mod_CFLAGS): Likewise.
36647 (setjmp_LDFLAGS): Likewise.
36648
36649 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36650 (setjmp_mod_SOURCES): New variable.
36651 (setjmp_mod_CFLAGS): Likewise.
36652 (setjmp_LDFLAGS): Likewise.
36653
36654 * normal/i386/setjmp.S: Moved from here ...
36655 * lib/i386/setjmp.S: ... Moved here
36656 * normal/x86_64/setjmp.S: Moved from here ...
36657 * lib/x86_64/setjmp.S: ... Moved here
36658 * normal/powerpc/setjmp.S: Moved from here ...
36659 * lib/powerpc/setjmp.S: ... Moved here
36660 * normal/sparc64/setjmp.S: Moved from here ...
36661 * lib/sparc64/setjmp.S: ... Moved here
36662
36663 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36664 returns_twice in mingw.
36665
36666 * script/lua/grub_lib.c: New file.
36667 * script/lua/grub_lib.h: Likewise.
36668 * script/lua/grub_lua.h: Likewise.
36669 * script/lua/grub_main.c: Likewise.
36670 * script/lua/lapi.c: Likewise.
36671 * script/lua/lapi.h: Likewise.
36672 * script/lua/lauxlib.c: Likewise.
36673 * script/lua/lauxlib.h: Likewise.
36674 * script/lua/lbaselib.c: Likewise.
36675 * script/lua/lcode.c: Likewise.
36676 * script/lua/lcode.h: Likewise.
36677 * script/lua/ldblib.c: Likewise.
36678 * script/lua/ldebug.c: Likewise.
36679 * script/lua/ldebug.h: Likewise.
36680 * script/lua/ldo.c: Likewise.
36681 * script/lua/ldo.h: Likewise.
36682 * script/lua/ldump.c: Likewise.
36683 * script/lua/lfunc.c: Likewise.
36684 * script/lua/lfunc.h: Likewise.
36685 * script/lua/lgc.c: Likewise.
36686 * script/lua/lgc.h: Likewise.
36687 * script/lua/linit.c: Likewise.
36688 * script/lua/liolib.c: Likewise.
36689 * script/lua/llex.c: Likewise.
36690 * script/lua/llex.h: Likewise.
36691 * script/lua/llimits.h: Likewise.
36692 * script/lua/lmathlib.c: Likewise.
36693 * script/lua/lmem.c: Likewise.
36694 * script/lua/lmem.h: Likewise.
36695 * script/lua/loadlib.c: Likewise.
36696 * script/lua/lobject.c: Likewise.
36697 * script/lua/lobject.h: Likewise.
36698 * script/lua/lopcodes.c: Likewise.
36699 * script/lua/lopcodes.h: Likewise.
36700 * script/lua/loslib.c: Likewise.
36701 * script/lua/lparser.c: Likewise.
36702 * script/lua/lparser.h: Likewise.
36703 * script/lua/lstate.c: Likewise.
36704 * script/lua/lstate.h: Likewise.
36705 * script/lua/lstring.c: Likewise.
36706 * script/lua/lstring.h: Likewise.
36707 * script/lua/lstrlib.c: Likewise.
36708 * script/lua/ltable.c: Likewise.
36709 * script/lua/ltable.h: Likewise.
36710 * script/lua/ltablib.c: Likewise.
36711 * script/lua/ltm.c: Likewise.
36712 * script/lua/ltm.h: Likewise.
36713 * script/lua/lua.h: Likewise.
36714 * script/lua/luaconf.h: Likewise.
36715 * script/lua/lualib.h: Likewise.
36716 * script/lua/lundump.c: Likewise.
36717 * script/lua/lundump.h: Likewise.
36718 * script/lua/lvm.c: Likewise.
36719 * script/lua/lvm.h: Likewise.
36720 * script/lua/lzio.c: Likewise.
36721 * script/lua/lzio.h: Likewise.
36722
36723 2009-05-16 Bean <bean123ch@gmail.com>
36724
36725 * include/grub/kernel.h (grub_module_header_types): Add type
36726 OBJ_TYPE_CONFIG.
36727
36728 * kern/main.c (grub_load_config): New function.
36729 (grub_main): Call grub_load_config to read boot config.
36730
36731 * grub-mkimage (generate_image): New parameter config_path.
36732 (options): New option --config.
36733 (main): Parse --config option, and pass it to generate_image.
36734
36735 2009-05-14 Christian Franke <franke@computer.org>
36736
36737 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36738 This fixes build on Cygwin.
36739
36740 2009-05-14 Pavel Roskin <proski@gnu.org>
36741
36742 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36743 jump. This saves two bytes, so the typical case of 2 swapped
36744 drives would fit 32 bytes.
36745
36746 2009-05-13 Pavel Roskin <proski@gnu.org>
36747
36748 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36749 grub_uint32_t to avoid a warning.
36750
36751 * loader/i386/linux.c (allocate_pages): When assigning
36752 real_mode_mem, cast through grub_size_t to fix a warning. The
36753 code already makes sure that the value would fit a pointer.
36754 (grub_linux_setup_video): Cast render_target->data to
36755 grub_size_t to fix a warning.
36756
36757 2009-05-13 Javier Martín <lordhabbit@gmail.com>
36758
36759 * commands/i386/pc/drivemap.c: New file - implement drivemap
36760 command.
36761 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36762 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36763
36764 2009-05-13 Pavel Roskin <proski@gnu.org>
36765
36766 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36767 embedding_area_exists.
36768
36769 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36770
36771 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36772 it easier to understand / work with.
36773 Improve warning messages for cases where there's no embedding area,
36774 or when it is too small (or core.img too large).
36775
36776 2009-05-13 Pavel Roskin <proski@gnu.org>
36777
36778 * loader/i386/pc/multiboot2.c: Add necessary includes for
36779 grub_multiboot2_real_boot().
36780
36781 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36782 PX record is always little-endian. We only need the lower 2
36783 bytes of the mode.
36784
36785 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36786 facilitate code reuse.
36787 (grub_cpio_mount): Use "struct head", not a char buffer. This
36788 fixes a warning reported by gcc 4.4.
36789
36790 * kernel/disk.c (grub_disk_read): Use void pointer for the
36791 buffer.
36792 (grub_disk_write): Use const void pointer for the buffer.
36793 Adjust all callers. Remove unnecessary casts.
36794
36795 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36796
36797 * util/i386/pc/grub-install.in: Update copyright year.
36798
36799 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36800
36801 gptsync
36802
36803 * commands/gptsync.c: new file
36804 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36805 (gptsync_mod_SOURCES): new variable
36806 (gptsync_mod_CFLAGS): likewise
36807 (gptsync_mod_LDFLAGS): likewise
36808 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
36809 new definition
36810 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36811 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36812 * conf/i386-ieee1275.rmk: likewise
36813 * conf/i386-pc.rmk: likewise
36814 * conf/powerpc-ieee1275.rmk: likewise
36815
36816 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36817
36818 Fixed grub-emu
36819
36820 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36821 (grub_dl_ref): likewise
36822
36823 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36824
36825 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36826 split in two functions (one for msdos and one for gpt).
36827
36828 2009-05-08 Pavel Roskin <proski@gnu.org>
36829
36830 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36831 not modified.
36832
36833 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36834 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36835 Initialize them with -1. Add sanity check for bad1. Eliminate
36836 nerr variable.
36837
36838 2009-05-08 David S. Miller <davem@davemloft.net>
36839
36840 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36841
36842 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36843
36844 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
36845 existence.
36846
36847 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
36848
36849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36850 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
36851
36852 2009-05-05 David S. Miller <davem@davemloft.net>
36853
36854 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36855
36856 2009-05-05 Pavel Roskin <proski@gnu.org>
36857
36858 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36859 of grub_dl_ref() and grub_dl_unref().
36860 * commands/parttool.c: Remove preprocessor conditionals around
36861 grub_dl_ref() and grub_dl_unref().
36862 * fs/affs.c: Likewise.
36863 * fs/afs.c: Likewise.
36864 * fs/cpio.c: Likewise.
36865 * fs/ext2.c: Likewise.
36866 * fs/fat.c: Likewise.
36867 * fs/hfs.c: Likewise.
36868 * fs/hfsplus.c: Likewise.
36869 * fs/iso9660.c: Likewise.
36870 * fs/jfs.c: Likewise.
36871 * fs/minix.c: Likewise.
36872 * fs/ntfs.c: Likewise.
36873 * fs/reiserfs.c: Likewise.
36874 * fs/sfs.c: Likewise.
36875 * fs/udf.c: Likewise.
36876 * fs/ufs.c: Likewise.
36877 * fs/xfs.c: Likewise.
36878 * include/grub/dl.h: Likewise.
36879 * loader/xnu.c: Likewise.
36880
36881 2009-05-04 Pavel Roskin <proski@gnu.org>
36882
36883 * commands/acpi.c: Remove unused variable my_mod.
36884 * partmap/amiga.c: Likewise.
36885 * partmap/apple.c: Likewise.
36886 * partmap/gpt.c: Likewise.
36887 * partmap/pc.c: Likewise.
36888 * partmap/sun.c: Likewise.
36889 * term/gfxterm.c: Likewise.
36890 * term/i386/pc/vesafb.c: Likewise.
36891 * term/i386/pc/vga.c: Likewise.
36892
36893 2009-05-04 David S. Miller <davem@davemloft.net>
36894
36895 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36896 pointer args to grub_ieee1275_get_property().
36897
36898 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36899
36900 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36901 devices, and do not traverse down under controller nodes.
36902
36903 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36904 (grub_ofdisk_open): Use it to un-escape "," characters.
36905 * kern/disk.c (find_part_sep): New.
36906 (grub_disk_open): Use it to find the first non-escaped ','
36907 character in the disk name.
36908 * util/ieee1275/devicemap.c (escape_of_path): New.
36909 (grub_util_emit_devicemap_entry): Use it.
36910 * util/sparc64/ieee1275/grub-install.in: Update script to
36911 strip partition specifiers properly by not triggering on
36912 '\' escaped ',' characters.
36913
36914 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36915
36916 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36917 to 0x300.
36918 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36919 resolutions.
36920 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36921 on documentation from Wikipedia).
36922
36923 2009-05-04 Pavel Roskin <proski@gnu.org>
36924
36925 * disk/ata.c: Spelling fixes.
36926 * disk/raid.c: Likewise.
36927 * disk/usbms.c: Likewise.
36928 * disk/dmraid_nvidia.c: Likewise.
36929 * kern/ieee1275/openfw.c: Likewise.
36930 * kern/ieee1275/init.c: Likewise.
36931 * kern/ieee1275/cmain.c: Likewise.
36932 * boot/i386/pc/cdboot.S: Likewise.
36933 * video/readers/png.c: Likewise.
36934 * video/i386/pc/vbe.c: Likewise.
36935 * fs/udf.c: Likewise.
36936 * fs/hfs.c: Likewise.
36937 * fs/reiserfs.c: Likewise.
36938 * efiemu/runtime/efiemu.c: Likewise.
36939 * efiemu/main.c: Likewise.
36940 * efiemu/mm.c: Likewise.
36941 * include/grub/elf.h: Likewise.
36942 * include/grub/xnu.h: Likewise.
36943 * include/grub/usbdesc.h: Likewise.
36944 * include/grub/usb.h: Likewise.
36945 * include/grub/script_sh.h: Likewise.
36946 * include/grub/lib/LzmaEnc.h: Likewise.
36947 * include/grub/efiemu/efiemu.h: Likewise.
36948 * include/grub/command.h: Likewise.
36949 * normal/menu.c: Likewise.
36950 * normal/main.c: Likewise.
36951 * normal/datetime.c: Likewise.
36952 * bus/usb/uhci.c: Likewise.
36953 * mmap/i386/uppermem.c: Likewise.
36954 * mmap/mmap.c: Likewise.
36955 * commands/acpi.c: Likewise.
36956 * commands/test.c: Likewise.
36957 * partmap/apple.c: Likewise.
36958 * font/font.c: Likewise.
36959 * loader/sparc64/ieee1275/linux.c: Likewise.
36960 * loader/macho.c: Likewise.
36961 * loader/i386/bsd_trampoline.S: Likewise.
36962 * loader/i386/bsd.c: Likewise.
36963 * loader/xnu.c: Likewise.
36964 * term/i386/pc/vesafb.c: Likewise.
36965 * term/usb_keyboard.c: Likewise.
36966 * util/resolve.c: Likewise.
36967 * util/getroot.c: Likewise.
36968
36969 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
36970
36971 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36972
36973 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36974
36975 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36976 build error.
36977
36978 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36979
36980 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36981 parameter only available on BIOS.
36982
36983 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36984
36985 Removed wrong semicolon in declaration
36986
36987 * grub/misc.h (grub_dprintf): remove semicolon
36988
36989 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36990
36991 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36992 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36993 is done by grub_cmd_linux() now).
36994 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36995 restore video to text mode.
36996 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36997 indicates lack of "vga=" parameter. "vga=0" is mapped to
36998 `GRUB_LINUX_VID_MODE_NORMAL'.
36999
37000 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
37001
37002 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37003 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37004 and `normal/script.c'. Add `kern/rescue_reader.c',
37005 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
37006 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37007 `grub_script.tab.c'.
37008
37009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37012 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37013 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37014
37015 * Makefile.in: Remove duplicated 2008 in Copyright line.
37016
37017 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37018
37019 * util/misc.c (grub_util_warn): New function. Emits a warning
37020 unconditionally.
37021 * include/grub/util/misc.h (grub_util_warn): New declaration.
37022
37023 * util/i386/pc/grub-install.in: Understand --force and pass it down
37024 to grub-setup.
37025
37026 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37027 down to setup().
37028 (setup): Improve error messages and add warnings when requested to
37029 install in odd layouts. Refuse to install using blocklists unless
37030 --force was set.
37031
37032 2009-05-04 martin f. krafft <madduck@madduck.net>
37033
37034 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37035
37036 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37037
37038 Updated copyright year
37039
37040 * fs/hfsplus.c: updated copyright year
37041
37042 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37043
37044 HFS+ UUID
37045
37046 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
37047 in the space previously used by unused3
37048 (grub_hfsplus_uuid): new function
37049 (grub_hfsplus_fs): added uuid field
37050
37051 2009-05-03 Pavel Roskin <proski@gnu.org>
37052
37053 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37054 suppress warnings. It's no longer needed.
37055 * disk/host.c: Likewise.
37056 * disk/ata_pthru.c: Likewise.
37057 * disk/loopback.c: Likewise.
37058 * hook/datehook.c: Likewise.
37059 * parttool/pcpart.c: Likewise.
37060 * fs/i386/pc/pxe.c: Likewise.
37061 * fs/ntfscomp.c: Likewise.
37062 * efiemu/main.c: Likewise.
37063 * mmap/mmap.c: Likewise.
37064 * commands/crc.c: Likewise.
37065 * commands/hexdump.c: Likewise.
37066 * commands/hdparm.c: Likewise.
37067 * commands/acpi.c: Likewise.
37068 * commands/echo.c: Likewise.
37069 * commands/minicmd.c: Likewise.
37070 * commands/blocklist.c: Likewise.
37071 * commands/memrw.c: Likewise.
37072 * commands/loadenv.c: Likewise.
37073 * commands/usbtest.c: Likewise.
37074 * commands/lsmmap.c: Likewise.
37075 * commands/boot.c: Likewise.
37076 * commands/parttool.c: Likewise.
37077 * commands/configfile.c: Likewise.
37078 * commands/search.c: Likewise.
37079 * commands/ieee1275/suspend.c: Likewise.
37080 * commands/cat.c: Likewise.
37081 * commands/i386/pc/pxecmd.c: Likewise.
37082 * commands/i386/pc/play.c: Likewise.
37083 * commands/i386/pc/halt.c: Likewise.
37084 * commands/i386/pc/vbeinfo.c: Likewise.
37085 * commands/i386/pc/vbetest.c: Likewise.
37086 * commands/lspci.c: Likewise.
37087 * commands/date.c: Likewise.
37088 * commands/handler.c: Likewise.
37089 * commands/ls.c: Likewise.
37090 * commands/test.c: Likewise.
37091 * commands/cmp.c: Likewise.
37092 * commands/efi/loadbios.c: Likewise.
37093 * commands/efi/fixvideo.c: Likewise.
37094 * commands/halt.c: Likewise.
37095 * commands/help.c: Likewise.
37096 * commands/reboot.c: Likewise.
37097 * hello/hello.c: Likewise.
37098 * script/sh/main.c: Likewise.
37099 * loader/xnu.c: Likewise.
37100 * term/terminfo.c: Likewise.
37101 * term/i386/pc/serial.c: Likewise.
37102 * term/usb_keyboard.c: Likewise.
37103
37104 2009-05-03 David S. Miller <davem@davemloft.net>
37105
37106 * normal/menu.c: Include grub/parser.h
37107
37108 2009-05-03 Pavel Roskin <proski@gnu.org>
37109
37110 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37111 not char*.
37112 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37113 Suggested by Javier Martín <lordhabbit@gmail.com>
37114
37115 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37116 efiemu??.o doesn't exist.
37117 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37118 copying.
37119
37120 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
37121
37122 FreeBSD 64-bit support
37123
37124 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
37125 and loader/i386/bsd_trampoline.S
37126 (bsd_mod_ASFLAGS): new variable
37127 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37128 (FREEBSD_MODTYPE_KERNEL64): likewise
37129 (grub_bsd64_trampoline_start): likewise
37130 (grub_bsd64_trampoline_end): likewise
37131 (grub_bsd64_trampoline_selfjump): likewise
37132 (grub_bsd64_trampoline_gdt): likewise
37133 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37134 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37135 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37136 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
37137 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
37138 of "attrib" member
37139 * loader/i386/bsd_pagetable.c: new file
37140 * loader/i386/bsd_trampoline.S: likewise
37141 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37142 (ALIGN_VAR): likewise
37143 (entry_hi): new variable
37144 (kern_end_mdofs): likewise
37145 (is_64bit): likewise
37146 (grub_freebsd_add_meta): use ALIGN_VAR
37147 (grub_e820_mmap): new declaration
37148 (grub_freebsd_add_mmap): new function
37149 (grub_freebsd_add_meta_module): support 64 bit kernels
37150 (grub_freebsd_list_modules): use ALIGN_VAR
37151 (gdt_descriptor): new declaration
37152 (grub_freebsd_boot): support 64 bit kernels
37153 (grub_bsd_elf64_hook): new function
37154 (grub_bsd_load_elf): support elf64
37155
37156 2009-05-03 Bean <bean123ch@gmail.com>
37157
37158 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37159 after we get the result of if statement.
37160
37161 2009-05-03 Bean <bean123ch@gmail.com>
37162
37163 * Makefile.in (enable_efiemu): New variable.
37164
37165 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37166 set.
37167 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37168 path.
37169 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37170 path, add -mno-red-zone option.
37171 (efiemu64_s.o): Likewise.
37172 (efiemu64.o): Use macro $^ for source file.
37173
37174 * configure.ac (--enable-efiemu): New option.
37175
37176 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37177
37178 xnu support
37179
37180 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37181 (pkglib_MODULES): add xnu.mod
37182 (xnu_mod_SOURCES): new variable
37183 (xnu_mod_CFLAGS): likewise
37184 (xnu_mod_LDFLAGS): likewise
37185 (xnu_mod_ASFLAGS): likewise
37186 * conf/i386-pc.rmk: likewise
37187 * conf/x86_64-efi.rmk: likewise
37188 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
37189 new declaration
37190 * include/grub/i386/macho.h: new file
37191 * include/grub/i386/xnu.h: likewise
37192 * include/grub/macho.h: likewise
37193 * include/grub/machoload.h: likewise
37194 * include/grub/x86_64/macho.h: likewise
37195 * include/grub/x86_64/xnu.h: likewise
37196 * include/grub/xnu.h: likewise
37197 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37198 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37199 * loader/i386/efi/xnu.c: new file
37200 * loader/i386/pc/xnu.c: likewise
37201 * loader/i386/xnu.c: likewise
37202 * loader/i386/xnu_helper.S: likewise
37203 * loader/macho.c: likewise
37204 * loader/xnu.c: likewise
37205 * loader/xnu_resume.c: likewise
37206 * util/grub-dumpdevtree: likewise
37207 * include/grub/i386/pit.h: include grub/err.h
37208 (grub_pit_wait): export
37209 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
37210
37211 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37212
37213 Efiemu
37214
37215 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
37216 _linux_efi, linux_efi.
37217 new files in grub-emu
37218 new targets efiemu32.o and efiemu64.o
37219 * loader/linux_normal_efiemu.c: likewise
37220 * loader/i386/efi/linux.c: added preliminary efiemu support
37221 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
37222 files to copy
37223 * include/grub/autoefi.h: new file
37224 * include/grub/i386/efiemu.h: likewise
37225 * include/grub/i386/pc/efiemu.h: likewise
37226 * include/grub/efi/api.h: add LL suffix when necessary
37227 new definitions relating to tables
37228 * include/grub/efiemu/efiemu.h: new file
37229 * include/grub/efiemu/runtime.h: likewise
37230 * efiemu/prepare.c: likewise
37231 * efiemu/loadcore_common.c: likewise
37232 * efiemu/loadcore64.c: likewise
37233 * efiemu/runtime/efiemu.sh: likewise
37234 * efiemu/runtime/efiemu.S: likewise
37235 * efiemu/runtime/efiemu.c: likewise
37236 * efiemu/runtime/config.h: likewise
37237 * efiemu/prepare32.c: likewise
37238 * efiemu/main.c: likewise
37239 * efiemu/modules/pnvram.c: likewise
37240 * efiemu/modules/i386: likewise
37241 * efiemu/modules/i386/pc: likewise
37242 * efiemu/modules/acpi.c: likewise
37243 * efiemu/i386/pc/cfgtables.c: likewise
37244 * efiemu/i386/loadcore64.c: likewise
37245 * efiemu/i386/loadcore32.c: likewise
37246 * efiemu/prepare64.c: likewise
37247 * efiemu/loadcore.c: likewise
37248 * efiemu/symbols.c: likewise
37249 * efiemu/mm.c: likewise
37250 * efiemu/loadcore32.c: likewise
37251
37252 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37253
37254 ACPI spoofing
37255
37256 * commands/acpi.c: new file
37257 * commands/i386/pc/acpi.c: likewise
37258 * commands/efi/acpi.c: likewise
37259 * include/grub/acpi.h: likewise
37260 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37261 (acpi_mod_SOURCES): new variable
37262 (acpi_mod_CFLAGS): likewise
37263 (acpi_mod_LDFLAGS): likewise
37264 * conf/i386-efi.rmk: likewise
37265 * conf/x86_64-efi.rmk: likewise
37266
37267 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37268
37269 Missing part from mmap patch
37270
37271 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37272 (grub_mmap_unregister)
37273 (grub_mmap_free_and_unregister): use grub_mmap_register
37274
37275 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37276
37277 Mmap services
37278
37279 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37280 * loader/i386/linux.c (find_mmap_size): likewise
37281 (allocate_pages): likewise
37282 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37283 (grub_fill_multiboot_mmap): likewise
37284 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37285 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37286 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37287 (OPENBSD_MMAP_RESERVED): likewise
37288 * include/grub/i386/pc/memory.h: include grub/memory.h
37289 (grub_lower_mem): removed
37290 (grub_upper_mem): likewise
37291 (GRUB_MACHINE_MEMORY_ACPI): new definition
37292 (GRUB_MACHINE_MEMORY_NVS): likewise
37293 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37294 (GRUB_MACHINE_MEMORY_HOLE): likewise
37295 (grub_machine_mmap_register): likewise
37296 (grub_machine_mmap_unregister): likewise
37297 (grub_machine_get_upper): likewise
37298 (grub_machine_get_lower): likewise
37299 (grub_machine_get_post64): likewise
37300 * include/grub/i386/efi/memory.h: new file
37301 * include/grub/x86_64/efi/memory.h: likewise
37302 * include/grub/efi/memory.h: likewise
37303 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37304 (mmap_mod_SOURCES): new variable
37305 (mmap_mod_LDFLAGS): likewise
37306 (mmap_mod_ASFLAGS): likewise
37307 * conf/i386-coreboot.rmk: likewise
37308 * conf/i386-ieee1275.rmk: likewise
37309 * conf/i386-efi.rmk: likewise
37310 * conf/x86_64-efi.rmk: likewise
37311 * include/grub/types.h (UINT_TO_PTR): new macro
37312 (PTR_TO_UINT32): likewise
37313 (PTR_TO_UINT64): likewise
37314 * include/grub/memory.h: new file
37315 * mmap/i386/pc/mmap.c: likewise
37316 * mmap/i386/pc/mmap_helper.S: likewise
37317 * mmap/i386/uppermem.c: likewise
37318 * mmap/mmap.c: likewise
37319 * mmap/efi/mmap.c: likewise
37320 * kern/i386/coreboot/init.c (grub_machine_init): don't use
37321 grub_upper_mem
37322 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37323 (grub_upper_mem): likewise
37324 (grub_machine_init): don't use grub_upper_mem,
37325 make grub_lower_mem local
37326 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37327 grub_mmap_iterate and grub_mmap_get_upper
37328 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37329
37330 2009-05-02 Bean <bean123ch@gmail.com>
37331
37332 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37333 script/sh/parser.y.
37334 (pkglib_MODULES): Add normal.mod and sh.mod.
37335 (normal_SOURCES): New variable.
37336 (normal_mod_CFLAGS): Likewise.
37337 (normal_mod_LDFLAGS): Likewise.
37338 (sh_mod_SOURCES): Likewise.
37339 (sh_mod_CFLAGS): Likewise.
37340 (sh_mod_LDFLAGS): Likewise.
37341
37342 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37343 script/sh/lexer.c_DEPENDENCIES.
37344 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37345 kern/rescue_reader.c and kern/rescue_parser.c.
37346 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37347 (grub_emu_SOURCES): Change source files.
37348 (pkglib_MODULES): Remove normal.mod.
37349 (normal_SOURCES): Removed.
37350 (normal_mod_CFLAGS): Likewise.
37351 (normal_mod_LDFLAGS): Likewise.
37352 * conf/i386-coreboot.rmk: Likewise.
37353 * conf/i386-efi.rmk: Likewise.
37354 * conf/i386-ieee1276.rmk: Likewise.
37355 * conf/powerpc-ieee1275.rmk: Likewise.
37356 * conf/sparc64-ieee1275.rmk: Likewise.
37357 * conf/x86_64-efi.rmk: Likewise.
37358
37359 * include/grub/command.h (grub_command_execute): New inline function.
37360
37361 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37362
37363 * include/grub/normal.h: Remove <grub/setjmp.h>.
37364 (grub_fs_module_list): Moved to normal/autofs.c.
37365 (grub_exit_env): Removed.
37366 (grub_command_execute): Likewise.
37367 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37368 parameter script.
37369 (read_command_list): New function declaration.
37370 (read_fs_list): Likewise.
37371
37372 * include/parser.h: Include <grub/reader.h>.
37373 (grub_parser_split_cmdline): Change type of getline parameter.
37374 (grub_parser): New structure.
37375 (grub_parser_class): New variable.
37376 (grub_parser_execute): New function declaration.
37377 (grub_register_rescue_parser): Likewise.
37378 (grub_parser_register): New inline function.
37379 (grub_parser_unregister): Likewise.
37380 (grub_parser_get_current): Likewise.
37381 (grub_parser_set_current): Likewise.
37382
37383 * include/grub/reader.h: New file.
37384 * kern/reader.c: Likewise.
37385 * kern/rescue_parser.c: Likewise.
37386 * kern/rescue_reader.c: Likewise.
37387 * normal/autofs.c: Likewise.
37388 * normal/dyncmd.c: Likewise.
37389
37390 * include/grub/rescue.h: Removed.
37391 * normal/command.h: Likewise.
37392
37393 * include/grub/script.h: Moved to ...
37394 * include/grub/script_sh.h: ... Moved here.
37395 * normal/execute.c: Moved to ...
37396 * script/sh/execute.c: ... Moved here.
37397 * normal/function.c: Moved to ...
37398 * script/sh/function.c: ... Moved here.
37399 * normal/lexer.c: Moved to ...
37400 * script/sh/lexer.c: ... Moved here.
37401 * normal/parser.y: Moved to ...
37402 * script/sh/parser.y: ... Moved here.
37403 * normal/script.c: Moved to ...
37404 * script/sh/script.c: ... Moved here.
37405
37406 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37407 <grub/reader.h>.
37408 (grub_exit_env): Removed.
37409 (fs_module_list): Moved to normal/autofs.c.
37410 (grub_file_getline): Don't handle comment here.
37411 (free_menu): Skip removed field entry->commands.
37412 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37413 script parameter.
37414 (read_config_file): Removed nested parameter, change getline function.
37415 (grub_enter_normal_mode): Removed.
37416 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37417 (read_command_list): Likewise.
37418 (autoload_fs_module): Moved to normal/autofs.c.
37419 (read_fs_list): Likewise.
37420 (reader_nested): New variable.
37421 (grub_normal_execute): Run parser.sh to switch to sh parser.
37422 (grub_cmd_rescue): Removed.
37423 (cmd_normal): Removed.
37424 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37425 rescue command.
37426 (grub_cmdline_run): New function.
37427 (grub_normal_reader_init): Likewise.
37428 (grub_normal_read_line): Likewise.
37429 (grub_env_write_pager): Likewise.
37430 (cmdline): New variable.
37431 (grub_normal_reader): Likewise.
37432 (GRUB_MOD_INIT): Register normal reader and set as current, register
37433 pager hook, register normal command with grub_register_command_prio,
37434 so that it won't show up in command.lst.
37435 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37436 grub_fs_autoload_hook.
37437
37438 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37439 (grub_menu_execute_entry): Replace grub_script_execute with
37440 grub_parser_execute, change parameter to grub_command_execute.
37441
37442 * normal/menu_text.c: Remove <grub/script.h>.
37443
37444 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37445 and <grub/parser.h>.
37446 (run): Change editor_getline to use new parser interface. Change
37447 parameter to grub_command_execute.
37448
37449 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37450 <grub/reader.h> and <grub/parser.h>.
37451 (grub_load_normal_mode): Execute normal command.
37452 (grub_main): Call grub_register_core_commands,
37453 grub_register_rescue_parser and grub_register_rescue_reader, use
37454 grub_reader_loop to enter input loop.
37455
37456 * kern/parser.c (grub_parser_split_cmdline): Change type of
37457 getline parameter.
37458 (grub_parser_class): New variable.
37459 (grub_parser_execute): New function.
37460
37461 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37462 * loader/multiboot2.c: Likewise.
37463 * loader/sparc64/ieee1275/linux.c: Likewise.
37464
37465 * util/grub-emu.c (read_command_list): New dummy function.
37466
37467 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37468
37469 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37470 count to 16 for CCISS and IDA.
37471
37472 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37473
37474 * normal/menu_text.c (grub_wait_after_message): Print a newline
37475 after waiting for user input.
37476
37477 * loader/i386/linux.c: Include `<grub/normal.h>'.
37478 (grub_cmd_linux): Improve the error message about `ask' mode, by
37479 waiting for user input so it's not missed (we can do this, since
37480 user requested interaction).
37481
37482 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37483
37484 Added missing lst to grub-mkrescue
37485
37486 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37487 and ${input_dir}/parttool.lst
37488
37489 2009-04-30 David S. Miller <davem@davemloft.net>
37490
37491 * util/hostdisk.c (device_is_wholedisk): New function.
37492 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37493 zero only if device_is_wholedisk() returns true.
37494
37495 * util/hostdisk.c (convert_system_partition_to_system_disk):
37496 Handle virtual disk devices named /dev/vdiskX as found on sparc
37497 and powerpc.
37498
37499 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37500 lettered partition specifier is found, convert to numbered.
37501
37502 2009-04-29 David S. Miller <davem@davemloft.net>
37503
37504 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37505 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37506
37507 * normal/command.c: Add missing newline at end of file.
37508
37509 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37510 warnings.
37511 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37512 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37513 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37514 ihandles have a 32-bit type but need to be stored in a "void *".
37515
37516 2009-04-28 Pavel Roskin <proski@gnu.org>
37517
37518 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37519 not disk. Adjust all dependencies.
37520 (grub_fs_uuid_close): Use grub_device_close(), not
37521 grub_disk_close().
37522
37523 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37524 parent's partition, don't copy it by reference, as it gets freed
37525 on close.
37526
37527 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37528
37529 Preboot hooks support
37530
37531 * commands/boot.c (struct grub_preboot_t): new declaration
37532 (preboots_head): new variable
37533 (preboots_tail): likewise
37534 (grub_loader_register_preboot_hook): new function
37535 (grub_loader_unregister_preboot_hook): likewise
37536 (grub_loader_set): launch preboot hooks
37537 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37538 (grub_loader_register_preboot_hook): new declaration
37539 (grub_loader_unregister_preboot_hook): likewise
37540
37541 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37542
37543 Warning fix
37544
37545 * disk/scsi.c (grub_scsi_open): added missing cast when
37546 calling grub_dprintf
37547
37548 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37549
37550 Bug and warning fixes
37551
37552 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
37553 declaration
37554 * commands/test.c (test_parse): fixed bug with file tests and corrected
37555 declaration of find_file
37556
37557 2009-04-26 Pavel Roskin <proski@gnu.org>
37558
37559 * Makefile.in: Don't install empty manual pages if help2man is
37560 missing. Use help2man option for output, not shell redirection.
37561
37562 2009-04-26 David S. Miller <davem@davemloft.net>
37563
37564 * util/grub-mkdevicemap.c (make_device_map): Add missing
37565 NESTED_FUNC_ATTR to process_device().
37566
37567 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37568
37569 Test command
37570
37571 * commands/test.c: rewritten to use bash-like test
37572
37573 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37574
37575 Parttool autoloading and improvements
37576
37577 * Makefile.in (pkglib_DATA): add parttool.lst
37578 (parttool.lst): new target
37579 * genmk.rb: generate parttool-*
37580 (CLEANFILES): add #{parttool}
37581 (PARTTOOLFILES): new variable
37582 * genparttoollist.sh: new file
37583 * parttool/pcpart.c (grub_pcpart_boot): more feedback
37584 (grub_pcpart_type): likewise
37585 * commands/parttool.c (helpmsg): new variable
37586 (grub_cmd_parttool): output help if not enough arguments are supplied
37587 autoload modules
37588 (GRUB_MOD_INIT(parttool)): use helpmsg
37589
37590 2009-04-24 David S. Miller <davem@davemloft.net>
37591
37592 Avoiding opening same device multiple times in device iterator.
37593
37594 * kern/device.c: (grub_device_iterate): Define struct part_ent,
37595 and use it to build a list of partitions in iterate_disk() and
37596 iterate_partition().
37597
37598 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37599 on disk->data.
37600
37601 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37602 grub_devalias_iterate() result instead of unconditional 0.
37603 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37604 Also, capture hook return value, either directly or via
37605 grub_children_iterate(), and propagate to caller.
37606 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37607 grub_children_iterate): Return value is now 'int' instead of
37608 'grub_err_t'.
37609 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37610 like a proper iterator, stopping when hooks return non-zero.
37611 (grub_devalias_iterate): Likewise.
37612
37613 2009-04-23 David S. Miller <davem@davemloft.net>
37614
37615 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37616
37617 2009-04-22 David S. Miller <davem@davemloft.net>
37618
37619 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37620 is larger than address_cells, use that value for address_cells too.
37621
37622 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37623 IEEE1275_MAX_PATH_LEN): Define.
37624 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37625 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37626 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37627 'devtype'. Explicitly NULL terminate devalias expansion.
37628
37629 * util/sparc64/ieee1275/misc.c: New file.
37630 * util/sparc64/ieee1275/grub-setup.c: New file.
37631 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37632 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37633 * util/sparc64/ieee1275/grub-install.in: New file.
37634 * util/ieee1275/ofpath.c: New file.
37635 * util/ieee1275/devicemap.c: New file.
37636 * util/devicemap.c: New file.
37637 * util/deviceiter.c: New file.
37638 * kern/sparc64/ieee1275/init.c: New file.
37639 * include/grub/util/ofpath.h: New file.
37640 * include/grub/util/deviceiter.h: New file.
37641 * util/grub-mkdevicemap.c: Include deviceiter.h.
37642 Implement using grub_util_emit_devicemap_entry and
37643 grub_util_iterate_devices.
37644 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37645 util/devicemap.c into grub-mkdevicemap
37646 * conf/i386-efi.rmk: Likewise.
37647 * conf/i386-ieee1275.rmk: Likewise.
37648 * conf/i386-pc.rmk: Likewise.
37649 * conf/powerpc-ieee1275.rmk: Likewise.
37650 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37651 images and installation utilities. Build kernel as image
37652 instead of as elf binary. Use common rules as much as possible.
37653
37654 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
37655
37656 Correct GPT definition
37657
37658 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
37659 of "attrib" member
37660
37661 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
37662
37663 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37664
37665 2009-04-19 David S. Miller <davem@davemloft.net>
37666
37667 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37668 (grub_rescue_cmd_linux): Rename to...
37669 (grub_cmd_linux): and fix prototype.
37670 (grub_rescue_cmd_initrd): Rename to...
37671 (grub_cmd_initrd): and fix prototype.
37672 (cmd_linux, cmd_initrd): New.
37673 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37674 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37675
37676 2009-04-17 Pavel Roskin <proski@gnu.org>
37677
37678 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37679 format.
37680 (grub_ohci_transfer): Likewise.
37681
37682 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37683
37684 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37685 return without a value. Fix inconsistent indentation.
37686
37687 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37688 match struct grub_fs.
37689
37690 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37691 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37692 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37693 * commands/lspci.c (grub_lspci_iter): Likewise.
37694
37695 2009-04-16 Bean <bean123ch@gmail.com>
37696
37697 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37698 value.
37699
37700 2009-04-15 Pavel Roskin <proski@gnu.org>
37701
37702 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37703 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37704 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37705 definitions.
37706
37707 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
37708
37709 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
37710 that no multiple data or metadata areas are supported and `Unknown
37711 metadata header'.
37712
37713 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37714
37715 Move loader out of the kernel
37716
37717 * kern/loader.c: moved to ...
37718 * commands/boot.c: ... moved here
37719 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37720 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37721 * include/grub/kernel.h (grub_machine_fini): export
37722 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37723 (grub_loader_set): likewise
37724 (grub_loader_unset): likewise
37725 (grub_loader_boot): likewise
37726 * conf/common.rmk: new module boot.mod
37727 (pkglib_MODULES): add boot.mod
37728 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37729 (grub_emu_SOURCES): likewise
37730 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37731 (grub_emu_SOURCES): likewise
37732 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37733 (grub_emu_SOURCES): likewise
37734 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37735 (grub_emu_SOURCES): likewise
37736 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37737 (grub_emu_SOURCES): likewise
37738 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37739 (grub_emu_SOURCES): likewise
37740 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
37741 (grub_emu_SOURCES): likewise
37742
37743 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37744
37745 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
37746
37747 * kern/misc.c (grub_itoa): Removed function
37748 (grub_ltoa): likewise
37749 (grub_vsprintf): use grub_lltoa
37750
37751 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37752
37753 Restore grub-emu
37754
37755 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37756 * conf/i386-coreboot.rmk: likewise
37757 * conf/i386-ieee1275.rmk: likewise
37758 * conf/powerpc-ieee1275.rmk: likewise
37759
37760 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
37761
37762 * INSTALL: Add that `./autogen.sh' needs to be run before
37763 `./configure.'.
37764
37765 2009-04-14 Bean <bean123ch@gmail.com>
37766
37767 * Makefile.in (pkglib_DATA): Add handler.lst.
37768 (handler.lst): New rule.
37769
37770 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37771 * conf/i386-coreboot.rmk: Likewise.
37772 * conf/i386-ieee1275.rmk: Likewise.
37773 * conf/i386-efi.rmk: Likewise.
37774 * conf/x86_64-efi.rmk: Likewise.
37775 * conf/powerpc-ieee1275.rmk: Likewise.
37776 * conf/sparc64-ieee1275.rmk: Likewise.
37777
37778 * genhandlerlist.sh: New file.
37779
37780 * genmk.rb: Add rules to generate handler.lst.
37781
37782 * include/grub/normal.h (grub_file_getline): New function definition.
37783 (read_handler_list): Likewise.
37784 (free_handler_list): Likewise.
37785
37786 * include/grub/term.h (grub_term_register_input): Add name parameter
37787 for auto generation of handler.lst.
37788 (grub_term_register_output): Likewise.
37789
37790 * normal/handler.c: New file.
37791
37792 * normal/main.c (get_line): Renamed to grub_file_getline.
37793 (read_config_file): Use the newly renamed grub_file_getline.
37794 (read_command_list): Likewise.
37795 (read_fs_list): Likewise.
37796 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37797 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37798
37799 * term/efi/console.c (grub_console_init): Add name parameter for auto
37800 generation of handler.lst.
37801 * term/gfxterm.c: Likewise.
37802 * term/i386/pc/at_keyboard.c: Likewise.
37803 * term/i386/pc/console.c: Likewise.
37804 * term/i386/pc/serial.c: Likewise.
37805 * term/i386/pc/vesafb.c: Likewise.
37806 * term/i386/pc/vga.c: Likewise.
37807 * term/i386/pc/vga_text.c: Likewise.
37808 * term/ieee1275/ofconsole.c: Likewise.
37809 * term/usb_keyboard.c: Likewise.
37810
37811 2009-04-14 Bean <bean123ch@gmail.com>
37812
37813 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37814 properly with null character.
37815
37816 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
37817
37818 * configure: Remove.
37819 * config.h.in: Likewise.
37820 * stamp-h.in: Likewise.
37821 * DISTLIST: Likewise.
37822 * conf/common.mk: Likewise.
37823 * conf/i386-coreboot.mk: Likewise.
37824 * conf/i386-efi.mk: Likewise.
37825 * conf/i386-ieee1275.mk: Likewise.
37826 * conf/i386.mk: Likewise.
37827 * conf/i386-pc.mk: Likewise.
37828 * conf/powerpc-ieee1275.mk: Likewise.
37829 * conf/sparc64-ieee1275.mk: Likewise.
37830 * conf/x86_64-efi.mk: Likewise.
37831
37832 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37833 develop on GRUB.
37834
37835 2009-04-14 John Stanley <jpsinthemix@verizon.net>
37836 David S. Miller <davem@davemloft.net>
37837
37838 * util/hostdisk.c (make_device_name): Fix buffer length
37839 calculations.
37840
37841 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
37842
37843 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37844 <sys/param.h> and <sys/sysctl.h>.
37845 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37846 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37847 opening the device and reset them afterwards.
37848
37849 2009-04-13 Pavel Roskin <proski@gnu.org>
37850
37851 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37852 Reported by John Stanley <jpsinthemix@verizon.net>
37853
37854 2009-04-13 Robert Millan <rmh@aybabtu.com>
37855
37856 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
37857 that name for menuentries when appropriate.
37858
37859 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37860
37861 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37862
37863 2009-04-13 Robert Millan <rmh@aybabtu.com>
37864
37865 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37866 to Linux, simply abort telling the user it's no longer supported.
37867
37868 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37869
37870 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
37871 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
37872 `freebsd_loadenv' only when devices.hints exist.
37873
37874 2009-04-13 Pavel Roskin <proski@gnu.org>
37875
37876 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37877
37878 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37879
37880 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37881 partition number.
37882 (grub_drive): Likewise.
37883
37884 2009-04-13 David S. Miller <davem@davemloft.net>
37885
37886 * kern/sparc64/ieee1275/ieee1275.c: New file.
37887 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37888 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37889 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37890 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37891 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37892 grub_ieee1275_alloc_physmem): Declare new exported functions.
37893
37894 * include/grub/sparc64/ieee1275/loader.h: New file.
37895 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37896 * include/grub/sparc64/kernel.h: Likewise.
37897 * loader/sparc64/ieee1275/linux.c: Likewise.
37898
37899 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37900 (grub_fstest_SOURCES): Likewise.
37901
37902 * util/hostdisk.c (make_device_name): Do not make any assumptions
37903 about the length of drive names.
37904
37905 * kern/dl.c (grub_dl_load_file): Close file immediately when
37906 we are done using it.
37907
37908 2009-04-12 David S. Miller <davem@davemloft.net>
37909
37910 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37911 values. Noticed by Pavel Roskin.
37912
37913 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37914 target compiler.
37915
37916 * genmk.rb: Add more flexible image type specification, also
37917 pass --strip-unneeded to objcopy.
37918 * conf/i386-pc.rmk: Use *_FORMAT.
37919 * conf/i386-pc.mk: Rebuilt.
37920
37921 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37922 (OFDISK_HASH_SZ): Define.
37923 (ofdisk_hash): New hash table.
37924 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37925 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37926 instead of device phandle which is not unique.
37927
37928 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37929 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37930 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37931 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37932 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37933 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37934 GRUB_KERNEL_MACHINE_DATA_END): Define.
37935 (grub_kernel_image_size, grub_total_module_size): Declare.
37936
37937 2009-04-12 Pavel Roskin <proski@gnu.org>
37938
37939 * configure.ac: Change the logic when we check for target tools.
37940 Do it when the target is specified and it's different from the
37941 specified value of the host.
37942
37943 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
37944
37945 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37946 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37947 GNU/kFreeBSD. Check if a device is a character device. Use
37948 DIOCGMEDIASIZE to get the size.
37949 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37950 support for GNU/kFreeBSD.
37951 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37952 is a character device instead of a block device. Add support for
37953 FreeBSD device names.
37954
37955 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37956 is a character device instead of a block device.
37957
37958 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37959 is a character device instead of a block device.
37960
37961 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37962
37963 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37964 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37965 FreeBSD. Check if a device is a character device. Use
37966 DIOCGMEDIASIZE to get the size.
37967 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37968 support for FreeBSD.
37969 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37970 is a character device instead of a block device. Add support for
37971 FreeBSD device names.
37972
37973 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37974 a character device instead of a block device.
37975 (grub_util_check_char_device): New function.
37976
37977 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37978 a character device instead of a block device.
37979
37980 * include/grub/util/getroot.h (grub_util_check_char_device): New
37981 prototype.
37982
37983 2009-04-11 David S. Miller <davem@davemloft.net>
37984
37985 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37986 static libgcc.
37987 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37988 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37989 function, if present.
37990 (__bswapdi2): Likewise.
37991
37992 * include/grub/sparc64/ieee1275/boot.h: New file.
37993 * boot/sparc64/ieee1275/boot.S: Likewise.
37994 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37995
37996 * kern/misc.c (grub_ltoa): New function.
37997 (grub_vsprintf): Use it to format 'long' integers.
37998
37999 2009-04-10 David S. Miller <davem@davemloft.net>
38000
38001 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38002 slots are of type grub_ieee1275_cell_t.
38003 (grub_nand_read): Likewise.
38004 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38005 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38006 macros are used to compare values in arg/ret block of the call.
38007 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38008 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38009 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38010 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38011 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38012 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38013 grub_ieee1275_close, grub_ieee1275_set_property,
38014 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38015 grub_ieee1275_cell_t.
38016 * kern/ieee1275/openfw.c (grub_map): Likewise.
38017 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38018 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38019
38020 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38021 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38022 (grub_devalias_iterate): Likewise.
38023
38024 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
38025
38026 UFS improvements
38027
38028 * fs/ufs.c (INODE_NBLOCKS): new definition
38029 (struct grub_ufs_dirent): added fields for non-BSD dirents
38030 (grub_ufs_get_file_block): fixed double indirect handling
38031 (grub_ufs_lookup_symlink): use more robust way to determine whether
38032 symlink is inline
38033 (grub_ufs_find_file): support for non-BSD dirents
38034 (grub_ufs_dir): support for non-BSD dirents
38035
38036 2009-04-10 Bean <bean123ch@gnail.com>
38037
38038 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38039 attribute, otherwise the size would be wrong for i386 platform.
38040
38041 * include/grub/pci.h (grub_pci_read_word): New inline function.
38042 (grub_pci_read_byte): Likewise.
38043 (grub_pci_write): Likewise.
38044 (grub_pci_write_word): Likewise.
38045 (grub_pci_write_byte): Likewise.
38046
38047 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38048
38049 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38050 (find_framebuf): Scan pci to locate the frame buffer address.
38051
38052 * commands/efi/fixvideo.c: New file.
38053
38054 * commands/efi/loadbios.c: Likewise.
38055
38056 * commands/memrw.c: Likewise.
38057
38058 * util/grub-dumpbios.in: Likewise.
38059
38060 * conf/common.rmk (grub-dumpbios): New utility.
38061 (pkglib_MODULES): New module memrw.mod.
38062 (memrw_mod_SOURCE): New macro.
38063 (memrw_mod_CFLAGS): Likewise.
38064 (memrw_mod_LDFLAGS): Likewise.
38065
38066 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
38067 fixvideo.mod.
38068 (loadbios_mod_SOURCE): New macro.
38069 (loadbios_mod_CFLAGS): Likewise.
38070 (loadbios_mod_LDFLAGS): Likewise.
38071 (fixvideo_mod_SOURCE): Likewise.
38072 (fixvideo_mod_CFLAGS): Likewise.
38073 (fixvideo_mod_LDFLAGS): Likewise.
38074
38075 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
38076 fixvideo.mod.
38077 (loadbios_mod_SOURCE): New macro.
38078 (loadbios_mod_CFLAGS): Likewise.
38079 (loadbios_mod_LDFLAGS): Likewise.
38080 (fixvideo_mod_SOURCE): Likewise.
38081 (fixvideo_mod_CFLAGS): Likewise.
38082 (fixvideo_mod_LDFLAGS): Likewise.
38083
38084 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
38085
38086 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38087
38088 2009-04-07 David S. Miller <davem@davemloft.net>
38089
38090 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38091 support for R_SPARC_OLO10 relocations. Fix compile warning for
38092 R_SPARC_WDISP30 case.
38093 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
38094
38095 2009-04-06 Pavel Roskin <proski@gnu.org>
38096
38097 * include/grub/misc.h (ARRAY_SIZE): New macro.
38098 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38099 New macro.
38100 * loader/i386/linux.c (allocate_pages): Use free_pages().
38101 (grub_linux_unload): Don't use free_pages().
38102 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38103 wrong index. Treat all other modes as text modes.
38104 (grub_cmd_linux): Initialize vid_mode unconditionally to
38105 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38106
38107 * commands/help.c (print_command_help): Use cmd->prio, not
38108 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38109
38110 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
38111
38112 Parttool
38113
38114 * parttool/pcpart.c: new file
38115 * commands/parttool.c: likewise
38116 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38117 (parttool_mod_SOURCES): new variable
38118 (parttool_mod_CFLAGS): likewise
38119 (parttool_mod_LDFLAGS): likewise
38120 (pcpart_mod_SOURCES): likewise
38121 (pcpart_mod_CFLAGS): likewise
38122 (pcpart_mod_LDFLAGS): likewise
38123 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
38124 and parttool/pcpart.c
38125 * conf/i386-efi.rmk: likewise
38126 * conf/i386-ieee1275.rmk: likewise
38127 * conf/i386-pc.rmk: likewise
38128 * conf/powerpc-ieee1275.rmk: likewise
38129 * conf/sparc64-ieee1275.rmk: likewise
38130 * conf/x86_64-ieee1275.rmk: likewise
38131
38132 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38133
38134 Support for mtime and further expandability of dir command
38135
38136 * include/grub/lib/datetime.h: moved to ...
38137 * include/grub/datetime.h: ... moved here and added
38138 declaration of grub_unixtime2datetime. All users updated
38139 * include/grub/fs.h: new syntax for dir and mtime functions in
38140 struct grub_fs
38141 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38142 and GRUB_FSHELP_FLAGS_MASK
38143 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38144 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38145 (grub_ext2_mtime): new function
38146 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38147 (grub_hfsplus_mtime): new function
38148 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38149 (GRUB_UFS_ATTR_FILE): likewise
38150 (GRUB_UFS_ATTR_LNK): likewise
38151 (struct grub_ufs_sblock): new fields mtime
38152 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38153 all users updated
38154 (grub_ufs_dir): mtime support
38155 (grub_ufs_mtime): new function
38156 * fs/affs.c (grub_affs_dir): use new dir syntax
38157 * fs/afs.c (grub_afs_dir): likewise
38158 * fs/cpio.c (grub_cpio_dir): likewise
38159 * fs/fat.c (grub_fat_find_dir): likewise
38160 * fs/hfs.c (grub_hfs_dir): likewise
38161 * fs/iso9660.c (grub_iso9660_dir): likewise
38162 * fs/jfs.c (grub_jfs_dir): likewise
38163 * fs/minix.c (grub_minix_dir): likewise
38164 * fs/ntfs.c (grub_ntfs_dir): likewise
38165 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38166 * fs/sfs.c (grub_sfs_dir): likewise
38167 * fs/xfs.c (grub_xfs_dir): likewise
38168 * util/hostfs.c (grub_hostfs_dir): likewise
38169 * lib/datetime.c: moved to ...
38170 * normal/datetime.c: ... moved here
38171 (grub_unixtime2datetime): new function
38172 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
38173 * normal/completion.c (iterate_dir): use new dir syntax
38174 * normal/misc.c (grub_normal_print_device_info): tell the
38175 last modification time of a volume
38176 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
38177 * conf/common.rmk: added lib/datetime.c to ls.mod
38178 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
38179 (normal_mod_SOURCES): likewise
38180 (datetime_mod_SOURCES): Removed lib/datetime.c
38181 * conf/i386-efi.rmk: likewise
38182 * conf/i386-ieee1275.rmk: likewise
38183 * conf/i386-pc.rmk: likewise
38184 * conf/powerpc-ieee1275.rmk: likewise
38185 * conf/sparc64-ieee1275.rmk: likewise
38186 * conf/x86_64-efi.rmk: likewise
38187
38188 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38189
38190 Trim trailing spaces in FAT label and support mtools-like labels
38191
38192 * fs/fat.c (grub_fat_iterate_dir): New function based
38193 on grub_fat_find_dir
38194 (grub_fat_find_dir): use grub_fat_iterate_dir
38195 (grub_fat_label): likewise
38196
38197 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38198
38199 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
38200 and command.h
38201 remove extraneous kernel_elf_HEADERS
38202
38203 2009-04-04 Bean <bean123ch@gnail.com>
38204
38205 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38206
38207 * util/misc.c: Likewise.
38208
38209 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38210
38211 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38212 instead of grub_printf.
38213
38214 2009-04-03 Robert Millan <rmh@aybabtu.com>
38215
38216 * loader/i386/linux.c (grub_linux_setup_video): Fill
38217 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38218 values from `mode info' structure instead of hardcoded
38219 values.
38220
38221 2009-04-01 Pavel Roskin <proski@gnu.org>
38222
38223 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38224 unused now.
38225 * genmk.rb: Likewise.
38226 * configure.ac: Likewise.
38227
38228 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38229
38230 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38231 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38232
38233 2009-04-01 David S. Miller <davem@davemloft.net>
38234
38235 * normal/sparc64/setjmp.S: Fix setjmp implementation.
38236 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
38237 (grub_setjmp): Mark with 'returns_twice' attribute.
38238 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38239 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38240 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38241
38242 2009-04-01 Robert Millan <rmh@aybabtu.com>
38243
38244 Reapply fix from 2008-07-28 which was accidentally reverted; also
38245 perform the same fix to a similar check in same function.
38246
38247 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38248 with the same number are found, just use issue a warning with
38249 grub_dprintf(), as this error has been reported to be non-fatal.
38250
38251 2009-03-31 Pavel Roskin <proski@gnu.org>
38252
38253 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38254 for cross-compilation.
38255
38256 2009-03-30 Robert Millan <rmh@aybabtu.com>
38257
38258 Fix i386-ieee1275 build.
38259
38260 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38261 Remove declaration.
38262
38263 2009-03-30 Pavel Roskin <proski@gnu.org>
38264
38265 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38266 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38267 zero-terminated, rely only on the strlen value. Fix comparison
38268 of strings differing in length.
38269
38270 2009-03-30 Robert Millan <rmh@aybabtu.com>
38271
38272 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38273 checking for abi version. Improve error messages on BIOS to notify
38274 user about `linux16' command.
38275
38276 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38277
38278 Leak fixes
38279
38280 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38281 in case of collision
38282 * disk/scsi.c (grub_scsi_open): free scsi in case of error
38283
38284 2009-03-29 Robert Millan <rmh@aybabtu.com>
38285
38286 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38287 set `vid_mode' accordingly.
38288 (grub_linux_boot): Process `vid_mode' and set video mode.
38289
38290 2009-03-29 Robert Millan <rmh@aybabtu.com>
38291
38292 * util/grub.d/10_linux.in (linux_entry): New function.
38293 Factorize generation of Linux boot entries.
38294
38295 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38296
38297 Make the format of Environment Block plain text. The boot loader
38298 part is not tested well yet.
38299
38300 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38301 (buffer): Removed.
38302 (envblk): Likewise.
38303 (usage): Remove "info" and "clear". Add "unset". Update the
38304 description of "set", as this does not delete variables any
38305 longer.
38306 (create_envblk_file): Complete rewrite.
38307 (open_envblk_file): Likewise.
38308 (cmd_info): Removed.
38309 (cmd_list): Likewise.
38310 (cmd_set): Likewise.
38311 (cmd_clear): Likewise.
38312 (list_variables): New function.
38313 (write_envblk): Likewise.
38314 (set_variables): Likewise.
38315 (unset_variables): Likewise.
38316 (main): Complete rewrite.
38317
38318 * commands/loadenv.c (buffer): Removed.
38319 (envblk): Likewise.
38320 (open_envblk_file): New function.
38321 (read_envblk_file): Complete rewrite.
38322 (grub_cmd_load_env): Likewise.
38323 (grub_cmd_list_env): Likewise.
38324 (struct blocklist): New struct.
38325 (free_blocklists): New function.
38326 (check_blocklists): Likewise.
38327 (write_blocklists): Likewise.
38328 (grub_cmd_save_env): Complete rewrite.
38329
38330 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38331 a plain text signature.
38332 (GRUB_ENVBLK_MAXLEN): Removed.
38333 (struct grub_envblk): Complete rewrite.
38334 (grub_envblk_find): Removed.
38335 (grub_envblk_insert): Likewise.
38336 (grub_envblk_open): New prototype.
38337 (grub_envblk_set): Likewise.
38338 (grub_envblk_delete): Put const to VALUE.
38339 (grub_envblk_iterate): Put const to NAME and VALUE.
38340 (grub_envblk_close): New prototype.
38341 (grub_envblk_buffer): New inline function.
38342 (grub_envblk_size): Likewise.
38343
38344 * lib/envblk.c: Include grub/mm.h.
38345 (grub_env_find): Removed.
38346 (grub_envblk_open): New function.
38347 (grub_envblk_close): Likewise.
38348 (escaped_value_len): Likewise.
38349 (find_next_line): Likewise.
38350 (grub_envblk_insert): Removed.
38351 (grub_envblk_set): New function.
38352 (grub_envblk_delete): Complete rewrite.
38353 (grub_envblk_iterate): Likewise.
38354
38355 2009-03-28 Robert Millan <rmh@aybabtu.com>
38356
38357 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38358 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38359 variables. Use 16-bit loader.
38360 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38361 loader.
38362 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38363 (grub_linux16_boot): ... this. Update all users.
38364 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38365 (grub_linux_boot): ... this. Update all users.
38366
38367 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38368 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38369 commands to `linux16' and `initrd16'.
38370 (GRUB_MOD_FINI(linux)): Rename to ...
38371 (GRUB_MOD_FINI(linux16)): ... this.
38372
38373 2009-03-24 Pavel Roskin <proski@gnu.org>
38374
38375 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38376 not just for compilation.
38377
38378 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38379
38380 Move multiboot helper out of kernel
38381
38382 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38383 `loader/i386/multiboot_helper.S'.
38384 * conf/i386-coreboot.rmk: Likewise
38385 * conf/i386-ieee1275.rmk: Likewise
38386
38387 * kern/i386/loader.S: Move multiboot helpers from here...
38388 * loader/i386/multiboot_helper.S: ...moved here
38389 * include/grub/i386/loader.h: Move declarations of multiboot
38390 helpers from here...
38391 * include/grub/i386/multiboot.h: ...moved here
38392 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38393
38394 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38395
38396 * kern/env.c (grub_env_context_open): Added an argument to specify
38397 whether a new context inherits exported variables from current
38398 one. This is useful when making a sandbox to interpret a config
38399 file.
38400 All callers updated.
38401
38402 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38403
38404 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38405
38406 * kern/env.c (grub_env_context_close): Fix memory leaks.
38407
38408 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38409
38410 * normal/main.c (grub_normal_execute): Added an argument
38411 BATCH to specify if an interactive interface should be provided
38412 after reading a config file.
38413 All callers updated.
38414 (read_command_list): Prevent being executed twice.
38415 (read_fs_list): Likewise.
38416
38417 * include/grub/normal.h (grub_normal_execute): Updated the
38418 prototype.
38419
38420 2009-03-22 Pavel Roskin <proski@gno.org>
38421
38422 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38423 _start.
38424 * kern/i386/pc/startup.S: Likewise.
38425 * kern/i386/efi/startup.S: Likewise.
38426 * kern/i386/ieee1275/startup.S: Likewise.
38427 * kern/i386/coreboot/startup.S: Likewise.
38428 * kern/x86_64/efi/startup.S: Likewise.
38429
38430 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38431 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38432 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38433
38434 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38435
38436 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38437
38438 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38439 limit detection.
38440 Use vaddr of correct segment for entry_point.
38441
38442 2009-03-21 Bean <bean123ch@gmail.com>
38443
38444 * commands/blocklist.c: Add include file <grub/command.h>, remove
38445 <grub/normal.h> and <grub/arg.h>.
38446 (grub_cmd_blocklist): Use the new command interface.
38447 (GRUB_MOD_INIT): Likewise.
38448 (GRUB_MOD_FINI): Likewise.
38449 * commands/boot.c: Likewise.
38450 * commands/cat.c: Likewise.
38451 * commands/cmp.c: Likewise.
38452 * commands/configfile.c: Likewise.
38453 * commands/crc.c: Likewise.
38454 * commands/echo.c: Likewise.
38455 * commands/halt.c: Likewise.
38456 * commands/handler.c: Likewise.
38457 * commands/hdparm.c: Likewise.
38458 * commands/help.c: Likewise.
38459 * commands/hexdump.c: Likewise.
38460 * commands/loadenv.c: Likewise.
38461 * commands/ls.c: Likewise.
38462 * commands/lsmmap.c: Likewise.
38463 * commands/lspci.c: Likewise.
38464 * commands/loadenv.c: Likewise.
38465 * commands/read.c: Likewise.
38466 * commands/reboot.c: Likewise.
38467 * commands/search.c: Likewise.
38468 * commands/sleep.c: Likewise.
38469 * commands/test.c: Likewise.
38470 * commands/usbtest.c: Likewise.
38471 * commands/videotest.c: Likewise.
38472 * commands/i386/cpuid.c: Likewise.
38473 * commands/i386/pc/halt.c: Likewise.
38474 * commands/i386/pc/play.c: Likewise.
38475 * commands/i386/pc/pxecmd.c: Likewise.
38476 * commands/i386/pc/vbeinfo.c: Likewise.
38477 * commands/i386/pc/vbetest.c: Likewise.
38478 * commands/ieee1275/suspend.c: Likewise.
38479 * disk/loopback.c: Likewise.
38480 * font/font_cmd.c: Likewise.
38481 * hello/hello.c: Likewise.
38482 * loader/efi/appleloader.c: Likewise.
38483 * loader/efi/chainloader.c: Likewise.
38484 * loader/i386/bsd.c: Likewise.
38485 * loader/i386/efi/linux.c: Likewise.
38486 * loader/i386/ieee1275/linux.c: Likewise.
38487 * loader/i386/linux.c: Likewise.
38488 * loader/i386/pc/chainloader.c: Likewise.
38489 * loader/i386/pc/linux.c: Likewise.
38490 * loader/powerpc/ieee1275/linux.c: Likewise.
38491 * loader/multiboot_loader.c: Likewise.
38492 * term/gfxterm.c: Likewise.
38493 * term/i386/pc/serial.c: Likewise.
38494 * term/terminfo.c: Likewise.
38495
38496 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38497 * term/i386/pc/vga.c: Likewise.
38498 * video/readers/jpeg.c: Likewise.
38499 * video/readers/png.c: Likewise.
38500 * video/readers/tga.c: Likewise.
38501
38502 * util/grub-fstest (cmd_loopback): Removed.
38503 (cmd_blocklist): Likewise.
38504 (cmd_ls): Likewise.
38505 (grub_register_command): Likewise.
38506 (grub_unregister_command): Likewise.
38507 (execute_command): Use grub_command_find to locate command and execute
38508 it.
38509
38510 * include/grub/efi/chainloader.h: Removed.
38511 * loader/efi/chainloader_normal.c: Likewise.
38512 * loader/i386/bsd_normal.c: Likewise.
38513 * loader/i386/pc/chainloader_normal.c: Likewise.
38514 * loader/i386/pc/multiboot_normal.c: Likewise.
38515 * loader/linux_normal.c: Likewise.
38516 * loader/multiboot_loader_normal.c: Likewise.
38517 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38518
38519 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38520 and grub_register_command_p1.
38521
38522 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38523 kern/command.c, lib/arg.c and commands/extcmd.c.
38524 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38525 (minicmd_mod_SOURCES): New variable.
38526 (minicmd_mod_CFLAGS): Likewise.
38527 (minicmd_mod_LDFLAGS): Likewise.
38528 (extcmd_mod_SOURCES): Likewise.
38529 (extcmd_mod_CFLAGS): Likewise.
38530 (extcmd_mod_LDFLAGS): Likewise.
38531 (boot_mod_SOURCES): Removed.
38532 (boot_mod_CFLAGS): Likewise.
38533 (boot_mod_LDFLAGS): Likewise.
38534
38535 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38536 kern/corecmd.c.
38537 (kernel_img_HEADERS): Add command.h.
38538 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38539 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38540 and lib/arg.c.
38541 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38542 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38543 remove the corresponding normal mode command.
38544 (normal_mod_SOURCES): Remove normal/arg.c.
38545 * conf/i386-coreboot.rmk: Likewise.
38546 * conf/i386-efi.rmk: Likewise.
38547 * conf/i386-ieee1275.rmk: Likewise.
38548 * conf/powerpc-ieee1275.rmk: Likewise.
38549 * conf/x86_64-efi.rmk: Likewise.
38550
38551 * include/grub/arg.h: Move from here ...
38552 * include/grub/lib/arg.h: ... to here.
38553
38554 * normal/arg.c: Move from here ...
38555 * lib/arg.c: ... to here.
38556
38557 * commands/extcmd.c: New file.
38558 * commands/minicmd.c: Likewise.
38559 * include/grub/command.h: Likewise.
38560 * include/grub/extcmd.h: Likewise.
38561 * kern/command.c: Likewise.
38562 * kern/corecmd.c: Likewise.
38563
38564 * kern/list.c (grub_list_iterate): Return int instead of void.
38565 (grub_list_insert): New function.
38566 (grub_prio_list_insert): Likewise.
38567
38568 * kern/rescue.c (grub_rescue_command): Removed.
38569 (grub_rescue_command_list): Likewise.
38570 (grub_rescue_register_command): Likewise.
38571 (grub_rescue_unregister_command): Likewise.
38572 (grub_rescue_cmd_boot): Move to minicmd.c
38573 (grub_rescue_cmd_help): Likewise.
38574 (grub_rescue_cmd_info): Likewise.
38575 (grub_rescue_cmd_boot): Likewise.
38576 (grub_rescue_cmd_testload): Likewise.
38577 (grub_rescue_cmd_dump): Likewise.
38578 (grub_rescue_cmd_rmmod): Likewise.
38579 (grub_rescue_cmd_lsmod): Likewise.
38580 (grub_rescue_cmd_exit): Likewise.
38581 (grub_rescue_print_devices): Moved to corecmd.c.
38582 (grub_rescue_print_files): Likewise.
38583 (grub_rescue_cmd_ls): Likewise.
38584 (grub_rescue_cmd_insmod): Likewise.
38585 (grub_rescue_cmd_set): Likewise.
38586 (grub_rescue_cmd_unset): Likewise.
38587 (attempt_normal_mode): Use grub_command_find to get normal module.
38588 (grub_enter_rescue_mode): Use grub_register_core_commands to register
38589 commands, remove grub_rescue_register_command calls.
38590
38591 * normal/command.c (grub_register_command): Removed.
38592 (grub_unregister_command): Likewise.
38593 (grub_command_find): Likewise.
38594 (grub_iterate_commands): Likewise.
38595 (rescue_command): Likewise.
38596 (export_command): Moved to corecmd.c.
38597 (set_command): Removed.
38598 (unset_command): Likewise.
38599 (insmod_command): Likewise.
38600 (rmmod_command): Likewise.
38601 (lsmod_command): Likewise.
38602 (grub_command_init): Likewise.
38603
38604 * normal/completion.c (iterate_command): Use cmd->prio to check for
38605 active command.
38606 (complete_arguments): Use grub_extcmd_t structure to find options.
38607 (grub_normal_do_completion): Change function grub_iterate_commands to
38608 grub_command_iterate.
38609
38610 * normal/execute.c (grub_script_execute_cmd): No need to parse
38611 argument here.
38612
38613 * normal/main.c (grub_dyncmd_dispatcher): New function.
38614 (read_command_list): Register unload commands as dyncmd.
38615 (grub_cmd_normal): Use new command interface, register rescue,
38616 unregister normal at entry, register normal, unregister rescue at exit.
38617
38618 * include/grub/list.h (grub_list_test_t): New type.
38619 (grub_list_iterate): Return int instead of void.
38620 (grub_list_insert): New function.
38621 (GRUB_AS_NAMED_LIST_P): New macro.
38622 (GRUB_AS_PRIO_LIST): Likewise.
38623 (GRUB_AS_PRIO_LIST_P): Likewise.
38624 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38625 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38626 (grub_prio_list): New structure.
38627 (grub_prio_list_insert): New function.
38628 (grub_prio_list_remove): New inline function.
38629
38630 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38631 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38632 (GRUB_COMMAND_FLAG_MENU): Likewise.
38633 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38634 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38635 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38636 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38637 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38638 (grub_command): Likewise.
38639 (grub_register_command): Likewise.
38640 (grub_command_find): Likewise.
38641 (grub_iterate_commands): Likewise.
38642 (grub_command_init): Likewise.
38643 (grub_arg_parse): Likewise.
38644 (grub_arg_show_help): Likewise.
38645
38646 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38647 (grub_rescue_unregister_command): Likewise.
38648
38649 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38650 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38651 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38652
38653 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38654 grub_rescue_cmd_initrd.
38655 * include/grub/i386/loader.h: Likewise.
38656 * include/grub/x86_64/loader.h: Likewise.
38657
38658 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38659
38660 2009-03-21 Bean <bean123ch@gmail.com>
38661
38662 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38663 instead of stat in mingw environment.
38664
38665 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38666
38667 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38668
38669 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38670 AC_CONFIG_LINKS.
38671
38672 2009-03-21 Bean <bean123ch@gmail.com>
38673
38674 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38675 out of range error.
38676
38677 2009-03-18 Michel Dänzer <michel@daenzer.net>
38678
38679 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38680 checking inode flags for EXT4_EXTENTS_FLAG.
38681
38682 2009-03-18 Robert Millan <rmh@aybabtu.com>
38683
38684 * loader/i386/linux.c: Include `<grub/video.h>' and
38685 `<grub/i386/pc/vbe.h>'..
38686 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38687 (grub_linux32_boot): Attempt to configure video settings with
38688 grub_linux_setup_video().
38689 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38690 to avoid grub_console_fini() which would step out of graphical mode
38691 unconditionally.
38692
38693 2009-03-14 Robert Millan <rmh@aybabtu.com>
38694
38695 Fix build on powerpc.
38696 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38697
38698 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38699
38700 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38701 background image command.
38702
38703 2009-03-12 Colin D Bennett <colin@gibibit.com>
38704
38705 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38706 (grub_gfxterm_putchar): Extract pairs of identical calls to
38707 draw_cursor out of conditional blocks.
38708
38709 2009-03-11 Pavel Roskin <proski@gnu.org>
38710
38711 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38712 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38713
38714 2009-03-11 Robert Millan <rmh@aybabtu.com>
38715
38716 * loader/i386/multiboot_elfxx.c
38717 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38718
38719 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
38720
38721 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38722 `kern/handler.c'.
38723
38724 2009-03-11 Robert Millan <rmh@aybabtu.com>
38725
38726 * loader/i386/multiboot.c (code_size): New variable.
38727 (grub_multiboot): Define offsets by adding to `code_size' rather
38728 than subtracting from `grub_multiboot_payload_size'. Provide
38729 4-byte alignment to MBI and others by increasing
38730 `boot_loader_name_length' appropriately.
38731
38732 * loader/i386/multiboot_elfxx.c
38733 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38734
38735 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
38736
38737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38738 `fs/ext2.c'.
38739
38740 2009-03-08 Robert Millan <rmh@aybabtu.com>
38741
38742 Make loader/i386/linux.c usable on i386-pc again.
38743
38744 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38745 memory to heap.
38746 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38747 `#error' stanza.
38748
38749 2009-03-07 Bean <bean123ch@gmail.com>
38750
38751 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38752 allocation.
38753
38754 2009-03-06 Robert Millan <rmh@aybabtu.com>
38755
38756 Fix display issue on terminals with screen size other than 80x25
38757 (e.g. gfxterm with resolution higher than 640x480).
38758
38759 * normal/main.c (grub_normal_init_page): Display title text in a
38760 position relative to the center of the terminal instead of relying
38761 on a hardcoded offset.
38762
38763 2009-03-04 Robert Millan <rmh@aybabtu.com>
38764
38765 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38766 installed.
38767
38768 * Makefile.in (host_kernel): New variable.
38769 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38770 scripts instead of just the windows one.
38771 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38772
38773 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38774
38775 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38776 `kern/handler.c'.
38777 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38778 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38779 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38781 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38783
38784 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38785
38786 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38787 or if there's no space for the disk label and print the partition number on a
38788 invalid magic.
38789
38790 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38791
38792 * util/misc.c: Include <time.h>.
38793 (grub_millisleep): New function.
38794
38795 2009-03-04 Bean <bean123ch@gmail.com>
38796
38797 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38798 another option -mno-red-zone.
38799
38800 * commands/handler.c: Change module description.
38801
38802 * kern/handler.c: Add missing space at the end of description line.
38803
38804 * kern/list.c: Likewise.
38805
38806 2009-03-03 Robert Millan <rmh@aybabtu.com>
38807
38808 Move more components to the relocation area, and fix mbi pointer
38809 handling to use the destination rather than the origin (thanks to
38810 Vladimir Serbinenko for spotting).
38811
38812 * loader/i386/multiboot.c (mbi_dest): New variable.
38813 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38814 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38815 relocation area.
38816
38817 2009-03-01 Bean <bean123ch@gmail.com>
38818
38819 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
38820 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38821 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38822 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38823
38824 * loader/i386/efi/linux.c (acpi_guid): New variable.
38825 (acpi_guid): Likewise.
38826 (EBDA_SEG_ADDR): New constant.
38827 (LOW_MEM_ADDR): Likewise.
38828 (FAKE_EBDA_SEG): Likewise.
38829 (fake_bios_data): New function.
38830 (grub_linux_boot): Call fake_bios_data.
38831
38832 2009-03-01 Bean <bean123ch@gmail.com>
38833
38834 * commands/terminal.c: Removed.
38835
38836 * commands/handler.c: New file.
38837
38838 * include/grub/list.h: Likewise.
38839
38840 * include/grub/handler.h: Likewise.
38841
38842 * kern/list.c: Likewise.
38843
38844 * kern/handler.c: Likewise.
38845
38846 * kern/term.h: Include header file <grub/handler.h>.
38847 (grub_term_input): Move next field to the beginning.
38848 (grub_term_output): Likewise.
38849 (grub_term_input_class): New variable.
38850 (grub_term_output_class): Likewise.
38851 (grub_term_register_input): Changed to inline function.
38852 (grub_term_register_output): Likewise.
38853 (grub_term_unregister_input): Likewise.
38854 (grub_term_unregister_output): Likewise.
38855 (grub_term_set_current_input): Likewise.
38856 (grub_term_set_current_output): Likewise.
38857 (grub_term_get_current_input): Likewise.
38858 (grub_term_get_current_output): Likewise.
38859 (grub_term_iterate_input): Removed.
38860 (grub_term_iterate_output): Likewise.
38861
38862 * kern/term.c (grub_term_list_input): Removed.
38863 (grub_term_list_output): Likewise.
38864 (grub_term_input_class): New variable.
38865 (grub_term_output_class): Likewise.
38866 (grub_cur_term_input): Change variable as macro.
38867 (grub_cur_term_output): Likewise.
38868 (grub_term_register_input): Removed.
38869 (grub_term_register_output): Likewise.
38870 (grub_term_unregister_input): Likewise.
38871 (grub_term_unregister_output): Likewise.
38872 (grub_term_set_current_input): Likewise.
38873 (grub_term_set_current_output): Likewise.
38874 (grub_term_iterate_input): Likewise.
38875 (grub_term_iterate_output): Likewise.
38876 (grub_term_get_current_input): Likewise.
38877 (grub_term_get_current_output): Likewise.
38878
38879 * util/grub-editenv.c: Include header file <grub/handler.h>.
38880 (grub_term_get_current_input): Removed.
38881 (grub_term_get_current_output): Likewise.
38882 (grub_term_input_class): New variable.
38883 (grub_term_output_class): Likewise.
38884
38885 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38886 (grub_term_get_current_output): Likewise.
38887 (grub_term_input_class): New variable.
38888 (grub_term_output_class): Likewise.
38889
38890 * util/grub-probe.c (grub_term_get_current_input): Removed.
38891 (grub_term_get_current_output): Likewise.
38892 (grub_term_input_class): New variable.
38893 (grub_term_output_class): Likewise.
38894
38895 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38896 (grub_term_get_current_output): Likewise.
38897 (grub_term_input_class): New variable.
38898 (grub_term_output_class): Likewise.
38899
38900 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38901 (terminal_mod_SOURCES): Likewise.
38902 (terminal_mod_CFLAGS): Likewise.
38903 (terminal_mod_LDFLAGS): Likewise.
38904
38905 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38906 handler.c.
38907 (kernel_img_SOURCES): Add list.c and handler.c.
38908 (kernel_img_HEADERS): Add list.h and handler.h.
38909
38910 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38911 handler.c.
38912 (kernel_mod_SOURCES): Add list.c and handler.c.
38913 (kernel_mod_HEADERS): Add list.h and handler.h.
38914
38915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38916 handler.c.
38917 (kernel_elf_SOURCES): Add list.c and handler.c.
38918 (kernel_elf_HEADERS): Add list.h and handler.h.
38919
38920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38921 handler.c.
38922 (kernel_elf_SOURCES): Add list.c and handler.c.
38923 (kernel_elf_HEADERS): Add list.h and handler.h.
38924
38925 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38926 handler.c.
38927 (kernel_mod_SOURCES): Add list.c and handler.c.
38928 (kernel_mod_HEADERS): Add list.h and handler.h.
38929
38930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38931 handler.c.
38932 (kernel_elf_SOURCES): Add list.c and handler.c.
38933 (kernel_elf_HEADERS): Add list.h and handler.h.
38934
38935 2009-02-27 Robert Millan <rmh@aybabtu.com>
38936
38937 Factorize elf32 / elf64 code in Multiboot loader. This will
38938 prevent it from getting out of sync again.
38939
38940 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38941 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38942 grub_multiboot_load_elf64): Move from here ...
38943 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38944 grub_multiboot_load_elf): ... to here (new file).
38945
38946 2009-02-27 Robert Millan <rmh@aybabtu.com>
38947
38948 * util/grub.d/10_linux.in: Rename "single-user mode" to
38949 "recovery mode".
38950
38951 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38952
38953 Don't leak in SCSI code.
38954 * disk/scsi.c (grub_scsi_close): free `scsi'.
38955
38956 2009-02-27 Robert Millan <rmh@aybabtu.com>
38957
38958 * loader/i386/pc/multiboot.c: Move from here ...
38959 * loader/i386/multiboot.c: ... to here. Update all users.
38960
38961 2009-02-27 Robert Millan <rmh@aybabtu.com>
38962
38963 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38964 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38965
38966 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
38967
38968 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38969 b-tree.
38970
38971 2009-02-27 Robert Millan <rmh@aybabtu.com>
38972
38973 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38974 `0x' qualifier as 0 when base is specified as parameter).
38975
38976 2009-02-24 Bean <bean123ch@gmail.com>
38977
38978 * configure.ac: Check for -mcmodel=large in x86_64 target.
38979
38980 * include/grub/efi/api.h (efi_call_10): New macro.
38981 (efi_wrap_10): New function.
38982
38983 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38984 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38985 (GRUB_PE32_REL_BASED_LOW): Likewise.
38986 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38987 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38988 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38989 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38990 (GRUB_PE32_REL_BASED_REL): Likewise.
38991 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38992 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38993 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38994
38995 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38996 issue.
38997
38998 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38999 (efi_wrap_10): New function.
39000
39001 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39002
39003 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39004 MB/MBP model (NV chipset).
39005 (devdata_devs): Add devpath_5 to the list.
39006
39007 * load/i386/efi/linux.c (video_base): Remove variable.
39008 (RGB_MASK): New macro.
39009 (RGB_MAGIC): Likewise.
39010 (LINE_MIN): Likewise.
39011 (LINE_MAX): Likewise.
39012 (FBTEST_STEP): Likewise.
39013 (FBTEST_COUNT): Likewise.
39014 (fb_list): New variable.
39015 (grub_find_video_card): Remove function.
39016 (find_framebuf): New function.
39017 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39018 line length.
39019
39020 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39021 problem for x86_64.
39022
39023 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39024
39025 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39026
39027 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39028 coding tool name.
39029
39030 2009-02-22 Robert Millan <rmh@aybabtu.com>
39031
39032 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39033 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39034 in our relocation, instead of using it directly from heap. Also
39035 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39036
39037 2009-02-21 Robert Millan <rmh@aybabtu.com>
39038
39039 Implement USB keyboard support (based on patch by Marco Gerards)
39040
39041 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39042 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39043 (usb_keyboard_mod_LDFLAGS): New variables.
39044
39045 * term/usb_keyboard.c: New file.
39046
39047 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39048
39049 Corrected wrong declaration
39050
39051 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39052
39053 2009-02-14 Christian Franke <franke@computer.org>
39054
39055 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39056 (grub_lspci_iter): Print class code and programming interface byte.
39057
39058 2009-02-14 Christian Franke <franke@computer.org>
39059
39060 * gendistlist.sh: Ignore `.svn' directories.
39061
39062 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
39063
39064 * fs/fat.c: Add 2009 to Copyright line.
39065
39066 2009-02-14 Christian Franke <franke@computer.org>
39067
39068 * commands/hdparm.c: New file. Provides `hdparm' command
39069 which sends ATA commands via grub_disk_ata_pass_through ().
39070
39071 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39072
39073 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39074 and <grub/cpu/io.h> to include/grub/ata.h.
39075 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39076 (GRUB_CDROM_SECTOR_SIZE): Remove.
39077 (GRUB_ATA_*): Move to include/grub/ata.h.
39078 (GRUB_ATAPI_*): Likewise.
39079 (enum grub_ata_commands): Likewise.
39080 (enum grub_ata_timeout_milliseconds): Likewise.
39081 (struct grub_ata_device): Likewise.
39082 (grub_ata_regset): Likewise.
39083 (grub_ata_regget): Likewise.
39084 (grub_ata_regset2): Likewise.
39085 (grub_ata_regget2): Likewise.
39086 (grub_ata_check_ready): Likewise.
39087 (grub_ata_wait_not_busy): Remove static, exported in
39088 include/grub/ata.h.
39089 (grub_ata_wait_drq): Likewise.
39090 (grub_ata_pio_read): Likewise.
39091
39092 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39093 function for hdparm.mod.
39094
39095 * include/grub/ata.h: New file, contains declarations from
39096 disk/ata.c.
39097 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39098
39099 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39100 (grub_disk_ata_pass_through): New exported variable.
39101
39102 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39103
39104 2009-02-13 Colin D Bennett <colin@gibibit.com>
39105
39106 Support multiple fallback entries, and provide an API to support
39107 executing default+fallback menu entries. Renamed the `terminal' menu
39108 viewer to `text'.
39109
39110 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39111 variable declaration.
39112 (grub_menu_execute_callback): New structure declaration.
39113 (grub_menu_execute_callback_t): New typedef.
39114 (grub_menu_execute_with_fallback): New function declaration.
39115 (grub_menu_get_entry): Likewise.
39116 (grub_menu_get_timeout): Likewise.
39117 (grub_menu_set_timeout): Likewise.
39118
39119 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39120
39121 * normal/menu.c (grub_wait_after_message): Moved to
39122 `normal/menu_text.c'.
39123 (draw_border): Likewise.
39124 (print_message): Likewise.
39125 (print_entry): Likewise.
39126 (print_entries): Likewise.
39127 (grub_menu_init_page): Likewise.
39128 (get_entry_number): Likewise.
39129 (print_timeout): Likewise.
39130 (run_menu): Likewise.
39131 (grub_menu_execute_entry): Likewise.
39132 (show_text_menu): Likewise.
39133 (get_and_remove_first_entry_number): New function.
39134 (grub_menu_execute_with_fallback): Likewise.
39135 (get_entry): Renamed to ...
39136 (grub_menu_get_entry): .. this and made it global.
39137 (get_timeout): Renamed to ...
39138 (grub_menu_get_timeout): ... this and made it global.
39139 (set_timeout): Renamed to ...
39140 (grub_menu_set_timeout): ... this and made it global.
39141 (grub_normal_terminal_menu_viewer): Renamed to ...
39142 (grub_normal_text_menu_viewer): ... this.
39143
39144 * normal/menu_text.c: New file. Extracted text-menu-specific code
39145 from normal/menu.c.
39146
39147 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39148 (normal_mod_SOURCES): Likewise.
39149
39150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39151 (normal_mod_SOURCES): Likewise.
39152
39153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39154 (normal_mod_SOURCES): Likewise.
39155
39156 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39157 (normal_mod_SOURCES): Likewise.
39158
39159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39160 (normal_mod_SOURCES): Likewise.
39161
39162 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39163 (normal_mod_SOURCES): Likewise.
39164
39165 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39166 (normal_mod_SOURCES): Likewise.
39167
39168 2009-02-11 Robert Millan <rmh@aybabtu.com>
39169
39170 * util/grub.d/00_header.in: Update old reference to `font' command.
39171
39172 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
39173
39174 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39175
39176 Based on patch from Javier Martín.
39177
39178 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39179
39180 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
39181 to avoid false positives with FAT.
39182 (grub_fstest_SOURCES): Likewise.
39183 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39184 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39186 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39187 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39188 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39189
39190 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39191
39192 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
39193 bpb.version_specific.fat12_or_fat16.fstype and
39194 bpb.version_specific.fat32.fstype.
39195
39196 2009-02-08 Robert Millan <rmh@aybabtu.com>
39197
39198 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
39199
39200 2009-02-08 Robert Millan <rmh@aybabtu.com>
39201
39202 * Makefile.in (host_os, host_cpu): New variables.
39203 (target_os): Remove. Update all users.
39204
39205 2009-02-08 Marco Gerards <marco@gnu.org>
39206
39207 * Makefile.in (enable_grub_emu_usb): New variable.
39208 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39209 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39210 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39211 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39212 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39213 `usbtest.mod' and `usbms.mod'.
39214 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39215 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39216 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39217 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39218 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39219 variables.
39220
39221 * disk/usbms.c: New file.
39222
39223 * include/grub/usb.h: Likewise.
39224
39225 * include/grub/usbtrans.h: Likewise.
39226
39227 * include/grub/usbdesc.h: Likewise.
39228
39229 * bus/usb/usbtrans.c: Likewise.
39230
39231 * bus/usb/ohci.c: Likewise.
39232
39233 * bus/usb/uhci.c: Likewise.
39234
39235 * bus/usb/usbhub.c: Likewise.
39236
39237 * bus/usb/usb.c: Likewise.
39238
39239 * commands/usbtest.c: Likewise.
39240
39241 * util/usb.c: Likewise.
39242
39243 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39244
39245 * configure.ac: Test for libusb presence.
39246
39247 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39248
39249 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39250
39251 * kern/mm.c: Add more comments.
39252
39253 2009-02-08 Robert Millan <rmh@aybabtu.com>
39254
39255 Patch from Javier Martín.
39256 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39257 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39258
39259 2009-02-08 Robert Millan <rmh@aybabtu.com>
39260
39261 * fs/cpio.c: Split tar functionality to ...
39262 * fs/tar.c: ... here (new file). Update all users.
39263
39264 2009-02-07 Robert Millan <rmh@aybabtu.com>
39265
39266 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39267 backward-incompatible features.
39268
39269 Based on patch from Javier Martín, with some adjustments.
39270
39271 2009-02-07 Michael Scherer <misc@mandriva.org>
39272
39273 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39274
39275 2009-02-07 Robert Millan <rmh@aybabtu.com>
39276
39277 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39278 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39279 after the RAID stuff.
39280
39281 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39282
39283 Fixes problem when running vbetest command as reported by
39284 Vladimir Serbinenko <phcoder@gmail.com>.
39285
39286 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39287
39288 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
39289
39290 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39291 /dev/md/NpN style mdraid devices.
39292
39293 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39294
39295 * util/unifont2pff.rb: Remove.
39296
39297 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39298
39299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39300 `#'.
39301
39302 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39303
39304 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39305 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39306 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39307 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39309 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39311
39312 2009-02-02 Christian Franke <franke@computer.org>
39313
39314 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39315
39316 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
39317
39318 * INSTALL: Note that we now require at least autoconf 2.59 and
39319 that LZO is optional.
39320
39321 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39322
39323 Base on patch on bug #24154 created by Tomas Tintera
39324 <trosos@seznam.cz>.
39325
39326 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39327
39328 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39329
39330 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
39331 <bero@arklinux.org>.
39332
39333 * normal/parser.y (script_init): Add missing semicolon.
39334
39335 2009-01-31 Colin D Bennett <colin@gibibit.com>
39336
39337 * normal/main.c: Add include to grub/menu_viewer.h.
39338 (free_menu_entry_classes): Added.
39339 (grub_normal_menu_addentry): Added class property handling.
39340 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39341 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39342
39343 * normal/menu_viewer.c: New file.
39344
39345 * normal/menu.c (run_menu_entry): Renamed to ...
39346 (grub_menu_execute_entry): ... this and made it as global.
39347 (grub_menu_run): Renamed to ...
39348 (show_text_menu): ... this and made it local.
39349 (show_text_menu): Adapt to new function names.
39350 (grub_normal_terminal_menu_viewer): New global variable.
39351
39352 * include/grub/menu.h: New file.
39353
39354 * include/grub/menu_viewer.h: New file.
39355
39356 * include/grub/normal.h: Added include to grub/menu.h.
39357 (grub_menu_entry): Moved to include/grub/menu.h.
39358 (grub_menu_entry_t): Likewise.
39359 (grub_menu): Likewise.
39360 (grub_menu_t): Likewise.
39361 (grub_normal_terminal_menu_viewer): Added.
39362 (grub_menu_execute_entry): Likewise.
39363 (grub_menu_run): Removed.
39364
39365 * DISTLIST: Added include/grub/menu.h.
39366 Added include/grub/menu_viewer.h.
39367 Added normal/menu_viewer.c.
39368
39369 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39370
39371 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39372 arglist for menutitle arguments.
39373
39374 * normal/main.c (grub_normal_menu_addentry): Likewise.
39375
39376 * normal/parser.y (menuentry): Likewise.
39377
39378 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39379
39380 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39381 (grub_script_create_cmdmenu): Likewise.
39382
39383 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39384
39385 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39386 changes.
39387
39388 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39389
39390 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39391
39392 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39393
39394 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39395
39396 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39397
39398 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39399
39400 2009-01-30 Christian Franke <franke@computer.org>
39401
39402 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39403 in option help text.
39404
39405 2009-01-27 Pavel Roskin <proski@gnu.org>
39406
39407 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39408
39409 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39410
39411 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39412
39413 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39414
39415 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39416 unregister function.
39417
39418 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39419
39420 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39421
39422 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39423
39424 * util/grub-mkfont.c (usage): Fix typo.
39425
39426 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39427
39428 2009-01-26 Daniel Mierswa <impulze@impulze.org>
39429
39430 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39431
39432 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39433
39434 * kern/misc.c (grub_strcasecmp): New function.
39435 (grub_strcasecmp): Use grub_size_t instead of int for length.
39436 Fix return value.
39437 * include/grub/misc.h: Update function prototypes.
39438
39439 2009-01-26 Robert Millan <rmh@aybabtu.com>
39440
39441 * configure.ac: Fix cross-compilation check.
39442
39443 2009-01-22 Christian Franke <franke@computer.org>
39444
39445 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39446 (precision) digit string. Allow `.format2' without `format1' (width).
39447 Limit input chars for `%s' output to `format2' if specified. This is
39448 compatible with standard printf ().
39449
39450 2009-01-22 Christian Franke <franke@computer.org>
39451
39452 * disk/ata.c (grub_ata_wait_status): Replace by ...
39453 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39454 other status bits may be invalid while BSY is asserted.
39455 (grub_ata_check_ready): New function.
39456 (grub_ata_cmd): Removed.
39457 (grub_ata_wait_drq): New function.
39458 (grub_ata_strncpy): Remove inline.
39459 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39460 and error check now done by grub_ata_wait_drq ().
39461 (grub_ata_pio_write): Likewise.
39462 (grub_atapi_identify): Set DEV before check for !BSY. Use
39463 grub_ata_wait_drq () to wait for data.
39464 (grub_ata_device_initialize): Add status register check to
39465 detect missing SATA slave devices. Add debug messages.
39466 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39467 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39468 transfer loop by grub_ata_pio_write ().
39469 (grub_ata_identify): Set DEV before check for !BSY. Use
39470 grub_ata_wait_drq () to wait for data.
39471 (grub_ata_setaddress): Set DEV before check for !BSY.
39472 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39473 read/write in one loop. Fix invalid command on write. Fix incomplete
39474 command on (size % batch) == 0. Add missing error check after write of
39475 last block. Add debug messages.
39476 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39477
39478 2009-01-19 Christian Franke <franke@computer.org>
39479
39480 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39481 (GRUB_ATAPI_IREASON_*): Likewise.
39482 (grub_ata_pio_write): Fix timeout error return.
39483 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39484 (grub_atapi_wait_drq): New function.
39485 (grub_atapi_packet): New parameter `size'.
39486 Use grub_atapi_wait_drq () and direct write instead of
39487 grub_ata_pio_write ().
39488 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39489 reads the number of bytes requested by the device for each DRQ
39490 assertion.
39491 (grub_atapi_write): Remove old implementation, return not
39492 implemented instead.
39493
39494 2009-01-19 Christian Franke <franke@computer.org>
39495
39496 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39497 of 512 to calculate data size.
39498 (grub_scsi_read12): Likewise.
39499 (grub_scsi_write10): Likewise.
39500 (grub_scsi_write12): Likewise.
39501 (grub_scsi_read): Adjust size according to blocksize.
39502 Add checks for invalid blocksize and unaligned transfer.
39503
39504 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39505
39506 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39507
39508 * term/gfxterm.c (write_char): Fix background rendering for wide
39509 width glyphs.
39510
39511 2009-01-19 Robert Millan <rmh@aybabtu.com>
39512
39513 * config.guess: Update to latest version from config git.
39514 * config.sub: Likewise.
39515
39516 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
39517
39518 * Makefile.in: Change font compilation to use new grub-mkfont instead
39519 of java version.
39520
39521 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39522 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39523 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39524 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39525 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39526 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39527 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39528 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39529 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39530
39531 2009-01-16 Christian Franke <franke@computer.org>
39532
39533 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39534 (enum grub_ata_timeout_milliseconds): New enum.
39535 (grub_ata_wait_status): Add parameter milliseconds.
39536 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39537 recovery from timed-out commands.
39538 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39539 return grub_errno instead of REG_ERROR.
39540 (grub_ata_pio_write): Add parameter milliseconds.
39541 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39542 Pass milliseconds to grub_ata_wait_status () and
39543 grub_ata_pio_read ().
39544 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39545 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39546 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39547 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39548 It is not suitable for device detection, because DEV bit is ignored,
39549 the command may run too long, and not all devices set the signature
39550 properly.
39551 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39552 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39553 Fix device selection, DEV bit must be set first to address the registers
39554 of the correct device.
39555 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39556 grub_ata_pio_read/write ().
39557 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39558 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39559
39560 2009-01-13 Carles Pina i Estany <carles@pina.cat>
39561
39562 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39563
39564 2009-01-13 Bean <bean123ch@gmail.com>
39565
39566 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39567
39568 2009-01-13 Bean <bean123ch@gmail.com>
39569
39570 * Makefile.in: (enable_grub_mkfont): New variable.
39571 (freetype_cflags): Likewise.
39572 (freetype_libs): Likewise.
39573
39574 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39575 (grub_mkfont_SOURCES): New variable.
39576 (grub_mkfont_CFLAGS): Likewise.
39577 (grub_mkfont_LDFLAGS): Likewise.
39578
39579 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39580 library if `--enable-grub-mkfont' is requested.
39581 (enable_grub_mkfont): New variable.
39582 (freetype_cflags): Likewise.
39583 (freetype_libs): Likewise.
39584
39585 * util/grub-mkfont.c: New file.
39586
39587 2009-01-12 Christian Franke <franke@computer.org>
39588
39589 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39590 mode check. Fix setting of compat_use[].
39591
39592 2009-01-10 Robert Millan <rmh@aybabtu.com>
39593
39594 Update a few copyright years which we forgot to do in 2008 (only for
39595 files whose changes made in 2008 were copyright-significant)
39596
39597 * Makefile.in: Add 2008 to Copyright line.
39598 * disk/ieee1275/ofdisk.c: Likewise.
39599 * disk/efi/efidisk.c: Likewise.
39600 * kern/dl.c: Likewise.
39601 * kern/sparc64/ieee1275/init.c: Likewise.
39602 * kern/mm.c: Likewise.
39603 * kern/efi/mm.c: Likewise.
39604 * boot/i386/pc/boot.S: Likewise.
39605 * genfslist.sh: Likewise.
39606 * fs/iso9660.c: Likewise.
39607 * fs/hfs.c: Likewise.
39608 * fs/jfs.c: Likewise.
39609 * fs/minix.c: Likewise.
39610 * fs/ufs.c: Likewise.
39611 * gensymlist.sh.in: Likewise.
39612 * genkernsyms.sh.in: Likewise.
39613 * include/grub/misc.h: Likewise.
39614 * include/grub/types.h: Likewise.
39615 * include/grub/symbol.h: Likewise.
39616 * include/grub/elf.h: Likewise.
39617 * include/grub/kernel.h: Likewise.
39618 * include/grub/disk.h: Likewise.
39619 * include/grub/dl.h: Likewise.
39620 * include/grub/i386/linux.h: Likewise.
39621 * include/grub/i386/pc/biosdisk.h: Likewise.
39622 * include/grub/efi/api.h: Likewise.
39623 * include/grub/efi/pe32.h: Likewise.
39624 * include/grub/util/misc.h: Likewise.
39625 * normal/execute.c: Likewise.
39626 * normal/arg.c: Likewise.
39627 * normal/completion.c: Likewise.
39628 * normal/lexer.c: Likewise.
39629 * normal/parser.y: Likewise.
39630 * normal/misc.c: Likewise.
39631 * commands/i386/pc/vbeinfo.c: Likewise.
39632 * commands/hexdump.c: Likewise.
39633 * commands/terminal.c: Likewise.
39634 * commands/ls.c: Likewise.
39635 * commands/help.c: Likewise.
39636 * partmap/pc.c: Likewise.
39637 * loader/efi/chainloader.c: Likewise.
39638 * loader/multiboot_loader.c: Likewise.
39639 * loader/i386/pc/multiboot2.c: Likewise.
39640 * term/efi/console.c: Likewise.
39641 * term/i386/pc/serial.c: Likewise.
39642 * util/lvm.c: Likewise.
39643 * util/console.c: Likewise.
39644 * util/i386/efi/grub-mkimage.c: Likewise.
39645 * util/raid.c: Likewise.
39646
39647 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39648
39649 * commands/videotest.c: Removed include to grub/machine/memory.h.
39650
39651 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39652 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39653 (video_mod_SOURCES): Removed.
39654 (video_mod_CFLAGS): Likewise.
39655 (video_mod_LDFLAGS): Likewise.
39656 (gfxterm_mod_SOURCES): Likewise.
39657 (gfxterm_mod_CFLAGS): Likewise.
39658 (gfxterm_mod_LDFLAGS): Likewise.
39659 (videotest_mod_SOURCES): Likewise.
39660 (videotest_mod_CFLAGS): Likewise.
39661 (videotest_mod_LDFLAGS): Likewise.
39662 (bitmap_mod_SOURCES): Likewise.
39663 (bitmap_mod_CFLAGS): Likewise.
39664 (bitmap_mod_LDFLAGS): Likewise.
39665 (tga_mod_SOURCES): Likewise.
39666 (tga_mod_CFLAGS): Likewise.
39667 (tga_mod_LDFLAGS): Likewise.
39668 (jpeg_mod_SOURCES): Likewise.
39669 (jpeg_mod_CFLAGS): Likewise.
39670 (jpeg_mod_LDFLAGS): Likewise.
39671 (png_mod_SOURCES): Likewise.
39672 (png_mod_CFLAGS): Likewise.
39673 (png_mod_LDFLAGS): Likewise.
39674
39675 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39676 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39677 (video_mod_SOURCES): Added.
39678 (video_mod_CFLAGS): Likewise.
39679 (video_mod_LDFLAGS): Likewise.
39680 (videotest_mod_SOURCES): Likewise.
39681 (videotest_mod_CFLAGS): Likewise.
39682 (videotest_mod_LDFLAGS): Likewise.
39683 (bitmap_mod_SOURCES): Likewise.
39684 (bitmap_mod_CFLAGS): Likewise.
39685 (bitmap_mod_LDFLAGS): Likewise.
39686 (tga_mod_SOURCES): Likewise.
39687 (tga_mod_CFLAGS): Likewise.
39688 (tga_mod_LDFLAGS): Likewise.
39689 (jpeg_mod_SOURCES): Likewise.
39690 (jpeg_mod_CFLAGS): Likewise.
39691 (jpeg_mod_LDFLAGS): Likewise.
39692 (png_mod_SOURCES): Likewise.
39693 (png_mod_CFLAGS): Likewise.
39694 (png_mod_LDFLAGS): Likewise.
39695 (gfxterm_mod_SOURCES): Likewise.
39696 (gfxterm_mod_CFLAGS): Likewise.
39697 (gfxterm_mod_LDFLAGS): Likewise.
39698
39699 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39700 grub/machine/console.h.
39701
39702 2009-01-04 Jerone Young <jerone@gmail.com>
39703
39704 Make on screen instructions clearer
39705
39706 Based on patch created by Jidanni <jidanni@jidanni.org>
39707
39708 * normal/menu.c: print clearer instructions on the screen
39709
39710 2009-01-02 Colin D Bennett <colin@gibibit.com>
39711
39712 New font engine.
39713
39714 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39715 build system and fixed gfxterm.c to work with different sized fonts.
39716
39717 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
39718
39719 * configure: Re-generated.
39720
39721 * DISTLIST: Removed font/manager.c.
39722 Added font/font.c.
39723 Added font/font_cmd.c.
39724
39725 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39726 compilation.
39727
39728 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
39729
39730 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
39731
39732 * kern/term.c: Changed users of grub_utf8_to_ucs4.
39733
39734 * normal/menu.c: Likewise.
39735
39736 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39737 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
39738
39739 * include/grub/font.h: Replaced with new file.
39740
39741 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39742 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39743 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39744 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39745 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
39746 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
39747 fg_red, fg_green, fg_blue, fg_alpha.
39748 (grub_video_adapter): Removed blit_glyph.
39749 (grub_video_blit_glyph): Removed.
39750
39751 * font/manager.c: Removed file.
39752
39753 * font/font.c: New file.
39754
39755 * font/font_cmd.c: Likewise.
39756
39757 * video/video.c (grub_video_blit_glyph): Removed.
39758
39759 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39760 (grub_video_vbe_map_rgba): Likewise.
39761 (grub_video_vbe_unmap_color_int): Likewise.
39762 (grub_video_vbe_blit_glyph): Removed.
39763 (grub_video_vbe_adapter): Removed blit_glyph.
39764
39765 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39766 (get_pixel): Likewise.
39767 (set_pixel): Likewise.
39768
39769 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
39770
39771 * term/gfxterm.c: Adapted to new font engine.
39772
39773 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
39774
39775 * term/i386/pc/vga.c: Likewise.
39776
39777 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
39778
39779 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39780
39781 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39782
39783 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39784
39785 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39786
39787 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39788
39789 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39790
39791 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39792
39793 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39794
39795 * util/grub.d/00_header.in: Changed to use new loadfont command.
39796
39797 * util/grub-mkconfig_lib.in: Changed font extension.
39798
39799 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
39800
39801 * util/getroot.c (grub_util_get_grub_dev): Add support for
39802 /dev/md/dNNpNN style partitionable mdraid devices.
39803
39804 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
39805
39806 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39807 at a time limit of the PXE TFTP API correctly.
39808 (grub_pxefs_close): Likewise.
39809
39810 2008-11-29 Robert Millan <rmh@aybabtu.com>
39811
39812 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
39813 grub_ata_device_initialize() calls.
39814
39815 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
39816
39817 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39818 iteration failed.
39819 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39820
39821 2008-11-28 Robert Millan <rmh@aybabtu.com>
39822
39823 Fix build on powerpc-ieee1275. Based on patch created by
39824 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39825 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39826 `kern/ieee1275/mmap.c'.
39827 * include/grub/powerpc/ieee1275/memory.h: New file.
39828
39829 Provide grub-install on coreboot.
39830 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39831 (grub_install_SOURCES): New variable.
39832 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39833 usable on coreboot.
39834
39835 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
39836
39837 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39838 to `grub_term_input_t'.
39839 (grub_term_get_current_output): Change return type to
39840 `grub_term_output_t'.
39841
39842 2008-11-22 Robert Millan <rmh@aybabtu.com>
39843
39844 Fix breakage on coreboot due to declaration mismatch.
39845 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39846 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39847 grub_vga_text_cls().
39848
39849 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
39850 comments. Avoid copying one more byte than necessary (just in case).
39851
39852 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39853 to 0x200000 (avoids trouble with some OFW implementations, and matches
39854 with the one in Yaboot).
39855 Reported by Manoel Abranches
39856
39857 2008-11-20 Robert Millan <rmh@aybabtu.com>
39858
39859 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39860 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39861
39862 * util/grub-mkconfig_lib.in (grub_warn): New function.
39863 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39864 warnings, to obtain consistent formatting.
39865 * util/grub.d/00_header.in: Likewise.
39866 * util/update-grub_lib.in: Likewise.
39867
39868 * loader/i386/linux.c (allocate_pages): Fix a warning.
39869 Move comment text to `#error' stanza.
39870
39871 Harmonize ieee1275's grub_available_iterate() with the generic
39872 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39873 build problem on i386-ieee1275):
39874 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39875 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39876 parameter `type'. Update all users of this function.
39877 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39878 `kern/ieee1275/mmap.c'.
39879 * kern/ieee1275/init.c
39880 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39881 with ...
39882 (grub_machine_mmap_iterate): ... this.
39883 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39884 return type to `grub_err_t'. Update all implementations of this
39885 function prototype.
39886 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39887 Likewise.
39888
39889 Add `lsmmap' command (lists firmware-provided memory map):
39890 * commands/lsmmap.c: New file.
39891 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39892 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39893 variables.
39894 * conf/powerpc-ieee1275.rmk: Likewise.
39895 * conf/i386-coreboot.rmk: Likewise.
39896 * conf/i386-ieee1275.rmk: Likewise.
39897
39898 2008-11-19 Robert Millan <rmh@aybabtu.com>
39899
39900 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
39901 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39902 constraints to initrd allocation (based on code from
39903 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39904 for Linux to find it.
39905
39906 2008-11-14 Robert Millan <rmh@aybabtu.com>
39907
39908 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39909 order to cope with duplicate slashes.
39910
39911 2008-11-14 Robert Millan <rmh@aybabtu.com>
39912
39913 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39914 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39915 don't want to mess with lower memory, because it is used in the Linux
39916 loader.
39917
39918 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
39919 an appropriate place in lower memory, between 0x10000 and 0x90000,
39920 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39921 is in our heap (probably as a result of it being corrupted during
39922 decompression). Add #error instance with comment to explain why this
39923 loader isn't currently usable on PC/BIOS.
39924
39925 2008-11-14 Robert Millan <rmh@aybabtu.com>
39926
39927 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
39928 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
39929
39930 2008-11-12 Robert Millan <rmh@aybabtu.com>
39931
39932 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39933
39934 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39935 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39936 from here ...
39937 * include/grub/i386/pc/memory.h: ... to here.
39938
39939 2008-11-12 Robert Millan <rmh@aybabtu.com>
39940
39941 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39942 split).
39943
39944 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39945 (grub_console_cur_color, grub_console_real_putchar)
39946 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39947 (grub_console_setcolorstate, grub_console_setcolor)
39948 (grub_console_getcolor): Move from here ...
39949 * include/grub/i386/vga_common.h: ... to here (new file).
39950
39951 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39952 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39953 `<grub/i386/io.h>'.
39954 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39955 `<grub/i386/vga_common.h>'.
39956
39957 2008-11-12 Robert Millan <rmh@aybabtu.com>
39958
39959 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39960 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39961 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39962 variables.
39963 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39964 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39965
39966 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39967 grub_console_init() with call to grub_vga_text_init().
39968 (grub_machine_fini): Replace call to
39969 grub_console_fini() with call to grub_vga_text_fini() and
39970 grub_at_keyboard_fini().
39971
39972 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39973 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39974 (grub_console_setcolorstate, grub_console_setcolor)
39975 (grub_console_getcolor): New function prototypes.
39976
39977 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39978 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39979 (grub_vga_text_setcursor): Static-ize.
39980 (grub_vga_text_term): New structure.
39981 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39982
39983 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39984 (grub_console_cur_color, grub_console_standard_color)
39985 (grub_console_normal_color, grub_console_highlight_color)
39986 (map_char, grub_console_putchar, grub_console_getcharwidth)
39987 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39988 (grub_console_getcolor): Move from here ...
39989 * term/i386/vga_common.c: ... to here (same function names).
39990
39991 2008-11-12 Robert Millan <rmh@aybabtu.com>
39992
39993 Use newly-added Multiboot support in coreboot.
39994
39995 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39996 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39997
39998 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39999 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40000 (codestart): Store the MBI in `startup_multiboot_info' when we're
40001 being loaded using Multiboot.
40002
40003 * kern/i386/coreboot/init.c (grub_machine_init): Move
40004 grub_at_keyboard_init() call to beginning of function (useful for
40005 debugging). Call grub_machine_mmap_init() before attempting to use
40006 grub_machine_mmap_iterate().
40007 (grub_lower_mem, grub_upper_mem): Move from here ...
40008 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40009 here (new file).
40010
40011 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40012 function prototype.
40013
40014 2008-11-12 Robert Millan <rmh@aybabtu.com>
40015
40016 Fix a regression introduced by the at_keyboard.mod split. Because
40017 some terminals are default on some platforms and non-default on
40018 others, the first terminal being registered determines which is
40019 going to be default.
40020
40021 * kern/term.c (grub_term_register_input): If this is the first
40022 terminal being registered, set it as the current one.
40023 (grub_term_register_output): Likewise.
40024
40025 * term/efi/console.c (grub_console_init): Do not call
40026 grub_term_set_current_output() or grub_term_set_current_input().
40027 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40028 * term/i386/pc/console.c (grub_console_init): Likewise.
40029 (grub_console_fini): Do not call grub_term_set_current_input()
40030 (but leave grub_term_set_current_output() to restore text mode).
40031
40032 2008-11-10 Robert Millan <rmh@aybabtu.com>
40033
40034 * util/grub.d/00_header.in: Add backward compatibility check for
40035 versions of terminal.mod that don't understand `terminal_input' or
40036 `terminal_output'.
40037
40038 2008-11-09 Robert Millan <rmh@aybabtu.com>
40039
40040 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40041 `terminal_input' / `terminal_output', not `terminal'.
40042
40043 2008-11-08 Robert Millan <rmh@aybabtu.com>
40044
40045 * Makefile.in (include_DATA): Fix srcdir=. assumption.
40046 (DISTCLEANFILES): Add `build_env.mk'.
40047
40048 2008-11-08 Robert Millan <rmh@aybabtu.com>
40049
40050 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
40051 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40052 members. Update all users.
40053 * util/console.c (grub_ncurses_term): Split in ...
40054 (grub_ncurses_term_input): ... this, and ...
40055 (grub_ncurses_term_output): ... this. Update all users.
40056 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
40057
40058 2008-11-08 Robert Millan <rmh@aybabtu.com>
40059
40060 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40061 (PKGDATA): Add $(pkgdata_SRCDIR).
40062 (pkglib_BUILDDIR): New variable.
40063 (pkgdata_SRCDIR): New variable.
40064 (build_env.mk): New target.
40065 (include_DATA): New variable.
40066 (install-local): Install $(include_DATA) files in $(includedir).
40067
40068 2008-11-07 Pavel Roskin <proski@gnu.org>
40069
40070 * gendistlist.sh: Use C locale for sorting to ensure consistent
40071 output on all systems.
40072
40073 * util/grub.d/00_header.in: Remove incorrect space before
40074 "serial".
40075
40076 2008-11-07 Robert Millan <rmh@aybabtu.com>
40077
40078 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40079 per specification.
40080 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40081 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40082 (based on find_multi_boot1_header).
40083 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40084 using find_multi_boot2_header(), and abort if neither Multiboot or
40085 Multiboot headers were found.
40086
40087 2008-11-07 Robert Millan <rmh@aybabtu.com>
40088
40089 Modularize at_keyboard.mod:
40090
40091 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40092 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40093 (at_keyboard_mod_LDFLAGS): New variables.
40094
40095 Actual terminal split:
40096
40097 * include/grub/term.h (struct grub_term): Split in ...
40098 (struct grub_term_input): ... this, and ...
40099 (struct grub_term_output): ... this. Update all users.
40100 (grub_term_set_current): Split in ...
40101 (grub_term_set_current_input): ... this, and ...
40102 (grub_term_set_current_output): ... this.
40103 (grub_term_get_current): Split in ...
40104 (grub_term_get_current_input): ... this, and ...
40105 (grub_term_get_current_output): ... this.
40106 (grub_term_register): Split in ...
40107 (grub_term_register_input): ... this, and ...
40108 (grub_term_register_output): ... this.
40109 (grub_term_unregister): Split in ...
40110 (grub_term_unregister_input): ... this, and ...
40111 (grub_term_unregister_output): ... this.
40112 (grub_term_iterate): Split in ...
40113 (grub_term_iterate_input): ... this, and ...
40114 (grub_term_iterate_output): ... this.
40115
40116 * kern/term.c (grub_term_list): Split in ...
40117 (grub_term_list_input): ... this, and ...
40118 (grub_term_list_output): ... this. Update all users.
40119 (grub_cur_term): Split in ...
40120 (grub_cur_term_input): ... this, and ...
40121 (grub_cur_term_output): ... this. Update all users.
40122 (grub_term_set_current): Split in ...
40123 (grub_term_set_current_input): ... this, and ...
40124 (grub_term_set_current_output): ... this.
40125 (grub_term_get_current): Split in ...
40126 (grub_term_get_current_input): ... this, and ...
40127 (grub_term_get_current_output): ... this.
40128 (grub_term_register): Split in ...
40129 (grub_term_register_input): ... this, and ...
40130 (grub_term_register_output): ... this.
40131 (grub_term_unregister): Split in ...
40132 (grub_term_unregister_input): ... this, and ...
40133 (grub_term_unregister_output): ... this.
40134 (grub_term_iterate): Split in ...
40135 (grub_term_iterate_input): ... this, and ...
40136 (grub_term_iterate_output): ... this.
40137
40138 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40139 a check for input and one for output (and only attempt to get keys
40140 from user when input works).
40141
40142 * util/grub-probe.c (grub_term_get_current): Split in ...
40143 (grub_term_get_current_input): ... this, and ...
40144 (grub_term_get_current_output): ... this.
40145 * util/grub-fstest.c: Likewise.
40146 * util/i386/pc/grub-setup.c: Likewise.
40147 * util/grub-editenv.c: Likewise.
40148
40149 Portability adjustments:
40150
40151 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40152 `term/i386/pc/at_keyboard.c'.
40153 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40154 grub_keyboard_controller_init() (now handled by terminal .init).
40155 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40156 grub_at_keyboard_init().
40157 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40158 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40159 at_keyboard.mod via input terminal interface).
40160 * include/grub/i386/coreboot/console.h: Convert into a stub for
40161 `<grub/i386/pc/console.h>'.
40162
40163 Migrate full terminals to new API:
40164
40165 * term/efi/console.c (grub_console_term): Split into ...
40166 (grub_console_term_input): ... this, and ...
40167 (grub_console_term_output): ... this. Update all users.
40168 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40169 (grub_ofconsole_init): Split into ...
40170 (grub_ofconsole_init_input): ... this, and ...
40171 (grub_ofconsole_init_output): ... this.
40172 (grub_ofconsole_term): Split into ...
40173 (grub_ofconsole_term_input): ... this, and ...
40174 (grub_ofconsole_term_output): ... this. Update all users.
40175 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40176 (grub_serial_term_input): ... this, and ...
40177 (grub_serial_term_output): ... this. Update all users.
40178 * term/i386/pc/console.c (grub_console_term): Split into ...
40179 (grub_console_term_input): ... this, and ...
40180 (grub_console_term_output): ... this. Update all users.
40181 (grub_console_term_input): Only enable it on PC/BIOS platform.
40182 (grub_console_init): Remove grub_keyboard_controller_init() call.
40183
40184 Migrate input terminals to new API:
40185
40186 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40187 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40188 i386-specific anyway).
40189 (grub_console_checkkey): Rename to ...
40190 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40191 users.
40192 (grub_keyboard_controller_orig): New variable.
40193 (grub_console_getkey): Rename to ...
40194 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40195 users.
40196 (grub_keyboard_controller_init): Static-ize. Save original
40197 controller value so that it can be restored ...
40198 (grub_keyboard_controller_fini): ... here (new function).
40199 (grub_at_keyboard_term): New structure.
40200 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40201 functions.
40202
40203 Migrate output terminals to new API:
40204
40205 * term/i386/pc/vga.c (grub_vga_term): Change type to
40206 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40207 members. Update all users.
40208 * term/gfxterm.c (grub_video_term): Change type to
40209 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40210 members. Update all users.
40211 * include/grub/i386/pc/console.h (grub_console_checkkey)
40212 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40213 etc).
40214
40215 Migrate `terminal' command and userland tools to new API:
40216
40217 * commands/terminal.c (grub_cmd_terminal): Split into ...
40218 (grub_cmd_terminal_input): ... this, and ...
40219 (grub_cmd_terminal_output): ... this.
40220 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40221 `terminal_input' and `terminal_output'.
40222 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40223 `terminal_input' / `terminal_output' API.
40224 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40225 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40226 provided ${GRUB_TERMINAL}, convert it).
40227
40228 2008-11-04 Robert Millan <rmh@aybabtu.com>
40229
40230 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40231 for FreeBSD.
40232 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40233
40234 2008-11-03 Bean <bean123ch@gmail.com>
40235
40236 * kern/elf.c (grub_elf32_load): Revert to previous code.
40237 (grub_elf64_load): Likewise.
40238
40239 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40240
40241 2008-11-01 Robert Millan <rmh@aybabtu.com>
40242
40243 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40244 (TARGET_CPPFLAGS): Likewise.
40245 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40246
40247 2008-11-01 Carles Pina i Estany <carles@pina.cat>
40248
40249 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40250
40251 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40252
40253 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40254 addition of objects until the code is not going to be able to fail.
40255
40256 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40257
40258 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40259 (add a missing NULL check, and correct them by moving the pointer
40260 operations after the actual check).
40261
40262 2008-10-29 Robert Millan <rmh@aybabtu.com>
40263
40264 * util/i386/pc/grub-install.in: Handle empty string as output from
40265 make_system_path_relative_to_its_root().
40266
40267 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40268
40269 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40270 circular metadata worst case scenario. If the metadata is circular
40271 then copy the wrap in place.
40272 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40273 project lib/format_text/layout.h
40274 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40275
40276 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40277
40278 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
40279
40280 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40281
40282 * util/update-grub_lib.in: Mention filename in warning message.
40283
40284 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40285
40286 * NEWS: Update for rename of update-grub to grub-mkconfig.
40287
40288 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40289
40290 * util/update-grub_lib.in: Copy to ...
40291 * util/grub-mkconfig_lib.in: ... this. Update all users.
40292 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
40293 * util/update-grub.in: Rename to ...
40294 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40295 option. Add `--output' option to allow users to specify the generated
40296 configuration file. Default to stdout.
40297 (update_grub_dir): Rename to ...
40298 (grub_mkconfig_dir): ... this.
40299 (grub_cfg): Default to an empty string.
40300 * conf/common.rmk (update-grub): Rename to ...
40301 (grub-mkconfig): ... this.
40302 (update-grub_lib): Copy to ...
40303 (grub-mkconfig_lib): ... this.
40304 (update-grub_SCRIPTS): Copy to ...
40305 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40306 (update-grub_DATA): Rename to ...
40307 (grub-mkconfig_DATA): ... this.
40308
40309 2008-09-28 Robert Millan <rmh@aybabtu.com>
40310
40311 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40312 to `modified'. Add the real `created' field.
40313 (grub_iso9660_uuid): Use `modified' rather than `created' for
40314 constructing the UUID.
40315
40316 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
40317
40318 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40319 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40320
40321 2008-09-28 Bean <bean123ch@gmail.com>
40322
40323 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40324 Thanks to Christian Franke for finding this bug.
40325
40326 2008-09-25 Robert Millan <rmh@aybabtu.com>
40327
40328 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40329 instances of grub_util_get_disk_name() (see previous commit).
40330
40331 2008-09-25 Robert Millan <rmh@aybabtu.com>
40332
40333 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40334 `util/i386/get_disk_name.c'.
40335 * conf/i386-efi.rmk: Likewise.
40336 * conf/x86_64-efi.rmk: Likewise.
40337 * conf/i386-coreboot.rmk: Likewise.
40338 * conf/i386-ieee1275.rmk: Likewise.
40339 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40340 `util/ieee1275/get_disk_name.c'.
40341 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40342 * util/ieee1275/get_disk_name.c: Remove file.
40343 * util/i386/get_disk_name.c: Remove file.
40344 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40345 "hd%d" for device.map entries, rather than using
40346 grub_util_get_disk_name().
40347
40348 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40349
40350 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40351 warning.
40352 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40353
40354 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40355
40356 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40357 Changed to 0x5100.
40358 (GRUB_TERM_PPAGE): Changed to 0x4900.
40359
40360 2008-09-24 Robert Millan <rmh@aybabtu.com>
40361
40362 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40363 macros (they were i386-pc specific).
40364 * include/grub/sparc64/ieee1275/console.h: Likewise.
40365 * include/grub/efi/console.h: Likewise.
40366
40367 2008-09-22 Bean <bean123ch@gmail.com>
40368
40369 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40370 resident and in attribute list.
40371
40372 * include/grub/ntfs.h (BMP_LEN): Removed.
40373
40374 2008-09-22 Bean <bean123ch@gmail.com>
40375
40376 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
40377 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40378
40379 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40380 error occurs, as grub_disk_open will call grub_disk_close, which will
40381 call p->close (scsi).
40382
40383 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40384
40385 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40386 (AC_PREREQ): Bumped to 2.59.
40387 (AC_TRY_COMPILE): Replace obsolete macro with ...
40388 (AC_COMPILE_IFELSE): ... this.
40389 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40390 (AC_LINK_IFELSE): ... this.
40391
40392 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40393
40394 * autogen.sh: Add a call to `gendistlist.sh'.
40395
40396 2008-09-19 Christian Franke <franke@computer.org>
40397
40398 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40399 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40400 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40401 Export __enable_execute_stack() to modules.
40402 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40403 New function.
40404
40405 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40406
40407 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40408 Sort the list.
40409
40410 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40411
40412 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
40413 #include <grub/util/hostdisk.h>.
40414
40415 2008-09-08 Robert Millan <rmh@aybabtu.com>
40416
40417 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40418 segments when their filesz is zero (grub_file_read() interprets
40419 zero-size as "read until EOF", which results in memory corruption).
40420 Use `lowest_segment' rather than 0 for calculating the current
40421 segment load address.
40422
40423 2008-09-08 Robert Millan <rmh@aybabtu.com>
40424
40425 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40426 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40427 clobbered useful information.
40428
40429 2008-09-08 Robert Millan <rmh@aybabtu.com>
40430
40431 * include/grub/util/biosdisk.h: Move to ...
40432 * include/grub/util/hostdisk.h: ... here. Update all users.
40433 * util/biosdisk.c: Move to ...
40434 * util/hostdisk.c: ... here. Update all users.
40435
40436 2008-09-07 Robert Millan <rmh@aybabtu.com>
40437
40438 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40439 variables.
40440 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40441 and length can be stored directly in the `mbi->mmap_addr' and
40442 `mbi->mmap_length' struct fields.
40443
40444 2008-09-07 Robert Millan <rmh@aybabtu.com>
40445
40446 * conf/i386.rmk: New file. Provides declaration for building
40447 `cpuid.mod'.
40448 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40449 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40450 variables.
40451 Include `conf/i386.mk'.
40452 * conf/i386-efi.rmk: Likewise.
40453 * conf/x86_64-efi.rmk: Likewise.
40454 * conf/i386-coreboot.rmk: Likewise.
40455 * conf/i386-ieee1275.rmk: Likewise.
40456
40457 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40458
40459 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40460 Adds optimization support for BGR based modes.
40461
40462 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40463 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40464 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40465 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40466 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40467 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40468 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40470 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40471 (grub_video_i386_vbeblit_index_index): Likewise.
40472 (grub_video_i386_vbeblit_replace_directN): Added.
40473 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40474 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40475 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40476 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40477 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40478 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40479 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40480 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40481 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40482 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40483 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40484 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40485 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40486
40487 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40488 (grub_video_i386_vbefill_R8G8B8): Likewise.
40489 (grub_video_i386_vbefill_index): Likewise.
40490 (grub_video_i386_vbefill_direct32): Added.
40491 (grub_video_i386_vbefill_direct24): Likewise.
40492 (grub_video_i386_vbefill_direct16): Likewise.
40493 (grub_video_i386_vbefill_direct8): Likewise.
40494
40495 * include/grub/video.h (grub_video_blit_format): Removed
40496 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40497 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40498 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40499 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40500 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
40501
40502 * video/video.c (grub_video_get_blit_format): Updated to use new
40503 blit formats. Added handling for 16 bit color modes.
40504
40505 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
40506 fillers.
40507 (common_blitter): Updated to use new blitters.
40508
40509 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40510 Removed.
40511 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40512 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40513 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40514 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40515 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40516 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40518 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40519 (grub_video_i386_vbeblit_index_index): Likewise.
40520 (grub_video_i386_vbeblit_replace_directN): Added.
40521 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40522 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40523 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40524 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40525 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40526 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40527 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40528 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40529 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40530 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40531 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40532 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40533 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40534
40535 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40536 (grub_video_i386_vbefill_R8G8B8): Likewise.
40537 (grub_video_i386_vbefill_index): Likewise.
40538 (grub_video_i386_vbefill_direct32): Added.
40539 (grub_video_i386_vbefill_direct24): Likewise.
40540 (grub_video_i386_vbefill_direct16): Likewise.
40541 (grub_video_i386_vbefill_direct8): Likewise.
40542
40543 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40544 types.
40545
40546 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40547 types.
40548
40549 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40550 blitter types.
40551
40552 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40553 types.
40554
40555 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40556
40557 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40558 RAID level 1.
40559
40560 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40561
40562 * fs/iso9660.c (grub_iso9660_date): New structure.
40563 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40564 (grub_iso9660_uuid): New function.
40565
40566 2008-09-05 Bean <bean123ch@gmail.com>
40567
40568 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40569
40570 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40571 insensitive bit for names in Win32 and Win32 & DOS namespace.
40572
40573 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40574
40575 * include/grub/types.h (LONG_MAX): Likewise.
40576
40577 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40578
40579 * util/getroot.c: Include <config.h>.
40580 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40581 add support for /dev/md/N devices and handle LVM double dash escaping.
40582
40583 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40584
40585 * config.guess: Update to latest version from config git.
40586 * config.sub: Likewise.
40587
40588 2008-09-03 Robert Millan <rmh@aybabtu.com>
40589
40590 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40591 `disk->total_sectors'.
40592
40593 2008-09-01 Colin D Bennett <colin@gibibit.com>
40594
40595 * include/grub/normal.h: Fixed incorrect comment for
40596 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40597
40598 2008-09-01 Colin D Bennett <colin@gibibit.com>
40599
40600 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40601 values with defines.
40602
40603 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40604 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40605 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40606 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40607 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40608 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40609 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40610 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40611 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40612 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40613 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40614 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40615 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40616 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40617 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40618 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40619 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40620 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40621 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40622
40623 2008-08-31 Robert Millan <rmh@aybabtu.com>
40624
40625 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40626 declaration.
40627 (grub_multiboot): Fix a few warnings.
40628
40629 2008-08-31 Robert Millan <rmh@aybabtu.com>
40630
40631 * loader/i386/pc/multiboot.c: Update comment not to say that
40632 boot_device support is unimplemented.
40633
40634 2008-08-31 Robert Millan <rmh@aybabtu.com>
40635
40636 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40637 or memory map support are unimplemented.
40638
40639 2008-08-31 Colin D Bennett <colin@gibibit.com>
40640
40641 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40642
40643 2008-08-31 Colin D Bennett <colin@gibibit.com>
40644
40645 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40646 total video memory in 'vbeinfo' output; show color format details for
40647 each video mode.
40648
40649 2008-08-30 Pavel Roskin <proski@gnu.org>
40650
40651 * util/genmoddep.c: Remove for real this time.
40652 * DISTLIST: Remove util/genmoddep.c.
40653
40654 2008-08-30 Robert Millan <rmh@aybabtu.com>
40655
40656 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40657 as required by Multiboot spec (it was already 4-byte aligned, but
40658 only by chance).
40659
40660 2008-08-29 Pavel Roskin <proski@gnu.org>
40661
40662 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40663 * kern/powerpc/ieee1275/startup.S: ... this.
40664 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40665 * DISTLIST: Likewise.
40666
40667 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40668 grub/cpu/kernel.h. Add start label for consistency with other
40669 platforms. Add grub_prefix immediately after start. Add jump
40670 to the code after grub_prefix.
40671 * include/grub/powerpc/kernel.h: Provide valid values for
40672 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40673
40674 2008-08-29 Bean <bean123ch@gmail.com>
40675
40676 * configure.ac: Change host_os to cygwin for mingw.
40677 (asprintf): New check for function.
40678
40679 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40680 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40681
40682 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
40683 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
40684 sync, sleep and grub_util_get_disk_size for mingw.
40685
40686 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40687 to get size in mingw.
40688 (open_device): Use flag O_BINARY if it's defined.
40689 (find_root_device): Add dummy code for mingw.
40690
40691 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40692 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40693 (get_scsi_disk_name): Return 0 for mingw.
40694
40695 * util/hostfs.c: #include <grub/util/misc.h>.
40696 (grub_hostfs_open): Use "rb" flag to open file, use
40697 grub_util_get_disk_size to get disk size for mingw.
40698
40699 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40700 (asprintf): New function if HAVE_ASPRINTF is not set.
40701 (sync): New function for mingw.
40702 (sleep): Likewise.
40703 (grub_util_get_disk_size): Likewise.
40704
40705 2008-08-28 Pavel Roskin <proski@gnu.org>
40706
40707 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40708 kern/time.c.
40709
40710 2008-08-28 Robert Millan <rmh@aybabtu.com>
40711
40712 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40713
40714 2008-08-28 Robert Millan <rmh@aybabtu.com>
40715
40716 Change find_grub_drive() syntax so it doesn't prevent it from
40717 detecting NULL names as errors.
40718
40719 * util/biosdisk.c (find_grub_drive): Move free slot search code
40720 from here ...
40721 (find_free_slot): ... to here.
40722 (read_device_map): Use find_free_slot() to search for free slots.
40723
40724 2008-08-27 Marco Gerards <marco@gnu.org>
40725
40726 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40727 (scsi_mod_SOURCES): New variable.
40728 (scsi_mod_CFLAGS): Likewise
40729 (scsi_mod_LDFLAGS): Likewise.
40730
40731 * disk/scsi.c: New file.
40732
40733 * include/grub/scsi.h: Likewise.
40734
40735 * include/grub/scsicmd.h: Likewise.
40736
40737 * disk/ata.c: Include <grub/scsi.h>.
40738 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40739 instead.
40740 (grub_ata_iterate): Skip ATAPI devices.
40741 (grub_ata_open): Only handle ATAPI devices.
40742 (struct grub_atapi_read): Removed.
40743 (grub_atapi_readsector): Likewise.
40744 (grub_ata_read): No longer handle ATAPI devices.
40745 (grub_ata_write): Likewise.
40746 (grub_atapi_iterate): New function.
40747 (grub_atapi_read): Likewise.
40748 (grub_atapi_write): Likewise.
40749 (grub_atapi_open): Likewise.
40750 (grub_atapi_close): Likewise.
40751 (grub_atapi_dev): New variable.
40752 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40753 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40754
40755 * include/grub/disk.h (enum grub_disk_dev_id): Add
40756 `GRUB_DISK_DEVICE_SCSI_ID'.
40757
40758 2008-08-26 Robert Millan <rmh@aybabtu.com>
40759
40760 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40761 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40762 descriptive.
40763
40764 2008-08-23 Bean <bean123ch@gmail.com>
40765
40766 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40767 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40768 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40769 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40770 dm_nv.mod.
40771 (raid5rec_mod_SOURCES): New macro.
40772 (raid5rec_mod_CFLAGS): Likewise.
40773 (raid5rec_mod_LDFLAGS): Likewise.
40774 (raid6rec_mod_SOURCES): Likewise.
40775 (raid6rec_mod_CFLAGS): Likewise.
40776 (raid6rec_mod_LDFLAGS): Likewise.
40777 (mdraid_mod_SOURCES): Likewise.
40778 (mdraid_mod_CFLAGS): Likewise.
40779 (mdraid_mod_LDFLAGS): Likewise.
40780 (dm_nv_mod_SOURCES): Likewise.
40781 (dm_nv_mod_CFLAGS): Likewise.
40782 (dm_nv_mod_LDFLAGS): Likewise.
40783
40784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40785 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40786 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40787
40788 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40789 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40790
40791 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40792
40793 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40794
40795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40796
40797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40798
40799 * disk/raid5_recover.c: New file.
40800
40801 * disk/raid6_recover.c: Likewise.
40802
40803 * disk/mdraid_linux.c: Likewise.
40804
40805 * disk/dmraid_nvidia.c: Likewise.
40806
40807 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40808 ULONG_MAX.
40809
40810 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40811 calculate the size of raid device.
40812 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40813 different layout of raid5.
40814 (grub_raid_scan_device): Remove code specific to mdraid.
40815 (grub_raid_list): New variable.
40816 (free_array): New function.
40817 (grub_raid_register): Likewise.
40818 (grub_raid_unregister): Likewise.
40819 (grub_raid_rescan): Likewise.
40820 (GRUB_MOD_INIT): Don't iterate device here.
40821 (GRUB_MOD_FINI): Use free_array to release resource.
40822
40823 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40824 (grub_raid5_recover_func_t): New function variable type.
40825 (grub_raid6_recover_func_t): Likewise.
40826 (grub_raid5_recover_func): New variable.
40827 (grub_raid6_recover_func): Likewise.
40828 (grub_raid_register): New function.
40829 (grub_raid_unregister): Likewise.
40830 (grub_raid_rescan): Likewise.
40831 (grub_raid_block_xor): Likewise.
40832
40833 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40834 (CMD_CRC): New macro.
40835 (part): Removed.
40836 (read_file): Handle device as well as file.
40837 (cmd_crc): New function.
40838 (fstest): Handle multiple disks.
40839 (options): Remove part, raw and long, add root and diskcount.
40840 (usage): Add crc, remove -p, -r, -l, add -r and -c.
40841 (main): Find the first non option entry and ignore subsequent options,
40842 add handling for the new options, support multiple disks.
40843
40844 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40845
40846 2008-08-23 Bean <bean123ch@gmail.com>
40847
40848 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40849
40850 * genfslist.sh: Ignore kernel.mod.
40851
40852 * genpartmaplist.sh: Likewise.
40853
40854 2008-08-23 Robert Millan <rmh@aybabtu.com>
40855
40856 * util/getroot.c (find_root_device): Skip anything that starts with
40857 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40858
40859 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
40860
40861 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40862 * util/grub.d/00_header.in: Allow the administrator to change default
40863 gfxmode via ${GRUB_GFXMODE}.
40864
40865 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
40866
40867 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40868
40869 2008-08-21 Robert Millan <rmh@aybabtu.com>
40870
40871 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40872 loader.
40873 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40874 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40875
40876 2008-08-20 Carles Pina i Estany <carles@pina.cat>
40877
40878 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40879 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40880
40881 2008-08-19 Robert Millan <rmh@aybabtu.com>
40882
40883 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40884 (struct grub_virtual_screen): Remove `cursor_color'.
40885 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40886 initialization.
40887 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40888
40889 2008-08-18 Robert Millan <rmh@aybabtu.com>
40890
40891 Unify (identical) linux_normal.c files.
40892 * loader/i386/efi/linux_normal.c: Move from here ...
40893 * loader/linux_normal.c: ... to here. Update all users.
40894 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40895 * loader/i386/ieee1275/linux_normal.c: Likewise.
40896
40897 2008-08-18 Robert Millan <rmh@aybabtu.com>
40898
40899 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40900 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40901 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40902 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40903 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40904 New macros.
40905 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40906 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40907 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40908 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40909 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40910 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40911 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40912 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40913 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40914 portably using grub_getxy().
40915 Replace `-EFI' with `-bzImage' in boot message.
40916
40917 2008-08-17 Robert Millan <rmh@aybabtu.com>
40918
40919 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40920
40921 2008-08-17 Robert Millan <rmh@aybabtu.com>
40922
40923 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40924
40925 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40926 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40927 (grub_machine_mmap_iterate): New function declaration.
40928 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40929 structure.
40930 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40931 macros.
40932
40933 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40934 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40935 Move e820 parsing from here ...
40936 * kern/i386/pc/mmap.c: New file.
40937 (grub_machine_mmap_iterate): ... to here.
40938
40939 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40940 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40941 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40942 (grub_available_iterate): Redeclare to return `void', and redeclare
40943 its hook to use grub_uint64_t as addr and size parameters, and rename
40944 to ...
40945 (grub_machine_mmap_iterate): ... this. Update all users.
40946
40947 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40948 to make it more readable. Rename to ...
40949 (grub_machine_mmap_iterate): ... this.
40950
40951 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40952 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40953 (grub_multiboot): Allocate an extra region after the payload, and fill
40954 it with a Multiboot memory map. Adjust a.out loader to calculate size
40955 with the extra space.
40956 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40957 with the extra space.
40958
40959 2008-08-17 Carles Pina i Estany <carles@pina.cat>
40960
40961 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
40962
40963 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
40964
40965 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40966 mdate-sh to the list `find' searches for.
40967 * DISTLIST: Regenerated.
40968
40969 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
40970
40971 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40972 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
40973 genmoddep.awk, gensymlist.sh.in.
40974 (DISTDIRS): Add bus, docs, hook, lib.
40975 * DISTLIST: Regenerated.
40976 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
40977
40978 2008-08-16 Robert Millan <rmh@aybabtu.com>
40979
40980 * disk/raid.c (grub_raid_init): Handle/report errors set by
40981 grub_device_iterate().
40982 * disk/lvm.c (grub_lvm_init): Likewise.
40983
40984 2008-08-15 Bean <bean123ch@gmail.com>
40985
40986 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40987 and datehook.mod.
40988 (datetime_mod_SOURCES): New macro.
40989 (datetime_mod_CFLAGS): Likewise.
40990 (datetime_mod_LDFLAGS): Likewise.
40991 (date_mod_SOURCES): Likewise.
40992 (date_mod_CFLAGS): Likewise.
40993 (date_mod_LDFLAGS): Likewise.
40994 (datehook_mod_SOURCES): Likewise.
40995 (datehook_mod_CFLAGS): Likewise.
40996 (datehook_mod_LDFLAGS): Likewise.
40997
40998 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40999 and datehook.mod.
41000 (datetime_mod_SOURCES): New macro.
41001 (datetime_mod_CFLAGS): Likewise.
41002 (datetime_mod_LDFLAGS): Likewise.
41003 (date_mod_SOURCES): Likewise.
41004 (date_mod_CFLAGS): Likewise.
41005 (date_mod_LDFLAGS): Likewise.
41006 (datehook_mod_SOURCES): Likewise.
41007 (datehook_mod_CFLAGS): Likewise.
41008 (datehook_mod_LDFLAGS): Likewise.
41009
41010 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41011 and datehook.mod.
41012 (datetime_mod_SOURCES): New macro.
41013 (datetime_mod_CFLAGS): Likewise.
41014 (datetime_mod_LDFLAGS): Likewise.
41015 (date_mod_SOURCES): Likewise.
41016 (date_mod_CFLAGS): Likewise.
41017 (date_mod_LDFLAGS): Likewise.
41018 (datehook_mod_SOURCES): Likewise.
41019 (datehook_mod_CFLAGS): Likewise.
41020 (datehook_mod_LDFLAGS): Likewise.
41021
41022 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41023 and datehook.mod.
41024 (datetime_mod_SOURCES): New macro.
41025 (datetime_mod_CFLAGS): Likewise.
41026 (datetime_mod_LDFLAGS): Likewise.
41027 (date_mod_SOURCES): Likewise.
41028 (date_mod_CFLAGS): Likewise.
41029 (date_mod_LDFLAGS): Likewise.
41030 (datehook_mod_SOURCES): Likewise.
41031 (datehook_mod_CFLAGS): Likewise.
41032 (datehook_mod_LDFLAGS): Likewise.
41033
41034 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41035 and datehook.mod.
41036 (datetime_mod_SOURCES): New macro.
41037 (datetime_mod_CFLAGS): Likewise.
41038 (datetime_mod_LDFLAGS): Likewise.
41039 (date_mod_SOURCES): Likewise.
41040 (date_mod_CFLAGS): Likewise.
41041 (date_mod_LDFLAGS): Likewise.
41042 (datehook_mod_SOURCES): Likewise.
41043 (datehook_mod_CFLAGS): Likewise.
41044 (datehook_mod_LDFLAGS): Likewise.
41045
41046 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41047
41048 * commands/date.c: New file.
41049
41050 * hook/datehook.c: Likewise.
41051
41052 * include/grub/lib/datetime.h: Likewise.
41053
41054 * include/grub/i386/cmos.h: Likewise.
41055
41056 * lib/datetime.c: Likewise.
41057
41058 * lib/i386/datetime.c: Likewise.
41059
41060 * lib/efi/datetime.c: Likewise.
41061
41062 2008-08-14 Robert Millan <rmh@aybabtu.com>
41063
41064 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41065 (grub_mkelfimage_SOURCES): New variable.
41066 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41067
41068 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41069 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41070 * conf/powerpc-ieee1275.rmk: Likewise.
41071 * conf/i386-ieee1275.rmk: Likewise.
41072
41073 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41074 * kern/i386/coreboot/init.c: Likewise.
41075
41076 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41077 with `<grub/cpu/kernel.h>'.
41078 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41079 to ...
41080 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41081 * kern/i386/coreboot/startup.S: Likewise.
41082
41083 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41084 (GRUB_MOD_GAP): Remove.
41085 * include/grub/powerpc/kernel.h: New file.
41086 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41087 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41088 * include/grub/i386/kernel.h: New file.
41089 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41090 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41091 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41092
41093 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41094 `grub-mkelfimage'.
41095 Use --directory when invoking grub_mkimage.
41096
41097 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41098 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41099 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41100 and GRUB_KERNEL_CPU_PREFIX.
41101
41102 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
41103
41104 * include/grub/err.h (grub_err_printf): New function prototype.
41105 * util/misc.c (grub_err_printf): New function.
41106 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41107 grub_printf.
41108 * kern/err.c (grub_print_error): Use grub_err_printf.
41109
41110 2008-08-13 Robert Millan <rmh@aybabtu.com>
41111
41112 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41113
41114 2008-08-13 Robert Millan <rmh@aybabtu.com>
41115
41116 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41117 boot entry.
41118
41119 2008-08-12 Robert Millan <rmh@aybabtu.com>
41120
41121 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41122 of the relocation code from here ...
41123 (grub_multiboot): ... to here.
41124 (forward_relocator, backward_relocator): Move from here ...
41125 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41126 (grub_multiboot_backward_relocator): ... to here.
41127 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41128 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41129 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41130 (grub_multiboot_forward_relocator_end)
41131 (grub_multiboot_backward_relocator)
41132 (grub_multiboot_backward_relocator_end): New variables.
41133
41134 2008-08-12 Bean <bean123ch@gmail.com>
41135
41136 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41137
41138 2008-08-11 Robert Millan <rmh@aybabtu.com>
41139
41140 * kern/i386/linuxbios/startup.S: Move from here ...
41141 * kern/i386/coreboot/startup.S: ... to here.
41142
41143 * kern/i386/linuxbios/init.c: Move from here ...
41144 * kern/i386/coreboot/init.c: ... to here.
41145
41146 * kern/i386/linuxbios/table.c: Move from here ...
41147 * kern/i386/coreboot/mmap.c: ... to here.
41148
41149 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41150
41151 2008-08-11 Robert Millan <rmh@aybabtu.com>
41152
41153 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41154 errors. Leave it to the upper layer to handle them.
41155
41156 2008-08-09 Christian Franke <franke@computer.org>
41157
41158 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41159 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41160 Install `grub.d/10_windows' only on Cygwin.
41161 * configure.ac: Add subst of `target_os'.
41162 Check `target_os' also before setting TARGET_OBJ2ELF.
41163 Add `--enable-grub-pe2elf'.
41164
41165 2008-08-08 Robert Millan <rmh@aybabtu.com>
41166
41167 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41168 (grub_last_time): Change type to grub_uint64_t.
41169 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41170 (grub_disk_close): Likewise.
41171
41172 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41173 (run_menu): Migrate code from to using grub_get_time_ms().
41174
41175 * util/misc.c (grub_get_time_ms): New function.
41176
41177 2008-08-08 Marco Gerards <marco@gnu.org>
41178
41179 * disk/ata.c (grub_ata_regget): Change return type to
41180 `grub_uint8_t'.
41181 (grub_ata_regget2): Likewise.
41182 (grub_ata_wait_status): New function.
41183 (grub_ata_wait_busy): Removed function, updated all users to use
41184 `grub_ata_wait_status'.
41185 (grub_ata_wait_drq): Likewise.
41186 (grub_ata_cmd): New function.
41187 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41188 error handling.
41189 (grub_ata_pio_write): Add error handling.
41190 (grub_atapi_identify): Likewise.
41191 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41192 handling.
41193 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41194 handling. Actually use the detected registers. Reorder the
41195 detection logic such that it is easier to read.
41196 (grub_ata_pciinit): Do not assign the same ID to each controller.
41197 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41198 handling.
41199 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41200
41201 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41202
41203 2008-08-08 Marco Gerards <marco@gnu.org>
41204
41205 * NEWS: Update.
41206
41207 2008-08-07 Bean <bean123ch@gmail.com>
41208
41209 * include/grub/x86_64/pci.h: New file.
41210
41211 2008-08-07 Christian Franke <franke@computer.org>
41212
41213 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41214 (TIMER2_GATE): Likewise.
41215 (grub_pit_wait): Add enable/disable of the timer2 gate
41216 bit of port 0x61. This fixes a possible infinite loop.
41217
41218 2008-08-07 Bean <bean123ch@gmail.com>
41219
41220 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41221 kern/i386/tsc.c and kern/i386/pit.c.
41222
41223 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41224 x86_64 platform.
41225
41226 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41227 <grub/i386/tsc.h>.
41228
41229 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41230
41231 2008-08-07 Bean <bean123ch@gmail.com>
41232
41233 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41234
41235 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41236
41237 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41238 multiple inclusion. Add #include <grub/types.h>.
41239
41240 2008-08-06 Christian Franke <franke@computer.org>
41241
41242 * conf/common.rmk: Build and install `10_windows'.
41243 * util/grub.d/10_windows.in: New script.
41244
41245 2008-08-06 Pavel Roskin <proski@gnu.org>
41246
41247 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41248
41249 2008-08-06 Robert Millan <rmh@aybabtu.com>
41250
41251 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41252 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41253
41254 2008-08-06 Bean <bean123ch@gmail.com>
41255
41256 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41257 (grub_pxefs_fs_int): Remove dummy definition.
41258 (grub_pxefs_open): Use data->block_size to store the current block
41259 size setting.
41260 (grub_pxefs_read): Use block size stored in data->block_size. As the
41261 value of grub_pxe_blksize can be changed after the file is opened.
41262
41263 2008-08-06 Bean <bean123ch@gmail.com>
41264
41265 * fs/i386/pc/pxe.c (curr_file): new variable.
41266 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41267 require the dummy internal file system anymore.
41268 (grub_pxefs_read): Removed.
41269 (grub_pxefs_close): Likewise.
41270 (grub_pxefs_fs_int): Likewise.
41271 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41272 connection when we switch file.
41273 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41274
41275 2008-08-06 Robert Millan <rmh@aybabtu.com>
41276
41277 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41278 `halt.mod'.
41279 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41280 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41281
41282 * kern/i386/halt.c: New file.
41283 * kern/i386/reboot.c: Likewise.
41284 * include/grub/i386/reboot.h: Likewise.
41285 * include/grub/i386/halt.h: Likewise.
41286
41287 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41288 Include `<grub/cpu/halt.h>'.
41289 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41290 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41291
41292 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41293 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41294 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41295 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41296 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41297 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41298 from here ...
41299 * include/grub/i386/at_keyboard.h: ... to here.
41300
41301 2008-08-05 Robert Millan <rmh@aybabtu.com>
41302
41303 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41304 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41305 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41306 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41307 `kern/generic/millisleep.c'.
41308
41309 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41310 instead of grub_get_rtc().
41311 (grub_tsc_init): Initialize `tsc_boot_time'.
41312
41313 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41314 (grub_machine_init): Use grub_tsc_init() rather than
41315 installing an RTC-based handler via grub_install_get_time_ms().
41316
41317 * kern/i386/pit.c: New file.
41318 * include/grub/i386/pit.h: Likewise.
41319
41320 2008-08-05 Bean <bean123ch@gmail.com>
41321
41322 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41323
41324 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41325 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41326 (pxe_mod_SOURCES): New macro.
41327 (pxe_mod_CFLAGS): Likewise.
41328 (pxe_mod_LDFLAGS): Likewise.
41329 (pxecmd_mod_SOURCES): Likewise.
41330 (pxecmd_mod_CFLAGS): Likewise.
41331 (pxecmd_mod_LDFLAGS): Likewise.
41332
41333 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41334 (grub_pxe_call): Likewise.
41335
41336 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41337
41338 * commands/i386/pc/pxecmd.c: New file.
41339
41340 * fs/i386/pc/pxe.c: Likewise.
41341
41342 * include/grub/i386/pc/pxe.h: Likewise.
41343
41344 2008-08-05 Bean <bean123ch@gmail.com>
41345
41346 * util/console.c (grub_console_cur_color): New variable.
41347 (grub_console_standard_color): Likewise.
41348 (grub_console_normal_color): Likewise.
41349 (grub_console_highlight_color): Likewise.
41350 (color_map): Likewise.
41351 (use_color): Likewise.
41352 (NUM_COLORS): New macro.
41353 (grub_ncurses_setcolorstate): Handle color properly.
41354 (grub_ncurses_setcolor): Don't change color here, just remember the
41355 settings, color will be set in grub_ncurses_setcolorstate.
41356 (grub_ncurses_getcolor): New function.
41357 (grub_ncurses_init): Initialize color pairs.
41358 (grub_ncurses_term): New member grub_ncurses_getcolor.
41359
41360 2008-08-05 Colin D Bennett <colin@gibibit.com>
41361
41362 High resolution timer support. Implemented for x86 CPUs using TSC.
41363 Extracted generic grub_millisleep() so it's linked in only as needed.
41364 This requires a Pentium compatible CPU; if the RDTSC instruction is
41365 not supported, then it falls back on the generic grub_get_time_ms()
41366 implementation that uses the machine's RTC.
41367
41368 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41369 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41370 `kern/generic/millisleep.c'.
41371
41372 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41373 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41374
41375 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41376 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41377
41378 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41379
41380 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41381 `kern/generic/millisleep.c'.
41382
41383 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41384
41385 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41386
41387 * kern/generic/rtc_get_time_ms.c: New file.
41388
41389 * kern/generic/millisleep.c: New file.
41390
41391 * kern/misc.c: Don't include
41392 <kern/time.h> anymore.
41393 (grub_millisleep_generic): Removed.
41394
41395 * commands/sleep.c (grub_interruptible_millisleep): Uses
41396 grub_get_time_ms() instead of grub_get_rtc().
41397
41398 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41399 function.
41400 (grub_cpu_is_cpuid_supported): New inline function.
41401 (grub_cpu_is_tsc_supported): New inline function.
41402 (grub_tsc_init): New function prototype.
41403 (grub_tsc_get_time_ms): New function prototype.
41404
41405 * kern/i386/tsc.c (grub_get_time_ms): New file.
41406
41407 * include/grub/time.h: Include <grub/types.h.
41408 (grub_millisleep_generic): Removed.
41409 (grub_get_time_ms): New prototype.
41410 (grub_install_get_time_ms): New prototype.
41411 (grub_rtc_get_time_ms): New prototype.
41412
41413 * kern/time.c (grub_get_time_ms): New function.
41414 (grub_install_get_time_ms): New function.
41415
41416 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41417 <grub/time.h> anymore.
41418 (grub_millisleep): Removed.
41419 (grub_machine_init): Call grub_tsc_init.
41420
41421 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41422 get_time_ms() implementation.
41423
41424 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41425 (ieee1275_get_time_ms): New function.
41426 (grub_machine_init): Install get_time_ms() implementation.
41427
41428 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41429 (grub_machine_init): Call grub_tsc_init().
41430 (grub_millisleep): Removed.
41431
41432 * kern/ieee1275/init.c (grub_millisleep): Removed.
41433 (grub_machine_init): Install ieee1275_get_time_ms()
41434 implementation.
41435 (ieee1275_get_time_ms): New function.
41436 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41437 real work.
41438
41439 2008-08-05 Marco Gerards <marco@gnu.org>
41440
41441 * disk/ata.c: Include <grub/pci.h>.
41442 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41443 (grub_ata_initialize): Rewritten.
41444 (grub_ata_device_initialize): New function.
41445
41446 2008-08-04 Pavel Roskin <proski@gnu.org>
41447
41448 * kern/main.c: Include grub/mm.h.
41449
41450 2008-08-04 Robert Millan <rmh@aybabtu.com>
41451
41452 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41453 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41454 corruption problem).
41455
41456 2008-08-04 Robert Millan <rmh@aybabtu.com>
41457
41458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41459 warnings introduced in my last commit.
41460
41461 2008-08-03 Robert Millan <rmh@aybabtu.com>
41462
41463 Make PCI available on all i386 architectures.
41464
41465 * include/grub/i386/pc/pci.h: Move from here ...
41466 * include/grub/i386/pci.h: ... to here.
41467
41468 * include/grub/i386/pc/pci.h: Remove.
41469 * include/grub/i386/efi/pci.h: Remove.
41470 * include/grub/x86_64/efi/pci.h: Remove.
41471
41472 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41473 `<grub/cpu/pci.h>'.
41474
41475 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41476 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41477 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41478
41479 * conf/i386-ieee1275.rmk: Likewise.
41480
41481 2008-08-03 Robert Millan <rmh@aybabtu.com>
41482
41483 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41484 (grub_console_setcursor): Make it possible to set cursor off.
41485
41486 2008-08-03 Robert Millan <rmh@aybabtu.com>
41487
41488 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41489 of modules instead of assuming which platform provides what.
41490 * util/update-grub.in: Likewise.
41491
41492 2008-08-03 Robert Millan <rmh@aybabtu.com>
41493
41494 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41495 instead of `grub_install_dos_part' to determine whether a drive needs
41496 to be prepended to prefix (`grub_install_dos_part' is not reliable,
41497 because it can be overridden when loading GRUB via Multiboot).
41498
41499 2008-08-02 Robert Millan <rmh@aybabtu.com>
41500
41501 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41502
41503 2008-08-02 Robert Millan <rmh@aybabtu.com>
41504
41505 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41506 of informational grub_dprintf() calls.
41507
41508 2008-08-02 Robert Millan <rmh@aybabtu.com>
41509
41510 * disk/memdisk.c (memdisk_size): Don't initialize.
41511 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41512
41513 * include/grub/i386/pc/kernel.h
41514 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41515 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41516 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41517 (grub_arch_memdisk_size): Remove.
41518
41519 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41520 field (was only used to transfer a constant). Add `type' field to
41521 support multiple module types.
41522 (grub_module_iterate): New function.
41523
41524 * kern/device.c (grub_device_open): Do not hide error messages
41525 when grub_disk_open() fails. Use grub_print_error() instead.
41526
41527 * kern/i386/pc/init.c (grub_arch_modules_addr)
41528 (grub_arch_memdisk_size): Remove functions.
41529 (grub_arch_modules_addr): Return the module address in high memory
41530 (now that it isn't copied anymore).
41531
41532 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41533 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41534 decompression routine (grub_total_module_size already includes that
41535 now). Don't copy modules back to low memory.
41536
41537 * kern/main.c: Include `<grub/mm.h>'.
41538 (grub_load_modules): Split out (and use) ...
41539 (grub_module_iterate): ... this function, which iterates through
41540 module objects and runs a hook.
41541 Comment out grub_mm_init_region() call, as it would cause non-ELF
41542 modules to be overwritten.
41543
41544 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41545 the memdisk image in its own region, make it part of the module list.
41546 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41547 (main): Parse --memdisk|-m option, and pass user-provided path as
41548 parameter to generate_image().
41549 (add_segments): Pass `memdisk_path' down to load_modules().
41550 (load_modules): Embed memdisk image in module section when requested.
41551 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41552 `header.type' instead of `header.offset'.
41553
41554 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41555 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41556 (memdisk_mod_LDFLAGS): New variables.
41557 * conf/i386-coreboot.rmk: Likewise.
41558 * conf/i386-ieee1275.rmk: Likewise.
41559
41560 2008-08-02 Robert Millan <rmh@aybabtu.com>
41561
41562 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41563 (backward_relocator): New variables. Used to allocate and relocate
41564 the payload, respectively.
41565 (grub_multiboot_load_elf32): Load into heap instead of requested
41566 address, install the appropriate relocator code in each bound of
41567 the payload, and set the entry point such that
41568 grub_multiboot_real_boot() will jump to one of them.
41569
41570 * kern/i386/loader.S (grub_multiboot_payload_size)
41571 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41572 (grub_multiboot_payload_entry_offset): New variables.
41573 (grub_multiboot_real_boot): Set cpu context to what the relocator
41574 expects, and jump to the relocator instead of the payload.
41575
41576 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41577 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41578 (grub_multiboot_payload_entry_offset): Export.
41579
41580 2008-08-01 Bean <bean123ch@gmail.com>
41581
41582 * normal/menu_entry.c (editor_getline): Don't return the original
41583 string as result, as it will be released by lexer once it has done
41584 using it.
41585
41586 2008-08-01 Robert Millan <rmh@aybabtu.com>
41587
41588 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41589 within menuentries, not before them.
41590 util/grub.d/10_hurd.in: Likewise.
41591
41592 2008-08-01 Bean <bean123ch@gmail.com>
41593
41594 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41595 (bufio_mod_SOURCES): New macro.
41596 (bufio_mod_CFLAGS): Likewise.
41597 (bufio_mod_LDFLAGS): Likewise.
41598
41599 * include/grub/bufio.h: New file.
41600
41601 * io/bufio.c: Likewise.
41602
41603 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41604 (grub_video_reader_png): Use grub_buffile_open to open file.
41605
41606 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41607 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41608
41609 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41610 (grub_video_reader_tga): Use grub_buffile_open to open file.
41611
41612 * font/manager.c: Include <grub/bufio.h>.
41613 (add_font): Use grub_buffile_open to open file.
41614
41615 2008-07-31 Robert Millan <rmh@aybabtu.com>
41616
41617 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41618 ELF segments, use a macro for arbitrarily accessing any of them instead
41619 of preparing a pointer that allows access to one at a time.
41620 (grub_multiboot_load_elf64): Likewise.
41621
41622 2008-07-31 Bean <bean123ch@gmail.com>
41623
41624 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41625 GRUB_KERNEL_MACHINE_DATA_END.
41626
41627 2008-07-30 Robert Millan <rmh@aybabtu.com>
41628
41629 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41630 Increase from 0x50 to 0x60.
41631 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41632 use UUIDs to identify the root drive for them. If that's not
41633 possible, abort.
41634 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41635 check, for cross-disk installs.
41636
41637 2008-07-30 Robert Millan <rmh@aybabtu.com>
41638
41639 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41640 is non-empty, use it to set the `prefix' environment variable instead
41641 of the usual approach.
41642 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41643 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41644 environment variable instead of dummy make_install_device().
41645
41646 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41647 (start): Insert a data section, with `grub_prefix' variable.
41648 * kern/i386/linuxbios/startup.S: Likewise.
41649
41650 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41651 New variable reference.
41652 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41653 New macro. Defines offset of `grub_prefix' within startup.S (relative
41654 to `start').
41655 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41656 section within startup.S (relative to `start').
41657 * include/grub/i386/coreboot/kernel.h: Likewise.
41658
41659 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41660 Overwrite grub_prefix with its contents, at the beginning of the
41661 first segment.
41662 (main): Understand -p|--prefix.
41663
41664 2008-07-30 Robert Millan <rmh@aybabtu.com>
41665
41666 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41667
41668 2008-07-30 Robert Millan <rmh@aybabtu.com>
41669
41670 * term/i386/pc/vga_text.c (grub_console_cls): Use
41671 grub_console_gotoxy() to go back to beginning of the screen.
41672 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41673
41674 2008-07-29 Christian Franke <franke@computer.org>
41675
41676 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41677 Add conversion of emulated mount points on Cygwin.
41678
41679 2008-07-29 Christian Franke <franke@computer.org>
41680
41681 * util/update-grub.in: Add a check for admin
41682 group on Cygwin.
41683 Remove old `grub.cfg.new' before creation.
41684 Add `-f' to `mv' to handle the different filesystem
41685 semantics of Windows.
41686
41687 2008-07-29 Bean <bean123ch@gmail.com>
41688
41689 * normal/main.c (get_line): Fix buffer overflow bug.
41690
41691 2008-07-28 Robert Millan <rmh@aybabtu.com>
41692
41693 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41694 (struct grub_apple_header): New struct. Describes the layout of
41695 the partmap header.
41696 (apple_partition_map_iterate): Check the header magic as well as the
41697 partition magic (which was already being checked).
41698
41699 2008-07-28 Pavel Roskin <proski@gnu.org>
41700
41701 * genmk.rb: Add a warning to the beginning of the output that
41702 it's a generated file and should not be edited.
41703
41704 2008-07-28 Robert Millan <rmh@aybabtu.com>
41705
41706 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41707 with the same number are found, just use issue a warning with
41708 grub_dprintf(), as this error has been reported to be non-fatal.
41709
41710 2008-07-27 Robert Millan <rmh@aybabtu.com>
41711
41712 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41713 information.
41714
41715 2008-07-27 Bean <bean123ch@gmail.com>
41716
41717 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41718 (grub_fat_find_dir): Ignore case when comparing filename.
41719
41720 2008-07-27 Bean <bean123ch@gmail.com>
41721
41722 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41723 smallino, as it's more descriptive, and i8count can be confused with
41724 the other field count.
41725 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41726 inode type.
41727
41728 2008-07-27 Bean <bean123ch@gmail.com>
41729
41730 * commands/crc.c: New file.
41731
41732 * lib/crc.c: Likewise.
41733
41734 * include/grub/lib/crc.h: Likewise.
41735
41736 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41737
41738 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41739 (hexdump): Move this function to ...
41740
41741 * lib/hexdump.c: ... here.
41742
41743 * include/grub/hexdump.h: Renamed to ...
41744
41745 * include/grub/lib/hexdump.h: ... this.
41746
41747 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41748
41749 * util/grub-editenv.c: Likewise.
41750
41751 * include/envblk.h: Renamed to ...
41752
41753 * include/lib/envblk.h: ... this.
41754
41755 * util/envblk.c: Renamed to ...
41756
41757 * lib/envblk.c: ... this.
41758
41759 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41760 lib/hexdump.c.
41761 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41762 (pkglib_MODULES): Add crc.mod.
41763 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41764 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41765 (crc_mod_SOURCES): New macro.
41766 (crc_mod_CFLAGS): Likewise.
41767 (crc_mod_LDFLAGS): Likewise.
41768
41769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41770
41771 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41772
41773 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41774
41775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41776
41777 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41778
41779 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
41780
41781 * commands/help.c: Include <grub/term.h>.
41782 (TERM_WIDTH): Removed. Updated all users.
41783
41784 2008-07-27 Pavel Roskin <proski@gnu.org>
41785
41786 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41787 spurious warnings about a comment within a comment.
41788
41789 2008-07-25 Robert Millan <rmh@aybabtu.com>
41790
41791 * util/getroot.c (find_root_device): Skip devices that match
41792 /dev/dm-[0-9]. This lets the real device be found for any type of
41793 abstraction (LVM, EVMS, RAID..).
41794 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41795 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41796 device is found first, find_root_device() will now skip it.
41797
41798 2008-07-24 Pavel Roskin <proski@gnu.org>
41799
41800 * include/grub/types.h: Use __builtin_bswap32() and
41801 __builtin_bswap64() with gcc 4.3 and newer.
41802
41803 2008-07-24 Christian Franke <franke@computer.org>
41804
41805 * util/i386/pc/grub-install.in: If `--debug' is specified,
41806 pass `--verbose' to grub-setup.
41807 Abort script if make_system_path_relative_to_its_root() fails.
41808
41809 2008-07-24 Bean <bean123ch@gmail.com>
41810
41811 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41812 variable `target_platform' should be `platform'.
41813
41814 2008-07-24 Bean <bean123ch@gmail.com>
41815
41816 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
41817 (grub_png_init_fixed_block): New function.
41818 (grub_png_decode_image_data): Handle fixed huffman code compression.
41819
41820 2008-07-24 Bean <bean123ch@gmail.com>
41821
41822 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41823 (grub_pe2elf_SOURCES): New macro.
41824 (CLEANFILES): Add grub-pe2elf.
41825
41826 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41827 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41828 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41829 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41830 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41831 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41832 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41833 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41834 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41835 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41836 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41837 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41838 (GRUB_PE32_DT_FUNCTION): Likewise.
41839 (GRUB_PE32_REL_I386_DIR32): Likewise.
41840 (GRUB_PE32_REL_I386_REL32): Likewise.
41841 (grub_pe32_symbol): New structure.
41842 (grub_pe32_reloc): Likewise.
41843
41844 * util/grub-pe2elf.c: New file.
41845
41846 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41847 start symbol in non pc platform.
41848
41849 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41850
41851 The following patches are from Christian Franke.
41852
41853 * include/grub/dl.h: Remove .previous, gas supports this only
41854 for ELF format.
41855
41856 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41857 Remove .type, gas supports this only for ELF format.
41858
41859 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41860 nullbytes in symbol table. This fixes an infinite loop if table is
41861 zero filled.
41862
41863 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41864 TARGET_IMG_LDFLAGS and EXEEXT.
41865
41866 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41867 TARGET_IMG_LDFLAGS_AC.
41868 (grub_CHECK_STACK_ARG_PROBE): New function.
41869
41870 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41871
41872 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41873
41874 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41875 to set TARGET_IMG_LD* accordingly.
41876 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41877 Add call to grub_CHECK_STACK_ARG_PROBE.
41878 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41879
41880 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41881
41882 * genmk.rb: Add EXEEXT to CLEANFILES.
41883
41884 2008-07-23 Robert Millan <rmh@aybabtu.com>
41885
41886 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41887 define the codes for arrows and lines used for the menu).
41888 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41889 as well.
41890
41891 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41892 fonts, because the latter are too slow.
41893
41894 2008-07-21 Bean <bean123ch@gmail.com>
41895
41896 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41897 a20. Run keyboard test last, as it will cause macbook to halt.
41898
41899 2008-07-18 Pavel Roskin <proski@gnu.org>
41900
41901 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41902 load foreign architecture modules correctly anyway. Keep
41903 support for loading host architecture modules, whether we
41904 compile them or not.
41905
41906 2008-07-17 Pavel Roskin <proski@gnu.org>
41907
41908 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41909 change target_cpu. The compiler default can mismatch target_cpu
41910 in any case.
41911
41912 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41913 * kern/efi/efi.c: Likewise.
41914
41915 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41916 target compiler is functional.
41917 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41918 are set up.
41919
41920 * configure.ac: Default to efi platform for x86_64-apple. Allow
41921 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41922 adjustments from the rest, only do them if target is not
41923 explicitly given. Merge other adjustments with the final sanity
41924 check. Remove an extraneous check for supported CPU. Be
41925 specific which CPU and which platform is not supported.
41926
41927 * configure.ac: Default to pc platform for x86_64.
41928
41929 2008-07-17 Robert Millan <rmh@aybabtu.com>
41930
41931 Partial LinuxBIOS -> Coreboot rename.
41932
41933 * conf/i386-linuxbios.rmk: Renamed to ...
41934 * conf/i386-coreboot.rmk: ... this.
41935 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41936 * configure.ac: Accept "coreboot" as input platform (but maintain
41937 compatibility with "linuxbios").
41938 * include/grub/i386/linuxbios: Renamed to ...
41939 * include/grub/i386/coreboot: ... this.
41940
41941 2008-07-17 Bean <bean123ch@gmail.com>
41942
41943 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
41944 (appleldr_mod_SOURCE): New variable.
41945 (appleldr_mod_CFLAGS): Likewise.
41946 (appleldr_mod_LDFLAGS): Likewise.
41947 (pci_mod_SOURCES): Likewise.
41948 (pci_mod_CFLAGS): Likewise.
41949 (pci_mod_LDFLAGS): Likewise.
41950 (lspci_mod_SOURCES): Likewise.
41951 (lspci_mod_CFLAGS): Likewise.
41952 (lspci_mod_LDFLAGS): Likewise.
41953
41954 * conf/x86_64-efi.rmk: New file.
41955
41956 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41957 macro.
41958 (grub_efidisk_write): Likewise.
41959
41960 * include/efi/api.h (efi_call_0): New macro.
41961 (efi_call_1): Likewise.
41962 (efi_call_2): Likewise.
41963 (efi_call_3): Likewise.
41964 (efi_call_4): Likewise.
41965 (efi_call_5): Likewise.
41966 (efi_call_6): Likewise.
41967
41968 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41969 grub_rescue_cmd_chainloader.
41970
41971 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41972 (grub_pe32_optional_header): Change some fields based on i386 or
41973 x86_64 platform.
41974 (GRUB_PE32_PE32_MAGIC): Likewise.
41975
41976 * include/grub/efi/uga_draw.h: New file.
41977
41978 * include/grub/elf.h (STN_ABS): New constant.
41979 (R_X86_64_NONE): Relocation constant for x86_64.
41980 (R_X86_64_64): Likewise.
41981 (R_X86_64_PC32): Likewise.
41982 (R_X86_64_GOT32): Likewise.
41983 (R_X86_64_PLT32): Likewise.
41984 (R_X86_64_COPY): Likewise.
41985 (R_X86_64_GLOB_DAT): Likewise.
41986 (R_X86_64_JUMP_SLOT): Likewise.
41987 (R_X86_64_RELATIVE): Likewise.
41988 (R_X86_64_GOTPCREL): Likewise.
41989 (R_X86_64_32): Likewise.
41990 (R_X86_64_32S): Likewise.
41991 (R_X86_64_16): Likewise.
41992 (R_X86_64_PC16): Likewise.
41993 (R_X86_64_8): Likewise.
41994 (R_X86_64_PC8): Likewise.
41995
41996 * include/grub/i386/efi/pci.h: New file.
41997
41998 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41999 Change it value based on platform.
42000 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42001 (GRUB_E820_RAM): Likewise.
42002 (GRUB_E820_RESERVED): Likewise.
42003 (GRUB_E820_ACPI): Likewise.
42004 (GRUB_E820_NVS): Likewise.
42005 (GRUB_E820_EXEC_CODE): Likewise.
42006 (GRUB_E820_MAX_ENTRY): Likewise.
42007 (grub_e820_mmap): New structure.
42008 (linux_kernel_header): Change the efi field according to different
42009 kernel version, also field from linux_kernel_header.
42010
42011 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42012
42013 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42014 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42015 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42016 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42017 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42018 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42019 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42020 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42021 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42022 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42023
42024 * include/grub/x86_64/efi/kernel.h: New file.
42025
42026 * include/grub/x86_64/efi/loader.h: Likewise.
42027
42028 * include/grub/x86_64/efi/machine.h: Likewise.
42029
42030 * include/grub/x86_64/efi/pci.h: Likewise.
42031
42032 * include/grub/x86_64/efi/time.h: Likewise.
42033
42034 * include/grub/x86_64/linux.h: Likewise.
42035
42036 * include/grub/x86_64/setjmp.h: Likewise.
42037
42038 * include/grub/x86_64/time.h: Likewise.
42039
42040 * include/grub/x86_64/types.h: Likewise.
42041
42042 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42043 GRUB_TARGET_SIZEOF_VOID_P.
42044
42045 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42046 (grub_efi_locate_handle): Likewise.
42047 (grub_efi_open_protocol): Likewise.
42048 (grub_efi_set_text_mode): Likewise.
42049 (grub_efi_stall): Likewise.
42050 (grub_exit): Likewise.
42051 (grub_reboot): Likewise.
42052 (grub_halt): Likewise.
42053 (grub_efi_exit_boot_services): Likewise.
42054 (grub_get_rtc): Likewise.
42055
42056 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42057 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42058 (grub_efi_allocate_pages): Wrap efi calls.
42059 (grub_efi_free_pages): Wrap efi calls.
42060 (grub_efi_get_memory_map): Wrap efi calls.
42061
42062 * kern/x86_64/dl.c: New file.
42063
42064 * kern/x86_64/efi/callwrap.S: Likewise.
42065
42066 * kern/x86_64/efi/startup.S: Likewise.
42067
42068 * loader/efi/appleloader.c: Likewise.
42069
42070 * loader/efi/chainloader.c (cmdline): New variable.
42071 (grub_chainloader_unload): Wrap efi calls.
42072 (grub_chainloader_boot): Likewise.
42073 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42074 command line.
42075
42076 * loader/efi/chainloader_normal.c (chainloader_command):
42077 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42078 command line.
42079
42080 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42081 method.
42082 (grub_e820_add_region): New function.
42083 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42084 booting.
42085 (grub_find_video_card): New function.
42086 (grub_linux_setup_video): New function.
42087 (grub_rescue_cmd_linux): Probe for video information.
42088
42089 * normal/x86_64/setjmp.S: New file.
42090
42091 * term/efi/console.c (map_char): New function.
42092 (grub_console_putchar): Map unicode char.
42093 (grub_console_checkkey): Wrap efi calls.
42094 (grub_console_getkey): Likewise.
42095 (grub_console_getwh): Likewise.
42096 (grub_console_gotoxy): Likewise.
42097 (grub_console_cls): Likewise.
42098 (grub_console_setcolorstate): Likewise.
42099 (grub_console_setcursor): Likewise.
42100
42101 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42102
42103 2008-07-16 Pavel Roskin <proski@gnu.org>
42104
42105 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42106 format strings.
42107
42108 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42109 pointer, not an integer. This fixes a warning and prevents
42110 precision loss on 64-bit systems.
42111 (relocate_addresses): Remove unneeded cast.
42112
42113 2008-07-15 Pavel Roskin <proski@gnu.org>
42114
42115 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42116
42117 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42118
42119 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42120 Fix comparison between signed and unsigned.
42121
42122 * include/grub/i386/ieee1275/console.h: Declare
42123 grub_console_init() and grub_console_fini().
42124
42125 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42126 It's empty and unused.
42127
42128 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42129 beginning to avoid warnings with some compilers.
42130
42131 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42132 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42133
42134 2008-07-14 Pavel Roskin <proski@gnu.org>
42135
42136 * kern/env.c (grub_register_variable_hook): Don't copy empty
42137 string, it leaks memory. Pass "" to grub_env_set(), it should
42138 handle constant strings.
42139
42140 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42141 * commands/cmp.c (grub_cmd_cmp): Likewise.
42142 * kern/dl.c (grub_dl_flush_cache): Likewise.
42143 (grub_dl_load_core): Likewise.
42144 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42145 (grub_elf64_load_phdrs): Likewise.
42146
42147 2008-07-13 Pavel Roskin <proski@gnu.org>
42148
42149 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42150 between signed and unsigned.
42151 (LzmaEnc_Finish): Fix warning about an unused parameter.
42152
42153 2008-07-13 Bean <bean123ch@gmail.com>
42154
42155 * Makefile.in (enable_lzo): New rule.
42156
42157 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42158
42159 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42160
42161 * boot/i386/pc/lnxboot.S: #include <config.h>.
42162
42163 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
42164 its value according to the compression algorithm used, lzo or lzma.
42165
42166 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42167 compression algorithm according to configure macro.
42168
42169 * kern/i386/pc/startup.S (codestart): Likewise.
42170
42171 * kern/i386/pc/lzma_decode.S: New file.
42172
42173 * include/grub/lib/LzFind.h: Likewise.
42174
42175 * include/grub/lib/LzHash.h: Likewise.
42176
42177 * include/grub/lib/LzmaDec.h: Likewise.
42178
42179 * include/grub/lib/LzmaEnc.h: Likewise.
42180
42181 * include/grub/lib/LzmaTypes.h: Likewise.
42182
42183 * lib/LzFind.c: Likewise.
42184
42185 * lib/LzmaDec.c: Likewise.
42186
42187 * lib/LzmaEnc.c: Likewise.
42188
42189 2008-07-13 Bean <bean123ch@gmail.com>
42190
42191 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42192 (grub_ext4_extent_header): New structure.
42193 (grub_ext4_extent): Likewise.
42194 (grub_ext4_extent_idx): Likewise.
42195 (grub_ext4_find_leaf): New function.
42196 (grub_ext2_read_block): Handle extents.
42197
42198 2008-07-12 Robert Millan <rmh@aybabtu.com>
42199
42200 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42201
42202 2008-07-11 Robert Millan <rmh@aybabtu.com>
42203
42204 * util/grub.d/40_custom.in: New file. Example on how to add custom
42205 entries to /etc/grub.d.
42206 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42207 40_custom (implicitly, by merging all the grub.d rules).
42208
42209 2008-07-11 Pavel Roskin <proski@gnu.org>
42210
42211 * commands/read.c (grub_getline): Fix invalid memory access.
42212 Don't add newline to the variable value.
42213
42214 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42215 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42216 (serial_hw_get_port): Check validity of the port number.
42217 (grub_cmd_serial): Check return value of serial_hw_get_port().
42218
42219 2008-07-07 Pavel Roskin <proski@gnu.org>
42220
42221 * boot/i386/pc/diskboot.S (notification_string): Replace
42222 "Loading kernel" with just "loading". This is shorter, less
42223 confusing and saves a few bytes for possible future changes.
42224
42225 2008-07-05 Pavel Roskin <proski@gnu.org>
42226
42227 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42228 size for ATAPI devices, they are undefined. Output sector
42229 number in decimal form.
42230
42231 * disk/ata.c: Use named constants for status bits.
42232
42233 2008-07-04 Pavel Roskin <proski@gnu.org>
42234
42235 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42236 grub_addr_t before casting it to the void pointer to fix a
42237 warning. Non-addressable regions are discarded earlier.
42238 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42239 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42240 (check_signature): Don't shadow table_header.
42241 (grub_linuxbios_table_iterate): Cast numeric constants to
42242 grub_linuxbios_table_header_t.
42243 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42244 grub_stop().
42245
42246 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42247 prevent warnings.
42248
42249 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42250 pointer, which can cause warnings. Support 64-bit addresses.
42251
42252 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42253 of sizeof(long). This fixes PowerPC image generation on x86_64.
42254
42255 2008-07-04 Robert Millan <rmh@aybabtu.com>
42256
42257 This fixes a performance issue when pc & gpt partmap iterators
42258 didn't abort iteration even after our hook found what it was
42259 looking for (often causing expensive probes of non-existent drives).
42260
42261 Some callers relied on previous buggy behaviour, since they would
42262 raise an error when their own hooks caused early abortion of its
42263 iteration.
42264
42265 * kern/device.c (grub_device_open): Improve error message.
42266 * disk/lvm.c (grub_lvm_open): Likewise.
42267 * disk/raid.c (grub_raid_open): Likewise.
42268
42269 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42270 when hook requests it, independently of grub_errno.
42271 (pc_partition_map_probe): Do not fail when find_func() caused
42272 early abortion of pc_partition_map_iterate().
42273
42274 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42275 when hook requests it, independently of grub_errno.
42276 (gpt_partition_map_probe): Do not fail when find_func() caused
42277 early abortion of gpt_partition_map_iterate().
42278
42279 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42280 when hook requests it, independently of grub_errno. Do not fail when
42281 part_map_iterate_hook() caused early abortion of p->iterate().
42282
42283 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42284 when grub_partition_iterate() returned with non-zero.
42285
42286 2008-07-03 Pavel Roskin <proski@gnu.org>
42287
42288 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42289 like we do in grub_ata_pio_read().
42290 (grub_ata_readwrite): Always write individual sectors. Fix the
42291 sector count for the remainder.
42292 (grub_ata_write): Enable writing to ATA devices. Correctly
42293 report error for ATAPI devices.
42294
42295 2008-07-02 Pavel Roskin <proski@gnu.org>
42296
42297 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42298 warning.
42299
42300 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42301 for every read sector, we already increment it for the whole
42302 batch. This fixes reading more than 256 sectors at once.
42303
42304 * util/grub-editenv.c (cmd_info): Cast argument to long
42305 explicitly. ptrdiff_t reduces to int on i386.
42306
42307 * util/grub-editenv.c (main): Be specific which parameter is
42308 missing.
42309
42310 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42311 (memdisk): Make memdisk_orig_addr a pointer.
42312
42313 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42314 for file offsets, use grub_off_t instead. Fix printf format
42315 warnings.
42316
42317 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42318 there. Real unexpected warnings should not drown in the noise
42319 about known problems.
42320
42321 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42322 grub_disk_addr_t for memory addresses.
42323
42324 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42325 explicitly to fix a warning.
42326
42327 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42328
42329 * Makefile.in (MODULE_LDFLAGS): New variable.
42330 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42331 the linker accepts --build-id=none.
42332 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42333 MODULE_LDFLAGS.
42334 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42335
42336 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42337 those in Linux XFS code. Provide a way to access 64-bit parent
42338 inode.
42339 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42340 the end of struct grub_xfs_dir_header.
42341
42342 2008-07-02 Bean <bean123ch@gmail.com>
42343
42344 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42345 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42346 and GRUB_IEEE1275_FLAG_NO_ANSI.
42347
42348 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42349 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42350 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42351
42352 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42353 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42354
42355 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42356 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42357
42358 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42359 esc sequence on non ANSI terminal.
42360 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42361
42362 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42363 beginning of file.
42364
42365 2008-07-02 Bean <bean123ch@gmail.com>
42366
42367 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42368 (grub_editenv_SOURCES): New variable.
42369 (pkglib_MODULES): Add loadenv.mod.
42370 (loadenv_mod_SOURCES): New variable.
42371 (loadenv_mod_CFLAGS): Likewise.
42372 (loadenv_mod_LDFLAGS): Likewise.
42373
42374 * include/grub/envblk.h: New file.
42375
42376 * util/envblk.c: New file.
42377
42378 * util/grub-editenv.c: New file.
42379
42380 * commands/loadenv.c: New file.
42381
42382 2008-07-01 Pavel Roskin <proski@gnu.org>
42383
42384 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42385 not unsigned char. This fixes warnings and is consistent with
42386 other tags.
42387
42388 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42389
42390 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42391
42392 * term/tparm.c (analyze): Always set *popcount.
42393
42394 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42395 cast to fix a warning.
42396
42397 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42398 cast to suppress a warning.
42399
42400 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42401 grub_fshelp_read_file() expects.
42402
42403 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42404 write uuid as a 32-bit value in CPU byte order, so declare and
42405 use it as such.
42406
42407 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42408 long if the format specifier expects it.
42409 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42410 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42411 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42412 long to fix a warning.
42413 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42414 grub_dprintf() arguments to fix warnings.
42415
42416 2008-06-30 Pavel Roskin <proski@gnu.org>
42417
42418 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42419 install_bsd_part immediately before core.img is embedded or
42420 modified on disk. This fixes core.img verification if core.img
42421 cannot be embedded.
42422
42423 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42424 core_path to calculate the blocklist.
42425 Patch from Javier Martín <lordhabbit@gmail.com>
42426
42427 2008-06-29 Robert Millan <rmh@aybabtu.com>
42428
42429 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42430 block to disk block.
42431 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42432 Patch from Niels Böhm <bitbucket@arcor.de>
42433
42434 2008-06-29 Robert Millan <rmh@aybabtu.com>
42435
42436 * util/update-grub_lib.in (font_path): Search for fonts in
42437 /boot/grub first, which is more likely to be readable (we aren't
42438 deciding where fonts live, just looking for them).
42439
42440 2008-06-26 Pavel Roskin <proski@gnu.org>
42441
42442 * util/biosdisk.c (read_device_map): Don't leave dead map
42443 entries for devices failing stat() check.
42444
42445 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42446 core_path_dev for the core.img path on the target device.
42447
42448 2008-06-26 Robert Millan <rmh@aybabtu.com>
42449
42450 * disk/fs_uuid.c: New file.
42451 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42452 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42453 (fs_uuid_mod_LDFLAGS): New variables.
42454 * include/grub/disk.h (grub_disk_dev_id): Add
42455 `GRUB_DISK_DEVICE_UUID_ID'.
42456 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42457 implement iterate().
42458
42459 2008-06-26 Robert Millan <rmh@aybabtu.com>
42460
42461 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42462 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42463 Linux image includes no initrd.
42464
42465 2008-06-21 Javier Martín <lordhabbit@gmail.com>
42466
42467 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42468 call to resolve the core image location that effectively appended the
42469 name twice.
42470
42471 2008-06-21 Robert Millan <rmh@aybabtu.com>
42472
42473 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42474 call from here ...
42475
42476 * util/grub.d/10_hurd.in: ... to here ...
42477 * util/grub.d/10_linux.in: ... and here.
42478
42479 2008-06-19 Robert Millan <rmh@aybabtu.com>
42480
42481 * kern/main.c (grub_main): Export `prefix' variable immediately
42482 after it has been set by grub_machine_set_prefix().
42483
42484 2008-06-19 Robert Millan <rmh@aybabtu.com>
42485
42486 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42487 search result when not saving to variable, not the other way around.
42488 When saving to variable, abort iteration as soon as a match is found.
42489
42490 2008-06-19 Robert Millan <rmh@aybabtu.com>
42491
42492 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42493 check for partition that provides /boot/grub. Its logic is flawed,
42494 as it prevents prepare_grub_to_access_device() from being called
42495 multiple times.
42496
42497 2008-06-19 Robert Millan <rmh@aybabtu.com>
42498
42499 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42500 "insmod" command directly when abstraction modules are needed,
42501 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
42502 since it had already been processed).
42503
42504 2008-06-19 Pavel Roskin <proski@gnu.org>
42505
42506 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42507 changed. This is needed in case GRUB_LIBDIR changes.
42508 * conf/i386-ieee1275.rmk: Likewise.
42509 * conf/i386-linuxbios.rmk: Likewise.
42510 * conf/i386-pc.rmk: Likewise.
42511 * conf/powerpc-ieee1275.rmk: Likewise.
42512
42513 2008-06-18 Pavel Roskin <proski@gnu.org>
42514
42515 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42516 kernel_elf_symlist.c to symlist.c for consistency with other
42517 architectures. Update all users.
42518 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42519
42520 2008-06-18 Robert Millan <rmh@aybabtu.com>
42521
42522 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42523 it in prefix.
42524
42525 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42526 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42527 a RAID device, run setup() for all members independently on whether
42528 LVM abstraction is being used.
42529 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42530 If grub-mkimage has set `*install_dos_part == -2', don't override this
42531 value.
42532 Perform *install_dos_part adjustments independently on whether
42533 we're embedding or not.
42534 Clarify error message when image is too big for embedding.
42535 Remove duplicate *install_dos_part stanza.
42536
42537 2008-06-17 Robert Millan <rmh@aybabtu.com>
42538
42539 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42540 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42541 variables.
42542 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42543 values in grub_ofconsole_normal_color and
42544 grub_ofconsole_highlight_color (they're not directly related to
42545 background and foreground).
42546 (grub_ofconsole_setcolorstate): Extract background and foreground
42547 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42548
42549 2008-06-17 Robert Millan <rmh@aybabtu.com>
42550
42551 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42552 /boot/grub for the check in last commit, not /boot (they could be
42553 different partitions).
42554
42555 2008-06-16 Robert Millan <rmh@aybabtu.com>
42556
42557 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42558 asked to setup access for the same partition that provides /boot,
42559 don't bother using UUIDs since our root already has the value we
42560 want.
42561
42562 2008-06-16 Robert Millan <rmh@aybabtu.com>
42563
42564 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42565 I2O devices.
42566 Patch from Sven Mueller <sven@debian.org>.
42567
42568 2008-06-16 Robert Millan <rmh@aybabtu.com>
42569
42570 * util/update-grub.in: Check for $EUID instead of $UID.
42571 Reported by Vincent Zweije.
42572
42573 2008-06-16 Bean <bean123ch@gmail.com>
42574
42575 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
42576 (grub_ext2_read_block): Likewise.
42577 (grub_ext2_read_inode): Likewise.
42578 (grub_ext2_mount): Likewise.
42579 (grub_ext2_close): Likewise.
42580 (grub_ext3_get_journal): Removed.
42581
42582 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
42583 (grub_reiserfs_read_symlink): Likewise.
42584 (grub_reiserfs_mount): Likewise.
42585 (grub_reiserfs_open): Likewise.
42586 (grub_reiserfs_read): Likewise.
42587 (grub_reiserfs_close): Likewise.
42588 (grub_reiserfs_get_journal): Removed.
42589
42590 * fs/fshelp.c (grub_fshelp_read): Removed.
42591 (grub_fshelp_map_block): Likewise.
42592
42593 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42594 (grub_fshelp_journal): Likewise.
42595 (grub_fshelp_read): Likewise.
42596 (grub_fshelp_map_block): Likewise.
42597
42598 2008-06-16 Pavel Roskin <proski@gnu.org>
42599
42600 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42601 floating point anymore.
42602 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42603
42604 2008-06-15 Pavel Roskin <proski@gnu.org>
42605
42606 * commands/ls.c (grub_ls_list_files): Use integer calculations
42607 for human readable format, avoid floating point use.
42608 * kern/misc.c (grub_ftoa): Remove.
42609 (grub_vsprintf): Remove floating point support.
42610
42611 2008-06-15 Robert Millan <rmh@aybabtu.com>
42612
42613 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
42614 devices.
42615 Reported by Max Vozeler.
42616
42617 2008-06-15 Robert Millan <rmh@aybabtu.com>
42618
42619 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42620 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42621 skipped later.
42622 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42623 the beginning of the prefix.
42624
42625 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42626 It is assumed that if we have a memdisk, grub-mkimage has set
42627 grub_prefix to include the "(memdisk)" drive in it.
42628
42629 2008-06-15 Robert Millan <rmh@aybabtu.com>
42630
42631 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42632 Initialize keyboard controller after registering the terminal, so that
42633 grub_printf() can be called from grub_keyboard_controller_init().
42634
42635 2008-06-15 Robert Millan <rmh@aybabtu.com>
42636
42637 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42638 extent-btree which is written as big endian on disk.
42639 Reported by Alain Greppin <al@chilibi.org>.
42640
42641 2008-06-14 Robert Millan <rmh@aybabtu.com>
42642
42643 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42644 * util/i386/pc/grub-install.in (modules): Likewise.
42645
42646 2008-06-13 Pavel Roskin <proski@gnu.org>
42647
42648 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42649
42650 2008-06-13 Bean <bean123ch@gmail.com>
42651
42652 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42653
42654 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42655
42656 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42657 to indicate sparse block.
42658
42659 2008-06-12 Pavel Roskin <proski@gnu.org>
42660
42661 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42662 number, grub_fshelp_read() does it for us.
42663
42664 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42665 linear disk read with journal translation.
42666 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42667 * include/grub/fshelp.h: Declare grub_fshelp_read().
42668
42669 2008-06-09 Pavel Roskin <proski@gnu.org>
42670
42671 * fs/minix.c (grub_minix_mount): Handle error reading
42672 superblock.
42673
42674 2008-06-08 Robert Millan <rmh@aybabtu.com>
42675
42676 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42677 don't append the RAID prefix afterwards.
42678 Reported by Clint Adams.
42679
42680 2008-06-08 Robert Millan <rmh@aybabtu.com>
42681
42682 Based on description from Pavel:
42683 * kern/disk.c (grub_disk_check_range): Rename to ...
42684 (grub_disk_adjust_range): ... this. Add a comment explaining the
42685 tasks performed by this function.
42686
42687 2008-06-08 Robert Millan <rmh@aybabtu.com>
42688
42689 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42690 `num_serial' (for consistency with other variables).
42691 (struct grub_ntfs_data): Add `uuid' member.
42692 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42693 (grub_ntfs_uuid): New function.
42694 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42695
42696 2008-06-07 Pavel Roskin <proski@gnu.org>
42697
42698 * util/biosdisk.c (open_device): Revert last change to the
42699 function, it broke installation. The sector needs to be
42700 different dependent on which device is opened.
42701
42702 2008-06-06 Robert Millan <rmh@aybabtu.com>
42703
42704 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42705 rest of GRUB, and breakage doesn't happen if its value were modified.
42706
42707 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42708 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42709 a constant (same value).
42710 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42711 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42712
42713 2008-06-06 Robert Millan <rmh@aybabtu.com>
42714
42715 * util/biosdisk.c (open_device): Do not modify sector offset when
42716 accessing a partition. kern/disk.c already handles this for us.
42717
42718 2008-06-06 Robert Millan <rmh@aybabtu.com>
42719
42720 * util/grub-emu.c (grub_machine_init): Move code in this function from
42721 here ...
42722 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42723 segfault in case grub_printf() is called).
42724
42725 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42726 grub_probe. Update all users not to explicitly add it again.
42727 (grub_device): New variable; contains corresponding device for grubdir.
42728 (fs_module, partmap_module, devabstraction_module): Pass
42729 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42730 every time.
42731
42732 2008-06-05 Robert Millan <rmh@aybabtu.com>
42733
42734 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42735 is found, print it (same layout as with labels).
42736
42737 2008-06-04 Robert Millan <rmh@aybabtu.com>
42738
42739 * util/biosdisk.c (get_drive): Rename to ...
42740 (find_grub_drive): ... this. Update all users.
42741
42742 (get_os_disk): Rename to ...
42743 (convert_system_partition_to_system_disk): ... this. Update all users.
42744
42745 (find_drive): Rename to ...
42746 (find_system_device): ... this. Update all users.
42747
42748 2008-06-04 Robert Millan <rmh@aybabtu.com>
42749
42750 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42751 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42752 (make_device_map): Likewise.
42753
42754 2008-06-01 Robert Millan <rmh@aybabtu.com>
42755
42756 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42757 before dereferencing it.
42758
42759 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42760 union with fat12/fat16-specific ones. Add some new fields, including
42761 `num_serial' for both versions.
42762 (struct grub_fat_data): Add `uuid' member.
42763 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42764 names. Initialize `data->uuid' using `num_serial'.
42765 (grub_fat_uuid): New function.
42766 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42767
42768 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42769 (grub_reiserfs_uuid): New function.
42770 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42771 member.
42772
42773 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42774 (grub_xfs_uuid): New function.
42775 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42776
42777 2008-06-01 Robert Millan <rmh@aybabtu.com>
42778
42779 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42780 code that is backward compatible with pre-uuid search command.
42781
42782 2008-05-31 Robert Millan <rmh@aybabtu.com>
42783
42784 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42785 floppies after everything else, to ensure floppy drive isn't accessed
42786 unnecessarily (patch from Bean).
42787
42788 2008-05-31 Robert Millan <rmh@aybabtu.com>
42789
42790 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42791 not print device names when we were asked to set a variable.
42792
42793 2008-05-31 Robert Millan <rmh@aybabtu.com>
42794
42795 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42796 using "cursor-on" and "cursor-off" commands (understood at least by
42797 the Open Firmware flavour on OLPC).
42798
42799 2008-05-31 Michael Gorven <michael@gorven.za.net>
42800
42801 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42802 on and off sequences.
42803
42804 2008-05-31 Robert Millan <rmh@aybabtu.com>
42805
42806 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42807 * util/update-grub.in: Likewise.
42808
42809 2008-05-30 Pavel Roskin <proski@gnu.org>
42810
42811 * util/biosdisk.c (linux_find_partition): Simplify logic and
42812 make the code more universal. Keep special processing for
42813 devfs, but use a simple rule for all other devices. If the
42814 device ends with a number, append 'p' and the partition number.
42815 Otherwise, append only the partition number.
42816
42817 2008-05-30 Robert Millan <rmh@aybabtu.com>
42818
42819 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42820 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42821 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42822 the `root' parameter to Linux.
42823
42824 2008-05-30 Robert Millan <rmh@aybabtu.com>
42825
42826 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42827 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42828 --fs_uuid with --fs-uuid.
42829 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42830 all filesystems support them).
42831
42832 2008-05-30 Robert Millan <rmh@aybabtu.com>
42833
42834 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
42835 grub_printf() flags, since we're printing in units of 2 bytes.
42836
42837 2008-05-30 Robert Millan <rmh@aybabtu.com>
42838
42839 * util/grub.d/00_header.in: Remove obsolete comment referencing
42840 convert_system_path_to_grub_path().
42841 * util/update-grub.in: Likewise.
42842 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42843 (convert_system_path_to_grub_path): Add a warning message explaining
42844 that this function is deprecated. Rely on is_path_readable_by_grub()
42845 for the readability checks.
42846 (font_path): Use is_path_readable_by_grub() for the readability
42847 check rather than convert_system_path_to_grub_path().
42848
42849 2008-05-30 Robert Millan <rmh@aybabtu.com>
42850
42851 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42852 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42853 converting it first.
42854 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42855 grub.cfg for access to font file, and afterwards call it again to set
42856 the root device.
42857
42858 2008-05-30 Robert Millan <rmh@aybabtu.com>
42859
42860 * commands/search.c (options): Add --fs_uuid option.
42861 (search_fs_uuid): New function.
42862 (grub_cmd_search): Fix --set argument passing.
42863 Use search_fs_uuid() when requested via --fs_uuid.
42864 (grub_search_init): Update help message.
42865 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42866 and redeclare it as an array of 16-bit words.
42867 (grub_ext2_uuid): New function.
42868 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42869 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42870 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42871 (GRUB_DEVICE_BOOT_UUID): New variables.
42872 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42873 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42874 whenever possible.
42875 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42876 just assume `root' variable has the right value.
42877 * util/grub.d/10_linux.in: Likewise.
42878 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42879 via PRINT_FS_UUID.
42880 (main): Recognise `-t fs_uuid' argument.
42881
42882 2008-05-30 Robert Millan <rmh@aybabtu.com>
42883
42884 * util/biosdisk.c (map): Redefine structure to hold information
42885 about GRUB drive name.
42886 (get_drive): Reimplement without assuming (and verifying) BIOS-like
42887 drive names.
42888 (call_hook): Remove.
42889 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42890 member. Assume drive has partitions.
42891 (grub_util_biosdisk_open): Access device names via `.device' struct
42892 member.
42893 (open_device): Likewise.
42894 (find_drive): Likewise.
42895 (read_device_map): Adjust map[] usage to match the new struct
42896 definition. Don't check for duplicates (still possible, but not cheap
42897 anymore).
42898 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42899 (make_device_name): Remove assumption of BIOS-like drive names.
42900
42901 2008-05-30 Pavel Roskin <proski@gnu.org>
42902
42903 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42904 compiling execute.c doesn't need grub_script.tab.h anymore.
42905 (normal/command.c_DEPENDENCIES): Likewise.
42906 (normal/function.c_DEPENDENCIES): Likewise.
42907 * conf/i386-ieee1275.rmk: Likewise.
42908 * conf/i386-linuxbios.rmk: Likewise.
42909 * conf/i386-pc.rmk: Likewise.
42910 * conf/powerpc-ieee1275.rmk: Likewise.
42911 * conf/sparc64-ieee1275.rmk: Likewise.
42912
42913 2008-05-29 Pavel Roskin <proski@gnu.org>
42914
42915 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42916 when scanning metadata for volume group name.
42917
42918 * include/grub/script.h: Don't include grub_script.tab.h. It's
42919 a generated file, which may only be included from the files with
42920 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42921 use union YYSTYPE, as the later allows forward declaration.
42922 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42923
42924 2008-05-29 Robert Millan <rmh@aybabtu.com>
42925
42926 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42927 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42928 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42929 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42930 scan codes.
42931
42932 2008-05-29 Robert Millan <rmh@aybabtu.com>
42933
42934 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42935 control key combinations.
42936
42937 2008-05-29 Robert Millan <rmh@aybabtu.com>
42938
42939 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42940 * util/ieee1275/grub-install.in: ... to here.
42941 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42942 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42943 (grub_install_SOURCES): Likewise.
42944
42945 2008-05-29 Robert Millan <rmh@aybabtu.com>
42946
42947 * fs/affs.c: Update copyright year.
42948 * fs/ext2.c: Likewise.
42949 * fs/fshelp.c: Likewise.
42950 * fs/hfsplus.c: Likewise.
42951 * fs/ntfs.c: Likewise.
42952 * fs/xfs.c: Likewise.
42953 * include/grub/fshelp.h: Likewise.
42954 * util/grub-mkdevicemap.c: Likewise.
42955
42956 2008-05-28 Robert Millan <rmh@aybabtu.com>
42957
42958 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42959 might need to be fatfs to support some firmware implementations
42960 (e.g. OFW or EFI).
42961
42962 2008-05-28 Robert Millan <rmh@aybabtu.com>
42963
42964 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42965 devices.
42966 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42967 (make_device_map): Likewise.
42968
42969 2008-05-20 Bean <bean123ch@gmail.com>
42970
42971 * fs/fshelp.c (grub_fshelp_map_block): New function.
42972 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42973 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42974
42975 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42976 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42977 (grub_fshelp_journal): New structure.
42978 (grub_fshelp_map_block): New function prototype.
42979 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42980 (grub_fshelp_map_block): Likewise.
42981
42982 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42983 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42984 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42985 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42986 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42987 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42988 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42989 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42990 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42991 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42992 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42993 (grub_ext2_sblock): New members for journal support.
42994 (grub_ext3_journal_header): New structure.
42995 (grub_ext3_journal_revoke_header): Likewise.
42996 (grub_ext3_journal_block_tag): Likewise.
42997 (grub_ext3_journal_sblock): Likewise.
42998 (grub_fshelp_node): New members logfile and journal.
42999 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43000 grub_fshelp_map_block to get real block number.
43001 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43002 number.
43003 (grub_ext2_read_inode): Likewise.
43004 (grub_ext3_get_journal): New function.
43005 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43006 (grub_ext2_close): Release memory used by journal.
43007
43008 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43009 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43010 (grub_reiserfs_transaction_header): Renamed to
43011 grub_reiserfs_description_block, replace field data with real_blocks.
43012 (grub_reiserfs_commit_block): New structure.
43013 (grub_reiserfs_data): New member journal.
43014 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43015 number.
43016 (grub_reiserfs_read_symlink): Likewise.
43017 (grub_reiserfs_iterate_dir): Likewise.
43018 (grub_reiserfs_open): Likewise.
43019 (grub_reiserfs_read): Likewise.
43020 (grub_reiserfs_get_journal): New function.
43021 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43022 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43023 using grub_reiserfs_get_journal.
43024 (grub_reiserfs_close): Release memory used by journal.
43025
43026 * fs/affs.c (grub_affs_read_block): Change block type to
43027 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43028
43029 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43030
43031 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43032
43033 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43034
43035 * fs/udf.c (grub_udf_read_block): Change block type to
43036 grub_disk_addr_t. Use type cast to avoid warning.
43037
43038 * fs/xfs.c (grub_xfs_read_block): Likewise.
43039
43040 2008-05-16 Christian Franke <franke@computer.org>
43041
43042 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43043 to ensure that break with ESC will always work.
43044 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43045 Remove ESC from keyboard queue.
43046
43047 2008-05-16 Christian Franke <franke@computer.org>
43048
43049 * util/biosdisk.c: [__CYGWIN__] Add includes.
43050 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43051 (get_os_disk): Move variable declarations to OS specific
43052 parts to avoid warning.
43053 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43054 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43055 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43056 Cygwin.
43057 * util/getroot.c: [__CYGWIN__] Add includes.
43058 (strip_extra_slashes): Fix "/" case.
43059 [__CYGWIN__] (get_win32_path): New function.
43060 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43061 [__CYGWIN__] (find_root_device): Disable.
43062 [__CYGWIN__] (get_bootsec_serial): New function.
43063 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43064 [__linux__] (grub_guess_root_device): Add early returns to simplify
43065 structure.
43066 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43067 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43068 check for Linux only.
43069
43070 2008-05-15 Bean <bean123ch@gmail.com>
43071
43072 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43073 keyboard hang problem in apple's intel mac.
43074
43075 2008-05-09 Robert Millan <rmh@aybabtu.com>
43076
43077 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43078 devices.
43079 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43080 (make_device_map): Likewise.
43081 Reported by Aurelien Jarno <aurel32@debian.org>
43082
43083 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
43084
43085 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43086 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43087 (make_device_map): Output entries for xvd type disks.
43088
43089 2008-05-07 Robert Millan <rmh@aybabtu.com>
43090
43091 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43092 devices.
43093 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43094 (make_device_map): Likewise.
43095 Reported by Roland Dreier <rdreier@cisco.com>
43096
43097 2008-05-07 Robert Millan <rmh@aybabtu.com>
43098
43099 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43100 grub_strstr() call. Correct a few mistakes in failure path handling.
43101
43102 2008-05-06 Robert Millan <rmh@aybabtu.com>
43103
43104 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43105 Do not print a trailing slash (therefore, the root directory is an
43106 empty string).
43107 (convert_system_path_to_grub_path): Do not remove trailing slash
43108 from make_system_path_relative_to_its_root() output.
43109
43110 * util/i386/pc/grub-install.in: Add trailing slash to output from
43111 make_system_path_relative_to_its_root().
43112
43113 2008-05-06 Robert Millan <rmh@aybabtu.com>
43114
43115 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43116 ensures that output lines aren't intermangled with those sent to
43117 stderr (via grub_util_info()).
43118 * util/grub-probe.c (grub_refresh): Likewise.
43119 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43120
43121 2008-05-05 Christian Franke <franke@computer.org>
43122
43123 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43124 Add Cygwin device names.
43125 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43126 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43127 (check_device): Return error instead of success on empty name.
43128 (make_device_map): Move label inside linux specific code to
43129 prevent compiler warning.
43130
43131 2008-04-30 Robert Millan <rmh@aybabtu.com>
43132
43133 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43134 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43135 first boot option.
43136 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43137
43138 2008-04-29 Robert Millan <rmh@aybabtu.com>
43139
43140 * docs/grub.cfg: New file (example GRUB configuration).
43141
43142 2008-04-26 Robert Millan <rmh@aybabtu.com>
43143
43144 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43145 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43146 and `disk/ieee1275/nand.c'.
43147
43148 2008-04-25 Bean <bean123ch@gmail.com>
43149
43150 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43151 i386-linuxbios.
43152
43153 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43154 change the buffer size to 4096 for cdrom device.
43155
43156 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43157 and nand.mod.
43158 (_linux_mod_SOURCES): New variable.
43159 (_linux_mod_CFLAGS): Likewise.
43160 (_linux_mod_LDFLAGS): Likewise.
43161 (linux_mod_SOURCES): Likewise.
43162 (linux_mod_CFLAGS): Likewise.
43163 (linux_mod_LDFLAGS): Likewise.
43164 (nand_mod_SOURCES): Likewise.
43165 (nand_mod_CFLAGS): Likewise.
43166 (nand_mod_LDFLAGS): Likewise.
43167
43168 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43169 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43170 type property. (nand device in olpc don't have this property)
43171
43172 * include/grub/disk.h (grub_disk_dev_id): New macro
43173 GRUB_DISK_DEVICE_NAND_ID.
43174
43175 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43176 function prototype.
43177 (grub_rescue_cmd_initrd): Likewise.
43178
43179 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43180 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43181 ofw_cif_handler and ofw_idt, adjust padding number.
43182
43183 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43184 GRUB_MACHINE_IEEE1275 is defined.
43185
43186 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43187 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43188
43189 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43190 on nested function heap_init.
43191 (grub_upper_mem): New variable for i386-ieee1275.
43192 (grub_get_extended_memory): New function for i386-ieee1275.
43193 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43194
43195 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43196 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43197 property.
43198
43199 * loader/i386/ieee1275/linux.c: New file.
43200
43201 * loader/i386/ieee1275/linux_normal.c: New file.
43202
43203 * disk/ieee1275/nand.c: New file.
43204
43205 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43206
43207 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43208 value.
43209 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43210
43211 2008-04-18 Robert Millan <rmh@aybabtu.com>
43212
43213 Restructures early code path on ieee1275 to unify grub_main() as
43214 the first C function that is executed in every platform.
43215
43216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43217 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43218 cmain().
43219 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43220 * kern/ieee1275/cmain.c (cmain): Rename to ...
43221 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43222 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43223 at the beginning.
43224
43225 2008-04-18 Robert Millan <rmh@aybabtu.com>
43226
43227 * util/update-grub.in: Fix syntax error when setting
43228 `GRUB_PRELOAD_MODULES'.
43229 Reported by Stephane Chazelas <stephane@artesyncp.com>
43230
43231 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43232
43233 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43234 section into account, newer toolchains generate unique build ids
43235 * configure.ac: remove the test for --build-id=none acceptance,
43236 we want build ids to be preserved
43237 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43238 far from other sections don't cause the raw binary images grow
43239 size
43240
43241 2008-04-15 Robert Millan <rmh@aybabtu.com>
43242
43243 * disk/lvm.c: Update copyright year.
43244 * kern/misc.c: Likewise.
43245
43246 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43247
43248 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
43249 there is no memory left for physical volume name.
43250
43251 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43252
43253 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43254 volume name mapping to support bigger than 9 character names properly.
43255
43256 2008-04-13 Robert Millan <rmh@aybabtu.com>
43257
43258 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43259 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43260
43261 2008-04-13 Christian Franke <franke@computer.org>
43262
43263 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43264 to create a floppy emulation boot CD when non emulation mode
43265 does not work.
43266 Enable Joliet CD filesystem extension.
43267
43268 2008-04-13 Robert Millan <rmh@aybabtu.com>
43269
43270 * kern/misc.c (grub_strncat): Fix off-by-one error.
43271 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43272
43273 * kern/env.c (grub_env_context_close): Clear current context, not
43274 previous one.
43275 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43276
43277 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43278
43279 2008-04-13 Robert Millan <rmh@aybabtu.com>
43280
43281 Improve robustness when handling LVM.
43282
43283 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
43284 (and leave `*p' unmodified).
43285 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43286 through it.
43287 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43288 iterating through it.
43289 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43290 through it.
43291 (grub_lvm_scan_device): Check the return value (and fail gracefully
43292 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43293 Don't assume `vg->pvs != NULL' when iterating through it.
43294
43295 2008-04-13 Robert Millan <rmh@aybabtu.com>
43296
43297 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43298 * genmk.rb (partmap): New variable.
43299 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43300 (#{partmap}): New target rule.
43301 * genpartmaplist.sh: New file.
43302 * Makefile.in (pkglib_DATA): Add partmap.lst.
43303 (partmap.lst): New target rule.
43304 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43305 modules (including all partition maps), instead of preloading them.
43306
43307 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43308
43309 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43310 `linux-boot-prober' (if installed) to detect other operating
43311 systems which are installed on the computer and add them to
43312 the boot menu.
43313 * conf/common.rmk: Build and install 30_os-prober.
43314
43315 2008-04-12 Robert Millan <rmh@aybabtu.com>
43316
43317 * kern/powerpc/ieee1275/init.c: Move from here ...
43318 * kern/ieee1275/init.c: ... to here. Update all users.
43319
43320 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43321 * kern/ieee1275/cmain.c: ... to here. Update all users.
43322
43323 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43324 * kern/ieee1275/openfw.c: ... to here. Update all users.
43325
43326 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43327 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43328
43329 2008-04-10 Pavel Roskin <proski@gnu.org>
43330
43331 * configure.ac: Always use "_cv_" in cache variables for
43332 compatibility with Autoconf 2.62.
43333
43334 2008-04-07 Robert Millan <rmh@aybabtu.com>
43335
43336 Revert grub/machine/init.h addition by Pavel (since it breaks on
43337 i386-ieee1275 and others):
43338 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43339 * util/powerpc/ieee1275/misc.c: Likewise.
43340
43341 2008-04-07 Robert Millan <rmh@aybabtu.com>
43342
43343 * util/grub-probe.c (probe): Improve error message.
43344
43345 2008-04-07 Robert Millan <rmh@aybabtu.com>
43346
43347 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43348 (this prevents the presence of a bogus entry from ruining the whole
43349 thing).
43350
43351 2008-04-06 Pavel Roskin <proski@gnu.org>
43352
43353 * util/biosdisk.c: Include grub/util/biosdisk.h.
43354 * util/grub-fstest.c (execute_command): Make static.
43355 * util/grub-mkdevicemap.c (check_device): Likewise.
43356 * util/i386/pc/misc.c: Include grub/machine/init.h.
43357 * util/powerpc/ieee1275/misc.c: Likewise.
43358 * util/lvm.c: Include grub/util/lvm.h.
43359 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43360 grub/cache.h.
43361 * util/raid.c: Include grub/util/raid.h.
43362 (grub_util_getdiskname): Make static.
43363
43364 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43365 grub_hostfs_fini(), as they are called from grub_init_all() and
43366 grub_fini_all() respectively. This fixes an infinite loop in
43367 grub-fstest due to double registration of hostfs.
43368 Reported by Christian Franke <Christian.Franke@t-online.de>
43369
43370 2008-04-05 Pavel Roskin <proski@gnu.org>
43371
43372 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43373 all 8 functions. Otherwise, probe function 0 only.
43374
43375 2008-04-04 Pavel Roskin <proski@gnu.org>
43376
43377 * commands/lspci.c (grub_lspci_iter): Print the bus number
43378 correctly.
43379
43380 * commands/lspci.c (grub_pci_classes): Fix typos.
43381 (grub_lspci_iter): Don't print func twice. Print vendor ID
43382 before device ID, as it's normally done.
43383
43384 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43385 Fix signedness warnings.
43386 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43387 Likewise.
43388 * util/ieee1275/get_disk_name.c: Include config.h so that
43389 _GNU_SOURCE is defined and getline() is declared. Mark an
43390 unused argument as such. Fix a signedness warning.
43391
43392 2008-04-02 Pavel Roskin <proski@gnu.org>
43393
43394 * genkernsyms.sh.in: Use more robust assignments for CC and
43395 srcdir. Quote srcdir.
43396 * gensymlist.sh.in: Likewise. Assert at the compile time that
43397 the symbol table is not empty.
43398
43399 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43400 * fs/cpio.c (grub_cpio_read): Likewise.
43401
43402 2008-04-01 Pavel Roskin <proski@gnu.org>
43403
43404 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43405 * disk/host.c (grub_host_open): Likewise.
43406 * disk/loopback.c (grub_loopback_open): Likewise.
43407 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43408 disk->id as in disk/host.c, not a multi-character constant.
43409
43410 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43411 later is obsolete, potentially dangerous and sets a bad example.
43412 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43413 * util/misc.c (grub_util_get_image_size): Likewise.
43414
43415 * disk/loopback.c (options): Improve help for "--partitions".
43416
43417 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43418 options to align them with the short options, e.g. "echo -e".
43419
43420 2008-03-31 Bean <bean123ch@gmail.com>
43421
43422 * video/reader/png.c (grub_png_data): New member is_16bit and
43423 image_data.
43424 (grub_png_decode_image_header): Detect 16 bit png image.
43425 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43426 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43427 (grub_video_reader_png): Release memory occupied by image_data.
43428
43429 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43430 4096 bytes.
43431 (grub_nfs_mount): Skip the test for sector per cluster.
43432
43433 * include/grub/ntfs.h (MAX_SPC): Removed.
43434
43435 2008-03-31 Bean <bean123ch@gmail.com>
43436
43437 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43438 (grub_probe_SOURCES): Add fs/afs.c.
43439 (grub_fstest_SOURCES): Likewise.
43440 (afs_mod_SOURCES): New variable.
43441 (afs_mod_CFLAGS): Likewise.
43442 (afs_mod_LDFLAGS): Likewise.
43443
43444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43445 (grub_emu_SOURCES): Likewise.
43446
43447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43448
43449 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43450
43451 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43452
43453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43454
43455 * fs/afs.c: New file.
43456
43457 2008-03-30 Pavel Roskin <proski@gnu.org>
43458
43459 * disk/host.c: Include grub/misc.h to fix a warning.
43460 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43461 warnings about implicit declarations.
43462
43463 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43464 variable.
43465 * include/grub/i386/loader.h: Change declaration of
43466 grub_linux_boot() to match what grub_loader_set() expects.
43467 * util/getroot.c (grub_guess_root_device): Return const char* to
43468 fix a warning.
43469 * util/grub-probe.c (probe): Fix a warning about uninitialized
43470 abstraction_name variable.
43471 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43472 second argument as unused to fix a warning.
43473
43474 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43475 missing grub_error() call.
43476
43477 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43478 2.60 and newer uses it to define datadir.
43479
43480 * commands/sleep.c: Fix warning about implicit declaration.
43481 * disk/memdisk.c: Likewise.
43482 * loader/aout.c: Likewise.
43483 * loader/i386/bsd_normal.c: Likewise.
43484 * util/grub-probe.c: Likewise.
43485
43486 * commands/i386/cpuid.c (has_longmode): Make static.
43487 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43488 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43489
43490 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43491 GDT. This is more robust, as %ds can change.
43492 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43493 calling real_to_prot().
43494 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43495
43496 2008-03-28 Pavel Roskin <proski@gnu.org>
43497
43498 * kern/i386/pc/startup.S: Assert that uncompressed functions
43499 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43500 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43501 code, as they push parts of the code (error handlers) beyond
43502 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43503 code as correctness and size.
43504
43505 2008-03-28 Pavel Roskin <proski@gnu.org>
43506
43507 * kern/i386/pc/startup.S
43508 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43509 data block address to the real mode, keep offset minimal. This
43510 works around a bug in AWARD BIOS on old Athlon systems, which
43511 makes CD detection hang.
43512
43513 2008-03-26 Pavel Roskin <proski@gnu.org>
43514
43515 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43516 const.
43517 * include/grub/normal.h: Add grub_parse_color_name_pair()
43518 declaration.
43519
43520 2008-03-24 Bean <bean123ch@gmail.com>
43521
43522 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43523 (cd_count): Removed.
43524 (cd_drive): New variable.
43525 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43526 (grub_biosdisk_call_hook): Likewise.
43527 (grub_biosdisk_iterate): Change cdrom detection method.
43528 (grub_biosdisk_open): Replace cd_start with cd_drive.
43529 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43530 detect cdrom device.
43531
43532 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43533 Removed.
43534 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43535 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43536 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43537 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43538 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43539 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43540 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43541 (grub_biosdisk_cdrp): New structure.
43542 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43543
43544 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43545
43546 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43547 device.
43548
43549 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43550 New function.
43551
43552 2008-03-20 Robert Millan <rmh@aybabtu.com>
43553
43554 Remove 2 TiB limit in ata.mod.
43555 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43556 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43557 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43558 grub_uint64_t instead of grub_uint32_t.
43559
43560 2008-03-05 Bean <bean123ch@gmail.com>
43561
43562 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43563 (grub_multiboot): Set boot device.
43564
43565 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43566
43567 2008-03-02 Bean <bean123ch@gmail.com>
43568
43569 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43570 symlink_buffer.
43571
43572 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43573
43574 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43575 texinfo.tex.
43576
43577 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43578 modified.
43579
43580 * docs/fdl.texi: New file.
43581
43582 * docs/mdate-sh: New file. Copied from gnulib.
43583 * docs/texinfo.tex: Likewise.
43584
43585 * config.guess: Updated from gnulib.
43586 * install-sh: Likewise.
43587
43588 2008-02-28 Robert Millan <rmh@aybabtu.com>
43589
43590 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43591 (aout_mod_SOURCES): New variable.
43592 (aout_mod_CFLAGS): Likewise.
43593 (aout_mod_LDFLAGS): Likewise.
43594
43595 * conf/i386-ieee1275.rmk: Likewise.
43596
43597 2008-02-28 Robert Millan <rmh@aybabtu.com>
43598
43599 * util/update-grub.in: Reorganise terminal validity check. Accept
43600 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43601 Based on suggestion by Franklin PIAT.
43602
43603 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43604
43605 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43606 function.
43607 * util/getroot.c (grub_util_check_block_device): New function that
43608 returns the given argument if it is a block device and returns NULL else.
43609 * util/grub-probe.c (argument_is_device): New variable.
43610 (probe): Promote device_name from a variable to an argument. Receive
43611 device_name from grub_util_check_block_device() if path is NULL and from
43612 grub_guess_root_device() else. Do not free() device_name anymore.
43613 (options): Introduce new parameter '-d, --device'.
43614 (main): Add description of the new parameter to the help screen.
43615 Rename path variable to argument. Set argument_is_device if the '-d'
43616 option is given. Pass argument to probe() depending on
43617 argument_is_device.
43618
43619 2008-02-24 Bean <bean123ch@gmail.com>
43620
43621 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43622 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43623 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43624 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43625 (GRUB_ISO9660_VOLDESC_END): Likewise.
43626 (grub_iso9660_primary_voldesc): New member escape.
43627 (grub_iso9660_data): New member joliet.
43628 (grub_iso9660_convert_string): New function.
43629 (grub_iso9660_mount): Detect joliet extension.
43630 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43631 (grub_iso9660_iso9660_label): Likewise.
43632
43633 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43634 (grub_setup_SOURCES): Add fs/udf.c.
43635 (grub_fstest_SOURCES): Likewise.
43636 (udf_mod_SOURCES): New variable.
43637 (udf_mod_CFLAGS): Likewise.
43638 (udf_mod_LDFLAGS): Likewise.
43639
43640 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43641 (grub_emu_SOURCES): Likewise.
43642
43643 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43644
43645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43646
43647 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43648
43649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43650
43651 * fs/udf.c: New file.
43652
43653 2008-02-24 Robert Millan <rmh@aybabtu.com>
43654
43655 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43656 (normal/lexer.c_DEPENDENCIES): New variables.
43657 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43658 (normal/lexer.c_DEPENDENCIES): Likewise.
43659 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43660 (normal/lexer.c_DEPENDENCIES): Likewise.
43661 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43662 (normal/lexer.c_DEPENDENCIES): Likewise.
43663 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43664 (normal/lexer.c_DEPENDENCIES): Likewise.
43665 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43666 (normal/lexer.c_DEPENDENCIES): Likewise.
43667
43668 2008-02-23 Robert Millan <rmh@aybabtu.com>
43669
43670 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43671 since they were intended to be in hex. This didn't break previously
43672 because of a bug in gpt_partition_map_iterate() (see below).
43673
43674 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43675 when checking the validity of GPT header.
43676 Remove `partno', since it always provides the same information as `i'.
43677
43678 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43679
43680 * include/grub/efi/time.h: Fix a wrong comment.
43681
43682 2008-02-19 Pavel Roskin <proski@gnu.org>
43683
43684 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43685 message.
43686
43687 2008-02-19 Bean <bean123ch@gmail.com>
43688
43689 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43690 (aout_mod_SOURCES): New variable.
43691 (aout_mod_CFLAGS): Likewise.
43692 (aout_mod_LDFLAGS): Likewise.
43693 (_bsd_mod_SOURCES): New variable.
43694 (_bsd_mod_CFLAGS): Likewise.
43695 (_bsd_mod_LDFLAGS): Likewise.
43696 (bsd_mod_SOURCES): New variable.
43697 (bsd_mod_CFLAGS): Likewise.
43698 (bsd_mod_LDFLAGS): Likewise.
43699
43700 * include/grub/aout.h: New file.
43701
43702 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43703
43704 * include/grub/i386/bsd.h: New file.
43705
43706 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43707 to make it public.
43708
43709 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43710 function is called, so that it's possible to change it inside the hook.
43711 (grub_elf64_load): Likewise.
43712 (grub_elf_file): Don't close the file if elf header is not found.
43713 (grub_elf_close): Close the file if grub_elf_file fails (The new
43714 grub_elf_file won't close it).
43715 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43716 (grub_elf64_size): Likewise.
43717
43718 * kern/i386/loader.S (grub_unix_real_boot): New function.
43719
43720 * loader/aout.c: New file.
43721
43722 * loader/i386/bsd.c: New file.
43723
43724 * loader/i386/bsd_normal.c: New file.
43725
43726 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43727
43728 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
43729 can test other formats.
43730
43731 2008-02-19 Robert Millan <rmh@aybabtu.com>
43732
43733 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43734 (grub_gpt_partition_type_empty): Redefine with macro from
43735 `<grub/gpt_partition.h>'.
43736 (gpt_partition_map_iterate): Adjust partition type comparison.
43737
43738 Export `entry' as partmap-specific `part.data' struct.
43739 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43740
43741 * include/grub/gpt_partition.h (grub_gpt_header)
43742 (grub_gpt_partentry): ... to here (new file).
43743
43744 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43745
43746 (grub_gpt_partition_type_bios_boot): New const variable, defined
43747 with macro from `<grub/gpt_partition.h>'.
43748
43749 (setup): Replace `first_start' with `embed_region', which keeps
43750 track of the embed region (and is partmap-agnostic).
43751
43752 Replace find_first_partition_start() with find_usable_region(),
43753 which finds a usable region for embedding using partmap-specific
43754 knowledge (supports PC/MSDOS and GPT).
43755
43756 Fix all assumptions that the embed region start at sector 1, using
43757 `embed_region.start' from now on. Similarly, use `embed_region.end'
43758 rather than `first_start' to calculate available size.
43759
43760 In grub_util_info() message, replace "into after the MBR" with an
43761 indication of the specific sector our embed region starts at.
43762
43763 2008-02-19 Robert Millan <rmh@aybabtu.com>
43764
43765 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43766 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43767 `commands/reboot.c'.
43768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43769 (halt_mod_SOURCES): Likewise.
43770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43771 (halt_mod_SOURCES): Likewise.
43772
43773 2008-02-17 Christian Franke <franke@computer.org>
43774
43775 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43776
43777 2008-02-17 Robert Millan <rmh@aybabtu.com>
43778
43779 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43780 set `first_start' to 0 for non-PC/MSDOS partition maps.
43781
43782 2008-02-16 Robert Millan <rmh@aybabtu.com>
43783
43784 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43785 do not assume partition map is PC/MSDOS before performing checks that
43786 are specific to that layout.
43787
43788 2008-02-13 Robert Millan <rmh@aybabtu.com>
43789
43790 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43791 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43792 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43793
43794 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43795
43796 * configure.ac: Only a cosmetic change on the handling of
43797 -fno-stack-protector.
43798
43799 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
43800
43801 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43802 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43803 reboot.c.
43804 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43805 (halt_mod_SOURCES): New variable.
43806 (halt_mod_CFLAGS): Likewise.
43807 (halt_mod_LDFLAGS): Likewise.
43808 (reboot_mod_SOURCES): Likewise.
43809 (reboot_mod_CFLAGS): Likewise.
43810 (reboot_mod_LDFLAGS): Likewise.
43811
43812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43813 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43814 reboot.c.
43815 (halt_mod_SOURCES): Likewise.
43816 (reboot_mod_SOURCES): Likewise.
43817
43818 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43819 commands/i386/pc/reboot.c by commands/reboot.c.
43820 (reboot_mod_SOURCES): Likewise.
43821
43822 * commands/i386/pc/reboot.c: merge this file ...
43823
43824 * commands/ieee1275/reboot.c: ... and this file ...
43825
43826 * commands/reboot.c: ... to this file.
43827 Add some precompiler directive to include the correct header for
43828 each machine.
43829
43830 * commands/ieee1275/halt.c: move this file ...
43831
43832 * commands/halt.c: ... to here.
43833 Add some precompiler directive to include the correct header for
43834 each machine.
43835
43836 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43837 (grub_halt): Likewise.
43838
43839 * kern/efi/efi.c (grub_reboot): New function.
43840 (grub_halt): Likewise.
43841
43842 2008-02-12 Robert Millan <rmh@aybabtu.com>
43843
43844 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43845 /dev (like it is done for /dev/mapper). This doesn't provide support
43846 for EVMS, but at least it is now easy to identify the problem when it
43847 arises.
43848
43849 2008-02-11 Robert Millan <rmh@aybabtu.com>
43850
43851 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43852 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43853 comparing it with -1, not 0.
43854
43855 2008-02-10 Robert Millan <rmh@aybabtu.com>
43856
43857 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43858 `disk/lvm.c'.
43859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43860 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43861
43862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43863 `disk/lvm.c' to the end of the list.
43864 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43865 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43866
43867 2008-02-10 Robert Millan <rmh@aybabtu.com>
43868
43869 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43870 grub_print_error() instead. This will let user know why we're entering
43871 rescue mode.
43872 Based on suggestions from Sam Morris.
43873
43874 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
43875
43876 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43877 on remaining N args, instead of "--" arg N times.
43878
43879 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43880
43881 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43882 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43883 pattern for unknown glyphs.
43884
43885 2008-02-09 Robert Millan <rmh@aybabtu.com>
43886
43887 * configure.ac: Probe for `help2man'.
43888 * Makefile.in (builddir): New variable.
43889 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43890 or otherwise add a few flags/options to it.
43891 (install-local): For every executable utility or script that is
43892 installed, invoke $(HELP2MAN) to install a manpage based on --help
43893 output.
43894
43895 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43896 that it doesn't prevent --help from working in build tree.
43897
43898 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43899 with `bug-grub@gnu.org'.
43900 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43901 * util/update-grub.in (usage): New function.
43902 Implement proper argument check, with support for --help and --version
43903 (as well as existing -y).
43904
43905 2008-02-09 Christian Franke <franke@computer.org>
43906
43907 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43908 avoid overwriting previous output.
43909 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43910
43911 2008-02-09 Robert Millan <rmh@aybabtu.com>
43912
43913 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43914 drawing the menu.
43915
43916 2008-02-09 Robert Millan <rmh@aybabtu.com>
43917
43918 * commands/sleep.c: New file.
43919 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43920 (sleep_mod_SOURCES): New variable.
43921 (sleep_mod_CFLAGS): Likewise.
43922 (sleep_mod_LDFLAGS): Likewise.
43923
43924 2008-02-09 Robert Millan <rmh@aybabtu.com>
43925
43926 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43927 situations in which we can deduce the RAID size and the superblock
43928 doesn't match it.
43929
43930 2008-02-09 Robert Millan <rmh@aybabtu.com>
43931
43932 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43933 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43934 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43935
43936 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43937 and return a grub_diskmemberlist_t composed of physical array members.
43938 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43939
43940 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43941 prototype.
43942 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43943 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43944 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43945
43946 * util/grub-probe.c (probe): Move partmap probing code from here ...
43947 (probe_partmap): ... to here.
43948 (probe): Use probe_partmap() once for the disk we're probing, and
43949 additionally, when such disk contains a memberlist() struct member,
43950 once for each disk that is contained in the structure returned by
43951 memberlist().
43952
43953 2008-02-09 Robert Millan <rmh@aybabtu.com>
43954
43955 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43956 environment variable to 'all' in order to obtain debug output from
43957 non-util/ code.
43958 * util/i386/pc/grub-setup.c (main): Likewise.
43959
43960 2008-02-08 Robert Millan <rmh@aybabtu.com>
43961
43962 * disk/raid.c (grub_raid_scan_device): Check for
43963 `array->device[sb.this_disk.number]' rather than for
43964 `array->device[sb.this_disk.number]->name', since the latter is not
43965 guaranteed to be accessible.
43966
43967 2008-02-08 Robert Millan <rmh@aybabtu.com>
43968
43969 * disk/raid.c: Update copyright.
43970 * fs/cpio.c: Likewise.
43971 * include/grub/raid.h: Likewise.
43972 * loader/i386/pc/multiboot.c: Likewise.
43973 * util/hostfs.c: Likewise.
43974
43975 2008-02-08 Robert Millan <rmh@aybabtu.com>
43976
43977 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43978 to a grub_disk_t array.
43979 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43980 `device[x]'.
43981 (grub_raid_scan_device): Replace `device[x].name' accesses with
43982 `device[x]->name'. Simplify initialization of `array->device[x]'.
43983
43984 2008-02-08 Robert Millan <rmh@aybabtu.com>
43985
43986 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43987 grub_dprintf() calls.
43988 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43989 error message.
43990
43991 2008-02-07 Christian Franke <franke@computer.org>
43992
43993 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43994 instead of fseek and ftell to support large files.
43995 (grub_hostfs_read): Likewise.
43996
43997 2008-02-07 Robert Millan <rmh@aybabtu.com>
43998
43999 Patch from Jeroen Dekkers.
44000 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
44001 failure, since successfully reading all array members might not be
44002 required.
44003
44004 2008-02-06 Robert Millan <rmh@aybabtu.com>
44005
44006 * util/grub-probe.c (probe): Simplify partmap probing (with the
44007 assumption that the first word up to the underscore equals to
44008 the module name).
44009
44010 2008-02-06 Christian Franke <franke@computer.org>
44011
44012 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44013 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44014 last block of a cpio or tar stream.
44015 Check for "TRAILER!!!" instead of any empty data
44016 block to detect last block of a cpio stream.
44017 (grub_cpio_dir): Fix constness of variable np.
44018 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44019 cpio or tar trailer is detected. This fixes a crash
44020 on open of a non existing file.
44021
44022 2008-02-05 Bean <bean123ch@gmail.com>
44023
44024 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44025 address of entry.
44026 (grub_multiboot_load_elf64): Likewise.
44027 (grub_multiboot): Initialize mbi structure.
44028
44029 * util/grub-fstest.c: Don't include unused header file script.h.
44030
44031 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
44032 of file.
44033 (grub_fstest_SOURCES): Likewise.
44034
44035 2008-02-05 Robert Millan <rmh@aybabtu.com>
44036
44037 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44038 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44039 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44040 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44041
44042 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44043 (translation_table): Replace hardcoded values with macros
44044 provided by `<grub/term.h>'.
44045
44046 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44047 (keyboard_map): Correct/add a few values, with macros provided
44048 by `<grub/term.h>'.
44049 (keyboard_map_shift): Zero values that don't differ from their
44050 `keyboard_map' equivalents.
44051 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44052 Discard the second scan code that is always sent by Caps lock.
44053 Only use `keyboard_map_shift' when it provides a non-zero value,
44054 otherwise fallback to `keyboard_map'.
44055
44056 2008-02-04 Bean <bean123ch@gmail.com>
44057
44058 * Makefile.in (enable_grub_fstest): New variable.
44059
44060 * conf/common.rmk (grub_fstest_init.lst): New rule.
44061 (grub_fstest_init.h): Likewise.
44062 (grub_fstest_init.c): Likewise.
44063 (util/grub-fstest.c_DEPENDENCIES): New variable.
44064 (grub_fstest_SOURCES): Likewise.
44065
44066 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44067
44068 * util/grub-fstest.c: New file.
44069
44070 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44071
44072 Make grub-setup handle a separate root device.
44073
44074 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44075 so that the root device can be compared with the destination
44076 device.
44077 When embedding the core image, if the root and destination devices
44078 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44079 0xFF.
44080 When not embedding, set ROOT_DRIVE to 0xFF.
44081
44082 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44083
44084 Add support for having a grub directory in a different drive. This
44085 is still only the data handling part.
44086
44087 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44088 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44089 (grub_root_drive): New variable.
44090
44091 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44092 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44093 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44094 as it was.
44095
44096 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44097
44098 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44099 macro.
44100 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44101
44102 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44103 is bogus, because PXE booting does not specify any drive
44104 correctly.
44105
44106 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44107 am not sure if this is really correct.
44108
44109 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44110 is always identical to the boot drive when booting from a CD.
44111
44112 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44113 longer.
44114 (root_drive): New variable.
44115 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44116 (setup_sectors): Push %dx right after popping it, because %dh will
44117 be modified later.
44118 (copy_buffer): Restore %dx.
44119
44120 2008-02-03 Robert Millan <rmh@aybabtu.com>
44121
44122 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44123 use `cdboot.img' for cdrom images.
44124
44125 2008-02-03 Robert Millan <rmh@aybabtu.com>
44126
44127 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44128 only setup gfxterm when `font' command has succeeded.
44129
44130 2008-02-03 Robert Millan <rmh@aybabtu.com>
44131
44132 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44133 (grub_rescue_cmd_multiboot_loader)
44134 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44135
44136 2008-02-03 Pavel Roskin <proski@gnu.org>
44137
44138 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
44139 %edx and %esi from stack only after grub_gate_a20() is called.
44140 grub_gate_a20() clobbers %edx.
44141
44142 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44143
44144 * configure.ac (AC_INIT): Bumped to 1.96.
44145
44146 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44147 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44148 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44149 video/readers/png.c.
44150
44151 2008-02-03 Bean <bean123ch@gmail.com>
44152
44153 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44154 (cdboot_img_SOURCES): New variable.
44155 (cdboot_img_ASFLAGS): New variable.
44156 (cdboot_img_LDFLAGS): New variable.
44157
44158 * boot/i386/pc/cdboot.S: New file.
44159
44160 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44161 (cd_count): Likewise.
44162 (grub_biosdisk_get_drive): Add support for cd device.
44163 (grub_biosdisk_call_hook): Likewise.
44164 (grub_biosdisk_iterate): Likewise.
44165 (grub_biosdisk_open): Likewise.
44166 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44167 (grub_biosdisk_rw): Support reading from cd device.
44168 (GRUB_MOD_INIT): Iterate cd devices.
44169
44170 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44171 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44172 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44173
44174 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44175
44176 2008-02-02 Robert Millan <rmh@aybabtu.com>
44177
44178 * commands/read.c: New file.
44179 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44180 (read_mod_SOURCES): New variable.
44181 (read_mod_CFLAGS): Likewise.
44182 (read_mod_LDFLAGS): Likewise.
44183
44184 2008-02-02 Robert Millan <rmh@aybabtu.com>
44185
44186 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44187 determining whether menu has to be displayed.
44188
44189 2008-02-02 Marco Gerards <marco@gnu.org>
44190
44191 * bus/pci.c: New file.
44192
44193 * include/grub/pci.h: Likewise.
44194
44195 * include/grub/i386/pc/pci.h: Likewise.
44196
44197 * commands/lspci.c: Likewise.
44198
44199 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44200 `lspci.mod'.
44201 (pci_mod_SOURCES): New variable.
44202 (pci_mod_CFLAGS): Likewise.
44203 (pci_mod_LDFLAGS): Likewise.
44204 (lspci_mod_SOURCES): Likewise.
44205 (lspci_mod_CFLAGS): Likewise.
44206 (lspci_mod_LDFLAGS): Likewise.
44207
44208 2008-02-02 Bean <bean123ch@gmail.com>
44209
44210 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44211 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44212
44213 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44214 (grub_xfs_btree_node): New structure.
44215 (grub_xfs_btree_root): New structure.
44216 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44217 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44218 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44219 (GRUB_XFS_EXTENT_SIZE): Likewise.
44220 (grub_xfs_read_block): Support btree format type.
44221 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44222 Use directory block as basic unit.
44223
44224 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44225
44226 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44227 __attribute__ ((__regparm__ (1))).
44228
44229 2008-02-01 Robert Millan <rmh@aybabtu.com>
44230
44231 Correct a mistake in previous commit.
44232
44233 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44234 top.
44235 (normal/command.c_DEPENDENCIES): New variable.
44236
44237 2008-02-01 Robert Millan <rmh@aybabtu.com>
44238
44239 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44240 top.
44241 (normal/command.c_DEPENDENCIES): New variable.
44242 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44243 * conf/i386-ieee1275.rmk: Likewise.
44244 * conf/i386-linuxbios.rmk: Likewise.
44245 * conf/i386-pc.rmk: Likewise.
44246 * conf/sparc64-ieee1275.rmk: Likewise.
44247 * conf/powerpc-ieee1275.rmk: Likewise.
44248 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44249
44250 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44251
44252 2008-02-01 Robert Millan <rmh@aybabtu.com>
44253
44254 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44255 call at beginning of function.
44256
44257 2008-01-31 Pavel Roskin <proski@gnu.org>
44258
44259 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
44260 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44261 (grub_mkrescue_SOURCES): Likewise.
44262 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44263
44264 2008-01-30 Robert Millan <rmh@aybabtu.com>
44265
44266 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44267 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44268 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44269 (grub_probe_SOURCES): ... to here.
44270
44271 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44272 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44273 * conf/i386-ieee1275.rmk: Likewise.
44274 * conf/i386-linuxbios.rmk: Likewise.
44275 * conf/powerpc-ieee1275.rmk: Likewise.
44276
44277 2008-01-30 Tristan Gingold <gingold@free.fr>
44278
44279 * kern/rescue.c: Silently accept empty lines.
44280
44281 2008-01-29 Bean <bean123ch@gmail.com>
44282
44283 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44284 (real_code_2): Code cleanup and change comment style.
44285 (move_memory): Avoid using 32-bit address mode.
44286
44287 2008-01-29 Bean <bean123ch@gmail.com>
44288
44289 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44290 (png_mod_SOURCES): New variable.
44291 (png_mod_CFLAGS): Likewise.
44292 (png_mod_LDFLAGS): Likewise.
44293
44294 * video/readers/png.c: New file.
44295
44296 2008-01-28 Robert Millan <rmh@aybabtu.com>
44297
44298 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44299 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44300 `ifndef GRUB_MOD_GAP' hack.
44301 * util/elf/grub-mkimage.c (add_segments): Likewise.
44302
44303 2008-01-27 Robert Millan <rmh@aybabtu.com>
44304
44305 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44306 `GRUB_MOD_GAP' for platforms in which it's not defined.
44307 * util/elf/grub-mkimage.c (add_segments): Likewise.
44308
44309 2008-01-27 Robert Millan <rmh@aybabtu.com>
44310
44311 Get grub-emu to build again (including parallel builds).
44312
44313 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44314 Split into ...
44315 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44316 (normal/execute.c_DEPENDENCIES): ... this, ...
44317 (grub-emu_DEPENDENCIES): ... and this.
44318
44319 * conf/i386-efi.rmk: Likewise.
44320 * conf/i386-linuxbios.rmk: Likewise.
44321 * conf/i386-ieee1275.rmk: Likewise.
44322 * conf/powerpc-ieee1275.rmk: Likewise.
44323 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44324
44325 2008-01-27 Robert Millan <rmh@aybabtu.com>
44326
44327 * NEWS: Add a few items.
44328
44329 2008-01-27 Robert Millan <rmh@aybabtu.com>
44330
44331 Fix parallel builds with grub-emu. Based on earlier commit for
44332 grub-probe and grub-setup.
44333
44334 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44335 (util/grub-emu.c_DEPENDENCIES): ... this.
44336 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44337 (util/grub-emu.c_DEPENDENCIES): ... this.
44338 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44339 (util/grub-emu.c_DEPENDENCIES): ... this.
44340 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44341 (util/grub-emu.c_DEPENDENCIES): ... this.
44342 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44343 (util/grub-emu.c_DEPENDENCIES): ... this.
44344
44345 2008-01-27 Pavel Roskin <proski@gnu.org>
44346
44347 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44348 to create a gap between _end and the modules added to the image
44349 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44350 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44351 * util/elf/grub-mkimage.c (add_segments): Likewise.
44352
44353 2008-01-26 Pavel Roskin <proski@gnu.org>
44354
44355 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44356 just return an error.
44357
44358 2008-01-26 Bean <bean123ch@gmail.com>
44359
44360 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44361 (grub_reiserfs_get_item): Save offset of the next item.
44362 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44363
44364 2008-01-25 Robert Millan <rmh@aybabtu.com>
44365
44366 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44367 make all filesystem sources appear together (possibly fixing omissions
44368 while at it).
44369 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44370 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44371 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44373
44374 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44375 add `kern/file.c'.
44376 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44377 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44378 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44379 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44380
44381 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44382 (probe): Add a sanity check to make sure of our ability to read
44383 requested files when probing for filesystem type.
44384
44385 * genmk.rb: Update copyright year (2007).
44386
44387 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44388 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44389 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44390 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44391 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44392 : Remove function prototypes.
44393
44394 2008-01-25 Robert Millan <rmh@aybabtu.com>
44395
44396 Revert my previous commits (based on wrong assumption of how grub_errno
44397 works).
44398
44399 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
44400 * kern/file.c (grub_file_open): Likewise.
44401
44402 2008-01-24 Pavel Roskin <proski@gnu.org>
44403
44404 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44405 that hang if GRUB tries to setup colors.
44406 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44407 colors for firmwares that don't support it.
44408 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44409 Recognize Open Hack'Ware, set flags to work around its
44410 limitations.
44411
44412 2008-01-24 Robert Millan <rmh@aybabtu.com>
44413
44414 * kern/file.c (grub_file_open): Do not account previous failures of
44415 unrelated functions when grub_errno is checked for.
44416 Reported by Oleg Strikov.
44417
44418 2008-01-24 Bean <bean123ch@gmail.com>
44419
44420 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44421 (grub_ufs_sblock): New member volume name.
44422 (grub_ufs_find_file): Fix string copy bug.
44423 (grub_ufs_label): Implement this function properly.
44424
44425 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44426 (grub_hfs_iterate_records): Use the correct file number for extents
44427 and catalog file. Fix problem in next index calculation.
44428 (grub_hfs_find_node): Replace recursive function call with loop.
44429 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44430
44431 2008-01-23 Robert Millan <rmh@aybabtu.com>
44432
44433 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44434 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44435 (grub_multiboot2_real_boot): New function prototype.
44436
44437 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44438 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44439
44440 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44441 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44442
44443 2008-01-23 Robert Millan <rmh@aybabtu.com>
44444
44445 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44446 #ifdef'ed out grub_printf().
44447
44448 2008-01-23 Robert Millan <rmh@aybabtu.com>
44449
44450 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44451 grub_dprintf calls, since they make "debug=all" mode unusable.
44452 (grub_console_checkkey): Likewise.
44453
44454 2008-01-23 Robert Millan <rmh@aybabtu.com>
44455
44456 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44457 `term/i386/pc/at_keyboard.c'.
44458 (pkglib_MODULES): Add `serial.mod'.
44459 (serial_mod_SOURCES): New variable.
44460 (serial_mod_CFLAGS): Likewise.
44461 (serial_mod_LDFLAGS): Likewise.
44462
44463 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44464 `<grub/powerpc/ieee1275/console.h>'.
44465 (grub_keyboard_controller_init): New function prototype.
44466 (grub_console_checkkey): Likewise.
44467 (grub_console_getkey): Likewise.
44468
44469 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44470 keyboard on i386.
44471
44472 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44473 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44474
44475 2008-01-23 Robert Millan <rmh@aybabtu.com>
44476
44477 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44478 present, "(memdisk)/boot/grub" becomes the default prefix.
44479
44480 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44481 a memdisk tarball with all the modules. Add --overlay=DIR option that
44482 allows users to overlay additional files into the image.
44483
44484 2008-01-23 Robert Millan <rmh@aybabtu.com>
44485
44486 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44487 and `machine/memory.h'.
44488 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44489 (_multiboot_mod_SOURCES): New variable.
44490 (_multiboot_mod_CFLAGS): Likewise.
44491 (_multiboot_mod_LDFLAGS): Likewise.
44492 (multiboot_mod_SOURCES): Likewise.
44493 (multiboot_mod_CFLAGS): Likewise.
44494 (multiboot_mod_LDFLAGS): Likewise.
44495
44496 * include/grub/i386/ieee1275/loader.h: New file.
44497
44498 * include/grub/i386/ieee1275/machine.h: Likewise.
44499
44500 * include/grub/i386/ieee1275/memory.h: Likewise.
44501
44502 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44503 variable declaration.
44504 (grub_os_area_size): Likewise.
44505
44506 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44507 (grub_lower_mem, grub_upper_mem): New variables.
44508 (grub_stop_floppy): New function (just to make
44509 grub_multiboot2_real_boot() happy).
44510
44511 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44512 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44513 (grub_stop): New function.
44514 Include `"../realmode.S"' and `"../loader.S"'.
44515
44516 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44517 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44518
44519 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44520 rely on grub_multiboot2_real_boot() for final boot.
44521
44522 2008-01-22 Robert Millan <rmh@aybabtu.com>
44523
44524 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44525 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44526 device that doesn't look like an SD card.
44527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44528 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44529 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44530 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44531 found.
44532
44533 2008-01-22 Robert Millan <rmh@aybabtu.com>
44534
44535 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44536 avoid claiming over our own code.
44537
44538 2008-01-22 Bean <bean123ch@gmail.com>
44539
44540 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44541 (jpeg_mod_SOURCES): New variable.
44542 (jpeg_mod_CFLAGS): Likewise.
44543 (jpeg_mod_LDFLAGS): Likewise.
44544
44545 * video/readers/jpeg.c : New file.
44546
44547 2008-01-22 Bean <bean123ch@gmail.com>
44548
44549 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44550 there are no more items.
44551
44552 2008-01-21 Robert Millan <rmh@aybabtu.com>
44553
44554 * kern/mm.c (grub_mm_init_region): Improve debug message.
44555
44556 2008-01-21 Robert Millan <rmh@aybabtu.com>
44557
44558 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44559 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44560 address.
44561 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44562 a C macro.
44563 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44564 Indicates start of upper memory.
44565 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44566 (generate_image): Abort when image size is big enough to corrupt
44567 upper memory.
44568
44569 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44570 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44571 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44572 instead of hardcoding 0xA0000.
44573 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44574 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44575 instead of hardcoding 0xA0000.
44576
44577 2008-01-21 Robert Millan <rmh@aybabtu.com>
44578
44579 * disk/memdisk.c (memdisk_size): New variable.
44580 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44581 `memdisk_size'.
44582 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44583 image to dynamic memory.
44584 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44585 `memdisk_size'. Free memdisk block.
44586
44587 2008-01-21 Robert Millan <rmh@aybabtu.com>
44588
44589 Fix detection of very small filesystems (like tar).
44590
44591 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44592 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44593 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44594 a problem with this disk).
44595
44596 2008-01-21 Robert Millan <rmh@aybabtu.com>
44597
44598 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44599 on grub_biosdisk_rw_standard() error.
44600
44601 2008-01-21 Robert Millan <rmh@aybabtu.com>
44602
44603 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44604 recent changes.
44605 * kern/elf.c: Likewise.
44606 * kern/ieee1275/ieee1275.c: Likewise.
44607 * kern/powerpc/ieee1275/openfw.c: Likewise.
44608 * term/ieee1275/ofconsole.c: Likewise.
44609
44610 2008-01-21 Robert Millan <rmh@aybabtu.com>
44611
44612 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44613
44614 * include/grub/kernel.h (grub_arch_memdisk_addr)
44615 (grub_arch_memdisk_size): Moved from here ...
44616
44617 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44618 (grub_arch_memdisk_size): ... to here.
44619
44620 2008-01-21 Robert Millan <rmh@aybabtu.com>
44621
44622 Mostly based on bugfix from Bean.
44623
44624 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44625 attribute with hook() parameter.
44626 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44627 declaration.
44628 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44629 attribute with hook() parameter.
44630 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44631 declaration.
44632
44633 2008-01-21 Robert Millan <rmh@aybabtu.com>
44634
44635 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44636 (pkglib_MODULES): Add `memdisk.mod'.
44637 (memdisk_mod_SOURCES): New variable.
44638 (memdisk_mod_CFLAGS): Likewise.
44639 (memdisk_mod_LDFLAGS): Likewise.
44640
44641 * disk/memdisk.c: New file.
44642
44643 * include/grub/disk.h (grub_disk_dev_id): Add
44644 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44645
44646 * include/grub/i386/pc/kernel.h
44647 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44648 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44649 (grub_kernel_image_size): New variable declaration.
44650 (grub_total_module_size): Likewise.
44651 (grub_memdisk_image_size): Likewise.
44652
44653 * include/grub/i386/pc/memory.h
44654 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44655
44656 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44657 (grub_arch_memdisk_addr): New variable declaration.
44658 (grub_arch_memdisk_size): Likewise.
44659
44660 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44661 (grub_arch_memdisk_size): Likewise.
44662
44663 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44664 (codestart): Replace hardcoded `0x100000' with
44665 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44666
44667 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44668 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44669 not NULL, append the contents of the file it refers to, at the end of
44670 the compressed kernel image. Initialize `grub_memdisk_image_size'
44671 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44672 (options): Add "memdisk"|'m' option.
44673 (main): Parse --memdisk|-m option, and pass user-provided path as
44674 parameter to generate_image().
44675
44676 2008-01-20 Robert Millan <rmh@aybabtu.com>
44677
44678 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44679 grub_dprintf() calls from here ...
44680 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44681
44682 2008-01-20 Robert Millan <rmh@aybabtu.com>
44683
44684 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44685
44686 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44687 declaration.
44688 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44689 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44690 `GRUB_IEEE1275_FLAG_REAL_MODE'.
44691 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
44692 property).
44693 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44694 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44695
44696 2008-01-19 Robert Millan <rmh@aybabtu.com>
44697
44698 Get rid of confusing function (superseded by
44699 `grub_ieee1275_get_integer_property')
44700 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44701 prototype.
44702 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44703 function.
44704 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44705 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
44706 in native endianness from grub_ieee1275_get_integer_property().
44707
44708 2008-01-19 Robert Millan <rmh@aybabtu.com>
44709
44710 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44711 command after "shut-down", since implementations differ on which
44712 the command for halt is.
44713
44714 2008-01-19 Robert Millan <rmh@aybabtu.com>
44715
44716 * include/grub/i386/linuxbios/console.h: Add header protection.
44717 (grub_keyboard_controller_init): New function prototype.
44718 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44719 (KEYBOARD_COMMAND_READ): Likewise.
44720 (KEYBOARD_COMMAND_WRITE): Likewise.
44721 (KEYBOARD_SCANCODE_SET1): Likewise.
44722 (grub_keyboard_controller_write): New function.
44723 (grub_keyboard_controller_read): Likewise.
44724 (grub_keyboard_controller_init): Likewise.
44725
44726 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44727 (grub_console_init): On coreboot/LinuxBIOS, call
44728 grub_keyboard_controller_init().
44729
44730 2008-01-19 Robert Millan <rmh@aybabtu.com>
44731
44732 PowerPC changes provided by Pavel Roskin.
44733
44734 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44735 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44736 don't rely on cmain() doing it.
44737 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44738 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44739
44740 2008-01-16 Robert Millan <rmh@aybabtu.com>
44741
44742 * include/grub/i386/linuxbios/memory.h
44743 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44744 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44745 receive `table_header' as argument. Instead, probe for it in the
44746 known memory ranges where it can be present.
44747 (grub_available_iterate): Do not pass a fixed `table_header' address
44748 to grub_linuxbios_table_iterate().
44749
44750 2008-01-15 Robert Millan <rmh@aybabtu.com>
44751
44752 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44753 * conf/i386-ieee1275.rmk: New file.
44754 * include/grub/i386/ieee1275/console.h: Likewise.
44755 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44756 * include/grub/i386/ieee1275/kernel.h: Likewise.
44757 * include/grub/i386/ieee1275/time.h: Likewise.
44758 * kern/i386/ieee1275/init.c: Likewise.
44759 * kern/i386/ieee1275/startup.S: Likewise.
44760
44761 2008-01-15 Robert Millan <rmh@aybabtu.com>
44762
44763 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44764 when pointers are 32-bit (but still do set it to one when they are
44765 64-bit).
44766
44767 2008-01-15 Robert Millan <rmh@aybabtu.com>
44768
44769 * include/grub/ieee1275/ieee1275.h
44770 (grub_ieee1275_get_integer_property): New function prototype.
44771
44772 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44773 (grub_ieee1275_get_integer_property): New function. Wraps around
44774 grub_ieee1275_get_property() to handle endianness.
44775
44776 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44777 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
44778 where appropriate.
44779 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44780 (grub_map): Likewise.
44781 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44782
44783 2008-01-15 Bean <bean123ch@gmail.com>
44784
44785 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44786 (grub_script_execute_cmdline): Reset grub_errno.
44787
44788 * normal/main.c (read_config_file): Reset grub_errno.
44789
44790 * normal/parse.y (script_init): New.
44791 (script): Move function and menuentry here.
44792 (delimiter): New.
44793 (command): Add delimiter at the end of command.
44794 (commands): Adjust to match the new command.
44795 (commandblock): Remove grub_script_lexer_record_start.
44796 (menuentry): Add grub_script_lexer_record_start, use the new commands.
44797 (if): Use the new commands.
44798
44799 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44800
44801 2008-01-15 Robert Millan <rmh@aybabtu.com>
44802
44803 * normal/menu.c (run_menu): Move timeout message from here ...
44804 (print_timeout): ... to here.
44805 (run_menu): Use print_timeout() once during initial draw to print
44806 the whole message, and again in every clock tick to update only
44807 the number of seconds.
44808
44809 2008-01-15 Robert Millan <rmh@aybabtu.com>
44810
44811 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44812 actual size of `available' from grub_ieee1275_get_property(), and
44813 restrict parsing to that bound.
44814
44815 2008-01-15 Christian Franke <franke@computer.org>
44816
44817 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44818 (argp_program_version): Remove variable.
44819 (argp_program_bug_address): Likewise.
44820 (options): Convert from struct argp_option to struct option.
44821 (struct arguments): Remove.
44822 (parse_opt): Remove.
44823 (usage): New function.
44824 (main): Replace struct args members by simple variables.
44825 Replace argp_parse() by getopt_long().
44826 Add switch to evaluate options.
44827 Add missing "(...)" around root_dev in prefix string.
44828
44829 2008-01-14 Robert Millan <rmh@aybabtu.com>
44830
44831 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44832 for grub_ieee1275_exit(), in order to improve portability.
44833
44834 2008-01-14 Robert Millan <rmh@aybabtu.com>
44835
44836 * util/grub.d/10_linux.in (prefix): Define.
44837 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44838
44839 2008-01-13 Pavel Roskin <proski@gnu.org>
44840
44841 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44842 grub_errno if no errors have been detected.
44843
44844 2008-01-12 Robert Millan <rmh@aybabtu.com>
44845
44846 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44847 (grub_util_get_dev_abstraction): New function prototype.
44848
44849 * util/getroot.c: Include `<grub/util/getroot.h>'
44850 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44851 (grub_util_get_dev_abstraction): ... here (new function).
44852
44853 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44854 `PRINT_ABSTRACTION'.
44855 (probe): Probe for abstraction type when requested.
44856 (main): Understand `--target=abstraction'.
44857
44858 * util/i386/efi/grub-install.in: Add abstraction module to core
44859 image when it is found to be necessary.
44860 * util/i386/pc/grub-install.in: Likewise.
44861 * util/powerpc/ieee1275/grub-install.in: Likewise.
44862
44863 * util/update-grub_lib.in (font_path): Return system path without
44864 converting to GRUB path.
44865 * util/update-grub.in: Convert system path returned by font_path()
44866 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44867 abstraction module is needed for loading fonts (if any). Export
44868 that as `GRUB_PRELOAD_MODULES'.
44869 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44870 insmod commands).
44871
44872 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44873
44874 Remove some unused code from reiserfs.
44875
44876 * fs/reiserfs.c (struct grub_reiserfs_key)
44877 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44878 (struct grub_reiserfs_node_body): Removed.
44879 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44880 Likewise.
44881 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44882 Likewise.
44883 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44884 Likewise.
44885 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44886 Likewise.
44887 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44888 Likewise.
44889 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44890 Likewise.
44891 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44892 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44893 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44894
44895 2008-01-10 Robert Millan <rmh@aybabtu.com>
44896
44897 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44898 Determines if a file is garbage left by packaging systems, etc.
44899 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44900 for processing /etc/grub.d scripts.
44901 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44902 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44903 as a condition for processing Linux images.
44904
44905 2008-01-10 Pavel Roskin <proski@gnu.org>
44906
44907 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44908 to compile reiserfs.c on PowerPC.
44909
44910 2008-01-10 Robert Millan <rmh@aybabtu.com>
44911
44912 * kern/device.c (grub_device_iterate): Do not abort device iteration
44913 when one of the devices cannot be opened.
44914 * kern/disk.c (grub_disk_open): Do not account previous failures of
44915 unrelated functions when grub_errno is checked for.
44916
44917 2008-01-08 Robert Millan <rmh@aybabtu.com>
44918
44919 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44920 `! grub_linux_is_bzimage', change order of address comparison to make
44921 it more intuitive, and improve "too big zImage" error message.
44922
44923 2008-01-08 Robert Millan <rmh@aybabtu.com>
44924
44925 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44926 `$(update-grub_DATA)'.
44927 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44928 targets.
44929
44930 2008-01-07 Robert Millan <rmh@aybabtu.com>
44931
44932 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44933 which instruction is modified by grub-setup during installation
44934 (since it wasn't obvious by only looking at this file).
44935
44936 2008-01-07 Robert Millan <rmh@aybabtu.com>
44937
44938 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44939 listing actual TODO items.
44940
44941 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44942
44943 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44944 correctly.
44945 (grub_reiserfs_get_key_offset): Likewise.
44946 (grub_reiserfs_set_key_offset): Likewise.
44947 (grub_reiserfs_set_key_type): Likewise.
44948 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
44949
44950 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44951 better to remove the bitfield version completely.
44952
44953 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44954
44955 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44956 allocated from the heap, due to the fshelp implementation.
44957 (grub_reiserfs_dir): Free NODE, due to the same reason.
44958
44959 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44960
44961 Mostly from Vincent Pelletier:
44962
44963 * fs/reiserfs.c: New file.
44964
44965 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44966 (reiserfs_mod_SOURCES): New variable.
44967 (reiserfs_mod_CFLAGS): Likewise.
44968 (reiserfs_mod_LDFLAGS): Likewise.
44969
44970 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44971 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44972 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44973 normal/color.c.
44974
44975 2008-01-06 Robert Millan <rmh@aybabtu.com>
44976
44977 * normal/color.c: Remove `<grub/env.h>'.
44978
44979 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44980
44981 * include/grub/normal.h: Include <grub/env.h>.
44982
44983 2008-01-05 Robert Millan <rmh@aybabtu.com>
44984
44985 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44986 usage example with `(hd0,1)'.
44987 Reported by Samuel Thibault.
44988
44989 2008-01-05 Robert Millan <rmh@aybabtu.com>
44990
44991 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44992 (grub_linux_boot_zimage): Rename to ...
44993 (grub_linux_boot): ... this.
44994 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44995 (grub_linux_boot_zimage): Conditionalize zImage copy.
44996
44997 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44998 (grub_linux_boot_bzimage): Remove prototype.
44999 (grub_linux_boot_zimage): Rename to ...
45000 (grub_linux_boot): ... this.
45001
45002 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45003 (grub_linux_boot): Remove function.
45004
45005 2008-01-05 Robert Millan <rmh@aybabtu.com>
45006
45007 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45008 (grub_env_write_color_highlight): Likewise.
45009 (grub_wait_after_message): Likewise.
45010
45011 * normal/color.c: New file.
45012
45013 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45014 (normal_mod_DEPENDENCIES): Likewise.
45015
45016 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45017 (normal_mod_DEPENDENCIES): Likewise.
45018
45019 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45020 (normal_mod_DEPENDENCIES): Likewise.
45021
45022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45023 (normal_mod_DEPENDENCIES): Likewise.
45024
45025 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45026 for waiting after a message is printed.
45027 * normal/main.c (read_config_file): Likewise.
45028 (grub_normal_init): Register grub_env_write_color_normal() and
45029 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45030 `color_highlight' variables as global.
45031
45032 * normal/menu.c (grub_wait_after_message): New function.
45033 (grub_color_menu_normal): New variable. Replaces ...
45034 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45035 (grub_color_menu_highlight): New variable. Replaces ...
45036 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45037 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45038 `GRUB_TERM_COLOR_STANDARD'.
45039 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45040 `normal_code' and `highlight_code' to `old_color_normal' and
45041 `old_color_highlight', respectively.
45042 (grub_menu_init_page): Update colors when drawing the menu, based on
45043 `menu_color_normal' and `menu_color_highlight' variables.
45044 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45045 a message is printed.
45046
45047 2008-01-05 Robert Millan <rmh@aybabtu.com>
45048
45049 * kern/env.c (grub_env_context_open): Propagate hooks for global
45050 variables to new context.
45051
45052 * kern/main.c (grub_set_root_dev): Export `root' variable.
45053
45054 2008-01-05 Robert Millan <rmh@aybabtu.com>
45055
45056 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
45057 discs unconditionally, since udev and others have options to provide
45058 them.
45059
45060 2008-01-05 Robert Millan <rmh@aybabtu.com>
45061
45062 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45063
45064 2008-01-04 Christian Franke <franke@computer.org>
45065
45066 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45067 of eisa_mmap.
45068
45069 2008-01-03 Pavel Roskin <proski@gnu.org>
45070
45071 * kern/i386/linuxbios/init.c: Put "void" to all function
45072 declarations with no arguments.
45073 * kern/powerpc/ieee1275/init.c: Likewise.
45074 * term/i386/pc/at_keyboard.c: Likewise.
45075 * term/i386/pc/vga_text.c: Likewise.
45076 * util/grub-mkdevicemap.c: Likewise.
45077
45078 2008-01-02 Robert Millan <rmh@aybabtu.com>
45079
45080 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45081 message when loaded image is out of bounds.
45082 (grub_multiboot_load_elf64): Likewise.
45083
45084 2008-01-02 Pavel Roskin <proski@gnu.org>
45085
45086 * util/grub.d/10_linux.in: Try version without ".old" when
45087 looking for initrd. It's better to use initrd from the newer
45088 kernel of the same version than no initrd at all.
45089
45090 2008-01-01 Robert Millan <rmh@aybabtu.com>
45091
45092 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45093
45094 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45095
45096 * include/grub/video.h: Added grub_video_unmap_color and
45097 grub_video_get_active_render_target.
45098 (grub_video_adapter): Added unmap_color and get_active_render_target.
45099
45100 * video/video.c: Added grub_video_unmap_color and
45101 grub_video_get_active_render_target.
45102 (grub_video_get_info): Changed method to accept NULL pointer as an
45103 argument to allow detection of active video adapter.
45104
45105 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45106 grub_video_vbe_unmap_color_int.
45107 Added grub_video_vbe_unmap_color and
45108 grub_video_vbe_get_active_render_target.
45109 (grub_video_vbe_adapter): Added unmap_color and
45110 get_active_render_target.
45111
45112 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
45113 with grub_video_vbe_unmap_color_int.
45114
45115 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45116 (DEFAULT_NORMAL_COLOR): Likewise.
45117 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45118 (DEFAULT_FG_COLOR): Removed.
45119 (DEFAULT_BG_COLOR): Likewise.
45120 (DEFAULT_CURSOR_COLOR): Changed value.
45121 (grub_virtual_screen): Added standard_color_setting,
45122 normal_color_setting, highlight_color_setting and term_color.
45123 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45124 (bitmap_width): Added.
45125 (bitmap_height): Likewise.
45126 (bitmap): Likewise.
45127 (set_term_color): Likewise.
45128 (grub_virtual_screen_setup): Changed to use new terminal coloring
45129 settings.
45130 (grub_gfxterm_init): Added init for bitmap.
45131 (grub_gfxterm_fini): Added destroy for bitmap.
45132 (redraw_screen_rect): Updated to use background bitmap and new
45133 terminal coloring.
45134 (scroll_up): Added optimization for case when there is no bitmap.
45135 (grub_gfxterm_cls): Fixed to use correct background color.
45136 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45137 coloring.
45138 (grub_virtual_screen_setcolor): Likewise.
45139 (grub_virtual_screen_getcolor): Added.
45140 (grub_gfxterm_background_image_cmd): Likewise.
45141 (grub_video_term): Added setcolor and getcolor.
45142 (MOD_INIT): Added registration of background_image command.
45143 (MOD_TERM): Added unregistration for background_image command.
45144
45145 2007-12-30 Pavel Roskin <proski@gnu.org>
45146
45147 * loader/multiboot_loader.c: Fix multiboot command
45148 unregistration. Fix all typos in the word "multiboot".
45149
45150 2007-12-29 Pavel Roskin <proski@gnu.org>
45151
45152 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45153 support for initrd names used in Fedora.
45154
45155 2007-12-26 Bean <bean123ch@gmail.com>
45156
45157 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45158 (cpio_mod_SOURCES): New variable.
45159 (cpio_mod_CFLAGS): Likewise.
45160 (cpio_mod_LDFLAGS): Likewise.
45161
45162 * fs/cpio.c: New file.
45163
45164 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45165
45166 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45167
45168 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45169
45170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45171
45172 2007-12-25 Robert Millan <rmh@aybabtu.com>
45173
45174 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45175 (grub_getcolor): New function.
45176
45177 * kern/term.c (grub_getcolor): New function.
45178 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45179 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45180 (print_entry): Set normal and highlight colors to
45181 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45182 respectively, before printing and restore them to old
45183 values afterwards.
45184 (grub_menu_init_page): Likewise. Fill an additional colored space
45185 that would otherwise be left blank.
45186
45187 * term/efi/console.c (grub_console_getcolor): New function.
45188 (struct grub_console_term.getcolor): New variable.
45189 * term/i386/pc/console.c (grub_console_getcolor): New function.
45190 (struct grub_console_term.getcolor): New variable.
45191 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45192 (struct grub_console_term.getcolor): New variable.
45193
45194 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45195 (struct grub_console_term.setcolor): Remove variable.
45196 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45197 (struct grub_console_term.setcolor): Remove variable.
45198 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45199 (struct grub_console_term.setcolor): Remove variable.
45200 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45201 (struct grub_console_term.setcolor): Remove variable.
45202
45203 2007-12-25 Robert Millan <rmh@aybabtu.com>
45204
45205 * configure.ac: Search for possible unifont.hex locations, and
45206 define UNIFONT_HEX if found.
45207
45208 * Makefile.in (UNIFONT_HEX): Define variable.
45209 (DATA): Rename to ...
45210 (PKGLIB): ... this. Update all users.
45211 (PKGDATA): New variable.
45212 (pkgdata_IMAGES): Rename to ...
45213 (pkglib_IMAGES): ... this. Update all users.
45214 (pkgdata_MODULES): Rename to ...
45215 (pkglib_MODULES): ... this. Update all users.
45216 (pkgdata_PROGRAMS): Rename to ...
45217 (pkglib_PROGRAMS): ... this. Update all users.
45218 (pkgdata_DATA): Rename to ...
45219 (pkglib_DATA): ... this. Update all users.
45220 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45221 (unicode.pff, ascii.pff): New rules.
45222 (all-local): Add `$(PKGDATA)' dependency.
45223 (install-local): Process `$(PKGDATA)'.
45224
45225 * util/update-grub_lib.in (font_path): Search for *.pff files in
45226 a few more locations, including `${pkgdata}'.
45227
45228 2007-12-23 Robert Millan <rmh@aybabtu.com>
45229
45230 Patch from Bean <bean123ch@gmail.com>:
45231 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45232 `size'.
45233
45234 2007-12-21 Bean <bean123ch@gmail.com>
45235
45236 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45237 (ntfscomp_mod_SOURCES): New variable.
45238 (ntfscomp_mod_CFLAGS): Likewise.
45239 (ntfscomp_mod_LDFLAGS): Likewise.
45240
45241 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45242 (grub_probe_SOURCES): Likewise.
45243 (grub_emu_SOURCES): Likewise.
45244
45245 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45246 (grub_emu_SOURCES): Likewise.
45247
45248 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45249 (grub_emu_SOURCES): Likewise.
45250
45251 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45252 (grub_emu_SOURCES): Likewise.
45253
45254 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45255 (read_run_list): Renamed to grub_ntfs_read_run_list.
45256 (decomp_nextvcn): Moved to ntfscomp.c.
45257 (decomp_getch): Likewise.
45258 (decomp_get16): Likewise.
45259 (decomp_block): Likewise.
45260 (read_block): Likewise.
45261 (read_data): Partially moved to ntfscomp.c.
45262 (fixup): Change unsigned to grub_uint16_t.
45263 (read_mft): Change unsigned long to grub_uint32_t.
45264 (read_attr): Likewise.
45265 (read_data): Likewise.
45266 (read_run_data): Likewise.
45267 (read_run_list): Likewise.
45268 (read_mft): Likewise.
45269
45270 * fs/ntfscomp.c: New file.
45271
45272 * include/grub/ntfs.h: New file.
45273
45274 2007-12-16 Robert Millan <rmh@aybabtu.com>
45275
45276 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45277 IDE disk check, since Linux is known to support 20 IDE disks.
45278 Reported by Colin Watson.
45279
45280 2007-12-15 Bean <bean123ch@gmail.com>
45281
45282 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45283 (lnxboot_img_SOURCES): New variable.
45284 (lnxboot_img_ASFLAGS): Likewise.
45285 (lnxboot_img_LDFLAGS): Likewise.
45286
45287 * boot/i386/pc/lnxboot.S: New file.
45288
45289 2007-11-24 Pavel Roskin <proski@gnu.org>
45290
45291 * configure.ac: Test if '--build-id=none' is supported by the
45292 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45293 objcopy to generate incorrect binary files (binutils
45294 2.17.50.0.18-1 as shipped by Fedora 8).
45295 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45296 linking, so that build ID doesn't break the test.
45297
45298 2007-11-24 Pavel Roskin <proski@gnu.org>
45299
45300 * include/grub/i386/time.h: use "void" in the argument list
45301 of grub_cpu_idle().
45302 * include/grub/powerpc/time.h: Likewise.
45303 * include/grub/sparc64/time.h: Likewise.
45304
45305 2007-11-18 Christian Franke <franke@computer.org>
45306
45307 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45308 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45309 This fixes the problem that function keys did not work in grub-emu.
45310
45311 2007-11-18 Christian Franke <franke@computer.org>
45312
45313 * disk/host.c (grub_host_open): Remove attribute unused from
45314 name parameter. Add check for "host". This fixes the problem
45315 that grub-emu does not find partitions.
45316
45317 2007-11-18 Christian Franke <franke@computer.org>
45318
45319 * util/hostfs.c (is_dir): New function.
45320 (grub_hostfs_dir): Handle missing dirent.d_type case.
45321 (grub_hostfs_read): Add missing fseek().
45322 (grub_hostfs_label): Clear label pointer. This fixes a crash
45323 of grub-emu on "ls (host)".
45324
45325 2007-11-18 Christian Franke <franke@computer.org>
45326
45327 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45328 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45329 to 64 bit boundary by default.
45330
45331 2007-11-18 Bean <bean123ch@gmail.com>
45332
45333 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45334 (hexdump_mod_SOURCES): New variable.
45335 (hexdump_mod_CFLAGS): Likewise.
45336 (hexdump_mod_LDFLAGS): Likewise.
45337
45338 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45339
45340 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45341
45342 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45343
45344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45345
45346 * include/grub/hexdump.h: New file.
45347
45348 * commands/hexdump.c: New file.
45349
45350 2007-11-10 Robert Millan <rmh@aybabtu.com>
45351
45352 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45353 in grub_outb() calls.
45354 (beep_on): Likewise.
45355
45356 2007-11-10 Christian Franke <franke@computer.org>
45357
45358 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45359 (grub_menu_run): Likewise.
45360
45361 2007-11-10 Robert Millan <rmh@aybabtu.com>
45362
45363 * include/grub/i386/efi/machine.h: New file.
45364 * include/grub/i386/linuxbios/machine.h: Likewise.
45365 * include/grub/i386/pc/machine.h: Likewise.
45366 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45367 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45368
45369 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45370 (serial_hw_io_addr): New variable.
45371 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45372 instead of `(unsigned short *) 0x400'.
45373
45374 2007-11-10 Bean <bean123ch@gmail.com>
45375
45376 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45377
45378 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45379
45380 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45381 (vga_mod_SOURCES): Added.
45382 (vga_mod_CFLAGS): Likewise.
45383 (vga_mod_LDFLAGS): Likewise.
45384
45385 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45386 grub_outb() calls.
45387 (set_map_mask): Likewise.
45388 (set_read_map): Likewise.
45389 (set_read_address): Likewise.
45390 (vga_font): Removed variable.
45391 (get_vga_glyph): Removed function.
45392 (invalidate_char): Likewise.
45393 (write_char): Changed to use grub_font_get_glyph() for font
45394 information.
45395 (grub_vga_putchar): Likewise.
45396 (grub_vga_getcharwidth): Likewise.
45397
45398 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45399
45400 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45401 flags.
45402 (pxeboot_img_LDFLAGS): Likewise.
45403 (diskboot_img_LDFLAGS): Likewise.
45404 (kernel_img_LDFLAGS): Likewise.
45405
45406 2007-11-06 Robert Millan <rmh@aybabtu.com>
45407
45408 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45409 in grub_outb() calls.
45410 (serial_hw_init): Likewise.
45411
45412 2007-11-05 Robert Millan <rmh@aybabtu.com>
45413
45414 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45415 spaces. Skip non-regular files.
45416
45417 2007-11-05 Robert Millan <rmh@aybabtu.com>
45418
45419 * kern/disk.c (grub_disk_firmware_fini)
45420 (grub_disk_firmware_is_tainted): New variables.
45421
45422 * include/grub/disk.h (grub_disk_firmware_fini)
45423 (grub_disk_firmware_is_tainted): Likewise.
45424
45425 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45426 (grub_disk_biosdisk_fini): ... to here.
45427 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45428 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45429 is set. Register grub_disk_biosdisk_fini() in
45430 `grub_disk_firmware_fini'.
45431
45432 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45433 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45434 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45435 to finish existing firmware disk interface.
45436
45437 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45438 (ata_mod_SOURCES): New variable.
45439 (ata_mod_CFLAGS): Likewise.
45440 (ata_mod_LDFLAGS): Likewise.
45441
45442 2007-11-05 Robert Millan <rmh@aybabtu.com>
45443
45444 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45445 (grub_ata_wait): Reimplement using grub_millisleep().
45446
45447 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45448 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45449
45450 2007-11-03 Marco Gerards <marco@gnu.org>
45451
45452 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45453 (CRTC_ADDR_PORT): New macro.
45454 (CRTC_DATA_PORT): Likewise.
45455 (CRTC_CURSOR): Likewise.
45456 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45457 (CRTC_CURSOR_ADDR_LOW): Likewise.
45458 (update_cursor): New function.
45459 (grub_console_real_putchar): Call `update_cursor'.
45460 (grub_console_gotoxy): Likewise.
45461 (grub_console_cls): Set the default color when clearing the
45462 screen.
45463 (grub_console_setcursor): Implemented.
45464
45465 2007-11-03 Marco Gerards <marco@gnu.org>
45466
45467 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45468 become activate.
45469 (grub_ata_pio_write): Likewise.
45470
45471 (grub_atapi_identify): Wait after issuing an ATA command.
45472 (grub_atapi_packet): Likewise.
45473 (grub_ata_identify): Likewise.
45474 (grub_ata_readwrite): Likewise.
45475
45476 2007-11-03 Marco Gerards <marco@gnu.org>
45477
45478 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45479 (grub_ata_pio_write): Likewise.
45480 (grub_ata_readwrite): Use `grub_error', instead of
45481 returning `grub_errno'.
45482
45483 2007-11-03 Marco Gerards <marco@gnu.org>
45484
45485 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45486 grub_ata_pio_write once for every single sector, instead of for
45487 multiple sectors.
45488
45489 2007-10-31 Robert Millan <rmh@aybabtu.com>
45490
45491 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45492
45493 * conf/i386-linuxbios.rmk: New file.
45494
45495 * kern/i386/pc/hardware.c: Likewise.
45496 * term/i386/pc/at_keyboard.c: Likewise.
45497 * term/i386/pc/vga_text.c: Likewise.
45498
45499 * include/grub/i386/linuxbios/boot.h: Likewise.
45500 * include/grub/i386/linuxbios/console.h: Likewise.
45501 * include/grub/i386/linuxbios/init.h: Likewise.
45502 * include/grub/i386/linuxbios/kernel.h: Likewise.
45503 * include/grub/i386/linuxbios/loader.h: Likewise.
45504 * include/grub/i386/linuxbios/memory.h: Likewise.
45505 * include/grub/i386/linuxbios/serial.h: Likewise.
45506 * include/grub/i386/linuxbios/time.h: Likewise.
45507
45508 * kern/i386/linuxbios/init.c: Likewise.
45509 * kern/i386/linuxbios/startup.S: Likewise.
45510 * kern/i386/linuxbios/table.c: Likewise.
45511
45512 2007-10-31 Marco Gerards <marco@gnu.org>
45513
45514 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45515 (ata_mod_SOURCES): New variable.
45516 (ata_mod_CFLAGS): Likewise.
45517 (ata_mod_LDFLAGS): Likewise.
45518
45519 * disk/ata.c: New file.
45520
45521 * include/grub/disk.h (grub_disk_dev_id): Add
45522 `GRUB_DISK_DEV_ATA_ID'.
45523
45524 2007-10-31 Robert Millan <rmh@aybabtu.com>
45525
45526 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45527 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45528
45529 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45530 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45531
45532 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45533 `<grub/types.h>'.
45534
45535 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45536
45537 2007-10-27 Robert Millan <rmh@aybabtu.com>
45538
45539 * include/grub/types.h (ULONG_MAX): Define macro.
45540
45541 2007-10-22 Robert Millan <rmh@aybabtu.com>
45542
45543 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45544 `"../realmode.S"'.
45545 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45546
45547 2007-10-22 Robert Millan <rmh@aybabtu.com>
45548
45549 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45550 (pkgdata_MODULES): Add `biosdisk.mod'.
45551 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45552 variables.
45553
45554 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45555 (grub_biosdisk_init): Replace with ...
45556 (GRUB_MOD_INIT(biosdisk)): ... this.
45557 (grub_biosdisk_fini): Replace with ...
45558 (GRUB_MOD_FINI(biosdisk)): ... this.
45559
45560 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45561 (grub_machine_init): Remove call to grub_biosdisk_init().
45562 (grub_machine_fini): Remove call to grub_machine_fini().
45563
45564 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45565
45566 2007-10-22 Robert Millan <rmh@aybabtu.com>
45567
45568 * include/grub/time.h: New file.
45569 * include/grub/i386/time.h: Likewise.
45570 * include/grub/powerpc/time.h: Likewise.
45571 * include/grub/sparc64/time.h: Likewise.
45572
45573 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45574 instances to ...
45575 (KERNEL_MACHINE_TIME_HEADER): ... this.
45576 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45577 instances to ...
45578 (KERNEL_MACHINE_TIME_HEADER): ... this.
45579 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45580 instances to ...
45581 (KERNEL_MACHINE_TIME_HEADER): ... this.
45582
45583 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45584 (grub_millisleep): New function.
45585 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45586 (grub_millisleep): New function.
45587 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45588 Remove `grub/machine/time.h' include.
45589 (grub_millisleep): New function.
45590 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45591 Remove `grub/machine/time.h' include.
45592 (grub_millisleep): New function.
45593
45594 * include/grub/misc.h (grub_div_roundup): New function.
45595
45596 * kern/misc.c: Include `<grub/time.h>'.
45597 (grub_millisleep_generic): New function.
45598
45599 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45600 Add `time.h'.
45601 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45602 Add `time.h'.
45603 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45604 `machine/time.h'. Add `time.h'.
45605 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45606
45607 2007-10-21 Robert Millan <rmh@aybabtu.com>
45608
45609 * include/grub/misc.h (grub_max): New function.
45610
45611 2007-10-21 Robert Millan <rmh@aybabtu.com>
45612
45613 * util/misc.c (grub_util_info): Call fflush() before returning.
45614
45615 2007-10-20 Robert Millan <rmh@aybabtu.com>
45616
45617 * genmk.rb (Image): Copy `extra_flags' from here ...
45618 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45619
45620 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45621 to `argc' and `args' arguments.
45622
45623 2007-10-17 Robert Millan <rmh@aybabtu.com>
45624
45625 * kern/i386/loader.S: New file.
45626
45627 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45628 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45629 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45630 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45631 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45632 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45633 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45634 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45635 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45636 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45637 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45638 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45639 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45640 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45641
45642 * kern/i386/realmode.S: New file.
45643
45644 * kern/i386/pc/startup.S (protstack): Moved from here ...
45645 * kern/i386/realmode.S (protstack)... to here.
45646 * kern/i386/pc/startup.S (gdt): Moved from here ...
45647 * kern/i386/realmode.S (gdt)... to here.
45648 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45649 * kern/i386/realmode.S (prot_to_real)... to here.
45650
45651 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45652 `kern/i386/realmode.S'.
45653
45654 2007-10-17 Robert Millan <rmh@aybabtu.com>
45655
45656 * include/grub/i386/loader.h: New file.
45657
45658 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45659 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45660 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45661 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45662 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45663 * include/grub/i386/loader.h (grub_linux_prot_size)
45664 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45665 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45666 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45667 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45668
45669 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45670
45671 2007-10-15 Robert Millan <rmh@aybabtu.com>
45672
45673 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45674 filesystem when dev->disk is unset.
45675 Do probe for filesystem even when dev->disk->has_partitions is set.
45676 In case a filesystem is found, always report it.
45677 In case it isn't, if dev->disk->has_partitions is set, report that
45678 a partition table was found instead of reporting that no filesystem
45679 could be identified.
45680
45681 2007-10-12 Robert Millan <rmh@aybabtu.com>
45682
45683 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45684 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45685
45686 * include/grub/types.h (grub_host_to_target16): New macro.
45687 (grub_host_to_target32): Likewise.
45688 (grub_host_to_target64): Likewise.
45689 (grub_target_to_host16): Likewise.
45690 (grub_target_to_host32): Likewise.
45691 (grub_target_to_host64): Likewise.
45692
45693 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45694 Renamed from to ...
45695 (GRUB_MOD_ALIGN): ...this. Update all users.
45696
45697 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45698 grub_host_to_target32.
45699 Replace grub_be_to_cpu32 with grub_target_to_host32.
45700 (load_modules): Likewise.
45701 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45702 Replace grub_be_to_cpu32 with grub_target_to_host32.
45703 Replace grub_cpu_to_be16 with grub_host_to_target16.
45704 Replace grub_cpu_to_be32 grub_host_to_target32.
45705
45706 2007-10-12 Robert Millan <rmh@aybabtu.com>
45707
45708 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45709 * util/elf/grub-mkimage.c: ... here.
45710
45711 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45712 `util/powerpc/ieee1275/grub-mkimage.c'.
45713
45714 2007-10-07 Robert Millan <rmh@aybabtu.com>
45715
45716 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45717 and make it easier to figure out.
45718 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45719 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45720 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45721 leave us with less than HEAP_MIN_SIZE total heap.
45722 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
45723
45724 2007-10-03 Robert Millan <rmh@aybabtu.com>
45725
45726 * include/grub/i386/io.h: New file.
45727 * commands/i386/pc/play.c (inb): Removed.
45728 (outb): Removed.
45729 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45730 with grub_outb().
45731 * term/i386/pc/serial.c (inb): Removed.
45732 (outb): Removed.
45733 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45734 with grub_outb().
45735 * term/i386/pc/vga.c (inb): Removed.
45736 (outb): Removed.
45737 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45738 with grub_outb().
45739
45740 2007-10-02 Robert Millan <rmh@aybabtu.com>
45741
45742 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45744 Reported by Marcin Kurek.
45745
45746 2007-09-07 Robert Millan <rmh@aybabtu.com>
45747
45748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45749 SmartFirmware version updates (as released by Sven Luther), and avoid
45750 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45751 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45752 known broken.
45753
45754 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45755
45756 From Hitoshi Ozeki:
45757 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45758 when merging two regions.
45759
45760 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45761
45762 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45763 * normal/completion.c (grub_normal_do_completion): Likewise.
45764 Reported by Hitoshi Ozeki.
45765
45766 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45767
45768 Do not use devices at boot in chainloading.
45769
45770 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45771 (boot_part_addr): Likewise.
45772 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45773 with BOOT_DRIVE and BOOT_PART_ADDR.
45774 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45775 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45776
45777 2007-08-29 Robert Millan <rmh@aybabtu.com>
45778
45779 Patch from Simon Peter <dn.tlp@gmx.net>:
45780 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45781 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45782 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45783 util/i386/pc/grub-setup.c_DEPENDENCIES.
45784 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45785 util/grub-probe.c_DEPENDENCIES.
45786 * conf/powerpc-ieee1275.rmk: Likewise.
45787
45788 2007-08-28 Robert Millan <rmh@aybabtu.com>
45789
45790 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45791 to tell grub-mkdevicemap how to name devices.
45792 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45793 feature).
45794
45795 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45796 util/i386/get_disk_name.c.
45797 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45798 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45799 util/ieee1275/get_disk_name.c.
45800
45801 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45802
45803 * DISTLIST: Add util/i386/get_disk_name.c and
45804 util/ieee1275/get_disk_name.c.
45805
45806 * util/grub-mkdevicemap.c: Replace device naming logic with
45807 grub_util_get_disk_name() calls.
45808
45809 2007-08-20 Robert Millan <rmh@aybabtu.com>
45810
45811 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45812 (so that it works for both plural and singular quantities).
45813
45814 2007-08-05 Robert Millan <rmh@aybabtu.com>
45815
45816 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45817 so that [xz] isn't taken into account when determining order.
45818
45819 2007-08-02 Marco Gerards <marco@gnu.org>
45820
45821 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45822 `include/multiboot2.h', `include/grub/elfload.h',
45823 `include/multiboot.h', `include/grub/multiboot.h',
45824 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45825 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45826 `kern/elf.c', `loader/multiboot_loader.c',
45827 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45828 `loader/i386/pc/multiboot2.c',
45829 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45830 `util/i386/pc/grub-mkrescue.in'. Remove
45831 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45832 `include/grub/i386/pc/util/biosdisk.h' and
45833 `include/grub/powerpc/ieee1275/multiboot.h'.
45834
45835 2007-08-02 Bean <bean123ch@gmail.com>
45836
45837 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45838 (ntfs_mod_SOURCES): New variable.
45839 (ntfs_mod_CFLAGS): Likewise.
45840 (ntfs_mod_LDFLAGS): Likewise.
45841
45842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45843 (grub_probe_SOURCES): Likewise.
45844 (grub_emu_SOURCES): Likewise.
45845
45846 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45847 (grub_emu_SOURCES): Likewise.
45848
45849 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45850 (grub_emu_SOURCES): Likewise.
45851
45852 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45853
45854 * fs/ntfs.c: New file.
45855
45856 2007-08-02 Bean <bean123ch@gmail.com>
45857
45858 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45859
45860 * file.h (grub_file): Likewise.
45861
45862 * fshelp.h (grub_fshelp_read_file): Likewise.
45863
45864 * util/i386/pc/grub-setup.c (setup): Likewise.
45865 (save_first_sector): Likewise.
45866 (save_blocklists): Likewise.
45867
45868 * fs/affs.c (grub_affs_read_file): Likewise.
45869
45870 * fs/ext2.c (grub_ext2_read_file): Likewise.
45871
45872 * fs/fat.c (grub_fat_read_data): Likewise.
45873
45874 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45875
45876 * fs/hfs.c (grub_hfs_read_file): Likewise.
45877
45878 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45879
45880 * fs/jfs.c (grub_jfs_read_file): Likewise.
45881
45882 * fs/minix.c (grub_minix_read_file): Likewise.
45883
45884 * fs/sfs.c (grub_sfs_read_file): Likewise.
45885
45886 * fs/ufs.c (grub_ufs_read_file): Likewise.
45887
45888 * fs/xfs.c (grub_xfs_read_file): Likewise.
45889
45890 * command/blocklist.c (read_blocklist): Likewise.
45891 (print_blocklist): Likewise.
45892
45893 2007-08-02 Marco Gerards <marco@gnu.org>
45894
45895 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45896 `util/hostfs.c'.
45897
45898 * disk/host.c: New file.
45899
45900 * util/hostfs.c: Likewise.
45901
45902 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45903 return `GRUB_ERR_BAD_FS'.
45904 * fs/sfs.c (grub_sfs_mount): Likewise.
45905 * fs/xfs.c (grub_xfs_mount): Likewise.
45906
45907 * include/grub/disk.h (enum grub_disk_dev_id): Add
45908 `GRUB_DISK_DEVICE_HOST_ID'.
45909
45910 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45911
45912 2007-07-24 Jerone Young <jerone@gmail.com>
45913
45914 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
45915 modules for compilation.
45916 * conf/powerpc-ieee1275.rmk: Likewise.
45917
45918 * include/multiboot.h: Move multiboot definitions to one file. Rename
45919 many definitions to not get grub specific.
45920 * include/multiboot2.h: Create header with multiboot 2 definitions.
45921 * include/grub/multiboot.h: Header for grub specific function
45922 prototypes and definitions.
45923 * include/grub/multiboot2.h: Likewise.
45924 * include/grub/multiboot_loader.h: Likewise.
45925 * include/grub/i386/pc/multiboot.h: Removed.
45926 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45927
45928 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45929 and 2 to allow for one multiboot and module commands.
45930 * loader/multiboot2.c: Add multiboot2 functionality.
45931 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45932 and definition names.
45933 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45934 2 functions.
45935 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45936 ieee1275 specific multiboot2 code.
45937
45938 * kern/i386/pc/startup.S: Change headers and definition names for
45939 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45940
45941 2007-07-22 Robert Millan <rmh@aybabtu.com>
45942
45943 * geninitheader.sh: Process file specified in first parameter rather
45944 than hardcoding grub_modules_init.lst.
45945 * geninit.sh: Likewise. Also, construct header name dynamically rather
45946 than hardcoding grub_modules_init.h.
45947
45948 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45949 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45950 grub_probe_init.[ch] and grub_setup_init.[ch].
45951
45952 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45953 grub_modules_init.h with grub_emu_init.h.
45954 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45955 grub_probe_init.[ch] files.
45956 * conf/i386-efi.rmk: Likewise.
45957 * conf/i386-pc.rmk: Likewise.
45958 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45959 grub_setup_init.[ch] files.
45960
45961 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45962 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45963 to initialize modules rather than a list of hardcoded functions.
45964 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45965 grub_init_all() to initialize modules rather than a list of hardcoded
45966 functions.
45967
45968 2007-07-22 Robert Millan <rmh@aybabtu.com>
45969
45970 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45971 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45972
45973 2007-07-22 Robert Millan <rmh@aybabtu.com>
45974
45975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45976 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45977 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45978 flag when running on SmartFirmware.
45979 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45980 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45981 was set.
45982
45983 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45984 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45985 rather than decreasing it.
45986
45987 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45988 there's not enough space to do it, fail in the same way as when it
45989 can't be done because there are no partitions.
45990
45991 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45992 when nvsetenv failed.
45993
45994 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45995
45996 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45997 because this rule is automatically generated.
45998 (grub-mkrescue): Removed for the same reason as above.
45999
46000 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46001
46002 Migrate to GNU General Public License Version 3.
46003
46004 * COPYING: Replaced with the plain text version of GPLv3.
46005
46006 * config.guess: Updated from gnulib.
46007 * config.sub: Likewise.
46008
46009 * geninit.sh: Output a GPLv3 copyright notice.
46010 * geninitheader.sh: Likewise.
46011 * genmodsrc.sh: Likewise.
46012 * gensymlist.sh.in: Likewise.
46013
46014 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46015 * boot/i386/pc/diskboot.S: Likewise.
46016 * boot/i386/pc/pxeboot.S: Likewise.
46017 * commands/blocklist.c: Likewise.
46018 * commands/boot.c: Likewise.
46019 * commands/cat.c: Likewise.
46020 * commands/cmp.c: Likewise.
46021 * commands/configfile.c: Likewise.
46022 * commands/echo.c: Likewise.
46023 * commands/help.c: Likewise.
46024 * commands/ls.c: Likewise.
46025 * commands/search.c: Likewise.
46026 * commands/terminal.c: Likewise.
46027 * commands/test.c: Likewise.
46028 * commands/videotest.c: Likewise.
46029 * commands/i386/cpuid.c: Likewise.
46030 * commands/i386/pc/halt.c: Likewise.
46031 * commands/i386/pc/play.c: Likewise.
46032 * commands/i386/pc/reboot.c: Likewise.
46033 * commands/i386/pc/vbeinfo.c: Likewise.
46034 * commands/i386/pc/vbetest.c: Likewise.
46035 * commands/ieee1275/halt.c: Likewise.
46036 * commands/ieee1275/reboot.c: Likewise.
46037 * commands/ieee1275/suspend.c: Likewise.
46038 * disk/loopback.c: Likewise.
46039 * disk/lvm.c: Likewise.
46040 * disk/raid.c: Likewise.
46041 * disk/efi/efidisk.c: Likewise.
46042 * disk/i386/pc/biosdisk.c: Likewise.
46043 * disk/ieee1275/ofdisk.c: Likewise.
46044 * font/manager.c: Likewise.
46045 * fs/affs.c: Likewise.
46046 * fs/ext2.c: Likewise.
46047 * fs/fat.c: Likewise.
46048 * fs/fshelp.c: Likewise.
46049 * fs/hfs.c: Likewise.
46050 * fs/hfsplus.c: Likewise.
46051 * fs/iso9660.c: Likewise.
46052 * fs/jfs.c: Likewise.
46053 * fs/minix.c: Likewise.
46054 * fs/sfs.c: Likewise.
46055 * fs/ufs.c: Likewise.
46056 * fs/xfs.c: Likewise.
46057 * hello/hello.c: Likewise.
46058 * include/grub/acorn_filecore.h: Likewise.
46059 * include/grub/arg.h: Likewise.
46060 * include/grub/bitmap.h: Likewise.
46061 * include/grub/boot.h: Likewise.
46062 * include/grub/cache.h: Likewise.
46063 * include/grub/device.h: Likewise.
46064 * include/grub/disk.h: Likewise.
46065 * include/grub/dl.h: Likewise.
46066 * include/grub/elfload.h: Likewise.
46067 * include/grub/env.h: Likewise.
46068 * include/grub/err.h: Likewise.
46069 * include/grub/file.h: Likewise.
46070 * include/grub/font.h: Likewise.
46071 * include/grub/fs.h: Likewise.
46072 * include/grub/fshelp.h: Likewise.
46073 * include/grub/gzio.h: Likewise.
46074 * include/grub/hfs.h: Likewise.
46075 * include/grub/kernel.h: Likewise.
46076 * include/grub/loader.h: Likewise.
46077 * include/grub/lvm.h: Likewise.
46078 * include/grub/misc.h: Likewise.
46079 * include/grub/mm.h: Likewise.
46080 * include/grub/net.h: Likewise.
46081 * include/grub/normal.h: Likewise.
46082 * include/grub/parser.h: Likewise.
46083 * include/grub/partition.h: Likewise.
46084 * include/grub/pc_partition.h: Likewise.
46085 * include/grub/raid.h: Likewise.
46086 * include/grub/rescue.h: Likewise.
46087 * include/grub/script.h: Likewise.
46088 * include/grub/setjmp.h: Likewise.
46089 * include/grub/symbol.h: Likewise.
46090 * include/grub/term.h: Likewise.
46091 * include/grub/terminfo.h: Likewise.
46092 * include/grub/tparm.h: Likewise.
46093 * include/grub/types.h: Likewise.
46094 * include/grub/video.h: Likewise.
46095 * include/grub/efi/api.h: Likewise.
46096 * include/grub/efi/chainloader.h: Likewise.
46097 * include/grub/efi/console.h: Likewise.
46098 * include/grub/efi/console_control.h: Likewise.
46099 * include/grub/efi/disk.h: Likewise.
46100 * include/grub/efi/efi.h: Likewise.
46101 * include/grub/efi/pe32.h: Likewise.
46102 * include/grub/efi/time.h: Likewise.
46103 * include/grub/i386/linux.h: Likewise.
46104 * include/grub/i386/setjmp.h: Likewise.
46105 * include/grub/i386/types.h: Likewise.
46106 * include/grub/i386/efi/kernel.h: Likewise.
46107 * include/grub/i386/efi/loader.h: Likewise.
46108 * include/grub/i386/efi/time.h: Likewise.
46109 * include/grub/i386/pc/biosdisk.h: Likewise.
46110 * include/grub/i386/pc/boot.h: Likewise.
46111 * include/grub/i386/pc/chainloader.h: Likewise.
46112 * include/grub/i386/pc/console.h: Likewise.
46113 * include/grub/i386/pc/init.h: Likewise.
46114 * include/grub/i386/pc/kernel.h: Likewise.
46115 * include/grub/i386/pc/loader.h: Likewise.
46116 * include/grub/i386/pc/memory.h: Likewise.
46117 * include/grub/i386/pc/multiboot.h: Likewise.
46118 * include/grub/i386/pc/serial.h: Likewise.
46119 * include/grub/i386/pc/time.h: Likewise.
46120 * include/grub/i386/pc/vbe.h: Likewise.
46121 * include/grub/i386/pc/vbeblit.h: Likewise.
46122 * include/grub/i386/pc/vbefill.h: Likewise.
46123 * include/grub/i386/pc/vbeutil.h: Likewise.
46124 * include/grub/i386/pc/vga.h: Likewise.
46125 * include/grub/ieee1275/ieee1275.h: Likewise.
46126 * include/grub/ieee1275/ofdisk.h: Likewise.
46127 * include/grub/powerpc/libgcc.h: Likewise.
46128 * include/grub/powerpc/setjmp.h: Likewise.
46129 * include/grub/powerpc/types.h: Likewise.
46130 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46131 * include/grub/powerpc/ieee1275/console.h: Likewise.
46132 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46133 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46134 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46135 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46136 * include/grub/powerpc/ieee1275/time.h: Likewise.
46137 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46138 * include/grub/sparc64/libgcc.h: Likewise.
46139 * include/grub/sparc64/setjmp.h: Likewise.
46140 * include/grub/sparc64/types.h: Likewise.
46141 * include/grub/sparc64/ieee1275/console.h: Likewise.
46142 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46143 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46144 * include/grub/sparc64/ieee1275/time.h: Likewise.
46145 * include/grub/util/biosdisk.h: Likewise.
46146 * include/grub/util/getroot.h: Likewise.
46147 * include/grub/util/lvm.h: Likewise.
46148 * include/grub/util/misc.h: Likewise.
46149 * include/grub/util/raid.h: Likewise.
46150 * include/grub/util/resolve.h: Likewise.
46151 * io/gzio.c: Likewise.
46152 * kern/device.c: Likewise.
46153 * kern/disk.c: Likewise.
46154 * kern/dl.c: Likewise.
46155 * kern/elf.c: Likewise.
46156 * kern/env.c: Likewise.
46157 * kern/err.c: Likewise.
46158 * kern/file.c: Likewise.
46159 * kern/fs.c: Likewise.
46160 * kern/loader.c: Likewise.
46161 * kern/main.c: Likewise.
46162 * kern/misc.c: Likewise.
46163 * kern/mm.c: Likewise.
46164 * kern/parser.c: Likewise.
46165 * kern/partition.c: Likewise.
46166 * kern/rescue.c: Likewise.
46167 * kern/term.c: Likewise.
46168 * kern/efi/efi.c: Likewise.
46169 * kern/efi/init.c: Likewise.
46170 * kern/efi/mm.c: Likewise.
46171 * kern/i386/dl.c: Likewise.
46172 * kern/i386/efi/init.c: Likewise.
46173 * kern/i386/efi/startup.S: Likewise.
46174 * kern/i386/pc/init.c: Likewise.
46175 * kern/i386/pc/lzo1x.S: Likewise.
46176 * kern/i386/pc/startup.S: Likewise.
46177 * kern/ieee1275/ieee1275.c: Likewise.
46178 * kern/powerpc/cache.S: Likewise.
46179 * kern/powerpc/dl.c: Likewise.
46180 * kern/powerpc/ieee1275/cmain.c: Likewise.
46181 * kern/powerpc/ieee1275/crt0.S: Likewise.
46182 * kern/powerpc/ieee1275/init.c: Likewise.
46183 * kern/powerpc/ieee1275/openfw.c: Likewise.
46184 * kern/sparc64/cache.S: Likewise.
46185 * kern/sparc64/dl.c: Likewise.
46186 * kern/sparc64/ieee1275/init.c: Likewise.
46187 * kern/sparc64/ieee1275/openfw.c: Likewise.
46188 * loader/efi/chainloader.c: Likewise.
46189 * loader/efi/chainloader_normal.c: Likewise.
46190 * loader/i386/efi/linux.c: Likewise.
46191 * loader/i386/efi/linux_normal.c: Likewise.
46192 * loader/i386/pc/chainloader.c: Likewise.
46193 * loader/i386/pc/chainloader_normal.c: Likewise.
46194 * loader/i386/pc/linux.c: Likewise.
46195 * loader/i386/pc/linux_normal.c: Likewise.
46196 * loader/i386/pc/multiboot.c: Likewise.
46197 * loader/i386/pc/multiboot_normal.c: Likewise.
46198 * loader/powerpc/ieee1275/linux.c: Likewise.
46199 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46200 * normal/arg.c: Likewise.
46201 * normal/cmdline.c: Likewise.
46202 * normal/command.c: Likewise.
46203 * normal/completion.c: Likewise.
46204 * normal/execute.c: Likewise.
46205 * normal/function.c: Likewise.
46206 * normal/lexer.c: Likewise.
46207 * normal/main.c: Likewise.
46208 * normal/menu.c: Likewise.
46209 * normal/menu_entry.c: Likewise.
46210 * normal/misc.c: Likewise.
46211 * normal/parser.y: Likewise.
46212 * normal/script.c: Likewise.
46213 * normal/i386/setjmp.S: Likewise.
46214 * normal/powerpc/setjmp.S: Likewise.
46215 * normal/sparc64/setjmp.S: Likewise.
46216 * partmap/acorn.c: Likewise.
46217 * partmap/amiga.c: Likewise.
46218 * partmap/apple.c: Likewise.
46219 * partmap/gpt.c: Likewise.
46220 * partmap/pc.c: Likewise.
46221 * partmap/sun.c: Likewise.
46222 * term/gfxterm.c: Likewise.
46223 * term/terminfo.c: Likewise.
46224 * term/efi/console.c: Likewise.
46225 * term/i386/pc/console.c: Likewise.
46226 * term/i386/pc/serial.c: Likewise.
46227 * term/i386/pc/vesafb.c: Likewise.
46228 * term/i386/pc/vga.c: Likewise.
46229 * term/ieee1275/ofconsole.c: Likewise.
46230 * util/biosdisk.c: Likewise.
46231 * util/console.c: Likewise.
46232 * util/genmoddep.c: Likewise.
46233 * util/getroot.c: Likewise.
46234 * util/grub-emu.c: Likewise.
46235 * util/grub-mkdevicemap.c: Likewise.
46236 * util/grub-probe.c: Likewise.
46237 * util/lvm.c: Likewise.
46238 * util/misc.c: Likewise.
46239 * util/raid.c: Likewise.
46240 * util/resolve.c: Likewise.
46241 * util/update-grub.in: Likewise.
46242 * util/update-grub_lib.in: Likewise.
46243 * util/grub.d/00_header.in: Likewise.
46244 * util/grub.d/10_hurd.in: Likewise.
46245 * util/grub.d/10_linux.in: Likewise.
46246 * util/i386/efi/grub-install.in: Likewise.
46247 * util/i386/efi/grub-mkimage.c: Likewise.
46248 * util/i386/pc/grub-install.in: Likewise.
46249 * util/i386/pc/grub-mkimage.c: Likewise.
46250 * util/i386/pc/grub-mkrescue.in: Likewise.
46251 * util/i386/pc/grub-setup.c: Likewise.
46252 * util/i386/pc/misc.c: Likewise.
46253 * util/powerpc/ieee1275/grub-install.in: Likewise.
46254 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46255 * util/powerpc/ieee1275/misc.c: Likewise.
46256 * video/bitmap.c: Likewise.
46257 * video/video.c: Likewise.
46258 * video/i386/pc/vbe.c: Likewise.
46259 * video/i386/pc/vbeblit.c: Likewise.
46260 * video/i386/pc/vbefill.c: Likewise.
46261 * video/i386/pc/vbeutil.c: Likewise.
46262 * video/readers/tga.c: Likewise.
46263
46264 2007-07-02 Robert Millan <rmh@aybabtu.com>
46265
46266 * conf/i386-efi.rmk: Replace obsolete reference to
46267 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46268 with util/getroot.c.
46269 * conf/powerpc-ieee1275.rmk: Likewise.
46270 * conf/sparc64-ieee1275.rmk: Likewise.
46271
46272 * util/grub-emu.c (main): Fix unchecked pointer handling.
46273
46274 2007-07-02 Robert Millan <rmh@aybabtu.com>
46275
46276 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46277 invocation to fail, in order to support partition-less media.
46278
46279 * util/i386/pc/grub-install.in: Likewise.
46280
46281 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46282 which fs or partmap modules are needed (akin to its sister scripts).
46283
46284 Also use grub-probe to get rid of unportable /proc/mounts check.
46285
46286 Print the same informational message that the other scripts do, before
46287 exiting.
46288
46289 2007-06-23 Robert Millan <rmh@aybabtu.com>
46290
46291 * util/update-grub_lib.in (font_path): New function. Determine whether
46292 a font file can be found and, if so, echo the GRUB path to it.
46293
46294 * util/update-grub.in: Handle multiple terminals depending on user
46295 input, platform availability and font file presence. Propagate
46296 variables of our findings to /etc/grub.d/ children.
46297
46298 * util/grub.d/00_header.in: Handle multiple terminals, based on
46299 environment setup by update-grub.
46300
46301 2007-06-23 Robert Millan <rmh@aybabtu.com>
46302
46303 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
46304
46305 2007-06-21 Robert Millan <rmh@aybabtu.com>
46306
46307 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46308 indicate end of data section in kernel image.
46309 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46310 GRUB_KERNEL_MACHINE_DATA_END.
46311
46312 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46313 space for it.
46314 * kern/i386/efi/startup.S: Likewise.
46315
46316 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46317 during image generation. Implement --prefix option to override this
46318 patch.
46319 * util/i386/efi/grub-mkimage.c: Likewise.
46320
46321 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46322 code to make path relative to its root into a separate function.
46323
46324 * util/i386/pc/grub-install.in: Use newly provided
46325 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46326 pass the result to grub-install --prefix.
46327
46328 2007-06-13 Robert Millan <rmh@aybabtu.com>
46329
46330 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46331 DEFAULT_DEVICE_MAP.
46332 * util/grub-emu.c: Use above definitions from misc.h instead of
46333 defining them.
46334 * util/grub-mkdevicemap.c: Likewise.
46335 * util/i386/pc/grub-setup.c: Likewise.
46336 * util/grub-probe.c: Likewise.
46337 (probe): Abort with grub_util_error() when either
46338 grub_guess_root_device or grub_util_get_grub_dev fails.
46339
46340 2007-06-12 Robert Millan <rmh@aybabtu.com>
46341
46342 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46343 "pager" assignment.
46344 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46345 "pcdata".
46346 * util/grub-probe.c (probe): Likewise for "drive_name".
46347
46348 2007-06-11 Robert Millan <rmh@aybabtu.com>
46349
46350 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46351 not just the cdrom one.
46352
46353 2007-06-11 Robert Millan <rmh@aybabtu.com>
46354
46355 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46356 Add --pkglibdir=DIR option to override pkglibdir.
46357 Mention --image-type=TYPE in help output.
46358 Fix --grub-mkimage (it was a no-op).
46359 Abort gracefully when no parameter is given.
46360
46361 2007-06-11 Robert Millan <rmh@aybabtu.com>
46362
46363 * util/i386/pc/grub-mkrescue.in: New file.
46364 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46365 * Makefile.in: Handle bin_SCRIPTS.
46366
46367 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46368
46369 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46370 list of video modes.
46371
46372 2007-06-06 Robert Millan <rmh@aybabtu.com>
46373
46374 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46375 file doesn't exist, or if it is in a filesystem grub can't read.
46376
46377 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46378 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46379 header comment to fit in 80 columns when the variables are resolved.
46380
46381 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46382 could be identified by update-grub. Remove redundant check for
46383 unifont.pff existence (since convert_system_path_to_grub_path now
46384 handles that).
46385
46386 2007-06-04 Robert Millan <rmh@aybabtu.com>
46387
46388 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46389
46390 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46391
46392 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46393
46394 2007-06-04 Robert Millan <rmh@aybabtu.com>
46395
46396 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46397
46398 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46399 grub_apple_partition_map_fini.
46400
46401 * util/biosdisk.c
46402 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46403 to access >2 TiB disks).
46404
46405 Print disk->total_sectors with %llu instead of %lu, since this
46406 variable is always 64-bit (prevents wrong disk size from being displayed
46407 on either >2 TiB disk or big-endian CPU).
46408
46409 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46410 into a generic case that supports all (sane) partition maps.
46411
46412 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46413 breaks big-endian.
46414
46415 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46416 and grub_apple_partition_map_fini() after that.
46417
46418 2007-06-01 Robert Millan <rmh@aybabtu.com>
46419
46420 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46421
46422 * util/grub.d/00_header.in: Only enable gfxterm when
46423 convert_system_path_to_grub_path() succeeds.
46424
46425 2007-05-20 Robert Millan <rmh@aybabtu.com>
46426
46427 * util/update-grub_lib.in: New file.
46428 * DISTLIST: Add update-grub_lib.in.
46429 * conf/common.rmk: Generate update-grub_lib and install it in
46430 $(lib_DATA).
46431 * Makefile.in: Add install routine for $(lib_DATA).
46432
46433 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46434 function provided by update-grub_lib to support arbitrary paths of
46435 unifont.pff.
46436 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46437 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46438
46439 2007-05-19 Robert Millan <rmh@aybabtu.com>
46440
46441 * commands/i386/cpuid.c: New module.
46442 * DISTLIST: Add it.
46443 * conf/i386-efi.rmk: Enable cpuid.mod.
46444 * conf/i386-pc.rmk: Likewise.
46445
46446 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46447
46448 * kern/disk.c (grub_disk_read): Check return value of
46449 grub_realloc().
46450
46451 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46452
46453 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46454 arrays.
46455 * disk/raid.c (grub_raid_open): Likewise.
46456
46457 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46458
46459 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46460 stack instead of on the heap.
46461
46462 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46463 before doing a read on it.
46464
46465 * configure.ac: Only use -fno-stack-protector for the target
46466 environment.
46467
46468 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46469
46470 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46471 __attribute_ ((unused)) to mode_type argument.
46472
46473 * util/getroot.c (grub_guess_root_device): Fix #endif.
46474
46475 * kern/misc.c (memcmp): Fix prototype.
46476
46477 * include/grub/partition.h [GRUB_UTIL]
46478 (grub_gpt_partition_map_init): Add prototype.
46479 (grub_gpt_partition_map_fini): Likewise.
46480
46481 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46482 at the right place.
46483
46484 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46485 (grub_fat_read_data): Likewise.
46486 (grub_fat_find_dir): Likewise.
46487
46488 * font/manager.c (find_glyph): Make table a const.
46489 (grub_font_get_glyph): Remove bitmap from if statement.
46490
46491 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46492
46493 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46494 code, first search for device in /dev/mapper, then in /dev.
46495 (grub_util_get_grub_dev): New function.
46496 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46497 prototype.
46498 * util/grub-probe.c (probe): Remove check for RAID, call
46499 grub_util_get_grub_dev() instead of
46500 grub_util_biosdisk_get_grub_dev().
46501 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46502 grub_util_biosdisk_get_grub_dev().
46503 * util/i386/pc/grub-setup.c (main): Likewise.
46504
46505 2007-05-16 Robert Millan <rmh@aybabtu.com>
46506
46507 * DISTLIST: Update for the latest changes.
46508 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46509 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46510 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46511 grub/util/biosdisk.h.
46512 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46513 grub/util/biosdisk.h.
46514
46515 2007-05-16 Robert Millan <rmh@aybabtu.com>
46516
46517 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46518
46519 2007-05-16 Robert Millan <rmh@aybabtu.com>
46520
46521 * util/i386/efi/grub-install.in: New.
46522 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46523 newly added grub-install.
46524 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46525 include.
46526 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46527 grub/util/biosdisk.h.
46528 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46529 grub/util/biosdisk.h.
46530
46531 2007-05-16 Robert Millan <rmh@aybabtu.com>
46532
46533 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46534 * include/grub/util/biosdisk.h: ... here.
46535 * util/i386/pc/biosdisk.c: Moved to ...
46536 * util/biosdisk.c: ... here.
46537 * util/i386/pc/getroot.c: Moved to ...
46538 * util/getroot.c: ... here.
46539 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46540 * util/grub-mkdevicemap.c: ... here.
46541 * util/i386/pc/grub-probe.c: Moved to ...
46542 * util/grub-probe.c: ... here.
46543
46544 2007-05-15 Robert Millan <rmh@aybabtu.com>
46545
46546 * util/update-grub.in: Remove duplicated line in grub.cfg header
46547 message.
46548
46549 2007-05-13 Robert Millan <rmh@aybabtu.com>
46550
46551 * util/update-grub.in: Fix a few assumptions about the devices holding
46552 /, /boot and /boot/grub being the same.
46553 * util/grub.d/00_header.in: Likewise.
46554 * util/grub.d/10_hurd.in: Likewise.
46555 * util/grub.d/10_linux.in: Likewise.
46556
46557 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46558 patterns. Use that to define the `.old' suffix as older than `'.
46559
46560 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46561
46562 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46563 the grub.cfg header message.
46564
46565 2007-05-11 Robert Millan <rmh@aybabtu.com>
46566
46567 * util/update-grub.in: Create device.map if it doesn't already exist,
46568 before attempting to run grub-probe.
46569 Check for grub-probe and grub-mkdevicemap with the same code
46570 grub-install is using.
46571 Remove test mode.
46572
46573 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46574
46575 * Makefile.in: Add the datarootdir autoconf variable.
46576
46577 2007-05-09 Robert Millan <rmh@aybabtu.com>
46578
46579 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
46580 fail gracefully if dev->disk->partition == NULL.
46581
46582 2007-05-07 Robert Millan <rmh@aybabtu.com>
46583
46584 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46585 determine partition map module.
46586 * util/i386/pc/grub-install.in: Use this feature to decide which
46587 partition module to load, instead of hardcoding pc and gpt.
46588
46589 2007-05-07 Robert Millan <rmh@aybabtu.com>
46590
46591 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46592 source directory differs from build directory.
46593
46594 2007-05-05 Robert Millan <rmh@aybabtu.com>
46595
46596 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46597 initialisation.
46598
46599 2007-05-05 Robert Millan <rmh@aybabtu.com>
46600
46601 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46602
46603 2007-05-05 Robert Millan <rmh@aybabtu.com>
46604
46605 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46606 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46607
46608 2007-05-05 Robert Millan <rmh@aybabtu.com>
46609
46610 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46611 (grub_probe_SOURCES): Likewise.
46612 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46613 GPT and initialize dos_part and bsd_part accordingly.
46614 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46615 install_bsd_part.
46616 (main): Activate gpt module for use during partition identification,
46617 and deactivate it afterwards.
46618 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46619 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46620 partition identification, and deactivate it afterwards.
46621
46622 2007-05-05 Robert Millan <rmh@aybabtu.com>
46623
46624 * term/i386/pc/console.c (grub_console_fini): Call
46625 grub_term_set_current() before grub_term_unregister().
46626
46627 2007-05-04 Robert Millan <rmh@aybabtu.com>
46628
46629 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46630 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46631 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46632 and update-grub_DATA.
46633 * conf/common.rmk: Build and install update-grub components.
46634 * conf/common.mk: Regenerate.
46635 * util/update-grub.in: New. Core of update-grub.
46636 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46637 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46638 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46639 * util/grub.d/README: New. Document grub.d directory layout.
46640
46641 2007-05-01 Robert Millan <rmh@aybabtu.com>
46642
46643 * util/grub-emu.c: Move initialization functions
46644 grub_util_biosdisk_init() and grub_init_all() before
46645 grub_util_biosdisk_get_grub_dev(), which relies on them.
46646
46647 2007-04-19 Robert Millan <rmh@aybabtu.com>
46648
46649 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46650 it is used later.
46651
46652 2007-04-18 Jerone Young <jerone@gmail.com>
46653
46654 * kernel/elf.c: Add missing parenthesis for conditional statement
46655 stanza.
46656
46657 2007-04-10 Jerone Young <jerone@gmail.com>
46658
46659 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46660 continue on and look for device node with real device name.
46661
46662 2007-04-10 Jerone Young <jerone@gmail.com>
46663
46664 * configure.ac: Add argument for autoconf to use transformation
46665 ability.
46666 * Makefile.in: Add autoconf package transformation code.
46667 * util/i386/pc/grub-install.in: Likewise.
46668 * util/powerpc/ieee1275/grub-install.in: Likewise.
46669
46670 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46671
46672 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46673 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46674 (EXT2_REVISION): Likewise.
46675 (EXT2_INODE_SIZE): Likewise.
46676 (struct grub_ext2_block_group): Added a missing member
46677 "used_dirs".
46678 (grub_ext2_read_inode): Divide by the inode size in a superblock
46679 instead of 128 to obtain INODES_PER_BLOCK.
46680 Use the macro EXT2_INODE_SIZE instead of directly using
46681 SBLOCK->INODE_SIZE.
46682
46683 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46684
46685 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46686 superblock instead of the structure size to compute an
46687 offset. This fixes the problem that GRUB could not read a
46688 filesystem when inode size is different from 128-byte.
46689
46690 2007-03-05 Marco Gerards <marco@gnu.org>
46691
46692 * normal/main.c (read_config_file): When "menu" is not set, create
46693 an initial context.
46694
46695 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46696
46697 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46698 (HEAP_LIMIT): New macro.
46699 (grub_claim_heap): Claim memory up to `heaplimit'.
46700
46701 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46702
46703 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46704 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46705 (_start): Likewise.
46706 (grub_arch_modules_addr): Return address after `_end'.
46707 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46708 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46709 (add_segments): Calculate `_end' from phdr size and location.
46710 (ALIGN_UP): Moved to ...
46711 * include/grub/misc.h: here.
46712 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46713 New macro.
46714 (GRUB_IEEE1275_MODULE_BASE): Removed.
46715
46716 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46717
46718 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46719 loop boundary.
46720
46721 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46722
46723 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46724 All users updated.
46725 (grub_elf64_load_hook_t): Likewise.
46726 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46727 debug output.
46728
46729 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46730
46731 * kern/mm.c: Update copyright.
46732 (grub_mm_debug): Correct syntax error.
46733 (grub_mm_dump_free): New function.
46734 (grub_debug_free): Call `grub_free'.
46735 * include/grub/mm.h: Update copyright.
46736 (grub_mm_dump_free): Add declaration.
46737
46738 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46739
46740 * include/grub/ieee1275/ieee1275.h: Update copyright.
46741 * kern/powerpc/ieee1275/init.c: Likewise.
46742 * kern/powerpc/ieee1275/openfw.c: Likewise.
46743
46744 * loader/powerpc/ieee1275/linux.c: Likewise.
46745 * include/grub/elfload.h: Likewise.
46746 * kern/elf.c: Likewise.
46747 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46748 callers.
46749 (grub_elf64_load): Likewise.
46750 (grub_elf32_load_segment): Move to a nested function.
46751 (grub_elf64_load_segment): Likewise.
46752
46753 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46754
46755 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46756 prototype.
46757 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46758 (grub_heap_len): Likewise.
46759 (HEAP_SIZE): New macro.
46760 (grub_claim_heap): New function.
46761 (grub_machine_init): Don't claim heap directly. Call
46762 `grub_claim_heap'.
46763 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46764 (grub_available_iterate): New function.
46765
46766 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46767
46768 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46769 * configure.ac: Use it for testing the HOST and TARGET compilers.
46770
46771 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46772
46773 * Makefile.in (enable_grub_emu): New variable.
46774 * configure.ac (--enable-grub-emu): New option.
46775 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46776 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46777 * conf/i386-pc.rmk: Likewise.
46778 * conf/powerpc-ieee1275.rmk: Likewise.
46779 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46780
46781 2006-12-12 Marco Gerards <marco@gnu.org>
46782
46783 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46784
46785 * kern/env.c (grub_env_unset): Don't free the member `value' when
46786 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46787 pointer.
46788
46789 * normal/main.c (current_menu): Removed.
46790 (free_menu): Unset the `menu' environment variable.
46791 (grub_normal_menu_addentry): Make use of the environment variable
46792 `menu', instead of using the global `current_menu'. Allocate
46793 memory for the sourcecode of this entry.
46794 (read_config_file): New argument `nested', changed all callers.
46795 Only in the case of a new context, initialize a new menu. Set the
46796 `menu' environment variable.
46797 (grub_normal_execute): Don't set and unset the environment
46798 variable `menu' here anymore. Only free the menu when leaving the
46799 context.
46800
46801 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46802 leak.
46803
46804 2006-12-11 Marco Gerards <marco@gnu.org>
46805
46806 * normal/menu_entry.c (run): Fix off by one bug so the last line
46807 is executed. Move the loader check to outside the loop.
46808
46809 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46810
46811 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46812
46813 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46814
46815 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46816 the number of sectors. Reported by Andrey Shuvikov
46817 <mr_hyro@yahoo.com>.
46818
46819 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46820
46821 * kern/disk.c (grub_disk_read): When there is a read error, always
46822 try to read only the necessary data.
46823
46824 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46825 disk/raid.c.
46826 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46827 prototype.
46828 [GRUB_UTIL] (grub_raid_fini): Likewise.
46829 [GRUB_UTIL] (grub_lvm_init): Likewise.
46830 [GRUB_UTIL] (grub_lvm_fini): Likewise.
46831 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46832 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46833 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46834 and grub_raid_fini().
46835
46836 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46837
46838 * include/grub/types.h (__unused): Rename to UNUSED.
46839 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46840 (grub_elf64_size): Likewise.
46841
46842 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46843
46844 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46845 grub_error_push and grub_error_pop in the error-handling path.
46846 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46847 length.
46848
46849 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46850
46851 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46852 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46854 (kernel_elf_SOURCES): Likewise.
46855 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46856 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46857 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46858 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46859 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46860 (elf_mod_SOURCES): New variable.
46861 (elf_mod_CFLAGS): Likewise.
46862 (elf_mod_LDFLAGS): Likewise.
46863 * include/grub/types.h (__unused): New macro.
46864 * include/grub/elfload.h: New file.
46865 * kern/elf.c: Likewise.
46866 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46867 (ELF32_LOADMASK): New macro.
46868 (ELF64_LOADMASK): Likewise.
46869 (vmlinux): Removed.
46870 (grub_linux_load32): New function.
46871 (grub_linux_load64): Likewise.
46872 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46873 Use grub_elf_t instead of grub_file_t.
46874
46875 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46876
46877 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46878 `catch_result' to struct set_color_args.
46879
46880 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46881
46882 * normal/menu.c: Include grub/script.h.
46883 * normal/menu_entry.c: Likewise.
46884 * include/grub/normal.h: Do not include grub/script.h.
46885
46886 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46887
46888 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46889
46890 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46891
46892 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46893 disk.
46894 (grub_disk_close): Print debug messages when closing a disk.
46895 (grub_disk_read): Print debug messages when disk read fails.
46896 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46897 filesystem type.
46898 * kern/partition.c: Include misc.h.
46899 (grub_partition_iterate): Print debug messages when detecting
46900 partition type.
46901
46902 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46903
46904 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46905 is negative.
46906 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46907
46908 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46909
46910 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46911 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46912
46913 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46914
46915 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46916 instead of sizeof(lv). Patch by Michael Guntsche.
46917
46918 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46919
46920 * disk/lvm.c: Rename VGS to VG_LIST.
46921 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46922 (grub_lvm_open): Likewise.
46923 Thanks to Michael Guntsche for finding this bug.
46924
46925 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46926
46927 * configure.ac (AC_INIT): Bumped to 1.95.
46928
46929 2006-10-14 Robert Millan <rmh@aybabtu.com>
46930
46931 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46932 with "/dev/.static/dev/md".
46933
46934 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46935
46936 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46937 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46938 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46939 DRIVE_NAME are always freed.
46940
46941 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46942 DOS_PART, as a DOS partition is counted from one instead of zero
46943 now. Reported by Robert Millan.
46944
46945 2006-10-14 Robert Millan <rmh@aybabtu.com>
46946
46947 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46948 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46949 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46950 string returned by grub_guess_root_device.
46951 * util/i386/pc/grub-setup.c: Likewise.
46952 * util/i386/pc/grub-probefs.c: Likewise.
46953
46954 * util/i386/pc/grub-probefs.c: Rename to ...
46955 * util/i386/pc/grub-probe.c: ... this.
46956 * DISTLIST: Remove grub-probefs, add grub-probe.
46957 * conf/i386-efi.rmk: Likewise.
46958 * conf/i386-pc.rmk: Likewise.
46959 * util/i386/pc/grub-install.in: Likewise.
46960
46961 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46962 choose which information we want to print.
46963
46964 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46965
46966 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46967 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46968 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46969 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46970 video/readers/tga.c and video/i386/pc/vbeutil.c.
46971
46972 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46973
46974 Added support for RAID and LVM.
46975
46976 * disk/lvm.c: New file.
46977 * disk/raid.c: Likewise.
46978 * include/grub/lvm.h: Likewise.
46979 * include/grub/raid.h: Likewise.
46980 * include/grub/util/lvm.h: Likewise.
46981 * include/grub/util/raid.h: Likewise.
46982 * util/lvm.c: Likewise.
46983 * util/raid.c: Likewise.
46984
46985 * include/grub/disk.h (grub_disk_dev_id): Add
46986 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46987 (grub_disk_get_size): New prototype.
46988 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46989 returns a partition.
46990 (grub_disk_get_size): New function.
46991
46992 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46993 verbatim if grub_install_dos_part is -2.
46994
46995 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46996 and LVM devices.
46997
46998 * util/i386/pc/grub-setup.c (setup): New argument
46999 MUST_EMBED. Force embedding of GRUB when the argument is
47000 true. Close FILE before returning.
47001 (main): Add support for RAID and LVM.
47002
47003 * conf/common.rmk: Add RAID and LVM modules.
47004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47005 util/lvm.c.
47006 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47007
47008 * kern/misc.c (grub_strstr): New function.
47009 * include/grub/misc.h (grub_strstr): New prototype.
47010
47011 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47012
47013 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47014
47015 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47016
47017 * kern/misc.c (grub_strtoull): Guess the base only if not
47018 specified.
47019
47020 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
47021
47022 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47023 PowerMac support.
47024
47025 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
47026
47027 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47028
47029 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47030 Remove `flags' argument. All callers changed.
47031 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47032 (IEEE1275_IHANDLE_INVALID): New variable.
47033 (IEEE1275_CELL_INVALID): New variable.
47034 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47035 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47036 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47037 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47038 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47039 codes from Open Firmware. All callers updated.
47040 (grub_ieee1275_next_property): Directly return Open Firmware return
47041 code.
47042 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47043 Standardize error checking from `grub_ieee1275_get_property'.
47044 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47045 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47046
47047 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
47048
47049 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47050 `instance_to_package_args' to `instance_to_path_args'.
47051
47052 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47053 `grub_ieee1275_chosen'.
47054
47055 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47056 `grub_ieee1275_interpret'.
47057
47058 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
47059
47060 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47061
47062 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
47063
47064 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47065 (__cmpdi): Likewise.
47066
47067 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47068 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47069 `grub_ssize_t'.
47070
47071 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
47072
47073 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47074 to type `grub_ssize_t'.
47075 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47076
47077 2006-09-22 Marco Gerards <marco@gnu.org>
47078
47079 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47080 newlines.
47081
47082 2006-09-22 Marco Gerards <marco@gnu.org>
47083
47084 * commands/echo.c: New file.
47085
47086 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47087
47088 * conf/common.rmk (echo_mod_SOURCES): New variable.
47089 (echo_mod_CFLAGS): Likewise.
47090 (echo_mod_LDFLAGS): Likewise.
47091
47092 2006-09-22 Marco Gerards <marco@gnu.org>
47093
47094 * normal/main.c (get_line): Malloc memory instead of using
47095 preallocated memory. Removed the arguments `cmdline' and
47096 `max_len'. Updated all callers.
47097
47098 2006-09-22 Marco Gerards <marco@gnu.org>
47099
47100 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47101 (normal_mod_DEPENDENCIES): Likewise.
47102
47103 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47104 (normal_mod_DEPENDENCIES): Likewise.
47105
47106 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47107
47108 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
47109
47110 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47111 programs.
47112 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47113 (normal_mod_DEPENDENCIES): Likewise.
47114 * conf/i386-pc.mk: Regenerate.
47115 * conf/i386-efi.mk: Likewise
47116 * conf/common.mk: Likewise.
47117 * conf/powerpc-ieee1275.mk: Likewise.
47118 * conf/sparc64-ieee1275.mk: Likewise.
47119
47120 2006-09-22 Robert Millan <rmh@aybabtu.com>
47121
47122 Sync with i386 version.
47123 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47124 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47125
47126 2006-09-21 Robert Millan <rmh@aybabtu.com>
47127
47128 Import from GRUB Legacy (lib/device.c):
47129 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47130 (init_device_map) [__linux__]: Add support for I2O devices.
47131
47132 2006-09-14 Marco Gerards <marco@gnu.org>
47133
47134 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47135 `-melf_i386'.
47136
47137 2006-09-14 Robert Millan <rmh@aybabtu.com>
47138
47139 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47140 /boot/grub/*.lst.
47141
47142 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
47143
47144 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47145 before adding it to device.map.
47146
47147 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
47148
47149 * genmk.rb: Let GCC generate dependencies the first time it
47150 compiles a file; using the -MD option.
47151 * conf/common.mk: Regenerate.
47152 * conf/i386-pc.mk: Likewise.
47153 * conf/i386-efi.mk: Likewise.
47154 * conf/powerpc-ieee1275.mk: Likewise.
47155 * conf/sparc64-ieee1275.mk: Likewise.
47156
47157 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47158
47159 Move the prototypes of grub_setjmp and grub_longjmp to
47160 cpu/setjmp.h, so that each architecture may specify different
47161 attributes.
47162
47163 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47164 (grub_longjmp): Likewise.
47165 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47166 (grub_longjmp): Likewise.
47167 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47168 (grub_longjmp): Likewise.
47169
47170 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47171 [!GRUB_UTIL] (grub_longjmp): Removed.
47172
47173 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47174
47175 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47176 "color!" method does not return any value.
47177
47178 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47179
47180 * include/grub/bitmap.h: New file.
47181
47182 * include/grub/i386/pc/vbeutil.h: Likewise.
47183
47184 * video/bitmap.c: Likewise.
47185
47186 * video/readers/tga.c: Likewise.
47187
47188 * video/i386/pc/vbeutil.c: Likewise.
47189
47190 * commands/videotest.c: Code cleanup and updated to reflect to new
47191 video API.
47192
47193 * term/gfxterm.c: Likewise.
47194
47195 * video/video.c: Likewise.
47196
47197 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47198 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47199 (bitmap_mod_SOURCES): New entry.
47200 (bitmap_mod_CFLAGS): Likewise.
47201 (bitmap_mod_LDFLAGS): Likewise.
47202 (tga_mod_SOURCES): Likewise.
47203 (tga_mod_CFLAGS): Likewise.
47204 (tga_mod_LDFLAGS): Likewise.
47205
47206 * include/grub/video.h (grub_video_blit_operators): New enum type.
47207 (grub_video_render_target): Changed as forward declaration and moved
47208 actual definition to be video driver specific.
47209 (grub_video_adapter.blit_bitmap): Added blitting operator.
47210 (grub_video_adapter.blit_render_target): Likewise.
47211 (grub_video_blit_bitmap): Likewise.
47212 (grub_video_blit_render_target): Likewise.
47213
47214 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47215 driver specific render target definition.
47216 (grub_video_vbe_map_rgba): Added driver internal helper.
47217 (grub_video_vbe_unmap_color): Updated to use
47218 grub_video_i386_vbeblit_info.
47219 (grub_video_vbe_get_video_ptr): Likewise.
47220
47221 * include/grub/i386/pc/vbeblit.h
47222 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47223 grub_video_i386_vbeblit_info.
47224 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47225 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47226 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47228 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47229 (grub_video_i386_vbeblit_index_index): Likewise.
47230 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47231 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47232 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47233 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47234 operator.
47235 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47236 operator.
47237
47238 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47239 include/grub/i386/pc/vbeblit.h.
47240
47241 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47242 Updated to use grub_video_i386_vbeblit_info.
47243 (grub_video_i386_vbefill_R8G8B8): Likewise.
47244 (grub_video_i386_vbefill_index): Likewise.
47245 (grub_video_i386_vbefill): Added generic filler.
47246
47247 * video/i386/pc/vbefill.c: Updated to reflect changes on
47248 include/grub/i386/pc/vbefill.h.
47249
47250 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47251 grub_video_i386_vbeblit_info.
47252 (grub_video_vbe_unmap_color): Likewise.
47253 (grub_video_vbe_blit_glyph): Likewise.
47254 (grub_video_vbe_scroll): Likewise.
47255 (grub_video_vbe_draw_pixel): Removed function.
47256 (grub_video_vbe_get_pixel): Likewise.
47257 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47258 updated code to use it.
47259 (common_blitter): Added common blitter for render target and bitmap.
47260 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47261 (grub_video_vbe_blit_render_target): Likewise.
47262
47263 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
47264
47265 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47266 is in text mode if there is no console control protocol instance
47267 available.
47268
47269 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47270
47271 * include/grub/video.h: Code cleanup.
47272
47273 * include/grub/i386/pc/vbe.h: Likewise.
47274
47275 * video/i386/pc/vbe.c: Likewise.
47276
47277 * video/i386/pc/vbeblit.c: Likewise.
47278
47279 * video/i386/pc/vbefill.c: Likewise.
47280
47281 * video/video.c: Likewise. Also added more comments.
47282
47283 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47284
47285 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47286 (struct grub_biosdisk_dap): Likewise.
47287
47288 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47289 linkage settings for all functions.
47290
47291 2006-07-12 Marco Gerards <marco@gnu.org>
47292
47293 * configure.ac (--enable-mm-debug): Fix typo.
47294
47295 * genkernsyms.sh.in: Use proper quoting for `CC'.
47296
47297 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47298
47299 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47300 (normal_mod_ASFLAGS): Remove "-m32".
47301
47302 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 * util/misc.c: Include config.h.
47305 [!HAVE_MEMALIGN]: Do not include malloc.h.
47306 (grub_memalign): Use posix_memalign, if present. Then, use
47307 memalign, if present. Otherwise, emit an error.
47308
47309 * util/grub-emu.c: Do not include malloc.h.
47310
47311 * include/grub/util/misc.h: Include unistd.h. This is required for
47312 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47313 D. Eades III <hde@foobar-qux.org>.
47314
47315 * configure.ac (AC_GNU_SOURCE): Added.
47316 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47317 type.
47318
47319 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47320
47321 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47322 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47323
47324 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47325
47326 * include/grub/types.h (grub_host_addr_t): Rename to
47327 grub_target_addr_t.
47328 (grub_host_off_t): Rename to grub_target_off_t.
47329 (grub_host_size_t): Rename to grub_target_size_t.
47330 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47331 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47332
47333 * include/grub/kernel.h (struct grub_module_header): Change type
47334 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47335 (grub_module_info): Likewise.
47336
47337 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47338
47339 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47340 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47341 Velazquez <jesus.velazquez@gmail.com>.
47342
47343 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47344
47345 Count partitions from 1 instead of 0 in the string representation
47346 of partitions. Still use 0-based internally.
47347
47348 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47349 (sun_partition_map_iterate): Use grub_partition_t instead of
47350 struct grub_partition *. Cast DESC->START_CYLINDER to
47351 grub_uint64_t after converting the endian.
47352 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47353 (sun_partition_map_get_name): Add 1 to P->INDEX.
47354
47355 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47356 PCDATA->DOS_PART.
47357 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47358
47359 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47360 zero instead of one.
47361 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47362 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47363
47364 * partmap/apple.c (apple_partition_map_iterate): Change the type
47365 of POS to unsigned.
47366 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47367 (apple_partition_map_get_name): Add 1 into P->INDEX.
47368
47369 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47370 of POS to unsigned.
47371 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47372 calculate the offset of a partition.
47373 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47374 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47375
47376 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47377 SECTOR to grub_disk_addr_t.
47378 (acorn_partition_map_iterate): Likewise.
47379 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47380 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47381 top.
47382 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47383
47384 * kern/i386/pc/init.c (make_install_device): Add 1 into
47385 GRUB_INSTALL_DOS_PART.
47386
47387 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47388 conditional.
47389
47390 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47391
47392 Clean up the code to support 64-bit addressing in disks and
47393 files. This change is not enough for filesystems yet.
47394
47395 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47396 type of "start" to grub_uint64_t.
47397 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47398 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47399 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47400 convert addresses.
47401
47402 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47403 to grub_disk_addr_t.
47404
47405 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47406 string.
47407
47408 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47409
47410 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47411 to char *.
47412
47413 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47414
47415 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47416
47417 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47418
47419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47420 to grub_off_t, to detect an error from grub_file_seek.
47421 (grub_multiboot_load_elf32): Likewise.
47422
47423 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47424 maximum unsigned long value when an overflow is detected.
47425 (grub_strtoull): New function.
47426 (grub_divmod64): Likewise.
47427 (grub_lltoa): use grub_divmod64.
47428
47429 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47430 grub_disk_addr_t.
47431 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47432 the pointer to next character. Use grub_strtoull instead of
47433 grub_strtoul.
47434 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47435 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47436 respectively.
47437
47438 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
47439 return value is signed.
47440 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47441 test if OFFSET is less than zero, as OFFSET is unsigned now.
47442
47443 * kern/disk.c (struct grub_disk_cache): Change the type of
47444 "sector" to grub_disk_addr_t.
47445 (grub_disk_cache_get_index): Change the type of SECTOR to
47446 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47447 unsigned after shifting.
47448 (grub_disk_cache_invalidate): Change the type of SECTOR to
47449 grub_disk_addr_t.
47450 (grub_disk_cache_unlock): Likewise.
47451 (grub_disk_cache_store): Likewise.
47452 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47453 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47454 grub_disk_addr_t and grub_uint64_t, respectively.
47455 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47456 body, as the value of OFFSET is tweaked by
47457 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47458 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47459 respectively.
47460 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47461 body, as the value of OFFSET is tweaked by
47462 grub_disk_check_range. Change the types of LEN and N to
47463 grub_size_t.
47464
47465 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47466 and "saved_offset" to grub_off_t.
47467 (test_header): Cast BUF to char *.
47468 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47469 to char *.
47470 (grub_gzio_read): Change the types of OFFSET and SIZE to
47471 grub_off_t and grub_size_t, respectively.
47472
47473 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47474 Removed.
47475 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47476 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47477 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47478 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47479 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47480
47481 * include/grub/types.h (grub_off_t): Unconditionally set to
47482 grub_uint64_t.
47483 (grub_disk_addr_t): Changed to grub_uint64_t.
47484
47485 * include/grub/partition.h (struct grub_partition): Change the
47486 types of "start", "len" and "offset" to grub_disk_addr_t,
47487 grub_uint64_t and grub_disk_addr_t, respectively.
47488 (grub_partition_get_start): Return grub_disk_addr_t.
47489 (grub_partition_get_len): Return grub_uint64_t.
47490
47491 * include/grub/misc.h (grub_strtoull): New prototype.
47492 (grub_divmod64): Likewise.
47493
47494 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47495 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47496 grub_off_t, respectively.
47497 All callers and references changed.
47498
47499 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47500 grub_size_t in "read".
47501 All callers and references changed.
47502
47503 * include/grub/file.h (struct grub_file): Change the types of
47504 "offset" and "size" to grub_off_t and grub_off_t,
47505 respectively. Change the type of SECTOR to grub_disk_addr_t in
47506 "read_hook".
47507 (grub_file_read): Change the type of LEN to grub_size_t.
47508 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47509 grub_off_t.
47510 (grub_file_size): Return grub_off_t.
47511 (grub_file_tell): Likewise.
47512 All callers and references changed.
47513
47514 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47515 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47516 "write".
47517 (struct grub_disk): Change the type of "total_sectors" to
47518 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
47519 "read_hook".
47520 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47521 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47522 (grub_disk_write): Likewise.
47523 All callers and references changed.
47524
47525 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47526 char * for grub_strncmp to silence gcc.
47527 (grub_iso9660_mount): Likewise.
47528 (grub_iso9660_mount): Likewise.
47529 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47530 return statement.
47531 (grub_iso9660_iterate_dir): Likewise.
47532 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47533
47534 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47535 LEN to grub_disk_addr_t and grub_size_t, respectively.
47536
47537 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47538
47539 * fs/jfs.c (grub_jfs_read_file): Likewise.
47540
47541 * fs/minix.c (grub_jfs_read_file): Likewise.
47542
47543 * fs/sfs.c (grub_jfs_read_file): Likewise.
47544
47545 * fs/ufs.c (grub_jfs_read_file): Likewise.
47546
47547 * fs/xfs.c (grub_jfs_read_file): Likewise.
47548
47549 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47550 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47551 respectively.
47552
47553 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47554 BLKNR to -1 instead of returning GRUB_ERRNO.
47555 (grub_ext2_read_file): Change the types of SECTOR and
47556 LEN to grub_disk_addr_t and grub_size_t, respectively.
47557
47558 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47559 LEN to grub_disk_addr_t and grub_size_t, respectively.
47560
47561 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47562 grub_file_read.
47563
47564 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47565 string. Do not cast SECTOR explicitly.
47566
47567 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47568 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47569 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47570 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47571 over 2TB and LBA mode is not supported, raise an error.
47572 (get_safe_sectors): New function.
47573 (grub_biosdisk_read): Use get_safe_sectors.
47574 (grub_biosdisk_write): Likewise.
47575
47576 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47577 (grub_efidisk_write): Likewise.
47578
47579 * disk/loopback.c (delete_loopback): Cosmetic changes.
47580 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47581 correctly.
47582 (grub_loopback_open): Likewise.
47583 (grub_loopback_read): Likewise. Also, change the type of POS to
47584 grub_off_t, and fix the usage of grub_memset.
47585
47586 * commands/i386/pc/play.c: Include grub/machine/time.h.
47587
47588 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47589 print FILE->SIZE.
47590
47591 * commands/configfile.c: Include grub/env.h.
47592
47593 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47594 GRUB_ERRNO directly instead. Change the type of POS to
47595 grub_off_t. Follow the coding standard.
47596
47597 * commands/blocklist.c: Include grub/partition.h.
47598 (grub_cmd_blocklist): Return an error if the underlying device is
47599 not a disk. Take the starting sector of a partition into account,
47600 if a partition is used.
47601
47602 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47603 a length field.
47604 (lba_mode): Support 64-bit addresses.
47605 (chs_mode): Likewise.
47606 (copy_buffer): Adapted to the new offsets of a length field and a
47607 segment field.
47608 (blocklist_default_start): Allocate 64-bit space.
47609
47610 * boot/i386/pc/boot.S (force_lba): Removed.
47611 (boot_drive): Moved to under KERNEL_SECTOR.
47612 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
47613 space.
47614 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47615 is useless.
47616 (lba_mode): Refactored to support a 64-bit address. More size
47617 optimization.
47618 (setup_sectors): Likewise.
47619
47620 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47621
47622 * DISTLIST: Added include/grub/i386/linux.h. Removed
47623 include/grub/i386/pc/linux.h
47624
47625 * configure.ac (AC_INIT): Bumped to 1.94.
47626
47627 * config.guess: Updated from gnulib.
47628 * config.sub: Likewise.
47629 * install-sh: Likewise.
47630 * mkinstalldirs: Likewise.
47631
47632 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47633
47634 * conf/common.rmk (grub_modules_init.lst): Depended on
47635 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47636 MODSRCFILES.
47637
47638 * genmk.rb (PModule::rule): Reverted the previous change.
47639
47640 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47641
47642 * conf/common.rmk (grub_modules_init.lst): Depends on
47643 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47644 that the target does not exist before producing.
47645 (grub_modules_init.h): Remove the target before generating.
47646 (grub_emu_init.c): Likewise.
47647
47648 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47649
47650 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47651
47652 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47653 for the target-specific tests. Make sure that we also have the
47654 up-to-date target variables for those tests.
47655
47656 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47657
47658 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47659 (PModule::rule): Likewise.
47660
47661 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47662
47663 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47664 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47665 target-specific flags should be prefixed.
47666 (PModule::rule): Likewise.
47667
47668 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47669
47670 * configure.ac (CMP): Check if cmp is available explicitly.
47671
47672 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47673
47674 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47675 (target_cpu): New variable.
47676 (pkglibdir): Use target_cpu instead of host_cpu.
47677
47678 * util/i386/pc/grub-install.in (host_cpu): Removed.
47679 (target_cpu): New variable.
47680 (pkglibdir): Use target_cpu instead of host_cpu.
47681
47682 * util/genmoddep.c: Removed.
47683
47684 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47685 instead of GRUB_HOST_SIZEOF_VOID_P.
47686 * kern/dl.c: Likewise.
47687
47688 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47689 ...
47690 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47691 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47692 (GRUB_TARGET_SIZEOF_LONG): ... this.
47693 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47694 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47695 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47696 to ...
47697 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47698 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47699 (GRUB_TARGET_SIZEOF_LONG): ... this.
47700 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47701 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47702 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47703 to ...
47704 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47705 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47706 (GRUB_TARGET_SIZEOF_LONG): ... this.
47707 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47708 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47709
47710 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47711 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47712 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47713 instead of GRUB_HOST_SIZEOF_LONG.
47714 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47715 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47716 GRUB_CPU_WORDS_BIGENDIAN.
47717 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47718 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47719 grub_host_ssize_t.
47720
47721 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47722 (genmoddep_SOURCES): Likewise.
47723 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47724 (genmoddep_SOURCES): Likewise.
47725 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47726 (genmoddep_SOURCES): Likewise.
47727 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47728 Likewise.
47729 (genmoddep_SOURCES): Likewise.
47730
47731 * genmoddep.awk: New file.
47732
47733 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47734 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47735 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47736 (PModule::rule): Likewise.
47737 (Program::rule): Likewise.
47738 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47739 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47740 respectively.
47741
47742 * configure.ac: Rewritten intensively to use host and target
47743 instead of build and host, respectively.
47744
47745 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47746 (host_cpu): Removed.
47747 (target_cpu): New variable.
47748 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47749 (BUILD_CC): Removed.
47750 (BUILD_CFLAGS): Likewise.
47751 (BUILD_CPPFLAGS): Likewise.
47752 (TARGET_CC): New variable.
47753 (TARGET_CFLAGS): Likewise.
47754 (TARGET_CPPFLAGS): Likewise.
47755 (TARGET_LDFLAGS): Likewise.
47756 (AWK): Likewise.
47757 (include): Use target_cpu instead of host_cpu.
47758 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
47759
47760 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47761
47762 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47763
47764 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47765 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47766 field 'false' to 'exec_on_false'.
47767 (grub_script_create_cmdif): Renamed argument names to reflect above
47768 changes.
47769
47770 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47771
47772 * normal/script.c (grub_script_create_cmdif): Likewise.
47773
47774 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47775
47776 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47777 top.
47778 (grub_hfsplus_btree_recptr): Likewise.
47779 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47780 FILEBLOCK both to pass a block number and store next block
47781 number.
47782 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47783 overflow file correctly. Specify errors appropriately, because
47784 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47785 grub_hfsplus_btree_recptr to get the pointer to a found key.
47786 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47787 is found.
47788
47789 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47790 linux.mod.
47791 (_linux_mod_SOURCES): New variable.
47792 (_linux_mod_CFLAGS): Likewise.
47793 (_linux_mod_LDFLAGS): Likewise.
47794 (linux_mod_SOURCES): Likewise.
47795 (linux_mod_CFLAGS): Likewise.
47796 (linux_mod_LDFLAGS): Likewise.
47797
47798 * DISTLIST: Added loader/i386/efi/linux.c,
47799 loader/i386/efi/linux_normal.c and
47800 include/grub/i386/efi/loader.h.
47801
47802 * loader/i386/efi/linux.c: New file.
47803 * loader/i386/efi/linux_normal.c: Likewise.
47804 * include/grub/i386/efi/loader.h: Likewise.
47805
47806 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47807
47808 * commands/blocklist.c: New file.
47809
47810 * DISTLIST: Added commands/blocklist.c.
47811
47812 * term/efi/console.c (grub_console_highlight_color): Use a lighter
47813 color for the background, and a darker color for the foreground.
47814 (grub_console_checkkey): Return READ_KEY.
47815 (grub_console_cls): Set the background to
47816 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47817
47818 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47819
47820 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47821 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47822
47823 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47824 prototype.
47825
47826 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47827 BG. The spec is wrong again.
47828
47829 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47830 prototype.
47831 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47832
47833 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47834 commands/blocklist.c.
47835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47836
47837 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47838 (blocklist_mod_SOURCES): New variable.
47839 (blocklist_mod_CFLAGS): Likewise.
47840 (blocklist_mod_LDFLAGS): Likewise.
47841
47842 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47843
47844 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47845 duplication.
47846 (lba_mode): Use %eax more intensively to reduce the code size.
47847
47848 2006-05-20 Marco Gerards <marco@gnu.org>
47849
47850 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47851
47852 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47853 for `menuentry'.
47854 (script): Accept leading newlines.
47855 (newlines): New rule to describe 0 or more newlines.
47856 (commands): Accept `command' with trailing newline. Fixed the
47857 order in which arguments were passed to `grub_script_add_cmd'.
47858 Accept commands separated by newlines.
47859 (function): Changed to accept newlines.
47860 (menuentry) Rewritten.
47861
47862 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47863 front of the list, instead of to the end.
47864
47865 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47866
47867 * util/i386/pc/grub-install.in (bindir): New variable.
47868 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47869 Shaver <lbgwjl@gmail.com>.
47870
47871 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47872
47873 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47874 grub/machine/linux.h
47875 * loader/i386/pc/linux.c: Likewise.
47876
47877 * include/grub/i386/pc/linux.h: Moved to ...
47878 * include/grub/i386/linux.h: ... here.
47879
47880 * include/grub/i386/linux.h (struct linux_kernel_params): New
47881 struct.
47882
47883 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47884
47885 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47886 checking.
47887 (grub_video_vbe_blit_glyph): Likewise.
47888 (grub_video_vbe_blit_bitmap): Likewise.
47889 (grub_video_vbe_blit_render_target): Likewise.
47890
47891 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47892
47893 * configure.ac (--with-platform): Properly quote the square
47894 brackets.
47895
47896 2006-05-08 Marco Gerards <marco@gnu.org>
47897
47898 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47899 this...
47900 (kernel_elf_HEADERS): ...to this. Updated all users.
47901 (grubof_symlist.c): Renamed from this...
47902 (kernel_elf_symlist.c): ...to this. Updated all users.
47903 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47904 (grubof_SOURCES): Renamed from this...
47905 (kernel_elf_SOURCES): ...to this.
47906 (grubof_HEADERS): Renamed from this...
47907 (kernel_elf_HEADERS): ...to this.
47908 (grubof_CFLAGS): Renamed from this...
47909 (kernel_elf_CFLAGS): ...to this.
47910 (grubof_ASFLAGS): Renamed from this...
47911 (kernel_elf_ASFLAGS): ...to this.
47912 (grubof_LDFLAGS): Renamed from this...
47913 (kernel_elf_LDFLAGS): ...to this.
47914
47915 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47916 this...
47917 (kernel_elf_HEADERS): ...to this. Updated all users.
47918 (grubof_symlist.c): Renamed from this...
47919 (kernel_elf_symlist.c): ...to this. Updated all users.
47920 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47921 (grubof_SOURCES): Renamed from this...
47922 (kernel_elf_SOURCES): ...to this.
47923 (grubof_HEADERS): Renamed from this...
47924 (kernel_elf_HEADERS): ...to this.
47925 (grubof_CFLAGS): Renamed from this...
47926 (kernel_elf_CFLAGS): ...to this.
47927 (grubof_ASFLAGS): Renamed from this...
47928 (kernel_elf_ASFLAGS): ...to this.
47929 (grubof_LDFLAGS): Renamed from this...
47930 (kernel_elf_LDFLAGS): ...to this.
47931
47932 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47933 `kernel.elf' instead of `grubof'.
47934
47935 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47936
47937 Add --with-platform to configure. Use pkglibdir instead of
47938 pkgdatadir. This is reported by Roger Leigh.
47939
47940 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47941 (host_vendor): Likewise.
47942 (host_os): Likewise.
47943 (pkgdatadir): Likewise.
47944 (platform): New variable.
47945 (pkglibdir): Likewise.
47946 Use PKGLIBDIR instead of PKGDATADIR.
47947
47948 * util/i386/pc/grub-install.in (datadir): Removed.
47949 (host_vendor): Likewise.
47950 (host_os): Likewise.
47951 (pkgdatadir): Likewise.
47952 (platform): New variable.
47953 (pkglibdir): Likewise.
47954 Use PKGLIBDIR instead of PKGDATADIR.
47955
47956 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47957 instead of GRUB_DATADIR.
47958 (main): Likewise.
47959 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47960 (main): Likewise.
47961 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47962 (main): Likewise.
47963
47964 * configure.ac (--with-platform): New option.
47965 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47966
47967 * Makefile.in: Include a makefile based on PLATFORM instead of
47968 HOST_VENDOR.
47969 (pkgdatadir): Not appended by the machine type.
47970 (pkglibdir): Appended by the machine type.
47971 (host_vendor): Removed.
47972 (platform): New variable.
47973 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47974 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47975 (uninstall): Likewise.
47976
47977 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47978
47979 Use the environment context in the menu. Remove the commands
47980 "default" and "timeout", and use variables instead.
47981
47982 * normal/menu.c: Include grub/env.h.
47983 (print_entry): Cast TITLE to silence gcc.
47984 (get_timeout): New function.
47985 (set_timeout): Likewise.
47986 (get_entry_number): Likewise.
47987 (run_menu): Use a default entry, a fallback entry and a timeout
47988 in the environment variables "default", "fallback" and
47989 "timeout". Also, tweak the default entry if it is not within the
47990 current menu entries.
47991 (grub_menu_run): Use a fallback entry in the environment variable
47992 "fallback".
47993
47994 * normal/main.c (read_config_file): Do not initialize
47995 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47996 NEWMENU->TIMEOUT.
47997 (grub_normal_execute): Use a data slot to store the menu.
47998
47999 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48000 fallback_entry and timeout.
48001 (struct grub_menu_list): Removed.
48002 (grub_menu_list_t): Likewise.
48003 (struct grub_context): Likewise.
48004 (grub_context_t): Likewise.
48005 (grub_context_get): Likewise.
48006 (grub_context_get_current_menu): Likewise.
48007 (grub_context_push_menu): Likewise.
48008 (grub_context_pop_menu): Likewise.
48009 (grub_default_init): Likewise.
48010 (grub_default_fini): Likewise.
48011 (grub_timeout_init): Likewise.
48012 (grub_timeout_fini): Likewise.
48013
48014 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48015 and timeout.mod.
48016 (normal_mod_SOURCES): Removed normal/context.c.
48017
48018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48019 commands/default.c, commands/timeout.c and normal/context.c.
48020 (normal_mod_SOURCES): Removed normal/context.c.
48021
48022 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48023 commands/timeout.c and normal/context.c.
48024 (normal_mod_SOURCES): Removed normal/context.c.
48025
48026 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48027 commands/default.c, commands/timeout.c and normal/context.c.
48028 (normal_mod_SOURCES): Removed normal/context.c.
48029
48030 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48031 timeout.mod.
48032 (default_mod_SOURCES): Removed.
48033 (default_mod_CFLAGS): Likewise.
48034 (default_mod_LDFLAGS): Likewise.
48035 (timeout_mod_SOURCES): Removed.
48036 (timeout_mod_CFLAGS): Likewise.
48037 (timeout_mod_LDFLAGS): Likewise.
48038
48039 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48040 normal/context.c.
48041
48042 * commands/default.c: Removed.
48043 * commands/timeout.c: Likewise.
48044 * normal/context.c: Likewise.
48045
48046 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48047
48048 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48049
48050 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48051
48052 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48053 "next" to "prev" for readability.
48054 (struct grub_env_sorted_var): New struct.
48055 (grub_env_context): Renamed to ...
48056 (initial_context): ... this.
48057 (grub_env_var_context): Renamed to ...
48058 (current_context): ... this.
48059 (grub_env_find): Look only at CURRENT_CONTEXT.
48060 (grub_env_context_open): Rewritten to copy exported variables from
48061 previous context.
48062 (grub_env_context_close): Rewritten according to the new
48063 scheme. Also, add an assertion to prevent the initial context from
48064 removed.
48065 (grub_env_insert): Removed the code for the sorted list.
48066 (grub_env_remove): Likewise.
48067 (grub_env_export): Simply mark the variable with
48068 GRUB_ENV_VAR_GLOBAL.
48069 (grub_env_set): A cosmetic change for naming consistency.
48070 (grub_env_get): Likewise.
48071 (grub_env_unset): Likewise.
48072 (grub_env_iterate): Rewritten to sort variables within this
48073 function.
48074 (grub_register_variable_hook): Fixed for naming consistency. Call
48075 grub_env_find again, only if NAME is not found at the first time.
48076 (mangle_data_slot_name): New function.
48077 (grub_env_set_data_slot): Likewise.
48078 (grub_env_get_data_slot): Likewise.
48079 (grub_env_unset_data_slot): Likewise.
48080
48081 * include/grub/env.h (grub_env_var_type): New enum.
48082 (GRUB_ENV_VAR_LOCAL): New constant.
48083 (GRUB_ENV_VAR_GLOBAL): Likewise.
48084 (GRUB_ENV_VAR_DATA): Likewise.
48085 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48086 "type".
48087 (grub_env_set): Replace VAR with NAME for consistency.
48088 (grub_register_variable_hook): Likewise.
48089 (grub_env_export): Specify the name of the argument.
48090 (grub_env_set_data_slot): New prototype.
48091 (grub_env_get_data_slot): Likewise.
48092 (grub_env_unset_data_slot): Likewise.
48093
48094 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48095
48096 Extend the loader so that GRUB can accept a loader which comes
48097 back to GRUB when a loaded image exits. Also, this change adds
48098 support for a chainloader on EFI.
48099
48100 * term/efi/console.c: Include grub/misc.h.
48101 (grub_console_checkkey): Display a scan code on the top for
48102 debugging. This will be removed once the EFI port gets stable.
48103 Correct the scan code mapping.
48104
48105 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48106 allocate memory from larger regions, in order to reduce the number
48107 of allocated regions. Otherwise, the MacOSX loader panics.
48108 (filter_memory_map): Avoid less than 1MB for compatibility with
48109 other loaders.
48110 (add_memory_regions): Allocate from the tail of a region, if
48111 possible, to avoid allocating a region near to 1MB, for the MacOSX
48112 loader.
48113
48114 * kern/efi/init.c (grub_efi_set_prefix): Specify
48115 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48116
48117 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48118 argument IMAGE_HANDLE and specify it to get a loaded image.
48119 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48120 grub_efi_get_loaded_image.
48121 (grub_efi_get_filename): Divide the length by the size of
48122 grub_efi_char16_t.
48123 (grub_efi_get_device_path): New function.
48124 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48125 the length by the size of grub_efi_char16_t for a file path device
48126 path node.
48127
48128 * kern/loader.c (grub_loader_noreturn): New variable.
48129 (grub_loader_set): Accept a new argument NORETURN. Set
48130 GRUB_LOADER_NORETURN to NORETURN.
48131 All callers changed.
48132 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48133 grub_machine_fini.
48134
48135 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48136 prototype.
48137 (grub_efi_get_loaded_image): Take an argument to specify an image
48138 handle.
48139
48140 * include/grub/loader.h (grub_loader_set): Added one more argument
48141 NORETURN.
48142
48143 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48144 instead of grub_efi_open_protocol.
48145 (grub_efidisk_get_device_name): Likewise.
48146 (grub_efidisk_close): Print a newline.
48147 (grub_efidisk_get_device_handle): Fixed to use
48148 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48149 GRUB_EFI_DEVICE_PATH_TYPE.
48150
48151 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48152 * kern/efi/efi.c (device_path_guid): ... here.
48153
48154 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48155 chain.mod.
48156 (kernel_mod_HEADERS): Added efi/disk.h.
48157 (_chain_mod_SOURCES): New variable.
48158 (_chain_mod_CFLAGS): Likewise.
48159 (_chain_mod_LDFLAGS): Likewise.
48160 (chain_mod_SOURCES): Likewise.
48161 (chain_mod_CFLAGS): Likewise.
48162 (chain_mod_LDFLAGS): Likewise.
48163
48164 * DISTLIST: Added include/grub/efi/chainloader.h,
48165 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48166
48167 * include/grub/efi/chainloader.h: New file.
48168 * loader/efi/chainloader.c: Likewise.
48169 * loader/efi/chainloader_normal.c: Likewise.
48170
48171 2006-04-30 Marco Gerards <marco@gnu.org>
48172
48173 * commands/configfile.c (grub_cmd_source): New function.
48174 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48175 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48176
48177 2006-04-30 Marco Gerards <marco@gnu.org>
48178
48179 * normal/execute.c (grub_script_execute_cmd): Change the return
48180 type to `grub_err_t'. Correctly return the error.
48181 (grub_script_execute_cmdline): In case a command line is not a
48182 command or a function, try to interpret it as an assignment.
48183
48184 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48185
48186 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48187 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48188 skip a node whose name is obviously invalid as UTF-16,
48189 i.e. contains a NUL character. Stop the iteration when the last
48190 directory entry is found. Instead of using the return value of
48191 grub_hfsplus_btree_iterate_node, store the value in RET and use
48192 it, because the iterator can be stopped by the last directory
48193 entry.
48194
48195 2006-04-30 Marco Gerards <marco@gnu.org>
48196
48197 * include/grub/env.h (grub_env_export): New prototype. Reported
48198 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48199
48200 2006-04-30 Marco Gerards <marco@gnu.org>
48201
48202 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48203 size of the extents in a catalog file record.
48204
48205 2006-04-29 Marco Gerards <marco@gnu.org>
48206
48207 * commands/configfile.c (grub_cmd_configfile): Execute the
48208 configfile within its own context.
48209
48210 * include/grub/env.h (grub_env_context_open): New prototype.
48211 (grub_env_context_close): Likewise.
48212
48213 * kern/env.c (grub_env): Removed.
48214 (grub_env_sorted): Likewise.
48215 (grub_env_context): New variable.
48216 (grub_env_var_context): Likewise.
48217 (grub_env_find): Search both the active context and the global
48218 context.
48219 (grub_env_context_open): New function.
48220 (grub_env_context_close): Likewise.
48221 (grub_env_insert): Likewise.
48222 (grub_env_remove): Likewise.
48223 (grub_env_export): Likewise.
48224 (grub_env_set): Changed to use helper functions to avoid code
48225 duplication.
48226 (grub_env_iterate): Rewritten so both the current context and the
48227 global context are being used.
48228
48229 * normal/command.c (export_command): New function.
48230 (grub_command_init): Register the `export' function.
48231
48232 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48233
48234 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48235 explicitly to suppress gcc's warnings.
48236 * fs/fat.c (grub_fat_find_dir): Likewise.
48237 (grub_fat_label): Likewise.
48238 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48239 (grub_xfs_mount): Likewise.
48240 (grub_xfs_label): Likewise.
48241 * fs/affs.c (grub_affs_mount): Likewise.
48242 (grub_affs_label): Likewise.
48243 (grub_affs_iterate_dir): Likewise.
48244 * fs/sfs.c (grub_sfs_mount): Likewise.
48245 (grub_sfs_iterate_dir): Likewise.
48246 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48247 * fs/hfs.c (grub_hfs_mount): Likewise.
48248 (grub_hfs_cmp_catkeys): Likewise.
48249 (grub_hfs_find_dir): Likewise.
48250 (grub_hfs_dir): Likewise.
48251 (grub_hfs_label): Likewise.
48252 * fs/jfs.c (grub_jfs_mount): Likewise.
48253 (grub_jfs_opendir): Likewise.
48254 (grub_jfs_getent): Likewise.
48255 (grub_jfs_lookup_symlink): Likewise.
48256 (grub_jfs_label): Likewise.
48257 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48258 (grub_hfsplus_iterate_dir): Likewise.
48259 (grub_hfsplus_btree_iterate_node): Made static.
48260
48261 * util/grub-emu.c (prefix): New variable.
48262 (grub_machine_set_prefix): New function.
48263 (main): Do not set the environment variable "prefix" here. Only
48264 set PREFIX, which is used later by grub_machine_set_prefix.
48265
48266 * include/grub/video.h: Do not include grub/symbol.h.
48267 (grub_video_register): Not exported. This symbol is not defined in
48268 the kernel.
48269 (grub_video_unregister): Likewise.
48270 (grub_video_iterate): Likewise.
48271 (grub_video_setup): Likewise.
48272 (grub_video_restore): Likewise.
48273 (grub_video_get_info): Likewise.
48274 (grub_video_get_blit_format): Likewise.
48275 (grub_video_set_palette): Likewise.
48276 (grub_video_get_palette): Likewise.
48277 (grub_video_set_viewport): Likewise.
48278 (grub_video_get_viewport): Likewise.
48279 (grub_video_map_color): Likewise.
48280 (grub_video_map_rgb): Likewise.
48281 (grub_video_map_rgba): Likewise.
48282 (grub_video_fill_rect): Likewise.
48283 (grub_video_blit_glyph): Likewise.
48284 (grub_video_blit_bitmap): Likewise.
48285 (grub_video_blit_render_target): Likewise.
48286 (grub_video_scroll): Likewise.
48287 (grub_video_swap_buffers): Likewise.
48288 (grub_video_create_render_target): Likewise.
48289 (grub_video_delete_render_target): Likewise.
48290 (grub_video_set_active_render_target): Likewise.
48291
48292 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48293 Undefined.
48294 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48295
48296 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48297 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48298 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48299 instead of $(srcdir)/genkernsyms.sh.
48300
48301 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48302 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48304 instead of $(srcdir)/genkernsyms.sh.
48305
48306 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48307 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48309 instead of $(srcdir)/genkernsyms.sh.
48310
48311 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48312 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48314 instead of $(srcdir)/genkernsyms.sh.
48315
48316 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48317 genkernsyms.sh.
48318
48319 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48320 genkernsyms.sh.
48321 (gensymlist.sh): New target.
48322 (genkernsyms.sh): Likewise.
48323
48324 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48325 genkernsyms.sh.in and gensymlist.sh.in.
48326
48327 * genkernsyms.sh: Removed.
48328 * gensymlist.sh: Likewise.
48329
48330 * genkernsyms.sh.in: New file.
48331 * gensymlist.sh.in: Likewise.
48332
48333 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48334
48335 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48336 clobber "prefix", since we may have already set it manually.
48337
48338 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48339
48340 * kern/misc.c (abort): New alias for grub_abort.
48341
48342 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48343
48344 A new machine-specific function "grub_machine_set_prefix" is
48345 defined. This is called after loading modules, so that a prefix
48346 initialization can use modules. Also, this change adds an
48347 intensive debugging feature for the memory manager via the
48348 configure option "--enable-mm-debug".
48349
48350 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48351 PART.LEN.
48352
48353 * kern/sparc64/ieee1275/init.c (abort): Removed.
48354 (grub_stop): Likewise.
48355 (grub_exit): New function.
48356 (grub_set_prefix): Renamed to ...
48357 (grub_machine_set_prefix): ... this.
48358 (grub_machine_init): Do not call grub_set_prefix.
48359
48360 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48361 (grub_machine_set_prefix): ... this.
48362 (grub_machine_init): Do not call grub_set_prefix.
48363
48364 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48365 (grub_machine_init): Do not set the prefix here.
48366
48367 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48368
48369 * kern/efi/init.c: Include grub/mm.h.
48370 (grub_efi_set_prefix): New function.
48371
48372 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48373 (grub_efi_get_filename): New function.
48374 (grub_print_device_path): Renamed to ...
48375 (grub_efi_print_device_path): ... this.
48376
48377 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48378 [MM_DEBUG] (grub_realloc): Likewise.
48379 [MM_DEBUG] (grub_free): Likewise.
48380 [MM_DEBUG] (grub_memalign): Likewise.
48381 [MM_DEBUG] (grub_mm_debug): New variable.
48382 [MM_DEBUG] (grub_debug_malloc): New function.
48383 [MM_DEBUG] (grub_debug_free): New function.
48384 [MM_DEBUG] (grub_debug_realloc): New function.
48385 [MM_DEBUG] (grub_debug_memalign): New function.
48386
48387 * kern/misc.c (grub_abort): Print a newline to distinguish
48388 the message.
48389
48390 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48391 grub_set_root_dev after loading modules. This is necessary when
48392 setting a prefix depends on modules.
48393
48394 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48395 (grub_efi_print_device_path): ... this.
48396 (grub_efi_get_filename): New prototype.
48397 (grub_efi_set_prefix): Likewise.
48398
48399 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48400 and grub/disk.h.
48401 (grub_efidisk_get_device_handle): New prototype.
48402 (grub_efidisk_get_device_name): Likewise.
48403
48404 * include/grub/mm.h: Include config.h.
48405 (MM_DEBUG): Removed.
48406 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48407 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48408 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48409 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48410 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48411 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48412 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48413 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48414 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48415
48416 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48417
48418 * disk/efi/efidisk.c: Include grub/partition.h.
48419 (iterate_child_devices): New function.
48420 (add_device): First, compare only last device path nodes, so that
48421 devices are sorted by the types.
48422 (grub_efidisk_get_device_handle): New function.
48423 (grub_efidisk_get_device_name): Likewise.
48424
48425 * configure.ac (--enable-mm-debug): New option to enable the
48426 memory manager debugging feature. This makes the binary much
48427 bigger, so is disabled by default.
48428
48429 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48430
48431 Use grub_abort instead of grub_stop, and grub_exit must be
48432 define in each architecture now. Also, this change adds support
48433 for EFI disks.
48434
48435 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48436 (grub_getkey): New function.
48437 (grub_term_get_current): Likewise.
48438
48439 * util/i386/pc/grub-setup.c: Include grub/term.h.
48440 (grub_getkey): New function.
48441 (grub_term_get_current): Likewise.
48442
48443 * util/misc.c (grub_stop): Renamed to ...
48444 (grub_exit): ... this.
48445
48446 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48447 (grub_exit): ... this.
48448 (grub_machine_init): Use grub_abort instead of abort.
48449 (grub_stop): Removed.
48450
48451 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48452 abort.
48453
48454 * kern/i386/pc/startup.S (grub_exit): New function.
48455 (cold_reboot): New label.
48456
48457 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48458 (grub_efi_init): Call grub_efidisk_init.
48459 (grub_efi_fini): Call grub_efidisk_fini.
48460
48461 * kern/efi/efi.c: Include grub/mm.h.
48462 (grub_efi_console_control_guid): Renamed to ...
48463 (console_control_guid): ... this.
48464 (grub_efi_loaded_image_guid): Renamed to ...
48465 (loaded_image_guid): ... this.
48466 (grub_efi_locate_handle): New function.
48467 (grub_efi_open_protocol): Likewise.
48468 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48469 GRUB_EFI_CONSOLE_CONTROL_GUID.
48470 (grub_efi_exit): Removed.
48471 (grub_stop): Likewise.
48472 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48473 (grub_exit): New function.
48474 (grub_print_device_path): Likewise.
48475
48476 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48477 (grub_enter_rescue_mode): Register "exit".
48478
48479 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48480 (grub_abort): New function.
48481
48482 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48483
48484 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48485
48486 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48487
48488 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48489 (grub_print_device_path): New prototype.
48490 (grub_efi_locate_handle): Likewise.
48491 (grub_efi_open_protocol): Likewise.
48492
48493 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48494 * disk/efi/efidisk.c: Likewise.
48495
48496 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48497
48498 * include/grub/efi/console_control.h
48499 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48500
48501 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48502 last 8 bytes as an array.
48503 (GRUB_EFI_DISK_IO_GUID): New macro.
48504 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48505 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48506 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48507 grub_uint8_t.
48508 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48509 (struct grub_efi_device_path): Rename the member "sub_type" to
48510 "subtype".
48511 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48512 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48513 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48514 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48515 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48516 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48517 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48518 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48519 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48520 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48521 (struct grub_efi_pci_device_path): New structure.
48522 (grub_efi_pci_device_path_t): New type.
48523 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48524 (struct grub_efi_pccard_device_path): New structure.
48525 (grub_efi_pccard_device_path_t): New type.
48526 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48527 (struct grub_efi_memory_mapped_device_path): New structure.
48528 (grub_efi_memory_mapped_device_path_t): New type.
48529 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48530 (struct grub_efi_vendor_device_path): New structure.
48531 (grub_efi_vendor_device_path_t): New type.
48532 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48533 (struct grub_efi_controller_device_path): New structure.
48534 (grub_efi_controller_device_path_t): New type.
48535 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48536 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48537 (struct grub_efi_acpi_device_path): New structure.
48538 (grub_efi_acpi_device_path_t): New type.
48539 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48540 (struct grub_efi_expanded_acpi_device_path): New structure.
48541 (grub_efi_expanded_acpi_device_path_t): New type.
48542 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48543 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48544 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48545 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48546 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48547 (struct grub_efi_atapi_device_path): New structure.
48548 (grub_efi_atapi_device_path_t): New type.
48549 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48550 (struct grub_efi_fibre_channel_device_path): New structure.
48551 (grub_efi_fibre_channel_device_path_t): New type.
48552 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48553 (struct grub_efi_1394_device_path): New structure.
48554 (grub_efi_1394_device_path_t): New type.
48555 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48556 (struct grub_efi_usb_device_path): New structure.
48557 (grub_efi_usb_device_path_t): New type.
48558 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48559 (struct grub_efi_usb_class_device_path): New structure.
48560 (grub_efi_usb_class_device_path_t): New type.
48561 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48562 (struct grub_efi_i2o_device_path): New structure.
48563 (grub_efi_i2o_device_path_t): New type.
48564 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48565 (struct grub_efi_mac_address_device_path): New structure.
48566 (grub_efi_mac_address_device_path_t): New type.
48567 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48568 (struct grub_efi_ipv4_device_path): New structure.
48569 (grub_efi_ipv4_device_path_t): New type.
48570 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48571 (struct grub_efi_ipv6_device_path): New structure.
48572 (grub_efi_ipv6_device_path_t): New type.
48573 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48574 (struct grub_efi_infiniband_device_path): New structure.
48575 (grub_efi_infiniband_device_path_t): New type.
48576 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48577 (struct grub_efi_uart_device_path): New structure.
48578 (grub_efi_uart_device_path_t): New type.
48579 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48580 (struct grub_efi_vendor_messaging_device_path): New structure.
48581 (grub_efi_vendor_messaging_device_path_t): New type.
48582 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48583 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48584 (struct grub_efi_hard_drive_device_path): New structure.
48585 (grub_efi_hard_drive_device_path_t): New type.
48586 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48587 (struct grub_efi_cdrom_device_path): New structure.
48588 (grub_efi_cdrom_device_path_t): New type.
48589 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48590 (struct grub_efi_vendor_media_device_path): New structure.
48591 (grub_efi_vendor_media_device_path_t): New type.
48592 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48593 (struct grub_efi_file_path_device_path): New structure.
48594 (grub_efi_file_path_device_path_t): New type.
48595 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48596 (struct grub_efi_protocol_device_path): New structure.
48597 (grub_efi_protocol_device_path_t): New type.
48598 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48599 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48600 (struct grub_efi_bios_device_path): New structure.
48601 (grub_efi_bios_device_path_t): New type.
48602 (struct grub_efi_disk_io): New structure.
48603 (grub_efi_disk_io_t): New type.
48604 (struct grub_efi_block_io_media): New structure.
48605 (grub_efi_block_io_media_t): New type.
48606 (struct grub_efi_block_io): New structure.
48607 (grub_efi_block_io_t): New type.
48608
48609 * include/grub/misc.h (grub_stop): Removed.
48610 (grub_exit): New prototype.
48611 (grub_abort): Likewise.
48612
48613 * include/grub/disk.h (enum grub_disk_dev_id): Added
48614 GRUB_DISK_DEVICE_EFIDISK_ID.
48615
48616 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48617 disk/efi/efidisk.c.
48618 (kernel_syms.lst): Remove the target if an error occurs.
48619
48620 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48621
48622 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48623 as it was simply too buggy.
48624
48625 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48626
48627 * kern/misc.c (grub_lltoa): New function.
48628 (grub_vsprintf): Added support for the long long suffix,
48629 i.e. "ll".
48630
48631 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48632
48633 * Makefile.in (LDFLAGS): Add variable.
48634 (LD): Remove variable.
48635 * configure.ac: Add -m32 to LDFLAGS.
48636 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48637 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48638 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48639 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48640 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48641 variables.
48642 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48643 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48644 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48645
48646 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48647
48648 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48649 length for unknown glyph.
48650
48651 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48652
48653 Add support for pre-loaded modules into the EFI port.
48654
48655 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48656 completely. Accept one more argument DIR. The caller has changed.
48657
48658 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48659
48660 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48661 (grub_efi_loaded_image_guid): New variable.
48662 (grub_efi_get_loaded_image): New function.
48663 (grub_arch_modules_addr): Likewise.
48664
48665 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48666 prototype.
48667
48668 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48669 (struct grub_efi_loaded_image): New structure.
48670 (grub_efi_loaded_image_t): New type.
48671
48672 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48673
48674 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48675 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48676 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48677
48678 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48679
48680 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48681
48682 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48683
48684 * DISTLIST: Added include/grub/efi/console.h,
48685 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48686 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48687
48688 * include/grub/efi/console.h: New file.
48689 * include/grub/efi/time.h: Likewise.
48690 * include/grub/i386/efi/kernel.h: Likewise.
48691 * kern/efi/init.c: Likewise.
48692 * kern/efi/mm.c: Likewise.
48693 * term/efi/console.c: Likewise.
48694
48695 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48696 (grub_stop): Removed.
48697 (grub_get_rtc): Likewise.
48698 (grub_machine_init): Simply call grub_efi_init.
48699 (grub_machine_fini): Call grub_efi_fini.
48700
48701 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48702 (grub_efi_output_string): Removed.
48703 (grub_efi_stall): New function.
48704 (grub_stop): Likewise.
48705 (grub_get_rtc): Likewise.
48706
48707 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48708 (grub_efi_stall): New prototype.
48709 (grub_efi_allocate_pages): Likewise.
48710 (grub_efi_free_pages): Likewise.
48711 (grub_efi_get_memory_map): Likewise.
48712 (grub_efi_mm_init): Likewise.
48713 (grub_efi_mm_fini): Likewise.
48714 (grub_efi_init): Likewise.
48715 (grub_efi_fini): Likewise.
48716
48717 * include/grub/i386/efi/time.h: Do not include
48718 grub/symbol.h. Include grub/efi/time.h.
48719 (GRUB_TICKS_PER_SECOND): Removed.
48720 (grub_get_rtc): Likewise.
48721
48722 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48723 Added padding. The EFI spec is buggy.
48724 (GRUB_EFI_BLACK): New macro.
48725 (GRUB_EFI_BLUE): Likewise.
48726 (GRUB_EFI_GREEN): Likewise.
48727 (GRUB_EFI_CYAN): Likewise.
48728 (GRUB_EFI_RED): Likewise.
48729 (GRUB_EFI_MAGENTA): Likewise.
48730 (GRUB_EFI_BROWN): Likewise.
48731 (GRUB_EFI_LIGHTGRAY): Likewise.
48732 (GRUB_EFI_BRIGHT): Likewise.
48733 (GRUB_EFI_DARKGRAY): Likewise.
48734 (GRUB_EFI_LIGHTBLUE): Likewise.
48735 (GRUB_EFI_LIGHTGREEN): Likewise.
48736 (GRUB_EFI_LIGHTCYAN): Likewise.
48737 (GRUB_EFI_LIGHTRED): Likewise.
48738 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48739 (GRUB_EFI_YELLOW): Likewise.
48740 (GRUB_EFI_WHITE): Likewise.
48741 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48742 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48743 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48744 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48745 (GRUB_EFI_BACKGROUND_RED): Likewise.
48746 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48747 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48748 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48749 (GRUB_EFI_TEXT_ATTR): Likewise.
48750
48751 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48752 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48753 (kernel_mod_HEADERS): Added efi/time.h.
48754
48755 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48756
48757 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48758 include/grub/efi/api.h, include/grub/efi/console_control.h,
48759 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48760 include/grub/i386/efi/time.h, kern/efi/efi.c,
48761 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48762 and util/i386/efi/grub-mkimage.c.
48763
48764 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48765
48766 * genmk.rb (PModule#rule): Do not export symbols if
48767 #{prefix}_EXPORTS is set to "no".
48768
48769 * conf/i386-efi.mk: New file.
48770 * conf/i386-efi.rmk: Likewise.
48771 * include/grub/efi/api.h: Likewise.
48772 * include/grub/efi/console_control.h: Likewise.
48773 * include/grub/efi/efi.h: Likewise.
48774 * include/grub/efi/pe32.h: Likewise.
48775 * include/grub/i386/efi/time.h: Likewise.
48776 * kern/efi/efi.c: Likewise.
48777 * kern/i386/efi/init.c: Likewise.
48778 * kern/i386/efi/startup.S: Likewise.
48779 * util/i386/efi/grub-mkimage.c: Likewise.
48780
48781 2006-04-17 Marco Gerards <marco@gnu.org>
48782
48783 * include/grub/script.h: Include <grub/parser.h> and
48784 "grub_script.tab.h".
48785 (struct grub_lexer_param): New struct.
48786 (struct grub_parser_param): Likewise.
48787 (grub_script_create_arglist): Pass the state in an argument.
48788 (grub_script_add_arglist): Likewise.
48789 (grub_script_create_cmdline): Likewise.
48790 (grub_script_create_cmdblock): Likewise.
48791 (grub_script_create_cmdif): Likewise.
48792 (grub_script_create_cmdmenu): Likewise.
48793 (grub_script_add_cmd): Likewise.
48794 (grub_script_arg_add): Likewise.
48795 (grub_script_lexer_ref): Likewise.
48796 (grub_script_lexer_deref): Likewise.
48797 (grub_script_lexer_record_start): Likewise.
48798 (grub_script_lexer_record_stop): Likewise.
48799 (grub_script_mem_record): Likewise.
48800 (grub_script_mem_record_stop): Likewise.
48801 (grub_script_malloc): Likewise.
48802 (grub_script_yylex): Likewise.
48803 (grub_script_yyparse): Likewise.
48804 (grub_script_yyerror): Likewise.
48805 (grub_script_yylex): Likewise.
48806 (grub_script_lexer_init): Return the state.
48807
48808 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48809 (grub_script_lexer_done): Likewise.
48810 (grub_script_lexer_getline): Likewise.
48811 (grub_script_lexer_refs): Likewise.
48812 (script): Likewise.
48813 (newscript): Likewise.
48814 (record): Likewise.
48815 (recording): Likewise.
48816 (recordpos): Likewise.
48817 (recordlen): Likewise.
48818 (grub_script_lexer_init): Return the state instead of setting
48819 global variables.
48820 (grub_script_lexer_ref): Use the newly added argument for state
48821 instead of globals.
48822 (grub_script_lexer_deref): Likewise.
48823 (grub_script_lexer_record_start): Likewise.
48824 (grub_script_lexer_record_stop): Likewise.
48825 (recordchar): Likewise.
48826 (nextchar): Likewise.
48827 (grub_script_yylex2): Likewise.
48828 (grub_script_yylex): Likewise.
48829 (grub_script_yyerror): Likewise.
48830
48831 * normal/parser.y (func_mem): Removed variable.
48832 (menu_entry): Likewise.
48833 (err): Likewise.
48834 (%lex-param): New parser option.
48835 (%parse-param): Likewise.
48836 (script): Always return the AST.
48837 (argument): Pass the state around.
48838 (arguments): Likewise.
48839 (grubcmd): Likewise.
48840 (commands): Likewise.
48841 (function): Likewise.
48842 (menuentry): Likewise.
48843 (if_statement): Likewise.
48844 (if): Likewise.
48845
48846 * normal/script.c (grub_script_memused): Removed variable.
48847 (grub_script_parsed): Likewise.
48848 (grub_script_malloc): Added a state argument. Use that instead of
48849 global variables.
48850 (grub_script_mem_record): Likewise.
48851 (grub_script_mem_record_stop): Likewise.
48852 (grub_script_arg_add): Likewise.
48853 (grub_script_add_arglist): Likewise.
48854 (grub_script_create_cmdline): Likewise.
48855 (grub_script_create_cmdif): Likewise.
48856 (grub_script_create_cmdmenu): Likewise.
48857 (grub_script_add_cmd): Likewise.
48858 (grub_script_parse): Setup the state before calling the parser.
48859
48860 2006-04-16 Marco Gerards <marco@gnu.org>
48861
48862 * normal/command.c (grub_command_init): Remove the title command.
48863
48864 * normal/lexer.c (grub_script_yylex): Renamed from this...
48865 (grub_script_yylex2): ... to this.
48866 (grub_script_yylex): New function. Temporary
48867 introduced to filter some tokens.
48868 (grub_script_yyerror): Print a newline.
48869
48870 * normal/main.c (read_config_file): Output information about the
48871 lines that contain errors. Wait for a key after all lines have
48872 been processed. Don't return an empty menu.
48873
48874 * normal/parser.y (func_mem): Don't initialize.
48875 (menu_entry): Likewise.
48876 (err): New variable.
48877 (script): Don't return anything when an error was encountered.
48878 (ws, returns): Removed rules.
48879 (argument): Disabled concatenated variable support.
48880 (arguments): Remove explicit separators.
48881 (grubcmd): Likewise.
48882 (function): Likewise.
48883 (menuentry): Likewise.
48884 (if): Likewise.
48885 (commands): Likewise. Add error handling.
48886
48887 * normal/script.c (grub_script_create_cmdline): If
48888 `grub_script_parsed' is 0, assume the parser encountered an error.
48889
48890 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48891
48892 * configure.ac: Add support for EFI. Fix the typo
48893 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48894
48895 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48896
48897 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48898 foreign multibyte characters should be shown correctly.
48899
48900 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48901
48902 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48903 calculation.
48904 (read_config_file): Made it to close file before returning.
48905
48906 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48907
48908 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48909 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48910 video/i386/pc/vbefill.c.
48911
48912 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48913 video/i386/pc/vbefill.c.
48914
48915 * include/grub/video.h (grub_video_blit_format): New enum.
48916 (grub_video_mode_info): Added new member blit_format.
48917 (grub_video_get_blit_format): New function prototype.
48918
48919 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48920 function prototype.
48921 (grub_video_vbe_map_rgb): Likewise.
48922 (grub_video_vbe_unmap_color): Likewise.
48923
48924 * include/grub/i386/pc/vbeblit.h: New file.
48925
48926 * include/grub/i386/pc/vbefill.h: New file.
48927
48928 * video/video.c (grub_video_get_blit_format): New function.
48929 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48930 (grub_video_vbe_map_rgb): Likewise.
48931 (grub_video_vbe_unmap_color): Likewise.
48932
48933 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48934 optimized fills.
48935 (grub_video_vbe_blit_render_target): Changed to use more optimized
48936 blits.
48937 (grub_video_vbe_setup): Added detection for optimized settings.
48938 (grub_video_vbe_create_render_target): Likewise.
48939
48940 * video/i386/pc/vbeblit.c: New file.
48941
48942 * video/i386/pc/vbefill.c: New file.
48943
48944 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48945
48946 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48947 here...
48948
48949 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48950 parsing to support both hex and dec ranges. If filename was missing
48951 show usage information.
48952
48953 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48954
48955 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48956 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48957
48958 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48959 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48960 (video_mod_SOURCES): Added.
48961 (video_mod_CFLAGS): Likewise.
48962 (video_mod_LDFLAGS): Likewise.
48963 (gfxterm_mod_SOURCES): Likewise.
48964 (gfxterm_mod_CFLAGS): Likewise.
48965 (gfxterm_mod_LDFLAGS): Likewise.
48966 (videotest_mod_SOURCES): Likewise.
48967 (videotest_mod_CFLAGS): Likewise.
48968 (videotest_mod_LDFLAGS): Likewise.
48969 (vesafb_mod_SOURCES): Removed.
48970 (vesafb_mod_CFLAGS): Likewise.
48971 (vesafb_mod_LDFLAGS): Likewise.
48972 (vga_mod_SOURCES): Likewise.
48973 (vga_mod_CFLAGS): Likewise.
48974 (vga_mod_LDFLAGS): Likewise.
48975
48976 * commands/videotest.c: New file.
48977
48978 * font/manager.c (fill_with_default_glyph): Modified to use
48979 grub_font_glyph.
48980 (grub_font_get_glyph): Likewise.
48981 (fontmanager): Renamed from this...
48982 (font_manager): ... to this.
48983
48984 * include/grub/font.h (grub_font_glyph): Added new structure.
48985 (grub_font_get_glyph): Modified to use grub_font_glyph.
48986
48987 * include/grub/misc.h (grub_abs): Added as inline function.
48988
48989 * include/grub/video.h: New file.
48990
48991 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48992 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48993 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48994 (grub_vbe_get_controller_info): Renamed from this...
48995 (grub_vbe_bios_get_controller_info): ... to this.
48996 (grub_vbe_get_mode_info): Renamed from this...
48997 (grub_vbe_bios_get_mode_info): ... to this.
48998 (grub_vbe_set_mode): Renamed from this...
48999 (grub_vbe_bios_set_mode): ... to this.
49000 (grub_vbe_get_mode): Renamed from this...
49001 (grub_vbe_bios_get_mode): ... to this.
49002 (grub_vbe_set_memory_window): Renamed from this...
49003 (grub_vbe_bios_set_memory_window): ... to this.
49004 (grub_vbe_get_memory_window): Renamed from this...
49005 (grub_vbe_bios_get_memory_window): ... to this.
49006 (grub_vbe_set_scanline_length): Renamed from this...
49007 (grub_vbe_set_scanline_length): ... to this.
49008 (grub_vbe_get_scanline_length): Renamed from this...
49009 (grub_vbe_bios_get_scanline_length): ... to this.
49010 (grub_vbe_set_display_start): Renamed from this...
49011 (grub_vbe_bios_set_display_start): ... to this.
49012 (grub_vbe_get_display_start): Renamed from this...
49013 (grub_vbe_bios_get_display_start): ... to this.
49014 (grub_vbe_set_palette_data): Renamed from this...
49015 (grub_vbe_bios_set_palette_data): ... to this.
49016 (grub_vbe_set_pixel_rgb): Removed.
49017 (grub_vbe_set_pixel_index): Likewise.
49018
49019 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49020 from this...
49021 (grub_vbe_bios_get_controller_info): ... to this.
49022 (grub_vbe_get_mode_info): Renamed from this...
49023 (grub_vbe_bios_get_mode_info): ... to this.
49024 (grub_vbe_set_mode): Renamed from this...
49025 (grub_vbe_bios_set_mode): ... to this.
49026 (grub_vbe_get_mode): Renamed from this...
49027 (grub_vbe_bios_get_mode): ... to this.
49028 (grub_vbe_set_memory_window): Renamed from this...
49029 (grub_vbe_bios_set_memory_window): ... to this.
49030 (grub_vbe_get_memory_window): Renamed from this...
49031 (grub_vbe_bios_get_memory_window): ... to this.
49032 (grub_vbe_set_scanline_length): Renamed from this...
49033 (grub_vbe_set_scanline_length): ... to this.
49034 (grub_vbe_get_scanline_length): Renamed from this...
49035 (grub_vbe_bios_get_scanline_length): ... to this.
49036 (grub_vbe_set_display_start): Renamed from this...
49037 (grub_vbe_bios_set_display_start): ... to this.
49038 (grub_vbe_get_display_start): Renamed from this...
49039 (grub_vbe_bios_get_display_start): ... to this.
49040 (grub_vbe_set_palette_data): Renamed from this...
49041 (grub_vbe_bios_set_palette_data): ... to this.
49042 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49043 getting corrupted after calling it. Added more pushes and pops.
49044 (grub_vbe_bios_set_mode): Likewise.
49045 (grub_vbe_bios_get_mode): Likewise.
49046 (grub_vbe_bios_get_memory_window): Likewise.
49047 (grub_vbe_bios_set_scanline_length): Likewise.
49048 (grub_vbe_bios_get_scanline_length): Likewise.
49049 (grub_vbe_bios_get_display_start): Likewise.
49050 (grub_vbe_bios_set_palette_data): Likewise.
49051
49052 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49053 (cl_insert): Likewise.
49054 (cl_delete): Likewise.
49055
49056 * term/gfxterm.c: New file.
49057
49058 * term/i386/pc/vesafb.c: Removed file.
49059
49060 * video/video.c: New file.
49061
49062 * video/i386/pc/vbe.c (real2pm): Added new function.
49063 (grub_video_vbe_draw_pixel): Likewise.
49064 (grub_video_vbe_get_video_ptr): Likewise.
49065 (grub_video_vbe_get_pixel): Likewise
49066 (grub_video_vbe_init): Likewise.
49067 (grub_video_vbe_fini): Likewise.
49068 (grub_video_vbe_setup): Likewise.
49069 (grub_video_vbe_get_info): Likewise.
49070 (grub_video_vbe_set_palette): Likewise.
49071 (grub_video_vbe_get_palette): Likewise.
49072 (grub_video_vbe_set_viewport): Likewise.
49073 (grub_video_vbe_get_viewport): Likewise.
49074 (grub_video_vbe_map_color): Likewise.
49075 (grub_video_vbe_map_rgb): Likewise.
49076 (grub_video_vbe_map_rgba): Likewise.
49077 (grub_video_vbe_unmap_color): Likewise.
49078 (grub_video_vbe_fill_rect): Likewise.
49079 (grub_video_vbe_blit_glyph): Likewise.
49080 (grub_video_vbe_blit_bitmap): Likewise.
49081 (grub_video_vbe_blit_render_target): Likewise.
49082 (grub_video_vbe_scroll): Likewise.
49083 (grub_video_vbe_swap_buffers): Likewise.
49084 (grub_video_vbe_create_render_target): Likewise.
49085 (grub_video_vbe_delete_render_target): Likewise.
49086 (grub_video_vbe_set_active_render_target): Likewise.
49087 (grub_vbe_set_pixel_rgb): Remove function.
49088 (grub_vbe_set_pixel_index): Likewise.
49089 (index_color_mode): Remove static variable.
49090 (active_mode): Likewise.
49091 (framebuffer): Likewise.
49092 (bytes_per_scan_line): Likewise.
49093 (grub_video_vbe_adapter): Added new static variable.
49094 (framebuffer): Likewise.
49095 (render_target): Likewise.
49096 (initial_mode): Likewise.
49097 (mode_in_use): Likewise.
49098 (mode_list): Likewise.
49099
49100 2006-03-10 Marco Gerards <marco@gnu.org>
49101
49102 * configure.ac (AC_INIT): Bumped to 1.93.
49103
49104 * DISTLIST: Added `include/grub/hfs.h'.
49105
49106 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49107
49108 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49109 18H, which might help the BIOS falling back to next boot media.
49110
49111 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49112
49113 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49114 Poe Chen <poe.poechen@gmail.com>.
49115
49116 2006-01-17 Marco Gerards <marco@gnu.org>
49117
49118 * include/grub/normal.h: Include <grub/script.h>.
49119 (grub_command_list): Removed struct.
49120 (grub_command_list_t): Removed type.
49121 (grub_menu_entry): Remove members `num' and `command_list'. Add
49122 members `commands' and `sourcecode'.
49123 * include/grub/script.h: Add inclusion guards.
49124 (grub_script_cmd_menuentry): New struct.
49125 (grub_script_execute_menuentry): New prototype.
49126 (grub_script_lexer_record_start): Likewise.
49127 (grub_script_lexer_record_stop): Likewise.
49128 * normal/execute.c (grub_script_execute_menuentry): New function.
49129 * normal/lexer.c (record, recording, recordpos, recordlen): New
49130 variables.
49131 (grub_script_lexer_record_start): New function.
49132 (grub_script_lexer_record_stop): Likewise.
49133 (recordchar): Likewise.
49134 (nextchar): Likewise.
49135 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49136 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49137 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49138 (current_menu): New variable.
49139 (free_menu): Mainly rewritten.
49140 (grub_normal_menu_addentry): New function.
49141 (read_config_file): Rewritten.
49142 * normal/menu.c (run_menu_entry): Mainly rewritten.
49143 * normal/menu_entry.c (make_screen): Rewritten the code to insert
49144 the menu entry.
49145 (run): Mainly rewritten.
49146 * normal/parser.y (menu_entry): New variable.
49147 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49148 (menuentry): New rule.
49149 (command): Add `menuentry'.
49150 (if_statement): Allow additional returns before `fi'.
49151 * normal/script.c (grub_script_create_cmdmenu): New function.
49152
49153 2006-01-03 Marco Gerards <marco@gnu.org>
49154
49155 * INSTALL: GNU Bison is required.
49156 * configure.ac: Rewritten the test to detect Bison.
49157 * Makefile.in (YACC): New variable. Reported by Xun Sun
49158 <xun.sun.cn@gmail.com>.
49159
49160 2006-01-03 Marco Gerards <marco@gnu.org>
49161
49162 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49163 the HFS+ filesystem to filesystem blocks.
49164 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49165 GCC warning is silenced.
49166
49167 2006-01-03 Marco Gerards <marco@gnu.org>
49168
49169 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49170 read from disk from big endian to host byte order.
49171
49172 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49173
49174 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49175 documentation.
49176 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49177 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49178 embedded HFS+ filesystem.
49179 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49180 (grub_hfs_sblock): Move from here...
49181 * include/grub/hfs.h: To here... New file.
49182 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49183 documentation.
49184 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49185 New macros.
49186 (grub_hfsplus_volheader): Change type of member `magic' to
49187 `grub_uint16_t'.
49188 (grub_hfsplus_data): Add new member `embedded_offset'.
49189 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49190 returned block.
49191 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49192 Calculate the offset.
49193
49194 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49195
49196 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49197 Removed.
49198 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49199
49200 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49201
49202 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49203 ENV->NAME is NULL after allocating ENV->VALUE.
49204
49205 2005-12-25 Marco Gerards <marco@gnu.org>
49206
49207 * kern/env.c (grub_env_set): Rewritten the error handling code.
49208
49209 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49210
49211 * geninit.sh: Made more robust, and more portable.
49212
49213 2005-12-25 Marco Gerards <marco@gnu.org>
49214
49215 Add support for Apple HFS+ filesystems.
49216
49217 * fs/hfsplus.c: New file.
49218
49219 * DISTLIST: Added `fs/hfsplus.c'.
49220
49221 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49222 (hfsplus_mod_SOURCES): New variable.
49223 (hfsplus_mod_CFLAGS): Likewise.
49224 (hfsplus_mod_LDFLAGS): Likewise.
49225 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49226 (grub_setup_SOURCES): Likewise.
49227 (grub_mkdevicemap_SOURCES): Likewise.
49228 (grub_emu_SOURCES): Likewise.
49229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49230
49231 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49232
49233 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49234
49235 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49236
49237 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49238 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49239 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49240 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49241 normal/lexer.c, normal/parser.y, normal/script.c, and
49242 partmap/gpt.c.
49243 Removed kern/sparc64/cache.c.
49244
49245 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49246 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49247 grub_emu_init.c.
49248
49249 * configure.ac (AC_INIT): Bumped to 1.92.
49250
49251 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49252
49253 * kern/err.c (grub_error_push): Added new function to support error
49254 stacks.
49255 (grub_error_pop): Likewise.
49256 (grub_error_stack_items): New local variable to support error stacks.
49257 (grub_error_stack_pos): Likewise.
49258 (grub_error_stack_assert): Likewise.
49259 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49260 stack depth.
49261 (grub_print_error): Added support to print errors from error stack.
49262
49263 * include/grub/err.h (grub_error_push): Added function prototype.
49264 (grub_error_pop): Likewise.
49265
49266 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49267
49268 * configure.ac: Accept `powerpc64' as host_cpu.
49269 (amd64): Rename to `biarch32'.
49270
49271 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49272 non-cacheline-aligned addresses.
49273
49274 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49275 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49276 if `size' is non-zero.
49277
49278 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
49279
49280 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49281 and `cd' to make sure the filename is not prefixed with a
49282 directory name.
49283 (pkgdata_MODULES): Add `gpt.mod'.
49284 (gpt_mod_SOURCES): New variable.
49285 (gpt_mod_CFLAGS): Likewise.
49286 (gpt_mod_LDFLAGS): Likewise.
49287
49288 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49289
49290 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49291 New macro.
49292
49293 * partmap/gpt.c: New file.
49294
49295 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49296 GPT partition map is detected.
49297
49298 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49299
49300 * commands/i386/pc/play.c: New file.
49301 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49302 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49303 macros.
49304
49305 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
49306
49307 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49308 ((unused))' to silence gcc warning.
49309
49310 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49311
49312 * configure.ac: Correct `AC_PROG_YACC' test.
49313
49314 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49315
49316 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49317 check before installing files.
49318
49319 2005-11-22 Mike Small <smallm@panix.com>
49320
49321 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49322 number regex so multidigit numbers are recognized correctly.
49323
49324 2005-11-22 Mike Small <smallm@panix.com>
49325
49326 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49327 debugging message before attempting to claim memory.
49328 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49329 multiple addresses in case of failure.
49330
49331 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49332
49333 * term/tparm.c (get_space): Remove empty `if' statement.
49334
49335 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49336
49337 * kern/parser.c (check_varstate): Rename `state' to 's'.
49338
49339 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49340
49341 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49342 variable definitions to the beginning of each function. Sort stack
49343 variables by size.
49344 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49345 `buf' argument to `char *'.
49346
49347 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49348
49349 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49350 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49351 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49352 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49353 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49354 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49355 configfile.mod, search.mod, gzio.mod and test.mod.
49356 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49357 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49358 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49359 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49360 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49361 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49362 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49363 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49364 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49365 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49366 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49367 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49368 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49369 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49370 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49371 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49372 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49373 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49374 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49375 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49376 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49377 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49378 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49379
49380 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49381 `grep --include'.
49382 (pkgdata_MODULES): Add test.mod.
49383
49384 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49385
49386 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49387 appending to variables with "+=".
49388 (PModule): Use full pathname to generate *.lst filenames.
49389
49390 * Makefile.in: Fixed list rules moved from genmk.rb.
49391 (.DELETE_ON_ERROR): New special target.
49392 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49393
49394 * conf/i386-pc.rmk: Include conf/common.mk.
49395 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49396 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49397 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49398 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49399 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49400 configfile.mod, search.mod, gzio.mod and test.mod.
49401 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49402 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49403 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49404 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49405 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49406 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49407 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49408 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49409 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49410 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49411 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49412 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49413 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49414 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49415 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49416 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49417 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49418 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49419 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49420 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49421 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49422 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49423 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49424 here...
49425 * conf/common.rmk: ... to here. New file.
49426
49427 * conf/common.mk: New file.
49428
49429 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49430
49431 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49432 (grub_script.tab.c): ... here.
49433
49434 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49435 (grub_script.tab.c): ... here.
49436
49437 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49438 (grub_script.tab.c): ... here.
49439
49440 * normal/command.c (grub_command_find): Fixed a memory leak of
49441 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49442
49443 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49444
49445 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49446 "@" which marks the start of a comment on ARM.
49447 (VARIABLE): Likewise.
49448
49449 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49450
49451 Add support for Linux/ADFS partition tables.
49452
49453 * partmap/acorn.c: New file.
49454
49455 * include/grub/acorn_filecore.h: Likewise.
49456
49457 * DISTLIST: Added `partmap/acorn.c' and
49458 `include/grub/acorn_filecore.h'.
49459
49460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49461 `partmap/acorn.c'.
49462 (pkgdata_MODULES): Add `acorn.mod'.
49463 (acorn_mod_SOURCES): New variable.
49464 (acorn_mod_CFLAGS): Likewise.
49465
49466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49467 `partmap/acorn.c'.
49468 (pkgdata_MODULES): Add `acorn.mod'.
49469 (acorn_mod_SOURCES): New variable.
49470 (acorn_mod_CFLAGS): Likewise.
49471
49472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49473 (pkgdata_MODULES): Add `acorn.mod'.
49474 (acorn_mod_SOURCES): New variable.
49475 (acorn_mod_CFLAGS): Likewise.
49476 (acorn_mod_LDFLAGS): Likewise.
49477
49478 * include/types.h (grub_disk_addr_t): New typedef.
49479
49480 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
49481
49482 * geninit.sh: New file.
49483
49484 * geninitheader.sh: Likewise.
49485
49486 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49487 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49488 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49489 * commands/configfile.c (grub_configfile_init)
49490 (grub_configfile_fini): Likewise.
49491 * commands/default.c (grub_default_init, grub_default_fini):
49492 Likewise.
49493 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49494 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49495 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49496 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49497 Likewise.
49498 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49499 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49500 Likewise.
49501 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
49502 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
49503 Likewise.
49504 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49505 Likewise.
49506 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
49507 Likewise.
49508 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49509 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49510 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49511 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49512 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49513 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49514 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49515 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49516 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49517 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49518 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49519 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49520 * partmap/amiga.c (grub_amiga_partition_map_init)
49521 (grub_amiga_partition_map_fini): Likewise.
49522 * partmap/apple.c (grub_apple_partition_map_init)
49523 (grub_apple_partition_map_fini): Likewise.
49524 * partmap/pc.c (grub_pc_partition_map_init)
49525 (grub_pc_partition_map_fini): Likewise.
49526 * partmap/sun.c (grub_sun_partition_map_init,
49527 grub_sun_partition_map_fini): Likewise.
49528 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49529 Likewise.
49530
49531 * util/grub-emu.c: Include <grub_modules_init.h>.
49532 (main): Don't initialize and de-initialize any modules directly,
49533 use `grub_init_all' and `grub_fini_all' instead.
49534
49535 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49536 `grub_vesafb_mod_init'.
49537 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49538 all users.
49539 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49540 `grub_vga_mod_init'. Updated all users.
49541 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
49542
49543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49544 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49545 rules.
49546
49547 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49548 Generate a function to initialize the module in utilities.
49549 Updated all callers.
49550 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49551 initialize the module in utilities. Updated all callers.
49552
49553 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49554
49555 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49556 escape sequence and a literal ^L to clear the screen.
49557
49558 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49559 when returning from Open Firmware.
49560
49561 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49562
49563 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49564 (grub_ofconsole_height): Likewise.
49565 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49566 manually insert a '\n'.
49567 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49568 `grub_ofconsole_height'. Return early if these are already set.
49569
49570 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49571
49572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49573 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49574 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49575 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49576 and `normal/script.c'.
49577 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49578 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49579 (test_mod_SOURCES): New variable.
49580 (test_mod_CFLAGS): Likewise.
49581 (test_mod_LDFLAGS): Likewise.
49582 (pkgdata_MODULES): Add `test.mod'.
49583 (grub_script.tab.c): New rule.
49584 (grub_script.tab.h): Likewise.
49585
49586 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
49587
49588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49589 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49590 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49591 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49592 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49593 (test_mod_SOURCES): New variable.
49594 (test_mod_CFLAGS): Likewise.
49595 (pkgdata_MODULES): Add `test.mod'.
49596 (grub_script.tab.c): New rule.
49597 (grub_script.tab.h): Likewise.
49598
49599 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
49600
49601 Add initial scripting support.
49602
49603 * commands/test.c: New file.
49604 * include/grub/script.h: Likewise.
49605 * normal/execute.c: Likewise.
49606 * normal/function.c: Likewise.
49607 * normal/lexer.c: Likewise.
49608 * normal/parser.y: Likewise.
49609 * normal/script.c: Likewise.
49610
49611 * configure.ac: Add `AC_PROG_YACC' test.
49612
49613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49614 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49615 `normal/function.c' and `normal/script.c'.
49616 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49617 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49618 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49619 variables.
49620 (pkgdata_MODULES): Add `test.mod'.
49621 (grub_script.tab.c): New rule.
49622 (grub_script.tab.h): Likewise.
49623
49624 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49625
49626 * include/grub/normal.h (grub_test_init): New prototype.
49627 (grub_test_fini): Likewise.
49628
49629 * normal/command.c: Include <grub/script.h>.
49630 (grub_command_execute): Rewritten.
49631
49632 * util/grub-emu.c (main): Call `grub_test_init' and
49633 `grub_test_fini'.
49634
49635 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49636
49637 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49638 to 0.
49639 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49640 there are no pending characters.
49641
49642 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49643
49644 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49645 `grub_strndup' to drop device arguments. Replace unnecessary
49646 `grub_strndup' with `grub_strdup'.
49647
49648 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49649
49650 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49651 `debug' environment variable has been set.
49652
49653 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
49654
49655 * Makefile.in (install-local): Use $(DATA).
49656 (uninstall): Likewise.
49657 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49658 (sbin_UTILITIES): ... to here.
49659 (sbin_SCRIPTS): New variable.
49660 (grub_install_SOURCES): New variable.
49661 * util/powerpc/ieee1275/grub-install.in: New file.
49662 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49663 variable.
49664 (add_segments): Call `grub_util_get_path'.
49665
49666 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49667
49668 From Timothy Baldwin:
49669 * commands/ls.c (grub_ls_list_files): Close FILE with
49670 grub_file_close.
49671 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49672
49673 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
49674
49675 * include/grub/parser.h: New file.
49676
49677 * kern/parser.c: Likewise.
49678
49679 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49680 (grub_setup_SOURCES): Likewise.
49681 (grub_probefs_SOURCES): Likewise.
49682 (grub_emu_SOURCES): Likewise.
49683 (kernel_img_HEADERS): Add `parser.h'.
49684
49685 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49686 (grub_emu_SOURCES): Add `kern/parser.c'.
49687 (grubof_SOURCES): Likewise.
49688
49689 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49690 (grubof_SOURCES): Add `kern/parser.c'.
49691
49692 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49693
49694 * kern/misc.c (grub_split_cmdline): Removed function.
49695
49696 * kern/rescue.c: Include <grub/parser.h>.
49697 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49698 of `grub_split_cmdline'.
49699
49700 * normal/command.c: Include <grub/parser.h>.
49701 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49702 of `grub_split_cmdline'.
49703
49704 * normal/completion.c: Include <grub/parser.h>.
49705 (cmdline_state): New variable.
49706 (iterate_dir): End the filename with a quote depending on the
49707 command line state.
49708 (get_state): new function.
49709 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49710 split the arguments and determine the current argument. When the
49711 argument string is not quoted, escape all spaces.
49712
49713 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49714
49715 * normal/sparc64/setjmp.S: New file.
49716
49717 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49718
49719 * include/grub/sparc64/libgcc.h: New file.
49720 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49721 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49722 normal/sparc64/setjmp.c.
49723
49724 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49725
49726 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49727 * kern/sparc64/cache.S: New file.
49728 * kern/sparc64/cache.c: Removed.
49729 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49730 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49731 -mtune=ultrasparc.
49732 (COMMON_LDFLAGS): Add -melf64_sparc.
49733 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49734 (grubof_SOURCES): Use cache.S instead of cache.c.
49735 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49736 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49737 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49738 commented though.
49739 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49740 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49741 (linux_mod_CFLAGS): Commented out.
49742 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49743 out because module isn't built.
49744 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49745 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49746 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49747 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49748 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49749 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49750 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49751 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49752 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49753 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49754 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49755 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49756 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49757 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49758
49759 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49760
49761 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49762 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49763 longer, because HFS should not be used on PC.
49764
49765 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49766
49767 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49768 consistently within the loop.
49769
49770 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
49771
49772 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49773 directory can not be read.
49774
49775 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49776
49777 * configure.ac (AC_INIT): Increase the version number to 1.91.
49778
49779 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49780 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49781 term/i386/pc/serial.c.
49782
49783 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49784
49785 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49786 file size must be permitted.
49787
49788 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49789 between %ah and %al.
49790
49791 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49792
49793 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49794 grub_uint64_t.
49795 Call the hook with a NUL-terminated filename.
49796 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49797 grub_cpu_to_be32.
49798
49799 * kern/term.c (cursor_state): New variable.
49800 (grub_term_set_current): Reset the cursor state on a new
49801 terminal.
49802 (grub_setcursor): Rewritten to use CURSOR_STATE.
49803 (grub_getcursor): New function.
49804
49805 * include/grub/term.h (grub_getcursor): New prototype.
49806
49807 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49808 integers on ARM. Reported by Timothy Baldwin
49809 <T.E.Baldwin99@members.leeds.ac.uk>.
49810
49811 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
49812
49813 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49814 allocated.
49815 (grub_sfs_dir): Likewise.
49816
49817 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
49818
49819 Add support for the SFS filesystem.
49820
49821 * fs/sfs.c: New file.
49822
49823 * DISTLIST: Added `fs/sfs.c'.
49824
49825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49826 (grub_probefs_SOURCES): Likewise.
49827 (grub_emu_SOURCES): Likewise.
49828 (pkgdata_MODULES): Add `sfs.mod'.
49829 (sfs_mod_SOURCES): New variable.
49830 (sfs_mod_CFLAGS): Likewise.
49831 (sfs_mod_LDFLAGS): Likewise.
49832
49833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49834 (pkgdata_MODULES): Add `sfs.mod'.
49835 (sfs_mod_SOURCES): New variable.
49836 (sfs_mod_CFLAGS): Likewise.
49837
49838 * util/grub-emu.c (main): Call `grub_sfs_init' and
49839 `grub_sfs_fini'.
49840
49841 * include/grub/fs.h (grub_sfs_init): New prototype.
49842 (grub_sfs_fini): Likewise.
49843
49844 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
49845
49846 Add support for the AFFS filesystem.
49847
49848 * fs/affs.c: New file.
49849
49850 * DISTLIST: Added `fs/affs.c'.
49851
49852 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49853 (grub_probefs_SOURCES): Likewise.
49854 (grub_emu_SOURCES): Likewise.
49855 (pkgdata_MODULES): Add `affs.mod'.
49856 (affs_mod_SOURCES): New variable.
49857 (affs_mod_CFLAGS): Likewise.
49858 (affs_mod_LDFLAGS): Likewise.
49859
49860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49861 (pkgdata_MODULES): Add `affs.mod'.
49862 (affs_mod_SOURCES): New variable.
49863 (affs_mod_CFLAGS): Likewise.
49864
49865 * util/grub-emu.c (main): Call `grub_affs_init' and
49866 `grub_affs_fini'.
49867
49868 * include/grub/fs.h (grub_affs_init): New prototype.
49869 (grub_affs_fini): Likewise.
49870
49871 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
49872
49873 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49874
49875 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
49876
49877 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49878 `-m32' to CFLAGS.
49879
49880 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49881 linking.
49882
49883 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49884 (COMMON_LDFLAGS): New variable.
49885 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49886 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49887 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49888 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49889 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49890 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49891 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49892 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49893 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49894 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49895 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49896 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49897 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49898 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49899 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49900 variables.
49901 (normal_mod_ASFLAGS): Add `-m32'.
49902
49903 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49904 (grub_host_size_t, grub_host_ssize_t): New types.
49905 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
49906 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
49907 `GRUB_HOST_SIZEOF_VOID_P'.
49908
49909 * include/grub/kernel.h (struct grub_module_header): Type of
49910 member offset changed to `grub_host_off_t'. Type of member size
49911 changed to `grub_host_size_t'.
49912 (struct grub_module_info): Type of member offset changed to
49913 `grub_host_off_t'. Type of member size changed to
49914 `grub_host_size_t'.
49915
49916 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49917
49918 Make GRUB's kernel compliant to Multiboot Specification.
49919
49920 * kern/i386/pc/startup.S (multiboot_header): New label.
49921 (multiboot_entry): Likewise.
49922 (multiboot_trampoline): Likewise.
49923
49924 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49925 Increased to 0x4A0.
49926
49927 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49928 put parentheses after a question mark.
49929 [!GRUB_UTIL] (my_mod): New variable.
49930
49931 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49932
49933 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
49934
49935 Adds support for the XFS filesystem. Btrees are not supported
49936 yet.
49937
49938 * fs/xfs.c: New file.
49939
49940 * DISTLIST: Added `fs/xfs.c'.
49941
49942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49943 (grub_probefs_SOURCES): Likewise.
49944 (grub_emu_SOURCES): Likewise.
49945 (pkgdata_MODULES): Add `xfs.mod'.
49946 (xfs_mod_SOURCES): New variable.
49947 (xfs_mod_CFLAGS): Likewise.
49948
49949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49950 (pkgdata_MODULES): Add `xfs.mod'.
49951 (xfs_mod_SOURCES): New variable.
49952 (xfs_mod_CFLAGS): Likewise.
49953
49954 * util/grub-emu.c (main): Call `grub_xfs_init' and
49955 `grub_xfs_fini'.
49956
49957 * include/grub/fs.h (grub_xfs_init): New prototype.
49958 (grub_xfs_fini): Likewise.
49959
49960
49961 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49962
49963 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49964 color modes, allow greater than 16 colors to be configured as
49965 a default palette.
49966
49967 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49968
49969 * normal/completion.c (complete_arguments): Add the qualifier
49970 const into OPTIONS.
49971
49972 From Omniflux <omniflux+lists@omniflux.com>:
49973 * include/grub/terminfo.h: New file.
49974 * include/grub/tparm.h: Likewise.
49975 * include/grub/i386/pc/serial.h: Likewise.
49976 * term/terminfo.c: Likewise.
49977 * term/tparm.c: Likewise.
49978 * term/i386/pc/serial.c: Likewise.
49979 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49980 serial.mod.
49981 (terminfo_mod_SOURCES): New variable.
49982 (terminfo_mod_CFLAGS): Likewise.
49983 (serial_mod_SOURCES): Likewise.
49984 (serial_mod_CFLAGS): Likewise.
49985
49986 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49987
49988 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49989 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49990 and kern/powerpc/ieee1275/cmain.c, respectively.
49991
49992 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49993 * kern/powerpc/ieee1275/crt0.S: ... here.
49994
49995 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49996 * kern/powerpc/ieee1275/cmain.c: ... here.
49997
49998 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49999 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50000 instead of boot/powerpc/ieee1275/crt0.S and
50001 boot/powerpc/ieee1275/cmain.c, respectively.
50002
50003 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50004 sectors. It was not used anyway.
50005
50006 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50007
50008 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50009 `unused parameter' warning.
50010
50011 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50012
50013 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50014 function.
50015 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50016 getcharwidth.
50017
50018 2005-08-28 Marco Gerards <metgerards@student.han.nl>
50019
50020 * include/grub/normal.h (enum grub_completion_type): Added
50021 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50022
50023 * normal/cmdline.c (print_completion): Handle
50024 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50025 * normal/menu_entry.c (store_completion): Likewise.
50026
50027 * normal/completion.c (complete_arguments): New function.
50028 (grub_normal_do_completion): Call `complete_arguments' when the
50029 current words start with a dash.
50030
50031 2005-08-27 Marco Gerards <metgerards@student.han.nl>
50032
50033 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50034 `gzio.mod' instead of `io.mod').
50035
50036 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50037
50038 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50039 (DISTDIRS): Added io and video.
50040 Rewrite the search routine to make an output consistently.
50041
50042 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50043 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50044 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50045 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50046 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50047 util/powerpc/ieee1275/misc.c.
50048
50049 * include/grub/gzio.h: New file.
50050 * io/gzio.c: Likewise.
50051
50052 * kern/file.c (grub_file_close): Call grub_device_close only if
50053 FILE->DEVICE is not NULL.
50054
50055 * include/grub/mm.h [!NULL] (NULL): New macro.
50056
50057 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50058
50059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50060 (pkgdata_MODULES): Added gzio.mod.
50061 (gzio_mod_SOURCES): New variable.
50062 (gzio_mod_CFLAGS): Likewise.
50063
50064 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50065 (pkgdata_MODULES): Added gzio.mod.
50066 (gzio_mod_SOURCES): New variable.
50067 (gzio_mod_CFLAGS): Likewise.
50068
50069 * commands/cat.c: Include grub/gzio.h.
50070 (grub_cmd_cat): Use grub_gzfile_open instead of
50071 grub_file_open.
50072
50073 * commands/cmp.c: Include grub/gzio.h.
50074 (grub_cmd_cmp): Use grub_gzfile_open instead of
50075 grub_file_open.
50076
50077 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50078 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50079 grub_file_open.
50080 (grub_rescue_cmd_module): Likewise.
50081
50082 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50083
50084 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50085 kern/sparc64/ieee1275/init.c because it contains _start.
50086 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50087
50088 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50089
50090 * configure.ac: Add support for sparc64 host with ieee1275
50091 firmware.
50092 * configure: Generated from configure.ac.
50093 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50094 instead of int.
50095 (grub_ofdisk_read): Likewise.
50096 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50097 pointers as (void *) to remove a warning.
50098 (grub_ofdisk_close): Likewise.
50099 (grub_ofdisk_read): Likewise.
50100 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50101 returns, so make it return void to remove a warning.
50102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50103 Corresponding prototype change.
50104 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50105 values, and cast the pointers as (void *) to remove a warning.
50106 (grub_mm_dump): Likewise.
50107 * conf/sparc64-ieee1275.mk: New file.
50108 * conf/sparc64-ieee1275.rmk: Likewise.
50109 * include/grub/sparc64/setjmp.h: Likewise.
50110 * include/grub/sparc64/types.h: Likewise.
50111 * include/grub/sparc64/ieee1275/console.h: Likewise.
50112 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50113 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50114 * include/grub/sparc64/ieee1275/time.h: Likewise.
50115 * kern/sparc64/cache.c: Likewise.
50116 * kern/sparc64/dl.c: Likewise.
50117 * kern/sparc64/ieee1275/init.c: Likewise.
50118 * kern/sparc64/ieee1275/openfw.c: Likewise.
50119
50120 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50121
50122 * util/console.c (grub_ncurses_putchar): If C is greater than
50123 0x7f, set C to a question mark.
50124 (grub_ncurses_getcharwidth): New function.
50125 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50126 getcharwidth.
50127
50128 * normal/menu.c (print_entry): Made aware of Unicode. First,
50129 convert TITLE to UCS-4, and predict the cursor position by
50130 grub_getcharwidth.
50131
50132 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50133 const to SRC.
50134 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50135
50136 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50137
50138 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50139 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50140 grub_strcat.
50141
50142 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50143 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50144 grub_strcpy and grub_strlen. Take it into account that a space
50145 character is inserted as a delimiter.
50146
50147 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50148
50149 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
50150 invalid magic in the error.
50151
50152 * commands/search.c: New file.
50153
50154 * util/grub-emu.c (main): Call grub_search_init and
50155 grub_search_fini.
50156
50157 * kern/rescue.c (grub_rescue_print_disks): Removed.
50158 (grub_rescue_print_devices): New function.
50159 (grub_rescue_cmd_ls): Use grub_device_iterate with
50160 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50161 grub_rescue_print_disks.
50162
50163 * kern/partition.c (grub_partition_iterate): Return the result of
50164 PARTMAP->ITERATE instead of GRUB_ERRNO.
50165
50166 * kern/device.c: Include grub/partition.h.
50167 (grub_device_iterate): New function.
50168
50169 * include/grub/partition.h (grub_partition_iterate): Return int
50170 instead of grub_err_t.
50171
50172 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50173 prototype.
50174 [GRUB_UTIL] (grub_search_fini): Likewise.
50175
50176 * include/grub/device.h (grub_device_iterate): New prototype.
50177
50178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50179 commands/search.c.
50180 (pkgdata_MODULES): Added search.mod.
50181 (search_mod_SOURCES): New variable.
50182 (search_mod_CFLAGS): Likewise.
50183
50184 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50185 (pkgdata_MODULES): Added search.mod.
50186 (search_mod_SOURCES): New variable.
50187 (search_mod_CFLAGS): Likewise.
50188
50189 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50190 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50191 All callers changed.
50192
50193 * DISTLIST: Added commands/search.c.
50194
50195 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50196
50197 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50198 conversion.
50199 (grub_getcharwidth): New function.
50200
50201 * kern/misc.c (grub_utf8_to_ucs4): New function.
50202
50203 * include/grub/term.h (struct grub_term): Added a new member
50204 "getcharwidth".
50205 (grub_getcharwidth): New prototype.
50206
50207 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50208
50209 * term/i386/pc/console.c (map_char): New function. Segregated from
50210 grub_console_putchar.
50211 (grub_console_putchar): Use map_char.
50212 (grub_console_getcharwidth): New function.
50213 (grub_console_term): Specified grub_console_getcharwidth as
50214 getcharwidth.
50215
50216 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50217 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50218
50219 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50220 GRUB_ERRNO.
50221 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50222 on grub_strtoul completely.
50223 (write_char): Declare local variables in the beginning of the
50224 function.
50225 (grub_vesafb_getcharwidth): New function.
50226 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50227 getcharwidth.
50228
50229 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50230
50231 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50232 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50233 commands/i386/pc/vbetest.c.
50234
50235 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50236 call grub_vbe_get_controller_info again, because the returned
50237 information is volatile.
50238 (grub_vbe_set_video_mode): Mostly rewritten.
50239 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50240 grub_vbe_status_t correctly.
50241 (grub_vbe_get_video_mode_info): Likewise.
50242 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50243 several if statements.
50244
50245 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50246 * commands/i386/pc/vbeinfo.c: ... this.
50247
50248 * commands/i386/pc/vbe_test.c: Renamed to ...
50249 * commands/i386/pc/vbetest.c: ... this.
50250
50251 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50252 ...
50253 (grub_cmd_vbeinfo): ... this. Save video modes before
50254 iterating. Skip a video mode, if it is not available, not enough
50255 information is given or it is monochrome. Show the memory
50256 model. Leave the interpretation of MODEVAR to grub_strtoul
50257 completely.
50258 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50259 (GRUB_MOD_FINI): Likewise.
50260
50261 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50262 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50263 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50264 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50265 grub_strtoul completely.
50266 (real2pm): Removed.
50267 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50268 (GRUB_MOD_FINI): Likewise.
50269
50270 * normal/misc.c: Include grub/mm.h.
50271
50272 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50273 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50274 (vbe_list_modes_mod_SOURCES): Removed.
50275 (vbe_list_modes_mod_CFLAGS): Likewise.
50276 (vbe_test_mod_SOURCES): Likewise.
50277 (vbe_test_mod_CFLAGS): Likewise.
50278 (vbeinfo_mod_SOURCES): New variable.
50279 (vbeinfo_mod_CFLAGS): Likewise.
50280 (vbetest_mod_SOURCES): Likewise.
50281 (vbetest_mod_CFLAGS): Likewise.
50282
50283 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50284
50285 * normal/misc.c: New file.
50286
50287 * DISTLIST: Added normal/misc.c.
50288
50289 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50290 DISK to HOOK. Call HOOK with DISK.
50291 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50292 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50293 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50294
50295 * normal/menu_entry.c (struct screen): Added a new member
50296 "completion_shown".
50297 (completion_buffer): New global variable.
50298 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50299 (store_completion): New function.
50300 (complete): Likewise.
50301 (clear_completions): Likewise.
50302 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50303 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50304 a tab, call complete.
50305
50306 * normal/completion.c (disk_dev): Removed.
50307 (print_simple_completion): Likewise.
50308 (print_partition_completion): Likewise.
50309 (print_func): New global variable.
50310 (add_completion): Do not take the arguments WHAT or PRINT any
50311 longer. Added a new argument TYPE. Instead of printing directly,
50312 call PRINT_FUNC if not NULL.
50313 All callers changed.
50314 (complete_device): Use a local variable DEV instead of
50315 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50316 (grub_normal_do_completion): Take a new argument HOOK. Do not
50317 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50318 empty string, return NULL instead.
50319 All callers changed.
50320
50321 * normal/cmdline.c (print_completion): New function.
50322
50323 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50324 to HOOK.
50325 All callers changed.
50326
50327 * kern/disk.c (grub_print_partinfo): Removed.
50328
50329 * include/grub/partition.h (struct grub_partition_map): Add a new
50330 argument DISK into HOOK of ITERATE.
50331 (grub_partition_iterate): Add a new argument DISK to HOOK.
50332
50333 * include/grub/normal.h (enum grub_completion_type): New enum.
50334 (grub_completion_type_t): New type.
50335 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50336 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50337 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50338 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50339 (grub_normal_do_completion): Added a new argument HOOK.
50340 (grub_normal_print_device_info): New prototype.
50341
50342 * include/grub/disk.h (grub_print_partinfo): Removed.
50343
50344 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50345 (normal_mod_SOURCES): Likewise.
50346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50347 (normal_mod_SOURCES): Likewise.
50348
50349 * commands/ls.c (grub_ls_list_disks): Use
50350 grub_normal_print_device_info instead of grub_print_partinfo. Free
50351 PNAME.
50352 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50353 duplicating the code.
50354
50355 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50356
50357 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
50358 follow GCS more precisely.
50359 * commands/i386/pc/vbe_test.c: Likewise.
50360 * include/grub/i386/pc/vbe.h: Likewise.
50361 * term/i386/pc/vesafb.c: Likewise.
50362 * video/i386/pc/vbe.c: Likewise.
50363
50364 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50365
50366 * DISTLIST: Added term/i386/pc/vesafb.c
50367 DISTLIST: Added video/i386/pc/vbe.c
50368 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50369 DISTLIST: Added commands/i386/pc/vbe_test.c.
50370 * commands/i386/pc/vbe_list_modes.c: New file.
50371 * commands/i386/pc/vbe_test.c: Likewise.
50372 * term/i386/pc/vesafb.c: Likewise.
50373 * video/i386/pc/vbe.c: Likewise.
50374 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50375 (grub_vbe_probe) Added prototype.
50376 (grub_vbe_set_video_mode) Likewise.
50377 (grub_vbe_get_video_mode) Likewise.
50378 (grub_vbe_get_video_mode_info) Likewise.
50379 (grub_vbe_set_pixel_rgb) Likewise.
50380 (grub_vbe_set_pixel_index) Likewise.
50381 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50382 (pkgdata_MODULES): Added vesafb.mod.
50383 (pkgdata_MODULES): Added vbe_list_modes.mod.
50384 (pkgdata_MODULES): Added vbe_test.mod.
50385 (vbe_mod_SOURCES): Added.
50386 (vbe_mod_CFLAGS): Likewise.
50387 (vesafb_mod_SOURCES): Likewise.
50388 (vesafb_mod_CFLAGS): Likewise.
50389 (vbe_list_modes_mod_SOURCES): Likewise.
50390 (vbe_list_modes_mod_CFLAGS): Likewise.
50391 (vbe_test_mod_SOURCES): Likewise.
50392 (vbe_test_mod_CFLAGS): Likewise.
50393
50394 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50395
50396 * normal/command.c (grub_command_execute): If INTERACTIVE is
50397 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50398 CMDLINE. Disable the pager if INTERACTIVE is true.
50399 All callers are changed.
50400
50401 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50402 before reading a config file.
50403 * normal/main.c (read_config_file): Even if a command is not
50404 found, register it if it is within an entry.
50405
50406 * util/grub-emu.c: Include sys/types.h and unistd.h.
50407 (options): Added --hold.
50408 (struct arguments): Added a new member "hold".
50409 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50410 missing.
50411 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50412 cleared by a debugger, if it is not zero.
50413
50414 * include/grub/normal.h (grub_command_execute): Add an argument
50415 INTERACTIVE.
50416
50417 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50418
50419 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50420
50421 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50422
50423 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50424 program with another one, because the old one didn't detect a bug
50425 in gcc-3.4. Always use regparm 2, because the new test is still
50426 not enough for gcc-4.0. Someone must investigate a simple test
50427 case which detects a bug in gcc-4.0.
50428
50429 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50430
50431 * DISTLIST: Added normal/completion.c.
50432
50433 * normal/completion.c: New file.
50434
50435 * term/i386/pc/console.c (grub_console_getwh): New function.
50436 (grub_console_term): Assign grub_console_getwh to getwh.
50437
50438 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50439 function is defined in normal/completion.c as
50440 grub_normal_do_completion.
50441 (grub_cmdline_get): Use grub_normal_do_completion instead of
50442 grub_tab_complete.
50443
50444 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50445 returns non-zero, otherwise return 0.
50446 (grub_partition_iterate): First, probe the partition map. Then,
50447 call ITERATE only for this partition map.
50448
50449 * kern/misc.c (grub_strncmp): Rewritten.
50450
50451 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50452 returns non-zero. Otherwise return 0.
50453
50454 * include/grub/partition.h (grub_partition_map_iterate): Return
50455 int instead of void.
50456
50457 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50458
50459 * include/grub/misc.h (grub_strncmp): Change the type of N to
50460 grub_size_t.
50461
50462 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50463 of void.
50464
50465 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
50466 unsigned explicitly before comparing it with I.
50467
50468 * kern/main.c (grub_env_write_root): Add the attribute unused into
50469 VAR.
50470
50471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50472 normal/completion.c.
50473 (normal_mod_SOURCES): Likewise.
50474 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50475 (normal_mod_SOURCES): Likewise.
50476
50477 * normal/command.c (grub_iterate_commands): If ITERATE returns
50478 non-zero, return one immediately.
50479
50480 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50481
50482 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50483 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50484 descriptions.
50485 (grub_vbe_get_controller_info): New function.
50486 (grub_vbe_get_mode_info): Likewise.
50487 (grub_vbe_set_mode): Likewise.
50488 (grub_vbe_get_mode): Likewise.
50489 (grub_vbe_set_memory_window): Likewise.
50490 (grub_vbe_get_memory_window): Likewise.
50491 (grub_vbe_set_scanline_length): Likewise.
50492 (grub_vbe_get_scanline_length): Likewise.
50493 (grub_vbe_set_display_start): Likewise.
50494 (grub_vbe_get_display_start): Likewise.
50495 (grub_vbe_set_palette_data): Likewise.
50496 * include/grub/i386/pc/vbe.h: New file.
50497
50498 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50499
50500 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50501 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50502 * DISTLIST: Likewise.
50503 * kern/ieee1275/of.c: Moved to ...
50504 * kern/ieee1275/ieee1275.c: ... here.
50505
50506 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50507
50508 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50509 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50510 Pass 0 as `end' parameter to grub_strtoul().
50511
50512 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50513
50514 * include/grub/powerpc/ieee1275/console.h: Do not include
50515 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50516 ifdef.
50517 (grub_console_cur_color): Remove i386-specific prototype.
50518 (grub_console_real_putchar): Likewise.
50519 (grub_console_checkkey): Likewise.
50520 (grub_console_getkey): Likewise.
50521 (grub_console_getxy): Likewise.
50522 (grub_console_gotoxy): Likewise.
50523 (grub_console_cls): Likewise.
50524 (grub_console_setcursor): Likewise.
50525 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50526 Include <grub/machine/console.h>.
50527 * term/ieee1275/ofconsole.c: Likewise.
50528
50529 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50530
50531 * Makefile.in (LIBLZO): New variable.
50532
50533 * configure.ac: Check for LZO version 2.
50534
50535 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50536 lzo/lzo1x.h instead of lzo1x.h.
50537
50538 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50539 of -llzo.
50540
50541 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50542 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50543
50544 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50545 copying the data from PARTITION to P.
50546
50547 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50548
50549 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50550 negative, unload the module.
50551
50552 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50553 map is "pc_partition_map" but not "pc".
50554 (usage): Fix the description. The options are --boot-image and
50555 --core-image but not --boot-file or --core-file.
50556 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50557 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50558 DEFAULT_DIRECTORY.
50559
50560 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50561 --core-file. Specify INSTALL_DEVICE as an argument.
50562
50563 * util/console.c: Include config.h.
50564 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50565 [HAVE_NCURSES_H]: Include ncurses.h.
50566 [HAVE_CURSES_H]: Include curses.h.
50567 [!A_NORMAL] (A_NORMAL): Defined as zero.
50568 [!A_STANDOUT] (A_STANDOUT): Likewise.
50569
50570 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50571 -lncurses.
50572 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50573
50574 * configure.ac: Check for curses libraries and headers.
50575
50576 * Makefile.in (LIBCURSES): New variable.
50577
50578 * genmk.rb (Script::rule): Set the executable bits.
50579
50580 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50581 name of the PC partition map is "pc_partition_map" but not "pc".
50582
50583 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50584
50585 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50586 (modules): Likewise.
50587 (usage): Added descriptions for --modules and --grub-probefs.
50588 Handle --modules and --grub-probefs. Save the arguments in MODULES
50589 and GRUB_PROBEFS, respectively.
50590 Auto-detect a filesystem module against GRUBDIR. If the result is
50591 empty and modules are not specified explicitly, abort the
50592 installation. Add the result to MODULES.
50593
50594 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50595 disk/powerpc/ieee1275/ofdisk.c,
50596 include/grub/powerpc/ieee1275/init.h and
50597 term/powerpc/ieee1275/ofconsole.c.
50598 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50599 term/ieee1275/ofconsole.c.
50600
50601 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50602
50603 * COPYING: Upgraded to the latest version. Only the address of the
50604 FSF office has changed.
50605
50606 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50607
50608 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50609 kern/ieee1275.c with kern/ieee1275/of.c.
50610
50611 * kern/ieee1275.c: Moved to ...
50612 * kern/ieee1275/of.c: ... here.
50613
50614 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50615
50616 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
50617 readability.
50618
50619 * config.guess: Updated to the latest version from gnulib.
50620 * config.sub: Likewise.
50621 * install.sh: Likewise.
50622 * mkinstalldirs: Likewise.
50623
50624 * include/grub/console.h: Removed. This file is arch-specific. Do
50625 not put this in include/grub.
50626
50627 * include/grub/i386/pc/console.h: Resurrected.
50628
50629 * util/console.c: Include grub/machine/console.h instead of
50630 grub/console.h.
50631 * util/grub-emu.c: Likewise.
50632
50633 2005-08-04 Marco Gerards <metgerards@student.han.nl>
50634
50635 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50636 hardcoded value.
50637
50638 From Vincent Pelletier <subdino2004@yahoo.fr>
50639 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50640 Redefined to use grub_getwh.
50641 (grub_term): New member named getwh.
50642 (grub_getwh): New prototype.
50643 * kern/term.c (grub_getwh): New function.
50644 * term/i386/pc/console.c (grub_console_getwh): New function.
50645 (grub_console_term): New member `getwh'.
50646 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50647 (grub_vga_term): New member `getwh'.
50648 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
50649 grub_ssize_t.
50650 (grub_ofconsole_getw): New function.
50651 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50652 (grub_ofconsole_term): New field named getwh and new initial
50653 value.
50654
50655 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50656
50657 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50658 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50659 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50660 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50661 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50662 of <grub/machine/ieee1275.h>.
50663 * commands/ieee1275/reboot.c: Likewise.
50664 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50665 * kern/ieee1275.c: ... to here. All users updated. Change all
50666 parameter structs to use new type `grub_ieee1275_cell_t'.
50667 * term/powerpc/ieee1275/ofconsole.c: Move ...
50668 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50669 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50670 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50671 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50672 to return int.
50673 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50674 Remove unused prototypes. All users updated.
50675 * include/grub/powerpc/ieee1275/console.h: Removed.
50676 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50677 `grub_ieee1275_cell_t'.
50678 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50679 Cast comparisons with -1 to the correct type.
50680 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50681 type to match `grub_ieee1275_entry_fn'.
50682
50683 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50684
50685 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50686
50687 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50688 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50689 partmap/sun.c.
50690 (grub_probefs_SOURCES): New variable.
50691
50692 * util/i386/pc/grub-probefs.c: New file.
50693
50694 * util/i386/pc/grub-setup.c (main): Call
50695 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50696 grub_hfs_init and grub_jfs_init to initialize the system. Call
50697 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50698 grub_pc_partition_map_fini to finish the system.
50699
50700 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50701
50702 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50703 function.
50704 (grub_multiboot_load_elf32): Likewise.
50705 (grub_multiboot_is_elf64): Likewise.
50706 (grub_multiboot_load_elf64): Likewise.
50707 (grub_multiboot_load_elf): Likewise.
50708 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50709 an ELF32 or ELF64 file.
50710 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50711
50712 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50713 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50714 NULL before calling FS->LABEL.
50715 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50716 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50717 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50718 before calling FS->LABEL.
50719
50720 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50721
50722 * util/i386/pc/grub-install.in (datadir): New variable.
50723 (libdir): Removed.
50724 (pkgdatadir): New variable.
50725 (pkglibdir): Removed.
50726
50727 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50728
50729 * DISTLIST: Added util/i386/pc/grub-install.in.
50730
50731 * util/i386/pc/grub-install.in: New file.
50732
50733 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50734 (grub_install_SOURCES): Likewise.
50735
50736 * genmk.rb: Added support for scripts.
50737 (Script): New class.
50738 (scripts): New variable.
50739
50740 * Makefile.in (install-local): Install sbin_SCRIPTS by
50741 INSTALL_SCRIPT.
50742 (uninstall): Remove sbin_SCRIPTS.
50743
50744 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50745 device, try to get a GRUB device by
50746 grub_util_biosdisk_get_grub_dev.
50747 Free DEST_DEV.
50748
50749 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50750 description for --device-map.
50751
50752 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50753
50754 Change the semantics of variable hooks. They now return strings
50755 instead of error values.
50756
50757 * util/i386/pc/grub-setup.c: Include grub/env.h.
50758 (setup): Use grub_device_set_root instead of grub_env_set.
50759
50760 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50761 grub_env_get instead of grub_device_set_root and
50762 grub_device_get_root, respectively.
50763
50764 * kern/main.c (grub_env_write_root): New function.
50765 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50766 grub_env_set instead of grub_device_set_root.
50767
50768 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50769 many variables.
50770 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50771 rather than calling ENV->WRITE_HOOK afterwards.
50772 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50773 passing a pointer of a pointer.
50774 (grub_register_variable_hook): Change the types of "read_hook" and
50775 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50776 respectively.
50777 Allocate the default empty string on the heap, because this string
50778 may be freed later.
50779
50780 * kern/device.c: Include grub/env.h.
50781 (grub_device_set_root): Removed.
50782 (grub_device_get_root): Likewise.
50783 (grub_device_open): Use grub_env_get instead of
50784 grub_device_get_root.
50785
50786 * include/grub/env.h (grub_env_read_hook_t): New type.
50787 (grub_env_write_hook_t): Likewise.
50788 (grub_env_var): Change the types of "read_hook" and "write_hook"
50789 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50790 (grub_register_variable_hook): Likewise.
50791
50792 * include/grub/device.h (grub_device_set_root): Removed.
50793 (grub_device_set_root): Likewise.
50794
50795 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50796 make sure that DIRNAME terminates with '/', so that
50797 grub_fat_find_dir will fail if PATH is not a directory.
50798
50799 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50800 from DIRNAME.
50801 Use the qualifier auto for print_files and print_files_long.
50802 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50803 as a regular file.
50804 Put a newline only if there is no error.
50805 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50806 used.
50807
50808 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50809
50810 * kern/partition.c (grub_partition_probe): Initialize PART to
50811 NULL. Otherwise, when no partition map is registered, this returns
50812 a garbage.
50813
50814 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50815
50816 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50817 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50818 valid.
50819
50820 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50821
50822 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50823 information on each device, if it does not have partitions. Print
50824 "Device" instead of "Disk", because this function is not specific
50825 to disk devices.
50826
50827 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50828 static to ensure that it is put on the memory rather than a
50829 register.
50830
50831 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50832
50833 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50834 (grub_cat_init): Likewise.
50835 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50836 (options): Likewise.
50837 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50838 (grub_configfile_init): Likewise.
50839 * font/manager.c (GRUB_MOD_INIT): Likewise.
50840 * commands/help.c (GRUB_MOD_INIT): Likewise.
50841 (grub_help_init): Likewise.
50842 * normal/command.c (grub_command_init): Likewise.
50843 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50844 * disk/loopback.c (grub_loop_init): Likewise.
50845 (GRUB_MOD_INIT): Likewise.
50846 * commands/ls.c (grub_ls_init): Likewise.
50847 (GRUB_MOD_INIT): Likewise.
50848 (options): Likewise.
50849 * commands/boot.c (grub_boot_init): Likewise.
50850 (GRUB_MOD_INIT): Likewise.
50851 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50852 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50853 (GRUB_MOD_INIT): Likewise.
50854 * commands/cmp.c (grub_cmp_init): Likewise.
50855 (GRUB_MOD_INIT): Likewise.
50856
50857 * normal/arg.c: Use <> instead of "" to include header files.
50858 (SHORT_ARG_HELP): New macro.
50859 (SHORT_ARG_USAGE): Likewise.
50860 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50861 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50862 descriptions.
50863 (find_short): Check if C is 'h' or 'u' explicitly.
50864 (grub_arg_show_help): Use space characters instead of tabs. Treat
50865 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50866 are shown with --help and --usage only if they are not used for
50867 the command itself.
50868 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50869 'h' and 'u'.
50870
50871 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50872 const into "longarg". Change the type of "shortarg" to int.
50873
50874 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50875
50876 * boot/i386/pc/boot.S (boot_drive_check): New label.
50877
50878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50879 macro.
50880
50881 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50882 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50883
50884 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50885
50886 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50887 When turning off Gate A20, skip the check and return immediately,
50888 because this is not fatal usually.
50889
50890 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50891
50892 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50893 be 0x7C00 instead of 0x8000.
50894
50895 * boot/i386/pc/pxeboot.S: Rewritten.
50896
50897 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50898 EXT_C.
50899 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50900 result.
50901
50902 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50903
50904 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50905 robustness. This routine now supports a BIOS call and System
50906 Control Port A to modify the gate A20.
50907
50908 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50909 Increased to 0x440.
50910
50911 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50912
50913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50914 device path and resulting ihandle.
50915 (grub_ofdisk_close): dprintf the ihandle being closed.
50916 (grub_ofdisk_read): dprintf function parameters.
50917 * kern/mm.c (grub_mm_init_region): Likewise.
50918 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50919 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50920 size, and boot arguments.
50921 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50922 before loading into memory.
50923 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50924 before loading into memory.
50925
50926 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50927
50928 * kern/mm.c: Added much documentation.
50929 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50930 8, set to 5 instead of 8.
50931
50932 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
50933
50934 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50935
50936 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50937 (grub_mkdevicemap_SOURCES): New variable.
50938
50939 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50940 lib/device.c of GRUB Legacy.
50941
50942 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
50943
50944 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50945 instead of PATH is NULL.
50946
50947 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50948
50949 * commands/cmp.c (BUFFER_SIZE): New macro.
50950 (grub_cmd_cmp): Close the right file at the right time. Compare
50951 only data just read. Don't report files of different size as
50952 identical. Dynamically allocate buffers. Move variable
50953 declarations at the beginning of function.
50954
50955 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
50956
50957 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50958 reverse.
50959
50960 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50961
50962 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50963 when backspace is pressed at beginning of line.
50964
50965 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
50966
50967 * DISTLIST: Added genfslist.sh.
50968
50969 * normal/main.c (fs_module_list): New variable.
50970 (autoload_fs_module): New function.
50971 (read_fs_list): Likewise.
50972 (grub_normal_execute): Call read_fs_list.
50973
50974 * kern/fs.c (grub_fs_autoload_hook): New variable.
50975 (grub_fs_probe): Added support for auto-loading.
50976
50977 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50978 (grub_fs_module_list_t): New type.
50979
50980 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50981 (grub_fs_autoload_hook): New prototype.
50982
50983 * genfslist.sh: New file.
50984
50985 * genmk.rb: Added a rule to generate a filesystem list.
50986
50987 2005-06-30 Marco Gerards <metgerards@student.han.nl>
50988
50989 * configure.ac: Fix the test for cross-compiling.
50990
50991 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50992 define GRUB_UTIL anymore.
50993
50994 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50995 so this function works on other systems than just big endian.
50996 (load_modules): Likewise.
50997 (add_segments): Likewise.
50998
50999 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51000
51001 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51002 contains `l' modifier, get a long from va_arg().
51003
51004 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51005
51006 * kern/mm.c (grub_free): If the next free block which is being
51007 merged is the first free block, set the first block to the block
51008 being freed.
51009 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51010
51011 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51012
51013 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51014 `grub_ieee1275_chosen'.
51015
51016 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51017
51018 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51019 (grub_ieee1275_chosen): New variable.
51020 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51021 `chosen'.
51022 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51023 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51024 Rename first argument to `phandle' for consistency.
51025 (grub_ieee1275_get_property_length): Likewise.
51026 (grub_ieee1275_next_property): Likewise. Change type of first argument
51027 to grub_ieee1275_phandle_t.
51028 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51029 Move export next to declaration.
51030 (grub_ieee1275_chosen): New variable.
51031 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51032 Correct cosmetic typo.
51033 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51034 `grub_ieee1275_chosen'.
51035 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51036 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51037 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51038 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51039 `grub_ieee1275_chosen'.
51040
51041 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51042
51043 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51044 /chosen/bootargs.
51045 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51046 /chosen/bootargs as "variable=value" pairs.
51047
51048 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51049
51050 * include/grub/misc.h (grub_dprintf): New macro.
51051 (grub_real_dprintf): New prototype.
51052 (grub_strword): Likewise.
51053 (grub_iswordseparator): Likewise.
51054 * kern/misc.c (grub_real_dprintf): New function.
51055 (grub_strword): Likewise.
51056 (grub_iswordseparator): Likewise.
51057
51058 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51059
51060 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51061 (roundup): Remove macro.
51062 (grub_ieee1275_flags): Make static.
51063 (grub_ieee1275_realmode): Remove.
51064 (grub_ieee1275_test_flag): New function.
51065 (grub_ieee1275_set_flag): Likewise.
51066 (find_options): Rename to `grub_ieee1275_find_options'; update
51067 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51068 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51069 (cmain): New prototype.
51070 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51071 `grub_ieee1275_flags' directly.
51072 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51073 machine/biosdisk.h.
51074 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51075 Don't include grub/machine/init.h.
51076 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51077 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51078 Remove prototype.
51079 (grub_ieee1275_realmode): Likewise.
51080 (grub_ieee1275_flag): New enum.
51081 (grub_ieee1275_test_flag): New prototype.
51082 (grub_ieee1275_set_flag): New prototype.
51083 * include/grub/powerpc/ieee1275/init.h: Remove file.
51084 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51085 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51086 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51087 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51088 comment.
51089 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51090 `grub_ieee1275_test_flag'.
51091 (grub_ieee1275_encode_devname): Likewise.
51092
51093 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51094
51095 * include/grub/powerpc/ieee1275/ieee1275.h
51096 (grub_ieee1275_encode_devname): New prototype.
51097 (grub_ieee1275_get_filename): Likewise.
51098 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51099 function.
51100 (grub_set_prefix): Likewise.
51101 (grub_machine_init): Call grub_set_prefix.
51102 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51103 (grub_parse_type): New enum.
51104 (grub_ieee1275_get_devargs): New function.
51105 (grub_ieee1275_get_devname): Likewise.
51106 (grub_ieee1275_parse_args): Likewise.
51107 (grub_ieee1275_get_filename): Likewise.
51108 (grub_ieee1275_encode_devname): Likewise.
51109
51110 2005-03-30 Marco Gerards <metgerards@student.han.nl>
51111
51112 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51113 `grub_loader_unset'.
51114
51115 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51116
51117 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51118 instead of grub_ieee1275_interpret.
51119 (grub_halt_init): New function.
51120 (grub_halt_fini): Likewise.
51121 (GRUB_MOD_INIT): Correct message grammar.
51122 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51123 instead of grub_ieee1275_interpret.
51124 (grub_reboot_init): New function.
51125 (grub_reboot_fini): Likewise.
51126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51127 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51128 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51129 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51130 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51131 function.
51132 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51133 Add prototype.
51134 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51135 prototype.
51136 (grub_halt): Likewise.
51137 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51138 (cmain): Remove __attribute__((unused)).
51139 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51140 (grub_heap_len): Likewise.
51141 (grub_machine_fini): New function.
51142 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51143 (grub_halt): Likewise.
51144 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51145 function.
51146 * util/powerpc/ieee1275/misc.c: New file.
51147
51148 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51149
51150 * DISTLIST: New file.
51151 * gendistlist.sh: Likewise.
51152
51153 * Makefile.in (COMMON_DISTFILES): Removed.
51154 (BOOT_DISTFILES): Likewise.
51155 (CONF_DISTFILES): Likewise.
51156 (DISK_DISTFILES): Likewise.
51157 (FS_DISTFILES): Likewise.
51158 (INCLUDE_DISTFILES): Likewise.
51159 (KERN_DISTFILES): Likewise.
51160 (LOADER_DISTFILES): Likewise.
51161 (TERM_DISTFILES): Likewise.
51162 (UTIL_DISTFILES): Likewise.
51163 (DISTFILES): Likewise.
51164 (uninstall): Uninstall files in $(pkgdata_DATA).
51165 (DISTLIST): New target.
51166 (distdir): Use the contents of the file DISTLIST to get a list of
51167 distributed files.
51168
51169 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51170
51171 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51172 descriptor. This is ported from GRUB Legacy.
51173
51174 * gencmdlist.sh: Added an extra semicolon to make it work with
51175 old sed versions. Reported by Robert Bihlmeyer
51176 <robbe@orcus.priv.at>.
51177
51178 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
51179
51180 Automatic loading of commands is supported.
51181
51182 * normal/main.c (read_command_list): New function.
51183 (grub_normal_execute): Call read_command_list.
51184
51185 * normal/command.c (grub_register_command): Return zero or CMD.
51186 Allocate CMD->NAME from the heap.
51187 Initialize CMD->MODULE_NAME to zero.
51188 Find the same name as well. If the same command is found and it is
51189 a dummy command, overwrite members. If it is not a dummy command,
51190 return zero.
51191 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51192 (grub_command_find): If a dummy command is found, load a module
51193 and retry to find a command only once.
51194
51195 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51196 make sure that each command is loaded.
51197
51198 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51199 macro.
51200 (struct grub_command): Remove const from the member `name'.
51201 Add a new member `module_name'.
51202 (grub_register_command): Return grub_command_t.
51203
51204 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51205 sure that each command is loaded.
51206
51207 * genmk.rb (PModule::rule): Specify a module name without the
51208 suffix ".mod" to gencmdlist.sh.
51209
51210 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51211
51212 * gencmdlist.sh: New file.
51213
51214 * genmk.rb (PModule::rule): Generate a rule for a command list.
51215 Clean command.lst.
51216 Generate command.lst from $(COMMANDFILES).
51217
51218 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51219 (DATA): Added $(pkgdata_DATA).
51220 (install-local): Install files in $(pkgdata_DATA).
51221
51222 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51223
51224 * term/i386/pc/vga.c (debug_command): Removed.
51225 (GRUB_MOD_INIT): Do not register the command "debug".
51226
51227 From Hollis Blanchard:
51228 * commands/configfile.c: New file.
51229 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51230 commands/configfile.c.
51231 (pkgdata_MODULES): Added configfile.mod.
51232 (configfile_mod_SOURCES): New variable.
51233 (configfile_mod_CFLAGS): Likewise.
51234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51235 commands/configfile.c.
51236 (pkgdata_MODULES): Added configfile.mod.
51237 (configfile_mod_SOURCES): New variable.
51238 (configfile_mod_CFLAGS): Likewise.
51239 * util/grub-emu.c (main): Call grub_configfile_init and
51240 grub_configfile_fini.
51241 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51242 prototype.
51243 [GRUB_UTIL] (grub_configfile_fini): Likewise.
51244
51245 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51246
51247 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51248 address.
51249
51250 * commands/help.c (grub_cmd_help): Do not print newlines after
51251 the last command in print_command_help.
51252
51253 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51254
51255 * commands/default.h: New file.
51256 * commands/timeout.h: Likewise.
51257 * normal/context.c: Likewise.
51258
51259 * util/misc.c: Do not include sys/times.h.
51260 Include sys/time.h and grub/machine/time.h.
51261 (grub_get_rtc): Rewritten with gettimeofday.
51262
51263 * util/grub-emu.c (main): Call grub_default_init and
51264 grub_timeout_init before grub_normal_init, and call
51265 grub_timeout_fini and grub_default_fini after grub_main.
51266
51267 * util/console.c (grub_ncurses_checkkey): Return the read
51268 character or -1.
51269
51270 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51271 timeouts.
51272
51273 * normal/main.c (read_config_file): Push MENU. If this fails,
51274 print an error and wait for a user input.
51275 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51276 If a menu is empty or an error occurs, pop MENU.
51277 (grub_normal_execute): Pop and free MENU after grub_menu_run
51278 returns.
51279
51280 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51281
51282 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51283 include time.h.
51284 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51285 without GRUB_UTIL.
51286 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51287 time.h.
51288 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51289 without GRUB_UTIL.
51290
51291 * include/grub/normal.h (struct grub_menu_list): New struct.
51292 (grub_menu_list_t): New type.
51293 (struct grub_context): New struct.
51294 (grub_context_t): New type.
51295 (grub_register_command): Got rid of EXPORT_FUNC.
51296 (grub_unregister_command): Likewise.
51297 (grub_context_get): New prototype.
51298 (grub_context_get_current_menu): Likewise.
51299 (grub_context_push_menu): Likewise.
51300 (grub_context_pop_menu): Likewise.
51301 [GRUB_UTIL] (grub_default_init): Likewise.
51302 [GRUB_UTIL] (grub_default_fini): Likewise.
51303 [GRUB_UTIL] (grub_timeout_init): Likewise.
51304 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51305
51306 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51307 commands/timeout.c and normal/context.c.
51308 (pkgdata_MODULES): Added default.mod and timeout.mod.
51309 (normal_mod_SOURCES): Added normal/context.c.
51310 (default_mod_SOURCES): New variable.
51311 (default_mod_CFLAGS): Likewise.
51312 (timeout_mod_SOURCES): Likewise.
51313 (timeout_mod_CFLAGS): Likewise.
51314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51315 conf/i386-pc.rmk.
51316 (pkgdata_MODULES): Added default.mod and timeout.mod.
51317 (normal_mod_SOURCES): Added normal/context.c.
51318 (default_mod_SOURCES): New variable.
51319 (default_mod_CFLAGS): Likewise.
51320 (timeout_mod_SOURCES): Likewise.
51321 (timeout_mod_CFLAGS): Likewise.
51322
51323 * Makefile.in (all-local): Added $(MKFILES).
51324
51325 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51326
51327 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51328 (grub_emu_SOURCES): Likewise.
51329 (pkgdata_MODULES): Add `sun.mod'.
51330 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51332 `partmap/sun.c'.
51333 (pkgdata_MODULES): Add `sun.mod'.
51334 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51335 * include/grub/partition.h (grub_sun_partition_map_init): New
51336 prototype.
51337 (grub_sun_partition_map_fini): Likewise.
51338 * partmap/sun.c: New file.
51339 * util/grub-emu.c (main): Initialize and de-initialize the sun
51340 partitionmap support.
51341
51342 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51343
51344 This implements an Emacs-like menu entry editor.
51345
51346 * normal/menu_entry.c: New file.
51347
51348 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51349 characters to ASCII.
51350 (saved_char): New variable.
51351 (grub_ncurses_checkkey): Rewritten completely.
51352 (grub_ncurses_getkey): Likewise.
51353 (grub_ncurses_init): Call raw instead of cbreak.
51354
51355 * normal/menu.c (print_entry): Do not put a space.
51356 (init_page): Renamed to ...
51357 (grub_menu_init_page): ... this. All callers changed.
51358 (edit_menu_entry): Removed.
51359 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51360
51361 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51362
51363 * kern/misc.c (grub_vprintf): Call grub_refresh.
51364
51365 * normal/menu.c (DISP_LEFT): Renamed to ...
51366 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51367 * normal/menu.c (DISP_UP): Renamed to ...
51368 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51369 * normal/menu.c (DISP_RIGHT): Renamed to ...
51370 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51371 * normal/menu.c (DISP_DOWN): Renamed to ...
51372 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51373 * normal/menu.c (DISP_HLINE): Renamed to ...
51374 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51375 * normal/menu.c (DISP_VLINE): Renamed to ...
51376 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51377 * normal/menu.c (DISP_UL): Renamed to ...
51378 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51379 * normal/menu.c (DISP_UR): Renamed to ...
51380 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51381 * normal/menu.c (DISP_LL): Renamed to ...
51382 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51383 * normal/menu.c (DISP_LR): Renamed to ...
51384 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51385 * normal/menu.c (TERM_WIDTH): Renamed to ...
51386 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51387 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51388 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51389 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51390 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51391 * normal/menu.c (TERM_MARGIN): Renamed to ...
51392 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51393 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51394 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51395 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51396 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51397 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51398 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51399 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51400 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51401 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51402 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51403 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51404 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51405 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51406 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51407 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51408 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51409 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51410 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51411 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51412 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51413 All callers changed.
51414
51415 * include/grub/normal.h: New prototype.
51416
51417 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51418 normal/menu_entry.c.
51419 (normal_mod_SOURCES): Likewise.
51420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51421 (normal_mod_SOURCES): Likewise.
51422
51423 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51424
51425 * include/grub/normal.h (grub_halt_init): New prototype.
51426 (grub_halt_fini): Likewise.
51427 (grub_reboot_init): Likewise.
51428 (grub_reboot_fini): Likewise.
51429
51430 * util/grub-emu.c: Include signal.h.
51431 (main_env): New global variable.
51432 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51433 catch C-c.
51434 (grub_machine_fini): New function.
51435 (main): Call grub_halt_init and grub_reboot_init before
51436 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51437 Call setjmp with MAIN_ENV to go back afterwards.
51438 Call grub_machine_fini right before return.
51439
51440 * include/grub/util/misc.h: Include setjmp.h.
51441 (main_env): New prototype.
51442
51443 * include/grub/kernel.h (grub_machine_fini): New prototype.
51444 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51445 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51446
51447 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51448 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51449 * term/i386/pc/console.c (grub_console_fini): Likewise.
51450
51451 * util/i386/pc/misc.c: New file.
51452
51453 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51454 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51455 commands/i386/pc/reboot.c.
51456
51457 2005-02-14 Guillem Jover <guillem@hadrons.org>
51458
51459 * include/grub/dl.h (grub_dl_check_header): New prototype.
51460 (grub_arch_dl_check_header): Change return type to grub_err_t,
51461 remove size parameter and export function. Update all callers.
51462 * kern/dl.c (grub_dl_check_header): New function.
51463 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51464 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51465 are inside the core.
51466 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51467 independent ELF header checks.
51468 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51469 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51470 `grub_dl_check_header' instead of explicit checks. Check for the
51471 ELF type.
51472 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51473 `grub_dl_check_header' instead of explicit checks. Remove arch
51474 specific ELF header checks.
51475
51476 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51477 argument SIZE.
51478
51479 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51480
51481 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51482 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51483
51484 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51485
51486 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
51487 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
51488 (part_map_iterate): Clear `grub_errno' and return 0 if
51489 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
51490 * partmap/amiga.c (amiga_partition_map_iterate): Return
51491 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51492 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51493
51494 2005-02-01 Guillem Jover <guillem@hadrons.org>
51495
51496 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51497 help info.
51498
51499 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51500
51501 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51502 Removed prototype.
51503 (grub_rescue_cmd_linux): New prototype.
51504 (grub_rescue_cmd_initrd): Likewise.
51505 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51506 `bi_rec'.
51507 (grub_linux_release_mem): Release the memory for the initrd.
51508 (grub_load_linux): Renamed from this...
51509 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51510 Changed `entry' not to be static. Loop over memory regions to
51511 find another one when the default fails.
51512 (grub_rescue_cmd_initrd): New function.
51513 (grub_linux_init): Remove function.
51514 (grub_linux_fini): Likewise.
51515 (GRUB_MOD_INIT): Register `initrd'.
51516 (GRUB_MOD_FINI): Unregister `initrd'.
51517 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51518 Function removed.
51519 (grub_linux_normal_fini): Likewise.
51520 (GRUB_MOD_INIT): Register `initrd'.
51521 (GRUB_MOD_FINI): Unregister `initrd'.
51522
51523 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51524
51525 * commands/help.c: New file.
51526 * normal/arg.c (show_help): Renamed to...
51527 (grub_arg_show_help): ... this.
51528 * commands/i386/pc/halt.c: New file.
51529 * commands/i386/pc/reboot.c: Likewise.
51530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51531 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51532 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51533 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51534 variables.
51535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51536 `commands/help.c'.
51537 (pkgdata_MODULES): Add `help.mod'.
51538 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51539 * grub/i386/pc/init.h (grub_reboot): New prototype.
51540 (grub_halt): Likewise.
51541 * include/grub/normal.h (grub_arg_show_help): New prototype.
51542 (grub_help_init): Likewise.
51543 (grub_help_fini): Likewise.
51544 * util/grub-emu.c (main): Initialize and deinitialize the help
51545 command.
51546
51547 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51548
51549 * normal/command.c (grub_command_init): Fixed the description of
51550 the `set' and `unset' commands.
51551
51552 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51553
51554 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51555 function.
51556 * commands/ieee1275/halt.c: New file.
51557 * commands/ieee1275/reboot.c: Likewise.
51558 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51559 `__attribute__ ((unused))'. Some GCS related fixed.
51560 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51561 (grub_suspend_fini): Likewise.
51562 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51563 and `halt.mod'.
51564 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51565 (halt_mod_CFLAGS): New variables.
51566 * include/grub/powerpc/ieee1275/ieee1275.h
51567 (grub_ieee1275_interpret): New prototype.
51568
51569 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51570
51571 * include/grub/misc.h (memmove): New prototype.
51572 (memcpy): Likewise.
51573
51574 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51575
51576 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51577 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51578
51579 2005-01-22 Marco Gerards <metgerards@student.han.nl>
51580
51581 * kern/misc.c (grub_strndup): Function rewritten.
51582
51583 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51584
51585 * normal/menu.c (TERM_WIDTH): Macro redefined.
51586 (TERM_TOP_BORDER_Y): Likewise.
51587 (draw_border): Replaced while-loop by a for-loop. Make the number
51588 of lines consistent with the number of lines displayed in
51589 print_entries. Added a margin below the rectangle.
51590 (print_entry): Make the entry fit in the rectangle.
51591 (print_entries): Display the scroll arrows next to the right
51592 border.
51593
51594 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51595
51596 * fs/minix.c (grub_minix_find_file): Reserve more space for
51597 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51598 `grub_strncpy' to copy `path' into it.
51599
51600 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51601
51602 Add the loopback device, a device via which files can be accessed
51603 as devices.
51604
51605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51606 (pkgdata_MODULES): Add loopback.mod.
51607 (loopback_mod_SOURCES): New variable.
51608 (loopback_mod_CFLAGS): Likewise.
51609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51610 `disk/loopback.c'.
51611 (pkgdata_MODULES): Add loopback.mod.
51612 (loopback_mod_SOURCES): New variable.
51613 (loopback_mod_CFLAGS): Likewise.
51614 * disk/loopback.c: new file.
51615 * include/grub/normal.h (grub_loop_init): New prototype.
51616 (grub_loop_fini): New prototype.
51617 * util/grub-emu.c (main): Initialize and de-initialize loopback
51618 support.
51619 * include/grub/disk.h (grub_disk_dev_id): Add
51620 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51621
51622 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51623
51624 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51625 function.
51626 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51627 (suspend_mod_SOURCES): New variable.
51628 (suspend_mod_CFLAGS): Likewise.
51629 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51630 New prototype.
51631 * commands/ieee1275/suspend.c: New file.
51632
51633 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51634
51635 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
51636 ((unused))' to `__attribute__ ((used))'.
51637 (GRUB_MOD_FINI): Likewise.
51638 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51639 * genmk.rb (PModule): Assign space to common symbols when linking
51640 modules.
51641
51642 2005-01-20 Marco Gerards <metgerards@student.han.nl>
51643
51644 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51645 `unsigned' arguments to `grub_size_t'.
51646 (grub_malloc): Likewise.
51647 (grub_realloc): Likewise.
51648 (grub_memalign): Likewise.
51649 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51650 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51651 * util/misc.c (grub_malloc): Likewise.
51652 (grub_realloc): Likewise.
51653 * kern/mm.c (get_header_from_pointer): Change the casts to
51654 `unsigned' into a cast to `grub_size_t'.
51655
51656 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51657 point to `currnode' when `currnode' is changed.
51658
51659 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51660 Schottelius <nico-linux@schottelius.org>.
51661
51662 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51663
51664 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51665 (note_path): Remove variable.
51666 (GRUB_IEEE1275_NOTE_NAME): New macro.
51667 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51668 (grub_ieee1275_note_hdr): New structure.
51669 (grub_ieee1275_note_desc): Likewise.
51670 (grub_ieee1275_note): Likewise.
51671 (load_note): Remove `dir' argument. All callers updated. Remove
51672 `note_img' and `path'. Do not load a file from `note_path'.
51673 Initialize a struct grub_ieee1275_note and write that to `out'.
51674 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51675
51676 2005-01-05 Marco Gerards <metgerards@student.han.nl>
51677
51678 * util/misc.c (grub_util_read_image): Revert last change. It
51679 called `grub_util_read_at', which seeks from the beginning of the
51680 file.
51681
51682 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51683
51684 * TODO: Add note about endianness in grub-mkimage.
51685 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51686 section.
51687 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51688 (grub_mkimage_SOURCES): New target.
51689 * include/grub/kernel.h (grub_start_addr): Remove variable.
51690 (grub_end_addr): Likewise.
51691 (grub_total_module_size): Likewise.
51692 (grub_kernel_image_size): Likewise.
51693 (GRUB_MODULE_MAGIC): New constant.
51694 (grub_module_info): New structure.
51695 (grub_arch_modules_addr): New prototype.
51696 (grub_get_end_addr): Remove prototype.
51697 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51698 * include/grub/powerpc/ieee1275/kernel.h: New file.
51699 * include/grub/util/misc.h (grub_util_get_fp_size): New
51700 prototype.
51701 (grub_util_read_at): Likewise.
51702 (grub_util_write_image_at): Likewise.
51703 * kern/main.c (grub_get_end_addr): Remove function.
51704 (grub_load_modules): Call grub_arch_modules_addr instead of using
51705 grub_end_addr. Look for a grub_module_info struct in memory. Use
51706 the grub_module_info fields instead of calling grub_get_end_addr
51707 as loop conditions. Move grub_add_unused_region code here.
51708 (grub_add_unused_region): Remove function.
51709 * kern/i386/pc/init.c: Include grub/cache.h.
51710 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51711 one call to add_mem_region.
51712 (grub_arch_modules_addr): New function.
51713 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51714 (grub_total_module_size): Likewise.
51715 Include grub/machine/kernel.h.
51716 (grub_arch_modules_addr): New function.
51717 * util/grub-emu.c (grub_end_addr): Remove variable.
51718 (grub_total_module_size): Likewise.
51719 (grub_arch_modules_addr): New function.
51720 * util/misc.c: Include unistd.h.
51721 (grub_util_get_fp_size): New function.
51722 (grub_util_read_at): Likewise.
51723 (grub_util_write_image_at): Likewise.
51724 (grub_util_read_image): Call grub_util_read_at.
51725 (grub_util_write_image): Call grub_util_write_image_at.
51726 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51727 additional memory in kernel_img for a struct grub_module_info.
51728 Fill in that grub_module_info.
51729 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51730
51731 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51732
51733 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51734 New function.
51735 * include/grub/powerpc/ieee1275/ieee1275.h
51736 (grub_ieee1275_milliseconds): New prototype.
51737 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51738 Change to 1000.
51739 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51740 grub_ieee1275_milliseconds.
51741
51742 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51743
51744 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51745 variable.
51746 (find_options): New function.
51747 (cmain): Call find_options.
51748 * include/grub/powerpc/ieee1275/ieee1275.h
51749 (grub_ieee1275_realmode): New extern variable.
51750 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51751 grub_map if grub_ieee1275_realmode is false.
51752
51753 2004-12-29 Marco Gerards <metgerards@student.han.nl>
51754
51755 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51756 lines are inserted and make it work like readline. Reported by
51757 Vincent Pelletier <subdino2004@yahoo.fr>.
51758
51759 2004-12-28 Marco Gerards <metgerards@student.han.nl>
51760
51761 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51762
51763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51764 `kern/powerpc/cache.S'.
51765
51766 2004-12-27 Marco Gerards <metgerards@student.han.nl>
51767
51768 * genmk.rb: Handle the `Program' class in the main loop. Written
51769 by Johan Rydberg <jrydberg@gnu.org>.
51770 (Program): New class.
51771 (programs): New variable.
51772 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51773 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51774 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51775 (help_arch): Function removed.
51776 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51777 `powerpc/libgcc.h' and `loader.h'.
51778 (pkgdata_PROGRAMS): New variable.
51779 (sbin_UTILITIES): Variable removed.
51780 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51781 (grubof_SOURCES): Variable re-defined so it only includes the
51782 core functionality.
51783 (grubof_CFLAGS): Remove `-DGRUBOF'.
51784 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51785 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51786 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51787 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51788 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51789 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51790 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51791 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51792 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51793 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51794 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51795 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51796 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51797 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51798 (pc_mod_CFLAGS): New variables.
51799 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51800 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51801 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51802 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51803 Moved from here...
51804 * include/grub/i386/pc/init.h (grub_os_area_addr)
51805 (rub_os_area_size): ... to here.
51806 * include/grub/powerpc/ieee1275/ieee1275.h
51807 (grub_ieee1275_entry_fn): Export symbol.
51808 * include/grub/powerpc/ieee1275/init.h: New file.
51809 * include/grub/powerpc/libgcc.h: Likewise.
51810 * include/grub/cache.h: Likewise.
51811 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51812 <hollis@penguinppc.org>.
51813 * kern/dl.c: Include <grub/cache.h>.
51814 (grub_dl_flush_cache): New function.
51815 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51816 for this module.
51817 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51818 (grub_console_init): Removed prototypes.
51819 (grub_machine_init): Don't initialize the modules anymore.
51820 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51821 static.
51822 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51823 Macro undef removed.
51824 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51825 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51826 relocation `R_PPC_REL32'. Return an error when the relocation is
51827 unknown.
51828 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51829 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51830 * util/misc.c (grub_arch_sync_caches): Likewise.
51831
51832 2004-12-19 Marco Gerards <metgerards@student.han.nl>
51833
51834 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51835 `symlist.c', add `grubof_symlist.c'.
51836 (symlist.c): Variable removed.
51837 (grubof_HEADERS): Variable added.
51838 (grubof_symlist.c): New target.
51839 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51840 `kernel_img_HEADERS'.
51841 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51842 * kern/powerpc/dl.c: New file.
51843 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51844 Function removed.
51845 (grub_arch_dl_relocate_symbols): Likewise.
51846 (grub_register_exported_symbols): Likewise.
51847
51848 2004-12-13 Marco Gerards <metgerards@student.han.nl>
51849
51850 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51851 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51852 to fail instead. Reported by Vincent Pelletier
51853 <subdino2004@yahoo.fr>.
51854
51855 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51856 it is not allocated. Reported by Vincent Pelletier
51857 <subdino2004@yahoo.fr>.
51858
51859 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51860 output so the output looks better.
51861
51862 2004-12-04 Marco Gerards <metgerards@student.han.nl>
51863
51864 Modulize the partition map support and add support for the amiga
51865 partition map.
51866
51867 * commands/ls.c: Include <grub/partition.h> instead of
51868 <grub/machine/partition.h>.
51869 * kern/disk.c: Likewise.
51870 * kern/rescue.c: Likewise.
51871 * loader/i386/pc/chainloader.c: Likewise.
51872 * normal/cmdline.c: Likewise.
51873 * kern/powerpc/ieee1275/init.c: Likewise.
51874 (grub_machine_init): Call `grub_pc_partition_map_init',
51875 `grub_amiga_partition_map_init' and
51876 `grub_apple_partition_map_init'.
51877 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51878 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51879 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51880 `partition.h' and `pc_partition.h'.
51881 (grub_setup_SOURCES): Remove
51882 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51883 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51884 (grub_emu_SOURCES): Likewise.
51885 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51886 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51887 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51889 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51890 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51891 (grubof_SOURCES): Likewise.
51892 * disk/i386/pc/partition.c: File removed.
51893 * disk/powerpc/ieee1275/partition.c: Likewise.
51894 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51895 * include/grub/i386/pc/partition.h: Likewise.
51896 * kern/partition.c: New file.
51897 * partmap/amiga.c: Likewise.
51898 * partmap/apple.c: Likewise.
51899 * partmap/pc.c: Likewise.
51900 * include/grub/partition.h: Likewise..
51901 * include/grub/pc_partition.h: Likewise.
51902 * util/grub-emu.c: Include <grub/partition.h> instead of
51903 <grub/machine/partition.h>.
51904 (main): Call `grub_pc_partition_map_init',
51905 `grub_amiga_partition_map_init' and
51906 `grub_apple_partition_map_init' and deinitialize afterwards.
51907 * util/i386/pc/biosdisk.c: Include `#include
51908 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51909 `<grub/machine/partition.h>'.
51910 * util/i386/pc/grub-setup.c: Likewise.
51911 * util/i386/pc/biosdisk.c: Likewise.
51912 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51913 partition information in case of a PC partition.
51914 * util/i386/pc/grub-setup.c: Include `#include
51915 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51916 `<grub/machine/partition.h>'.
51917 (setup): Only access the PC specific partition information in case
51918 of a PC partition.
51919
51920 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
51921
51922 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51923 (grub_longjmp): Likewise.
51924 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51925 20.
51926 * normal/powerpc/setjmp.S: New file.
51927 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51928 `normal/powerpc/setjmp.S'.
51929 (grubof_CFLAGS): Add `-DGRUBOF'.
51930 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51931 [GRUB_UTIL && !GRUBOF].
51932
51933 2004-11-16 Marco Gerards <metgerards@student.han.nl>
51934
51935 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51936 property named `name'. Correctly handle the error returned by
51937 `grub_ieee1275_finddevice' if a device can not be opened.
51938
51939 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51940
51941 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51942 `actual' for negativity.
51943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51944 kern/fshelp.c.
51945
51946 2004-11-01 Marco Gerards <metgerards@student.han.nl>
51947
51948 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51949 (PAGE_OFFSET): New macro.
51950 (CRTC_ADDR_PORT): Likewise.
51951 (CRTC_DATA_PORT): Likewise.
51952 (START_ADDR_HIGH_REGISTER): Likewise.
51953 (START_ADDR_LOW_REGISTER): Likewise.
51954 (GRAPHICS_ADDR_PORT): Likewise.
51955 (GRAPHICS_DATA_PORT): Likewise.
51956 (READ_MAP_REGISTER): Likewise.
51957 (INPUT_STATUS1_REGISTER): Likewise.
51958 (INPUT_STATUS1_VERTR_BIT): Likewise.
51959 (page): New variable.
51960 (wait_vretrace): New function.
51961 (set_read_map): Likewise.
51962 (set_start_address): Likewise.
51963 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51964 the right page.
51965 (check_vga_mem): Take the page into account.
51966 (write_char): Likewise.
51967 (write_cursor): Likewise.
51968 (scroll_up): Likewise. Copy the page to the page that is not
51969 shown and switch between both pages.
51970 (grub_vga_putchar): Fix off by one error.
51971 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51972 account.
51973
51974 2004-11-01 Marco Gerards <metgerards@student.han.nl>
51975
51976 Add support for iso9660 (including rockridge).
51977
51978 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51979 (iso9660_mod_SOURCES): New variable.
51980 (iso9660_mod_CFLAGS): Likewise.
51981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51982 * include/grub/fs.h (grub_iso9660_init): New prototype.
51983 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51984 * fs/iso9660.c: New file.
51985
51986 * include/grub/misc.h (grub_strncat): New prototype.
51987 * kern/misc.c (grub_strncat): New function.
51988
51989 * fs/hfs.c (grub_hfs_mount): Translate the error
51990 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51991 * fs/jfs.c (grub_jfs_mount): Likewise.
51992 * fs/ufs.c (grub_ufs_mount): Likewise.
51993
51994 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51995
51996 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51997 which initialized BAT registers.
51998 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51999 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52000 Move from here...
52001 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52002 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52003 ... to here.
52004 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52005 (grub_mapclaim): Likewise.
52006 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52007 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52008 hand.
52009
52010 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52011
52012 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52013 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52014 -ffreestanding and -msoft-float.
52015
52016 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52017
52018 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52019 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52020 set in grub_ieee1275_flags.
52021
52022 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52023
52024 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52025 prototype.
52026 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52027 grub_console_init first.
52028 Change the memory range used for grub_ieee1275_claim and
52029 grub_mm_init_region.
52030 Print an error message if the claim fails.
52031 Include <grub/misc.h>.
52032
52033 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52034
52035 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52036 Call grub_children_iterate for device nodes of type `scsi',
52037 `ide', or `ata'.
52038 (grub_ofdisk_open): Remove manual device alias resolution.
52039 Fix memory leak when device cannot be opened.
52040 * include/grub/powerpc/ieee1275/ieee1275.h
52041 (grub_children_iterate): New prototype.
52042 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52043 New function.
52044 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52045 Return -1 if args.size was -1.
52046
52047 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52048
52049 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52050 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52051 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52052 Open Firmware's memory for it; claim memory from _start to _end.
52053 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52054 (_end): New extern.
52055 (_start): Zero BSS from __bss_start to _end.
52056 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52057 New extern.
52058 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52059
52060 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52061
52062 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52063 -1 if args.base was -1.
52064
52065 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52066
52067 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52068 escape sequence instead of a literal ^L. Also call
52069 grub_ofconsole_gotoxy.
52070
52071 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52072
52073 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52074 void * arguments to grub_addr_t. All callers updated. Also make
52075 the `result' argument optional.
52076 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52077 All callers updated.
52078
52079 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52080
52081 * commands/ls.c (grub_ls_list_files): Use the string following the
52082 initial ')', if present, as the filesystem path.
52083 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52084
52085 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52086
52087 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52088
52089 Make the source code of the menu interface more readable.
52090
52091 * normal/menu.c: Include grub/mm.h.
52092 (TERM_WIDTH): New macro.
52093 (TERM_HEIGHT): Likewise.
52094 (TERM_INFO_HEIGHT): Likewise.
52095 (TERM_MARGIN): Likewise.
52096 (TERM_SCROLL_WIDTH): Likewise.
52097 (TERM_TOP_BORDER_Y): Likewise.
52098 (TERM_LEFT_BORDER_X): Likewise.
52099 (TERM_BORDER_WIDTH): Likewise.
52100 (TERM_MESSAGE_HEIGHT): Likewise.
52101 (TERM_BORDER_HEIGHT): Likewise.
52102 (TERM_NUM_ENTRIES): Likewise.
52103 (TERM_FIRST_ENTRY_Y): Likewise.
52104 (TERM_ENTRY_WIDTH): Likewise.
52105 (TERM_CURSOR_X): Likewise.
52106 (draw_border): Use macros instead of magic numbers.
52107 (print_entry): Likewise.
52108 (print_entries): Likewise.
52109 (run_menu): Likewise. Also, handle the key 'e'.
52110 (run_menu_entry): Ignore empty command lines.
52111 (print_message): Added a new argument EDIT. If EDIT is true,
52112 print a different message.
52113 (init_page): Likewise.
52114 (edit_menu_entry): New function. Not implemented yet.
52115
52116 2004-09-17 Marco Gerards <metgerards@student.han.nl>
52117
52118 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52119 can be loaded from normal mode.
52120
52121 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52122 `multiboot.mod'.
52123 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52124 (multiboot_mod_CFLAGS): New variables.
52125 * loader/i386/pc/linux_normal.c: New file.
52126 * loader/i386/pc/multiboot_normal.c: Likewise.
52127
52128 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52129 attribute `unused'.
52130
52131 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52132 `fdiro' to read the mode information from instead of `diro'.
52133
52134 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52135 looking up a symlink.
52136
52137 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52138 macro.
52139 * normal/command.c (grub_command_execute): Don't parse the
52140 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52141 flags of the command.
52142
52143 * normal/menu.c (grub_menu_run): Fix typo.
52144
52145 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52146
52147 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52148
52149 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52150 `y + 1' instead of `y - 1'.
52151
52152 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
52153
52154 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52155
52156 From Hollis Blanchard <hollis@penguinppc.org>:
52157 * kern/misc.c (memmove): New alias for grub_memmove.
52158 (memcmp): New alias for grub_memcmp.
52159 (memset): New alias for grub_memset.
52160 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52161 Change "int handle" to "grub_ieee1275_phandle_t handle".
52162 * include/grub/powerpc/ieee1275/ieee1275.h
52163 (grub_ieee1275_get_property): Likewise.
52164
52165 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52166
52167 Added normal mode command `chainloader' as module chain.mod, which
52168 depends on normal.mod and _chain.mod.
52169
52170 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52171 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52172 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52173 Deleted prototype.
52174 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52175 but arguments parsing moved to ...
52176 (grub_chainloader_cmd): ... here. New function.
52177 * include/grub/i386/pc/chainloader.h: New file.
52178 * loader/i386/pc/chainloader_normal.c: Likewise.
52179
52180 2004-09-11 Marco Gerards <metgerards@student.han.nl>
52181
52182 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52183 (grub_mkimage_LDFLAGS): Likewise.
52184 (grub_emu_SOURCES): Likewise.
52185 (kernel_img_HEADERS): Added fshelp.h.
52186 * fs/ext2.c: Include <grub/fshelp.h>.
52187 (FILETYPE_REG): New macro.
52188 (FILETYPE_INO_REG): Likewise.
52189 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52190 Changed all users.
52191 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52192 all users.
52193 (grub_fshelp_node): New struct.
52194 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52195 to a pointer.
52196 (grub_ext2_get_file_block): Removed function.
52197 (grub_ext2_read_block): New function.
52198 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52199 This function was written.
52200 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52201 (grub_ext2_find_file): Removed function.
52202 (grub_ext2_read_symlink): New function.
52203 (grub_ext2_iterate_dir): Likewise.
52204 (grub_ext2_open): Rewritten.
52205 (grub_ext2_dir): Rewritten.
52206 * include/grub/fshelp.h: New file.
52207 * fs/fshelp.c: Likewise.
52208
52209 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52210
52211 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52212 (print_message): Add a missing newline.
52213 (run_menu): Added timeout support.
52214 (run_menu_entry): New local function.
52215 (grub_menu_run): Added support for booting.
52216
52217 * kern/loader.c (grub_loader_is_loaded): New function.
52218
52219 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52220 (grub_get_rtc): Exported.
52221
52222 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52223 (grub_get_rtc): Exported.
52224
52225 * include/grub/normal.h (struct grub_command_list): Remove
52226 constant from the member `command'.
52227
52228 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52229
52230 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52231
52232 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52233
52234 2004-08-28 Marco Gerards <metgerards@student.han.nl>
52235
52236 Add support for the JFS filesystem.
52237
52238 * fs/jfs.c: New file.
52239 * include/grub/fs.h (grub_jfs_init): New prototype.
52240 (grub_jfs_fini): New prototype.
52241 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52242 (grub_emu_SOURCES): Likewise.
52243 (pkgdata_MODULES): Add jfs.mod.
52244 (jfs_mod_SOURCES): New variable.
52245 (jfs_mod_CFLAGS): Likewise.
52246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52247 (grubof_SOURCES): Likewise.
52248 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52249
52250 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52251 endian to the host endian.
52252 (grub_fat_utf16_to_utf8): Move function from there...
52253 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
52254 the endianness of the source string anymore.
52255 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52256
52257 2004-08-24 Marco Gerards <metgerards@student.han.nl>
52258
52259 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52260 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52261 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52262 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
52263
52264 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52265 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52266 for `node_found' and `it_dir'.
52267 (grub_hfs_dir): Add prototype for `dir_hook'.
52268
52269 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52270 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52271 and `indir32' to silence a gcc warning.
52272
52273 * include/grub/fs.h (grub_hfs_init): New prototype.
52274 (grub_hfs_fini): Likewise.
52275
52276
52277 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52278
52279 Each disk device has its own id now. This is useful to make use
52280 of multiple disk devices.
52281
52282 * include/grub/disk.h (grub_disk_dev_id): New enum.
52283 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52284 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52285
52286 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52287 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52288
52289 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52290 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52291
52292 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52293 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52294
52295 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52296 "id" which is used by the cache manager.
52297
52298 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52299 of just "GRUB".
52300
52301 2004-08-18 Marco Gerards <metgerards@student.han.nl>
52302
52303 * fs/hfs.c: New file.
52304 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52305 (grub_emu_SOURCES): Likewise.
52306 (pkgdata_MODULES): Add hfs.mod.
52307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52308 (grubof_SOURCES): Likewise.
52309 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52310
52311 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52312 * kern/misc.c (grub_strncasecmp): Add function.
52313
52314 2004-08-14 Marco Gerards <metgerards@student.han.nl>
52315
52316 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52317 with parentheses.
52318
52319 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52320 (grub_ext2_dir): In case the directory entry type is unknown, read
52321 it from the inode.
52322
52323 2004-08-02 Peter Bruin <pjbruin@dds.nl>
52324
52325 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52326 grub_load_linux instead of grub_rescue_cmd_linux as second
52327 argument of grub_rescue_register_command.
52328
52329 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52330
52331 2004-07-27 Marco Gerards <metgerards@student.han.nl>
52332
52333 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52334 function.
52335 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52336 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52337 `loader/powerpc/ieee1275/linux.c',
52338 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52339 * include/grub/powerpc/ieee1275/ieee1275.h
52340 (grub_ieee1275_release): New prototype.
52341 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52342 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52343 normal, boot, linux and linux_normal.
52344 * loader/powerpc/ieee1275/linux.c: New file.
52345 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52346
52347 2004-07-12 Marco Gerards <metgerards@student.han.nl>
52348
52349 * normal/arg.c (grub_arg_parse): Correct error handling after
52350 reallocating the argumentlist (check if `argl' is not null instead
52351 of checking if `args' is not null).
52352 * kern/mm.c (grub_realloc): Return the same pointer when using the
52353 same region, instead of returning the header address.
52354
52355 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52356
52357 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52358 one block instead of two when looking for the initial partition.
52359 (grub_partition_probe): Initialize the local variable `p' with 0.
52360 Use base 10 for the grub_strtoul call.
52361 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52362 need for one local variable.
52363 (grub_strtoul): Don't add the new value to `num', instead of that
52364 just assign it.
52365
52366 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52367
52368 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52369 (pxeboot_img_SOURCES): New variable.
52370 (pxeboot_img_ASFLAGS): Likewise.
52371 (pxeboot_img_LDFLAGS): Likewise.
52372 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52373 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52374 <lode_leroy@hotmail.com>.
52375
52376 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52377
52378 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52379 there was no input.
52380
52381 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52382
52383 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52384 the history buffer logic.
52385
52386 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52387
52388 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52389 (FILETYPE_INO_SYMLINK): New macros.
52390 (grub_ext2_find_file): Check if the node is a directory using the
52391 inode stat information instead of using the filetype in the
52392 dirent. Exclude the first character of an absolute symlink.
52393 (grub_ext2_dir): Mask out the filetype part of the mode member of
52394 the inode.
52395
52396 2004-05-24 Marco Gerards <metgerards@student.han.nl>
52397
52398 Add support for UFS version 1 and 2. Add support for the minix
52399 filesystem version 1 and 2, both the variants with 14 and 30 long
52400 filenames.
52401
52402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52403 fs/minix.c.
52404 (grub_emu_SOURCES): Likewise.
52405 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52406 (ufs_mod_SOURCES): New variable.
52407 (ufs_mod_CFLAGS): Likewise.
52408 (minix_mod_SOURCES): Likewise.
52409 (minix_mod_CFLAGS): Likewise.
52410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52411 fs/minix.c.
52412 (grubof_SOURCES): Likewise.
52413 * fs/ufs.c: New file.
52414 * fs/minix.c: New file.
52415 * include/grub/fs.h (grub_ufs_init): New prototype.
52416 (grub_ufs_fini): Likewise.
52417 (grub_minix_init): Likewise.
52418 (grub_minix_fini): Likewise.
52419 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52420 minix fs.
52421
52422 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52423
52424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52425 commands/ls.c, commands/terminal.c, commands/boot.c,
52426 commands/cmp.c and commands/cat.c.
52427 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52428
52429 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52430 "env.h"
52431
52432 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52433
52434 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52435 and grub_, respectively. Because the conversion is trivial and
52436 mechanical, I omit the details here. Please refer to the CVS
52437 if you need more information.
52438
52439 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52440
52441 * include/pupa: Renamed to ...
52442 * include/grub: ... this.
52443 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52444 * util/i386/pc/grub-mkimage.c: ... this.
52445 * util/i386/pc/pupa-setup.c: Renamed to ...
52446 * util/i386/pc/grub-setup.c: ... this.
52447 * util/pupa-emu.c: Renamed to ...
52448 * util/grub-emu.c: ... this.
52449
52450 2004-03-29 Marco Gerards <metgerards@student.han.nl>
52451
52452 Add support for the newworld apple macintosh (PPC). This has been
52453 tested on the powerbook 2000 only. It only adds support for
52454 generic ieee1275 functions, console and disk support. This should
52455 be easy to port to other architectures with support for Open
52456 Firmware.
52457
52458 * configure.ac: Accept the powerpc as host_cpu. In the case of
52459 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52460 specific tests are only executed while building for the i386.
52461 Inverse test for crosscompile.
52462 * genmk.rb (Utility): Allow assembler files.
52463 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52464 * conf/powerpc-ieee1275.rmk: New file.
52465 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52466 * disk/powerpc/ieee1275/partition.c: Likewise.
52467 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52468 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52469 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52470 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52471 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52472 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52473 * include/pupa/powerpc/ieee1275/loader.h
52474 * include/pupa/powerpc/setjmp.h: Likewise.
52475 * include/pupa/powerpc/types.h: Likewise.
52476 * kern/powerpc/ieee1275/init.c: Likewise.
52477 * kern/powerpc/ieee1275/openfw.c: Likewise.
52478 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52479
52480 These files were written by Johan Rydberg
52481 (jrydberg@night.trouble.net) and I only modified them slightly.
52482
52483 * boot/powerpc/ieee1275/cmain.c: New file.
52484 * boot/powerpc/ieee1275/crt0.S: Likewise.
52485 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52486 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52487
52488 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52489
52490 * Makefile.in: Update copyright.
52491 * genmodsrc.sh: Likewise.
52492 * gensymlist.sh: Likewise.
52493 * term/i386/pc/vga.c: Indent correctly.
52494
52495 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52496 bugreporting address.
52497 * util/i386/pc/pupa-setup.c (usage): Likewise,
52498 (main): Call pupa_ext2_init and pupa_ext2_fini.
52499
52500 * fs/fat.c (log2): Renamed to ...
52501 (fat_log2): ... this.
52502 All callers changed.
52503 * kern/misc.c (memcpy): Alias to pupa_memmove.
52504 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52505 lvalue cast.
52506 * util/console.c (pupa_ncurses_fini): Return 0.
52507
52508 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52509 Move fail label here.
52510 [__GNU__]: Don't warn when using stat.
52511 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52512 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52513 long int. Use strtol instead of strtoul.
52514
52515 2004-03-14 Marco Gerards <metgerards@student.han.nl>
52516
52517 * commands/boot.c: New file.
52518 * commands/cat.c: Likewise.
52519 * commands/cmp.c: Likewise.
52520 * commands/ls.c: Likewise.
52521 * commands/terminal.c: Likewise.
52522 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52523 (pupa_register_command): Changed interface to match the new
52524 argument parser.
52525 (pupa_command_execute): Changed (almost rewritten) so it uses
52526 pupa_split_command. Added support for setting variables using the
52527 syntax `foo=bar'.
52528 (rescue_command): Changed to work with the new argument parser.
52529 (terminal_command): Moved from here to commands/terminal.c.
52530 (set_command): New function.
52531 (unset_command): New function.
52532 (insmod_command): New function.
52533 (rmmod_command): New function.
52534 (lsmod_command): New function.
52535 (pupa_command_init): Don't initialize the command terminal
52536 anymore. Initialize the commands set, unset, insmod, rmmod and
52537 lsmod.
52538 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52539 (kernel_img_HEADERS): Add arg.h and env.h.
52540 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52541 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52542 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52543 normal/arg.c.
52544 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52545 terminal.mod.
52546 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52547 (boot_mod_SOURCES): New variable.
52548 (terminal_mod_SOURCES): Likewise.
52549 (ls_mod_SOURCES): Likewise.
52550 (cmp_mod_SOURCES): Likewise.
52551 (cat_mod_SOURCES): Likewise.
52552
52553 * normal/arg.c: New file.
52554 * kern/env.c: Likewise.
52555 * include/pupa/arg.h: Likewise.
52556 * include/pupa/env.h: Likewise.
52557 * font/manager.c (font_command): Changed to match argument parsing
52558 interface changes.
52559 (PUPA_MOD_INIT): Likewise.
52560 * hello/hello.c (pupa_cmd_hello): Likewise.
52561 (PUPA_MOD_INIT): Likewise.
52562 * include/pupa/disk.h: Include <pupa/device.h>.
52563 (pupa_print_partinfo): New prototype.
52564 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52565 (pupa_dl_get_prefix): Likewise.
52566 * include/pupa/misc.h: Include <pupa/err.h>.
52567 (pupa_isgraph): New prototype.
52568 (pupa_isdigit): Likewise.
52569 (pupa_split_cmdline): Likewise.
52570 * include/pupa/normal.h: Include <pupa/arg.h>.
52571 (pupa_command): Changed the prototype of the member `func' to
52572 match the argument parsing interface. Added member `options'.
52573 (pupa_register_command): Updated to match function.
52574 (pupa_arg_parse): New prototype.
52575 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52576 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52577 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52578 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52579 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52580 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52581 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52582 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52583 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52584 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52585 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52586 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52587 * kern/disk.c: Include <pupa/file.h>.
52588 (pupa_print_partinfo): New function.
52589 * kern/dl.c: Include <pupa/env.h>.
52590 (pupa_dl_dir): Variable removed.
52591 (pupa_dl_load): Use the environment variable `prefix' instead of
52592 the variable pupa_dl_dir.
52593 (pupa_dl_set_prefix): Function removed.
52594 (pupa_dl_get_prefix): Likewise.
52595 * kern/i386/pc/init.c: Include <pupa/env.h>.
52596 (pupa_machine_init): Use the environment variable `prefix' instead of
52597 using pupa_dl_set_prefix to set the prefix.
52598 * kern/main.c: Include <pupa/env.h>.
52599 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52600 using pupa_dl_get_prefix to get the prefix.
52601 * kern/misc.c: Include <pupa/env.h>.
52602 (pupa_isdigit): New function.
52603 (pupa_isgraph): Likewise.
52604 (pupa_ftoa): Likewise.
52605 (pupa_vsprintf): Added support for printing values of the type
52606 `double'. Make it possible to format variable output when using
52607 formatting like `%1.2%f'.
52608 (pupa_split_cmdline): New function.
52609 * kern/rescue.c: Include <pupa/env.h>.
52610 (next_word): Removed function.
52611 (pupa_rescue_cmd_prefix): Likewise.
52612 (pupa_rescue_cmd_set): New function.
52613 (pupa_rescue_cmd_unset): New function.
52614 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52615 split the command line instead of splitting it here. Added
52616 support for setting variables using the syntax `foo=bar'. Don't
52617 initialize the prefix command anymore. Initialized the set and
52618 unset commands.
52619 * normal/cmdline.c: Include <pupa/env.h>.
52620 (pupa_tab_complete): Added prototypes for print_simple_completion,
52621 print_partition_completion, add_completion, iterate_commands,
52622 iterate_dev, iterate_part and iterate_dir. Moved code to print
52623 partition information from here to kern/disk.c.
52624 (pupa_cmdline_run): Don't check if the function exists anymore.
52625 * normal/main.c: Include <pupa/env.h>.
52626 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52627 instead of using pupa_dl_get_prefix to get the prefix.
52628 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52629 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52630 warning.
52631 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52632 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52633 ((unused))' to silence a gcc warning.
52634 (pupa_vga_setcolor): Likewise.
52635 (debug_command): Changed to match argument parsing
52636 interface changes.
52637 * util/pupa-emu.c: Include <pupa/env.h>.
52638 (options): Added 0's for unused fields to silence a gcc warning.
52639 (argp): Likewise.
52640 (main): Use the environment variable `prefix' instead of using
52641 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52642 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52643 and terminal.
52644
52645 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52646 * util/misc.c: Include <malloc.h>.
52647 (pupa_malloc): Rewritten so errors are correctly reported.
52648 (pupa_realloc): Likewise.
52649 (pupa_memalign): Likewise.
52650 (pupa_mm_init_region): Declare unused variables with
52651 `__attribute__ ((unused))' to silence a gcc warning.
52652 * normal/i386/setjmp.S: Remove tab at the end of the file to
52653 silence a gcc warning.
52654 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52655 variables with `__attribute__ ((unused))' to silence a gcc
52656 warning.
52657 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52658 local variable i unsigned to silence a gcc warning.
52659
52660 * kern/term.c: Include <pupa/misc.h>.
52661 (pupa_more_lines): New variable.
52662 (pupa_more): Likewise.
52663 (pupa_putcode): When the pager is active pause at the end of every
52664 screen.
52665 (pupa_set_more): New function.
52666 * include/pupa/term.h (pupa_set_more): New prototype.
52667
52668
52669 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52670
52671 Now this project is GRUB 2 rather than PUPA. The location of
52672 the CVS repository was moved to GRUB's.
52673
52674 * configure.ac: Use bug-grub as the reporting address.
52675 Use GRUB instead of PUPA.
52676 Change the version number to 1.90.
52677
52678 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52679
52680 * genkernsyms.sh: Updated copyright information.
52681 * genmk.rb: Likewise.
52682 * genmodsrc.sh: Likewise.
52683 * gensymlist.sh: Likewise.
52684 * boot/i386/pc/boot.S: Likewise.
52685 * boot/i386/pc/diskboot.S: Likewise.
52686 * disk/i386/pc/biosdisk.c: Likewise.
52687 * disk/i386/pc/partition.c: Likewise.
52688 * font/manager.c: Likewise.
52689 * fs/ext2.c: Likewise.
52690 * fs/fat.c: Likewise.
52691 * include/pupa/boot.h: Likewise.
52692 * include/pupa/device.h: Likewise.
52693 * include/pupa/disk.h: Likewise.
52694 * include/pupa/dl.h: Likewise.
52695 * include/pupa/elf.h: Likewise.
52696 * include/pupa/err.h: Likewise.
52697 * include/pupa/file.h: Likewise.
52698 * include/pupa/font.h: Likewise.
52699 * include/pupa/fs.h: Likewise.
52700 * include/pupa/kernel.h: Likewise.
52701 * include/pupa/loader.h: Likewise.
52702 * include/pupa/misc.h: Likewise.
52703 * include/pupa/mm.h: Likewise.
52704 * include/pupa/net.h: Likewise.
52705 * include/pupa/normal.h: Likewise.
52706 * include/pupa/rescue.h: Likewise.
52707 * include/pupa/setjmp.h: Likewise.
52708 * include/pupa/symbol.h: Likewise.
52709 * include/pupa/term.h: Likewise.
52710 * include/pupa/types.h: Likewise.
52711 * include/pupa/i386/setjmp.h: Likewise.
52712 * include/pupa/i386/types.h: Likewise.
52713 * include/pupa/i386/pc/biosdisk.h: Likewise.
52714 * include/pupa/i386/pc/boot.h: Likewise.
52715 * include/pupa/i386/pc/console.h: Likewise.
52716 * include/pupa/i386/pc/init.h: Likewise.
52717 * include/pupa/i386/pc/kernel.h: Likewise.
52718 * include/pupa/i386/pc/linux.h: Likewise.
52719 * include/pupa/i386/pc/loader.h: Likewise.
52720 * include/pupa/i386/pc/memory.h: Likewise.
52721 * include/pupa/i386/pc/multiboot.h: Likewise.
52722 * include/pupa/i386/pc/partition.h: Likewise.
52723 * include/pupa/i386/pc/time.h: Likewise.
52724 * include/pupa/i386/pc/vga.h: Likewise.
52725 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52726 * include/pupa/util/getroot.h: Likewise.
52727 * include/pupa/util/misc.h: Likewise.
52728 * include/pupa/util/resolve.h: Likewise.
52729 * kern/device.c: Likewise.
52730 * kern/disk.c: Likewise.
52731 * kern/dl.c: Likewise.
52732 * kern/err.c: Likewise.
52733 * kern/file.c: Likewise.
52734 * kern/fs.c: Likewise.
52735 * kern/loader.c: Likewise.
52736 * kern/main.c: Likewise.
52737 * kern/misc.c: Likewise.
52738 * kern/mm.c: Likewise.
52739 * kern/rescue.c: Likewise.
52740 * kern/term.c: Likewise.
52741 * kern/i386/dl.c: Likewise.
52742 * kern/i386/pc/init.c: Likewise.
52743 * kern/i386/pc/lzo1x.S: Likewise.
52744 * kern/i386/pc/startup.S: Likewise.
52745 * loader/i386/pc/chainloader.c: Likewise.
52746 * loader/i386/pc/linux.c: Likewise.
52747 * loader/i386/pc/multiboot.c: Likewise.
52748 * normal/cmdline.c: Likewise.
52749 * normal/command.c: Likewise.
52750 * normal/main.c: Likewise.
52751 * normal/menu.c: Likewise.
52752 * normal/i386/setjmp.S: Likewise.
52753 * term/i386/pc/console.c: Likewise.
52754 * term/i386/pc/vga.c: Likewise.
52755 * util/console.c: Likewise.
52756 * util/genmoddep.c: Likewise.
52757 * util/misc.c: Likewise.
52758 * util/pupa-emu.c: Likewise.
52759 * util/resolve.c: Likewise.
52760 * util/unifont2pff.rb: Likewise.
52761 * util/i386/pc/biosdisk.c: Likewise.
52762 * util/i386/pc/getroot.c: Likewise.
52763 * util/i386/pc/pupa-mkimage.c: Likewise.
52764 * util/i386/pc/pupa-setup.c: Likewise.
52765
52766 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52767
52768 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52769 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52770 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52771 reading and reset it after reading.
52772 (pupa_ext2_close): Return PUPA_ERR_NONE.
52773
52774 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52775 Correct value.
52776 (struct linux_kernel_header): Add kernel_version and
52777 initrd_addr_max.
52778 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52779 pupa_file_read succeeds.
52780 (pupa_rescue_cmd_initrd): Implement.
52781
52782 2003-12-03 Marco Gerards <metgerards@student.han.nl>
52783
52784 * fs/ext2.c (pupa_ext2_label): New function.
52785 (pupa_ext2_fs): Added label.
52786 * fs/fat.c (pupa_fat_label): New function.
52787 (pupa_fat_fs): Added label.
52788 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52789
52790 * kern/misc.c (pupa_strndup): New function.
52791 * include/pupa/misc.h (pupa_strndup): New prototype.
52792
52793 * include/pupa/normal.h: Include <pupa/err.h>.
52794 (pupa_set_history): New prototype.
52795 (pupa_iterate_commands): New prototype.
52796 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52797 <pupa/disk.h>, <pupa/file.h>.
52798 (hist_size): New variable.
52799 (hist_lines): Likewise.
52800 (hist_end): Likewise.
52801 (hist_used): Likewise.
52802 (pupa_set_history): New function.
52803 (pupa_history_get): Likewise.
52804 (pupa_history_add): Likewise.
52805 (pupa_history_replace): Likewise.
52806 (pupa_tab_complete): Likewise.
52807 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52808 completion shows partitionnames while completing partitions, this
52809 feature was suggested by Jeff Bailey.
52810 * normal/command.c (pupa_iterate_commands): New function.
52811 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52812 (pupa_normal_init): Initialize history buffer.
52813 (PUPA_MOD_INIT): Likewise.
52814 (pupa_normal_fini): Free the history buffer.
52815 (PUPA_MOD_FINI): Likewise.
52816
52817 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52818 key.
52819
52820 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52821 * configure.ac [i386]: Check for regparam bug.
52822 (NESTED_FUNC_ATTR) [! i386]: Defined.
52823
52824 2003-11-17 Marco Gerards <metgerards@student.han.nl>
52825
52826 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52827 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52828 (pupa_emu_SOURCES): New variable.
52829 (pupa_emu_LDFLAGS): Likewise.
52830 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52831 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52832 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52833 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52834 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52835 (pupa_jmp_buf): New typedef.
52836 (pupa_setjmp) [PUPA_UTIL]: New macro.
52837 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52838 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52839 (pupa_refresh): New prototype.
52840 * include/pupa/util/getroot.h: New file.
52841 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52842 it.
52843 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52844 (pupa_rescue_cmd_cat): Likewise.
52845 (pupa_rescue_cmd_ls): Likewise.
52846 (pupa_rescue_cmd_testload): Likewise.
52847 (pupa_rescue_cmd_lsmod): Likewise.
52848 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52849 * normal/menu.c (run_menu): Likewise.
52850 * kern/term.c (pupa_cls): Likewise.
52851 (pupa_refresh): New function.
52852 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52853 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52854 * util/console.c: New file.
52855
52856 * util/i386/pc/getroot.c: New file.
52857 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52858 (pupa_putchar): New function.
52859 (pupa_refresh): Likewise.
52860 (xgetcwd): Function moved to ...
52861 (strip_extra_slashes): Likewise.
52862 (get_prefix): Likewise.
52863 * util/i386/pc/getroot.c: ... here.
52864 (find_root_device): Function moved and renamed to...
52865 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52866 Changed all callers.
52867 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52868 and renamed to...
52869 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52870 Changed all callers.
52871 * util/misc.c (pupa_memalign): New function.
52872 (pupa_mm_init_region): Likewise.
52873 (pupa_register_exported_symbols): Likewise.
52874 (pupa_putchar): Function removed.
52875 * util/pupa-emu.c: New file.
52876
52877 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52878
52879 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52880 (_multiboot_mod_SOURCES): New variable.
52881 (_multiboot_mod_CFLAGS): Likewise.
52882 * loader/i386/pc/multiboot.c: New file.
52883 * include/pupa/i386/pc/multiboot.h: Likewise.
52884 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52885 (pupa_multiboot_real_boot): New function.
52886 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52887 (pupa_multiboot_real_boot): New prototype.
52888 (pupa_rescue_cmd_multiboot): Likewise
52889 (pupa_rescue_cmd_module): Likewise.
52890
52891 * kern/loader.c (pupa_loader_set): Continue when
52892 pupa_loader_unload_func() fails.
52893 (pupa_loader_unset): New function.
52894 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52895
52896 * kern/misc.c (pupa_stpcpy): New function.
52897 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52898
52899 2003-11-12 Marco Gerards <metgerards@student.han.nl>
52900
52901 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52902 for available extensions.
52903
52904 * include/pupa/i386/pc/time.h: New file.
52905 * kern/disk.c: Include <pupa/machine/time.h>.
52906 (PUPA_CACHE_TIMEOUT): New macro.
52907 (pupa_last_time): New variable.
52908 (pupa_disk_open): Flush the cache when there was a timeout.
52909 (pupa_disk_close): Reset the timer.
52910 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52911 pupa_currticks.
52912 * util/misc.c: Include <sys/times.h>
52913 (pupa_get_rtc): New function.
52914
52915 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52916
52917 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52918 as blocks.
52919 (pupa_ext2_get_file_block): Use blocks member.
52920
52921 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52922 first block. Return -1 instead of pupa_errno on error.
52923
52924 2003-10-27 Marco Gerards <metgerards@student.han.nl>
52925
52926 * README: In the pupa-mkimage example use _chain instead of chain
52927 and ext2 instead of fat.
52928 * TODO: Replace ext2fs with jfs as an example. Add an item for
52929 adding journal playback for ext2fs.
52930 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52931 (pkgdata_MODULES): Added ext2.mod.
52932 (ext2_mod_SOURCES): New variable.
52933 (ext2_mod_CFLAGS): Likewise.
52934 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52935 * include/pupa/misc.h (pupa_strncpy): New prototype.
52936 (pupa_strcat): Likewise.
52937 (pupa_strncmp): Likewise.
52938 * kern/misc.c (pupa_strcat): Enable function.
52939 (pupa_strncpy): New function.
52940 (pupa_strncmp): Likewise.
52941 * fs/ext2.c: New file.
52942
52943 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52944 when the read failed before retrying.
52945 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52946 (_FILE_OFFSET_BITS): Likewise.
52947 * configure.ac: Added AC_SYS_LARGEFILE.
52948
52949 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52950
52951 * genmk.rb (PModule#rule): Make sure to get only symbol names
52952 from the output of nm.
52953 Reported by Robert Millan <rmh.grub@aybabtu.com>.
52954
52955 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52956
52957 I forgot to check in these changes for a long time. This adds
52958 incomplete support for VGA console, and this is still very
52959 buggy. Also, a lot of consideration is required for I18N,
52960 UNICODE, and VGA font issues. Therefore, assume that this is
52961 such that "better than nothing".
52962
52963 * font/manager.c: New file.
52964 * include/pupa/font.h: Likewise.
52965 * include/pupa/i386/pc/vga.h: Likewise.
52966 * term/i386/pc/vga.c: Likewise.
52967 * util/unifont2pff.rb: Likewise.
52968
52969 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52970 (pkgdata_MODULES): Added vga.mod and font.mod.
52971 (vga_mod_SOURCES): New variables.
52972 (vga_mod_CFLAGS): Likewise.
52973 (font_mod_SOURCES): Likewise.
52974 (font_mod_CFLAGS): Likewise.
52975
52976 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52977
52978 * include/pupa/term.h: Include pupa/err.h.
52979 (struct pupa_term): Added init and fini.
52980 Changed the argument of putchar to pupa_uint32_t.
52981
52982 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52983 (pupa_console_real_putchar): New prototype.
52984 (pupa_console_putchar): Removed.
52985 (pupa_console_checkkey): Exported.
52986 (pupa_console_getkey): Likewise.
52987
52988 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52989 characters.
52990
52991 * kern/term.c (pupa_term_set_current): Rewritten.
52992 (pupa_putchar): Likewise.
52993 (pupa_putcode): New function.
52994
52995 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52996 (pupa_console_real_putchar): ... this.
52997 (pupa_vga_set_mode): New function.
52998 (pupa_vga_get_font): Likewise.
52999
53000 * normal/command.c: Include pupa/term.h.
53001 (terminal_command): New function.
53002 (pupa_command_init): Register the command "terminal".
53003
53004 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53005 (DISP_UP): Likewise.
53006 (DISP_RIGHT): Likewise.
53007 (DISP_DOWN): Likewise.
53008 (DISP_HLINE): Likewise.
53009 (DISP_VLINE): Likewise.
53010 (DISP_UL): Likewise.
53011 (DISP_UR): Likewise.
53012 (DISP_LL): Likewise.
53013 (DISP_LR): Likewise.
53014
53015 * term/i386/pc/console.c (pupa_console_putchar): New function.
53016
53017 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53018
53019 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53020 FIX. Reverse the path_list.
53021
53022 * include/pupa/normal.h: Export pupa_register_command and
53023 pupa_unregister_command.
53024
53025 * hello/hello.c (pupa_cmd_hello): New module.
53026 * conf/i386-pc.rmk: Added hello.mod.
53027
53028 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53029
53030 * kern/i386/pc/lzo1x.S: New file.
53031
53032 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53033 (compress_kernel): New variable.
53034 (generate_image): Heavily modified to support compressing a
53035 large part of the core image.
53036
53037 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53038 leak.
53039 (pupa_util_load_image): New function.
53040
53041 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53042 (pupa_compressed_size): New variable.
53043 (codestart): Enable Gate A20 here.
53044 Decompress the compressed part of the core image.
53045 Rearrange the code to put functions and variables which are
53046 required for initialization in the non-compressed part.
53047 Include lzo1x.S.
53048
53049 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53050 here.
53051
53052 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53053
53054 * include/pupa/i386/pc/kernel.h
53055 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53056 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53057 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53058 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53059 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53060
53061 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53062
53063 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53064 (Utility#rule): Likewise.
53065
53066 * configure.ac: Check if LZO is available.
53067
53068 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53069
53070 * include/pupa/normal.h: New file.
53071 * include/pupa/setjmp.h: Likewise.
53072 * include/pupa/i386/setjmp.h: Likewise.
53073 * normal/cmdline.c: Likewise.
53074 * normal/command.c: Likewise.
53075 * normal/main.c: Likewise.
53076 * normal/menu.c: Likewise.
53077 * normal/i386/setjmp.S: Likewise.
53078
53079 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53080 (pupa_rescue_cmd_initrd): Likewise.
53081
53082 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53083 Likewise.
53084
53085 * kern/i386/pc/startup.S (translation_table): New variable.
53086 (translate_keycode): New function.
53087 (pupa_console_getkey): Call translate_keycode.
53088
53089 * kern/rescue.c (attempt_normal_mode): New function.
53090 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53091 it failed, print a message.
53092
53093 * kern/mm.c (pupa_real_malloc): Print more information when a
53094 free magic is broken.
53095 (pupa_free): If the first free header is not free actually, set
53096 it to P.
53097
53098 * kern/main.c (pupa_load_normal_mode): Just load the module
53099 "normal".
53100 (pupa_main): Don't print the message
53101 "Entering into rescue mode..." here.
53102
53103 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53104 Declared.
53105 (pupa_rescue_cmd_initrd): Likewise.
53106 (pupa_rescue_cmd_initrd): Likewise.
53107
53108 * include/pupa/symbol.h (FUNCTION): Specify the type.
53109 (VARIABLE): Likewise.
53110
53111 * include/pupa/err.h (pupa_err_t): Added
53112 PUPA_ERR_UNKNOWN_COMMAND.
53113
53114 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53115 (pupa_dl_get_prefix): Likewise.
53116
53117 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53118 Added _chain.mod and _linux.mod instead of chain.mod and
53119 linux.mod.
53120 (chain_mod_SOURCES): Renamed to ...
53121 (_chain_mod_SOURCES): ... this.
53122 (chain_mod_CFLAGS): Renamed to ...
53123 (_chain_mod_CFLAGS): ... this.
53124 (linux_mod_SOURCES): Renamed to ...
53125 (_linux_mod_SOURCES): ... this.
53126 (linux_mod_CFLAGS): Renamed to ...
53127 (_linux_mod_CFLAGS): ... this.
53128 (normal_mod_SOURCES): New variable.
53129 (normal_mod_CFLAGS): Likewise.
53130 (normal_mod_ASFLAGS): Likewise.
53131
53132 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53133
53134 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53135 possible.
53136
53137 * kern/dl.c (pupa_dl_ref): Refer depending modules
53138 recursively.
53139 (pupa_dl_unref): Unrefer depending modules recursively.
53140 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53141 a module is unloaded before one depending on that module is
53142 unloaded.
53143 (pupa_dl_unload): Unload depending modules explicitly,
53144 if possible.
53145
53146 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53147
53148 * include/pupa/i386/pc/linux.h: New file.
53149 * loader/i386/pc/linux.c: Likewise.
53150
53151 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53152 Removed.
53153 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53154 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53155 of PUPA_CHAINLOADER_BOOT_SECTOR.
53156
53157 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53158 (pupa_linux_prot_size): New variable.
53159 (pupa_linux_tmp_addr): Likewise.
53160 (pupa_linux_real_addr): Likewise.
53161 (pupa_linux_boot_zimage): New function.
53162 (pupa_linux_boot_bzimage): Likewise.
53163
53164 * kern/i386/pc/init.c (struct mem_region): New structure.
53165 (MAX_REGIONS): New macro.
53166 (mem_regions): New variable.
53167 (num_regions): Likewise.
53168 (pupa_os_area_addr): Likewise.
53169 (pupa_os_area_size): Likewise.
53170 (pupa_lower_mem): Likewise.
53171 (pupa_upper_mem): Likewise.
53172 (add_mem_region): New function.
53173 (compact_mem_regions): Likewise.
53174 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53175 the size of the conventional memory and that of so-called upper
53176 memory (before the first memory hole).
53177 Instead of adding each found region to free memory, use
53178 add_mem_region and add them after removing overlaps.
53179 Also, add only 1/4 of the upper memory to free memory. The rest
53180 is used for loading OS images. Maybe this is ad hoc, but this
53181 makes it much easier to relocate OS images when booting.
53182
53183 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53184 (pupa_enter_rescue_mode): Don't register initrd and module.
53185
53186 * kern/mm.c: Include pupa/dl.h.
53187
53188 * kern/main.c: Include pupa/file.h and pupa/device.h.
53189
53190 * kern/loader.c (pupa_loader_load_module_func): Removed.
53191 (pupa_loader_load_module): Likewise.
53192
53193 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53194 ``.o''.
53195
53196 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53197 (pupa_linux_tmp_addr): Likewise.
53198 (pupa_linux_real_addr): Likewise.
53199 (pupa_linux_boot_zimage): Likewise.
53200 (pupa_linux_boot_bzimage): Likewise.
53201
53202 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53203 (pupa_upper_mem): Likewise.
53204 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53205 module is too dangerous.
53206
53207 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53208 (pupa_os_area_size): Likewise.
53209 (pupa_loader_set): Remove the first argument. Loader doesn't
53210 manage modules or initrd any longer.
53211 (pupa_loader_load_module): Removed.
53212
53213 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53214 (linux_mod_SOURCES): New variable.
53215 (linux_mod_CFLAGS): Likewise.
53216
53217 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53218
53219 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53220 the length of a blocklist correctly.
53221
53222 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53223 Use ioctl only if the OS file is a block device.
53224 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53225 not very useful for normal files.
53226
53227 * kern/main.c (pupa_set_root_dev): New function.
53228 (pupa_load_normal_mode): Likewise.
53229 (pupa_main): Call those above.
53230
53231 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53232 pupa_uint16_t.
53233
53234 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53235
53236 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53237
53238 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53239 (setup): Configure the installed partition information and the
53240 dl prefix.
53241
53242 * loader/i386/pc/chainloader.c (my_mod): New variable.
53243 (pupa_chainloader_unload): New function.
53244 (pupa_rescue_cmd_chainloader): Refer itself.
53245 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53246
53247 * kern/i386/pc/startup.S (install_partition): Removed.
53248 (version_string): Likewise.
53249 (config_file): Likewise.
53250 (pupa_install_dos_part): New variable.
53251 (pupa_install_bsd_part): Likewise.
53252 (pupa_prefix): Likewise.
53253 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53254
53255 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53256 and pupa/misc.h.
53257 (make_install_device): New function.
53258 (pupa_machine_init): Set the dl prefix.
53259
53260 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53261 (buf): Renamed to ...
53262 (linebuf): ... this.
53263 (pupa_rescue_cmd_prefix): New function.
53264 (pupa_rescue_cmd_insmod): Likewise.
53265 (pupa_rescue_cmd_rmmod): Likewise.
53266 (pupa_rescue_cmd_lsmod): Likewise.
53267 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53268 rmmod and lsmod.
53269
53270 * kern/mm.c (pupa_memalign): If failed even after invalidating
53271 disk caches, unload unneeded modules and retry.
53272
53273 * kern/misc.c (pupa_memmove): New function.
53274 (pupa_memcpy): Removed.
53275 (pupa_strcpy): New function.
53276 (pupa_itoa): Made static.
53277
53278 * kern/dl.c (pupa_dl_iterate): New function.
53279 (pupa_dl_ref): Likewise.
53280 (pupa_dl_unref): Likewise.
53281 (pupa_dl_unload): Return if succeeded or not.
53282 (pupa_dl_unload_unneeded): New function.
53283 (pupa_dl_unload_all): Likewise.
53284 (pupa_dl_init): Renamed to ...
53285 (pupa_dl_set_prefix): ... this.
53286 (pupa_dl_get_prefix): New function.
53287
53288 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53289 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53290 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53291 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53292 (pupa_install_dos_part): Declared.
53293 (pupa_install_bsd_part): Likewise.
53294 (pupa_prefix): Likewise.
53295 (pupa_boot_drive): Likewise.
53296
53297 * include/pupa/types.h: Fix a typo.
53298
53299 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53300 pupa_memmove.
53301 (pupa_memmove): Declared.
53302 (pupa_strcpy): Likewise.
53303
53304 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53305 pupa_mod_init takes one argument, its own module.
53306 (pupa_dl_unload_unneeded): Declared.
53307 (pupa_dl_unload_all): Likewise.
53308 (pupa_dl_ref): Likewise.
53309 (pupa_dl_unref): Likewise.
53310 (pupa_dl_iterate): Likewise.
53311 (pupa_dl_init): Renamed to ...
53312 (pupa_dl_set_prefix): ... this.
53313 (pupa_dl_get_prefix): Declared.
53314
53315 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
53316 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
53317 unloaded.
53318 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53319 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53320
53321 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53322 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53323
53324 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53325
53326 * util/i386/pc/pupa-setup.c (setup): Define the internal
53327 function find_first_partition_start at the top level, because GCC
53328 3.0.x cannot compile internal functions in deeper scopes
53329 correctly.
53330 (find_root_device): Use lstat instead of stat.
53331 Don't follow symbolic links.
53332 Fix the path-constructing code.
53333
53334 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53335 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53336 by a BLKGETSIZE ioctl first, because block devices don't fill
53337 the member st_mode of the structure stat on Linux.
53338 [__linux__] (linux_find_partition): Use a temporary buffer
53339 REAL_DEV for the working space. Copy it to DEV before returning.
53340 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53341 buffer cache consistent.
53342 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53343 strncmp. The previous value was merely wrong.
53344 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53345
53346 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53347 FAT size is 12. The previous value was merely wrong.
53348
53349 * kern/main.c (pupa_main): Don't split the starting message from
53350 newlines.
53351
53352 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53353 LF, because BIOS goes crazy about character attributes in this
53354 case.
53355
53356 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53357
53358 * include/i386/pc/util/biosdisk.h: New file.
53359 * util/i386/pc/biosdisk.c: Likewise.
53360 * util/i386/pc/pupa-setup.c: Likewise.
53361
53362 * Makefile.in (INCLUDE_DISTFILES): Added
53363 include/pupa/i386/pc/util/biosdisk.h.
53364 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53365 directory util/i386/pc.
53366 (install-local): Added a rule for sbin_UTILITIES.
53367 (uninstall): Likewise.
53368
53369 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53370
53371 * util/misc.c (xrealloc): New function.
53372 (pupa_malloc): Likewise.
53373 (pupa_free): Likewise.
53374 (pupa_realloc): Likewise.
53375 (pupa_stop): Likewise.
53376 (pupa_putchar): Likewise.
53377
53378 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53379
53380 * include/pupa/util/misc.h (xrealloc): Declared.
53381
53382 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53383 macro.
53384 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53385 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53386
53387 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53388 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53389
53390 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53391 way should be implemented.
53392 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53393
53394 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53395 the size of NAME for safety.
53396 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53397 0x88.
53398
53399 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53400 (pupa_setup_SOURCES): Likewise.
53401
53402 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53403
53404 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53405
53406 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53407 bunch of pushl's from pusha, because this destroys the return
53408 value.
53409
53410 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53411
53412 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53413 This means that any missing prototypes could be fatal. Also, you
53414 must take care when writing assembly code. See the comments at
53415 the beginning of startup.S, for more details.
53416
53417 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53418 compilation mechanism.
53419 (pupa_chainloader_real_boot): Likewise.
53420 (pupa_biosdisk_rw_int13_extensions): Likewise.
53421 (pupa_biosdisk_rw_standard): Likewise.
53422 (pupa_biosdisk_check_int13_extensions): Likewise.
53423 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53424 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53425 (pupa_get_memsize): Likewise.
53426 (pupa_get_mmap_entry): Likewise.
53427 (pupa_console_putchar): Likewise.
53428 (pupa_console_setcursor): Likewise.
53429 (pupa_getrtsecs): Use pushl instead of push.
53430
53431 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53432 memory instead of the stack for a mmap entry, because some
53433 BIOSes may ignore the maximum size and overflow.
53434
53435 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53436
53437 * genmk.rb (PModule#rule): Compile automatically generated
53438 sources with module-specific CFLAGS as well as other sources.
53439
53440 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53441
53442 * configure.ac: Check ld.
53443 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53444 respectively, before checking endianness and sizes.
53445
53446 * Makefile.in (LD): New variable.
53447
53448 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53449
53450 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53451
53452 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53453
53454 * Changelog: New file.
53455