]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Add gcc_struct to all packed structures when compiling with mingw.
[grub2.git] / ChangeLog
1 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Add gcc_struct to all packed structures when compiling with mingw.
4
5 Just "packed" doesn't always pack the way we expect.
6
7 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
10
11 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * util/grub-pe2elf.c: Fix handling of .bss.
14
15 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
16
17 Implement windows flavour of EFI install routines.
18
19 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
22
23 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
24
25 Change grub_install_register_efi interface to pass GRUB device.
26
27 This allows grub_install_register_efi to request partition info
28 directly.
29
30 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
31
32 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
33
34 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Do not use TCHAR string functions as they are not available on cygwin.
37
38 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
39
40 Workaround windows bug when querying EFI system partition parameters.
41
42 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
45 by using bitfields.
46
47 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
50
51 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
52
53 Make i386-* other than i386-pc compileable under cygwin.
54
55 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
56
57 Fix definition of grub_efi_hard_drive_device_path. Take care that
58 existing code would work even if by some reason bogus definition is
59 used by EFI implementations.
60
61 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
64
65 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
68 invocation.
69
70 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * util/config.c: Remove trailing newline from distributor in simple
73 parsing.
74
75 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * include/grub/efi/api.h: Rename protocol and interface to avoid
78 conflict.
79
80 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
83 entries.
84
85 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/osdep/exec.c: Use unix version on cygwin.
88
89 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
90
91 Implement multiboot2 EFI BS specification.
92
93 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/normal/charset.c: Fix premature line wrap and crash.
96 Crash happened only in some cases like a string starting at the
97 half of the screen of same length.
98
99 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
102 with EFI counterpart.
103
104 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Propagate the EFI commits to x86-efi specific parts.
107
108 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/commands/efi/lssal.c: Fix terminating condition.
111
112 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Introduce grub_efi_packed_guid and use it where alignment is not
115 guaranteed.
116
117 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * include/grub/efi/api.h (grub_efi_device_path): Define length as
120 unaligned u16 rather than u8[2].
121
122 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
125 for relocation range.
126
127 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
130 non-function pcrel21b relocation. It happens with .text.unlikely
131 section.
132
133 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
134
135 * make MAX_USABLE_ADDRESS platform-specific
136 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
137
138 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
139
140 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
141
142 2013-12-09 Jon McCune <jonmccune@google.com>
143
144 * Add --no-rs-codes flag to optionally disable reed-solomon codes
145 in grub-install and grub-bios-setup for x86 BIOS targets.
146
147 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
148
149 Add missing compile and link options for sparc64-emu.
150
151 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Implement sparc64 trampolines (needed for sparc64-emu).
154
155 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
158 range of R_SPARC_HI22.
159 Implement R_SPARC_LM22.
160
161 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
164 Do not explicitly check for symbol table as it's already checked in
165 platform-independent layer.
166
167 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
170 on ia64 as __clear_cache is a dummy on ia64.
171
172 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
175 Do not explicitly check for symbol table as it's already checked in
176 platform-independent layer.
177
178 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
179
180 * util/grub-mkconfig.in: Add missing newline to output.
181
182 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
185 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
186
187 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
190 compilation with GCC <= 4.2.
191 * grub-core/kern/emu/argp_common.c: Likewise.
192
193 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
196 right platform rather than leaking to sparc64-emu.
197
198 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
201 But ensure that the variables in question are indeed unsigned.
202
203 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
206
207 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
208
209 Remove grub_memalign on emu.
210
211 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
214 truncate incomplete lines but instead flushes them.
215
216 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
217
218 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
219 and implement windows variant.
220
221 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Fix mips-emu compilation.
224
225 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * configure.ac: Check for freetype library usability.
228
229 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Make arm-emu work.
232
233 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
236
237 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
238
239 * docs/grub.texi (Environment): Update color_normal and color_highlight
240 defaults (light-gray instead of white).
241
242 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
243
244 * grub-core/normal/main.c (INIT): Set default color to light-gray
245 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
246 and apparently BIOS defaults.
247
248 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Transform -C option to grub-mkstandalone to --core-compress available
251 in all grub-install flavours.
252
253 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
254
255 Merge GRUBFS and GRUB_FS variables.
256
257 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
258
259 Revert commit 69ca97c820, it caused failures when using OS device name
260 in grub-install. Instead just strip off parenthesis in grub-install
261 if (hdX) was passed.
262
263 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
264
265 * util/grub-install.c (push_partmap_module): Add helper to convert
266 partmap names to module names and use it in probe_mods(). Fixes
267 failure to find partmap modules in diskfilter case.
268
269 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * configure.ac: Make unifont mandatory on coreboot.
272
273 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * configure.ac: Skip unifont 6.3 pcf and bdf.
276
277 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * Makefile.am: Remove partial font files if generation failed.
280
281 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
282
283 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
284 strings.
285 * include/grub/util/misc.h: Define it ...
286 * util/grub-install.c (device_map_check_duplicates): ... and use it.
287
288 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
289
290 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
291 ${grub_probe}.
292
293 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
294
295 Don't add -mlong-calls when compiling with clang.
296
297 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * configure.ac: Fix a typo.
300
301 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
302
303 Revamp relocation handling.
304
305 Move more code to common dl.c. Add missing veneers for arm and arm64.
306 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
307
308 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
311
312 2013-12-05 Mike Gilbert <floppym@gentoo.org>
313
314 * INSTALL: Raise minimum python version to 2.6.
315 * gentpl.py: Use python3-style print function.
316
317 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * util/grub-install.c: Mention Boot* variable.
320
321 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
322
323 * grub-core/osdep/linux/hostdisk.c
324 (grub_util_find_partition_start_os): Initialise start to avoid
325 spurious compiler warning.
326
327 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
328
329 On Linux, read partition start offsets from sysfs if possible, to
330 cope with block device drivers that don't implement HDIO_GETGEO.
331 Fixes Ubuntu bug #1237519.
332
333 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
334 function.
335 (sysfs_partition_start): Likewise.
336 (grub_util_find_partition_start_os): Try sysfs_partition_start
337 before HDIO_GETGEO.
338
339 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
340
341 * grub-core/kern/fdt.c: Update struct size when adding node.
342
343 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
344
345 Handle unaligned .bss on sparc64.
346
347 Current code improperly assumes that both __bss_start and _end are
348 aligned to 8-bytes. Eliminating this assumption and explicitly align
349 modules.
350
351 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
354 so it doesn't land in the middle of loaded image.
355
356 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * configure.ac: Move all warning options that may be absent in
359 gcc >= 3.1 to optional.
360
361 Note: while this allows to compile with older GCC, official requirements
362 remain the same and no support for older GCC.
363
364 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
365
366 Copying the themes directory in grub-shell isn't
367 parallel-test-friendly and breaks on the second test when the source
368 directory is read-only (as in "make distcheck"). Instead, add a
369 hidden --themes-directory option to grub-mkrescue et al, and use it
370 in grub-shell.
371
372 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
375 as it's no longer necessarry.
376
377 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * configure.ac: Allow compilation with older GCC for ARM.
380
381 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
384 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
385 ppc.
386
387 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
390
391 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
392
393 Pass font config to config.h and not by TARGET_CFLAGS as adding
394 arguments doesn't work if TARGET_CFLAGS is specified on command
395 line.
396
397 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * configure.ac: Add -Wvla if compiler supports it.
400
401 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
404 Remove variable length arrays.
405 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
406
407 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
410
411 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * include/grub/types.h: Declare all byteswaps as inline functions
414 except compile-time ones.
415
416 Solves variable shadowing in constructions like
417 cpu_to_le (le_to_cpu(x) + 1).
418
419 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/kern/efi/efi.c: Remove variable length arrays.
422
423 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
426 minutes.
427
428 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
431 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
432
433 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
434
435 * grub-core/Makefile.core.def (setjmp): Distribute
436 lib/arm64/setjmp.S.
437
438 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
439
440 Add a new timeout_style environment variable and a corresponding
441 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
442 controls hidden-timeout handling more simply than the previous
443 arrangements, and pressing any hotkeys associated with menu entries
444 during the hidden timeout will now boot the corresponding menu entry
445 immediately.
446
447 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
448 generates a warning, and if it shows the menu it will do so as if
449 the second timeout were not present. Other combinations are
450 translated into reasonable equivalents.
451
452 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
453
454 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * util/config.c: Add missing pointer adjustment.
457 Reported by: qwertial
458
459 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
460
461 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
462 directly, not via `cpu' link, to fix libgrub.pp generation.
463
464 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
465
466 New port arm64-efi.
467
468 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
469
470 * docs/grub.texi (sleep): Document exit codes.
471
472 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Ensure that -mno-unaligned-access or some equivalent option is used.
475
476 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
479 -march=armv3.
480
481 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
482
483 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
484
485 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
486
487 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
488 builds, since we don't have an EPS version of font_char_metrics.png.
489 Add leading dot to image extension per the Texinfo documentation.
490
491 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
492
493 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
494 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
495 * util/grub-gen-widthspec.c: Likewise.
496 * util/grub-mkfont.c: Likewise.
497
498 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
499
500 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
501 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
502 failed to install on (hdX).
503 * util/grub-setup.c (get_device_name): Remove, not needed after
504 above change.
505
506 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
509
510 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * util/grub-fstest.c: Remove variable length arrays.
513
514 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/osdep/linux/ofpath.c: Check return value of read.
517
518 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
521 computing crc32 rather than handling with md fundtions directly.
522
523 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
526 checking fwstart.img rather than md fundtions directly.
527
528 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * util/grub-mkrescue.c (main): Check that fread succeeded.
531
532 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * conf/Makefile.common: Remove -mexplicit-relocs and
535 -DUSE_ASCII_FALLBACK on yeeloong.
536
537 -DUSE_ASCII_FALLBACK is already added by font snippets.
538 -mexplicit-relocs isn't needed is compiler/assemblera are
539 configured properly.
540 If they're not we shouldn't attempt to fix it by ourselves.
541 Binary compare between before and after shows no difference.
542
543 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
546 sources in dependencies directly.
547
548 This was the only instance of "library" in core config. A bug was
549 reported that -fno-stack-protector wasn't passed to it. Instead of
550 figuring out why it failed just remove this construction used
551 needlessly.
552
553 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/osdep/unix/password.c (grub_password_get): Check that
556 fgets succeeded.
557
558 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
559
560 * docs/grub.texi (ls): Fix command description in case of a device name
561 passed as argument.
562
563 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
564
565 Eliminate variable length arrays in grub_vsnprintf_real.
566
567 A bit tricky because this function has to continue to work without
568 heap for short strings. Fixing prealloc to 32 arguments is reasonable
569 but make all stack references use 32-bit offset rather than 8-bit one.
570 So split va_args preparsing to separate function and put the prealloc
571 into the caller.
572
573 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
574
575 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
576 Fixes build for windows.
577
578 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * gentpl.py: Don't generate platform-dependent conditionals for
581 platform-independent targets.
582
583 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
584
585 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
586 references to mdadm from otherwise generic code.
587 (grub_util_exec_pipe): Likewise.
588 (grub_util_exec_pipe_stderr): Likewise.
589 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
590 This function calls vgs, not mdadm; adjust variable names
591 accordingly.
592
593 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
594
595 Generate Makefile.*.am directly from gentpl.py, eliminating the use
596 of Autogen. The Autogen definitions files remain intact as they
597 offer a useful abstraction.
598
599 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
600
601 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
602 into no-ops, and use it in programs that copy files but do not need
603 to take special care to sync writes (grub-mknetdir, grub-rescue,
604 grub-mkstandalone).
605
606 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
607
608 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
609 than hardcoding /usr/local/bin/xorriso.
610
611 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
612
613 Add PCI command activation to all PCI drivers as required for coreboot
614 and maybe some other firmwares.
615
616 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
619 and non-Apple variants of efiemu compile.
620
621 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
622
623 * configure.ac: Add explicit check for linking format of
624 efiemu64; save it as EFIEMU64_LINK_FORMAT.
625 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
626 hardcoding linking format.
627
628 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
631 and not pkgdatadir.
632
633 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
634 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Add a --locale-directory option to grub-install and related tools.
637
638 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
639 --locale-directory option.
640 (enum grub_install_options): Add
641 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
642 * util/grub-install-common.c (grub_install_help_filter): Handle
643 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
644 (grub_install_parse): Likewise.
645 (get_localedir): New function to check for a user-provided option
646 before trying grub_util_get_localedir.
647 (copy_locales): Use get_localedir rather than
648 grub_util_get_localedir. Handle differing locale directory layouts.
649 (grub_install_copy_files): Likewise.
650
651 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
654 Don't rely on PATH_MAX.
655
656 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/genmoddep.awk: Use more portable && rather than and.
659
660 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
663 an object after data. While it doesn't seem right solution, it
664 works well enough and OSX isn't main compilation platform.
665
666 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
669 While it doesn't seem right solution, it works well enough and
670 OSX isn't main compilation platform.
671
672 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * configure.ac: Add -static to LDFLAGS when using apple linker to
675 prevent it from pulling in dynamic linker.
676
677 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Apple assembly doesn't handle symbol arithmetic well. So define an
680 offset symbol in boot.S and use it.
681
682 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
683
684 Apple assembly doesn't handle symbol arithmetic well. So instead
685 of getting addres of kernel_sector + 4 define kernel_sector_high.
686 It also makes code more readable.
687
688 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
689
690 With Apple assembly in .macro environvemnt you have to use $$ instead
691 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
692 to $$x on Apple and to $x on everything else.
693
694 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
697 OBJCONV.
698
699 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
702 and non-Apple. This instruction is shorter and faster,
703 so no reason not to use it on both.
704
705 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
708 .text when compiling for Apple.
709
710 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/term/arc/console.c: Add missing cast to silence warning.
713
714 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
717 %dx restore the probe worked on non-existant drive. Reorganize the
718 code a little bit to free 2 bytes necessary for push/pop.
719
720 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
723 Add missing cast to silence warning.
724
725 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
726
727 * util/grub-install.c (update_nvram): Support --no-nvram flag
728 for EFI targets.
729
730 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
733
734 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * util/garbage-gen.c: Add missing include of sys/time.h.
737
738 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
739
740 Don't add -mflush-func if it's not supported by compiler.
741
742 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
743
744 Move common BIOS/coreboot memory map declarations to
745 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
746
747 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
748
749 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
750
751 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * INSTALL: Document why older clang versions aren't appropriate.
754
755 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * INSTALL: Document about clang for mips.
758
759 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
762 clang.
763
764 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
765
766 Add *-xen to the list of grub-install-common platforms.
767
768 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
771 3 last commits.
772
773 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
776
777 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
780 with -mcmodel=large.
781
782 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
785 range-checking for 32-bit quantities.
786
787 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * configure.ac: Compile with -fPIC when compiling with clang on
790 mips.
791
792 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
795 when compiling with clang.
796
797 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
798
799 clang emits calls to abort () under some unknown conditions.
800 Export abort () when compiling with clang.
801
802 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * docs/grub-dev.texi: Document stack and heap sizes.
805
806 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * include/grub/i386/pc/memory.h: Decrease
809 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
810 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
811 The binary doesn't change (checked). It's more to better reflect actual
812 usage.
813
814 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
817 at compile time that enough of scratch size is available.
818
819 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
822 Previously we misaligned stack by 8 in startup.S and compensated
823 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
824 right behaviour is to align stack in startup.S and keep it aligned
825 in callwrap.S. startup.S part was committed few commits before. This
826 takes care of callwrap.S.
827 Reported by: Gary Lin.
828
829 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
832 .data and .bss. May happen if compiler and assembly use different
833 alignment.
834
835 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
836
837 On MIPS handle got16 relocations to local symbols in an ABI-compliant
838 way.
839
840 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Add support for a new magic symbol _gp_disp on mips to handle PIC
843 binaries.
844
845 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
846
847 Use $t9 for indirect calls from asm to C as PIC ABI requires.
848
849 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
852 when rest of GRUB is compiled for hisher stepping. Instead use
853 .set mips3/.set mips1 around cache and sync opcodes.
854
855 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
856
857 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
858 do essentially the same thing, do it in similar way.
859
860 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
861
862 * util/grub-mkrescue.c (main): If a source directory is not
863 specified, read platform-specific files from subdirectories of
864 pkglibdir, not pkgdatadir.
865
866 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
867
868 * grub-core/normal/progress.c: Remove unused file.
869
870 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
873 array.
874
875 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
878 than grub.cfg.
879
880 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * coreboot.cfg: Add missing file.
883
884 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * Makefile.am: Allow STRIP to be empty when creating windowszip.
887
888 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
889
890 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
891 selectively skipping systems.
892
893 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
894
895 * Makefile.util.def (grub-mkimage): Add
896 grub-core/osdep/aros/config.c to extra_dist.
897 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
898 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
899 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
900 grub-core/gnulib-no-gets.diff.
901
902 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Add automated filesystem checking based on scripts I've used now for
905 quite some time locally. Most of the test require root so they are
906 skipped when run without necessarry privelegies.
907
908 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
909
910 * util/grub-install.c (main): Adjust info messages to match
911 installed paths of grub-bios-setup and grub-sparc64-setup.
912
913 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
914
915 * util/grub-install-common.c (copy_locales): Consistently use
916 grub_util_get_localedir () rather than LOCALEDIR.
917 (grub_install_copy_files): Likewise.
918
919 2013-11-19 Josh Triplett <josh@joshtriplett.org>
920
921 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
922 16-byte boundary, as required by the x86-64 ABI, before calling
923 grub_main. In some cases, GCC emits code that assumes this
924 alignment, which crashes if not aligned. The EFI firmware is also
925 entitled to assume that stack alignment without checking.
926
927 2013-11-18 Josh Triplett <josh@joshtriplett.org>
928
929 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
930 4k page boundaries as expected by firmware rather than 1k
931 boundaries.
932 (grub_mmap_malign_and_register): Likewise.
933
934 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
937 fragmentation 512M is enough.
938
939 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
942 pointer to 32K. This is the size of cache element which is the most
943 common allocation >1K. This way the pointer is always around blocks
944 of 32K and so we keep performance while decreasing fragmentation.
945
946 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
949 current memory when allocating large chunks. This significantly
950 decreases memory fragmentation.
951
952 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
953
954 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
955 but for symmetry).
956 * tests/lzocompress_test.in: Skip if lzop is not installed.
957 * tests/xzcompress_test.in: Skip if xz is not installed.
958
959 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
960
961 * util/grub-mkrescue.c (main): Fix typo.
962
963 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
966 clock frequency to 200 MHz,
967
968 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * tests/util/grub-shell.in: Increase console size to 1024x1024.
971
972 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * Makefile.am (default_payload.elf): Add pata to loaded modules.
975 Load config file from (cbfsdisk)/etc/grub.cfg.
976
977 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * util/grub-install-common.c (grub_install_copy_files): Fix module
980 destination directory.
981
982 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
983
984 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
985 files have not been built.
986
987 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
988
989 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
990 Handle errors from mkstemp.
991 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
992
993 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
996 on primary master on pseries.
997
998 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1001 already loaded. This saves memory needed for tests,
1002
1003 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1006 work again.
1007
1008 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1011 work again.
1012
1013 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1016 master since with some combinations of qemu and firmware only primary
1017 IDE channel is available.
1018
1019 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1022 low-memory platforms where we don't have enough memory for them.
1023 * grub-core/tests/videotest_checksum.c: Likewise.
1024
1025 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1028 already loaded. This saves memory needed for tests,
1029
1030 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Fix handling of install lists.
1033
1034 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1037
1038 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1041 the devices before accessing them.
1042
1043 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1046 as file argument.
1047
1048 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1051
1052 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1055 (grub_file_close): Free file->name.
1056
1057 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1060 (grub_load_public_key): Likewise.
1061 (grub_verify_signature_real): Likewise.
1062 (grub_cmd_verify_signature): Likewise.
1063
1064 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1067 memory leak.
1068
1069 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1072 (grub_longjmp): Restore r31.
1073 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1074
1075 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1078 modules to be in line with make_image_abs.
1079
1080 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1083
1084 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1085
1086 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
1087
1088 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1089
1090 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1093 to leave some memory to firmware.
1094
1095 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1098 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1099 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1100 Load gfxmenu.
1101
1102 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1105 now needs full arguments.
1106
1107 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * util/grub-mkrescue.c (main): Add trailing \n in
1110 .disk_label.contentDetails to be in line with previous shell script.
1111
1112 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1115
1116 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * util/grub-install-common.c (grub_install_parse): Recognize
1119 --compress=none like shell script did.
1120
1121 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * include/grub/misc.h: Replace check for __sparc64__ with one for
1124 __sparc__ as __sparc64__ isn't actually defined.
1125
1126 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1129 counterpart of fixing the naming of escc ports.
1130
1131 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * util/grub-install-common.c (platforms): Fix the order of entries and
1134 remove useless field val.
1135
1136 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * util/grub-install.c: Add new option --no-bootsector to skip
1139 installing of bootsector. Accept --grub-setup=/bin/true as
1140 backwards-compatible synonym.
1141
1142 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1143
1144 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1145 order of qsort arguments (number of elements vs. element size).
1146
1147 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1150 the function of these files exceeds what can be sanely handled in shell
1151 in posix-comaptible way. Also writing it in C extends the functionality
1152 to non-UNIX-like OS and minimal environments.
1153
1154 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1157 compiling to thumb2.
1158 * grub-core/kern/arm/cache_armv7.S: Likewise.
1159 * grub-core/lib/arm/setjmp.S: Likewise.
1160
1161 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1162
1163 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1164 in grub_uboot_syscall
1165
1166 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 Decrease stack usage in lexer.
1169
1170 We have only 92K of stack and using over 4K per frame is wasteful
1171
1172 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1173 as macros so that compiler would remove useless structure on stack.
1174 Better solution would be to fix flex not to put this structure on
1175 the stack but flex is external program.
1176
1177 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Decrease stack usage in signature verification.
1180
1181 We have only 92K of stack and using over 4K per frame is wasteful
1182
1183 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1184 rather than stack.
1185 (grub_verify_signature_real): Likewise.
1186
1187 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 Decrease stack usage in mdraid 0.9x.
1190
1191 We have only 92K of stack and using over 4K per frame is wasteful
1192
1193 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1194 rather than stack.
1195
1196 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Decrease stack usage in BtrFS.
1199
1200 We have only 92K of stack and using over 4K per frame is wasteful
1201
1202 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1203 rather than stack.
1204
1205 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 Decrease stack usage in JFS.
1208
1209 We have only 92K of stack and using over 4K per frame is wasteful
1210
1211 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1212 stack. Note: this function is recursive.
1213 (grub_jfs_read_inode): Read only part we care about.
1214
1215 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1216
1217 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1218 handling
1219
1220 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1221
1222 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1223
1224 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1225
1226 * docs/grub.texi (Environment): Document cmdpath.
1227
1228 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1229
1230 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1231 Remove "unused" attribute from arguments, they are used.
1232
1233 2013-11-15 Colin Watson <cjwatson@debian.org>
1234
1235 * .gitignore: Only ignore grub-mk* at the top level.
1236
1237 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
1238
1239 * util/grub-reboot.in (usage): Fix a typo.
1240
1241 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Replace libgcc version of ctz with our own.
1244
1245 On upcoming arm64 port libgcc ctz* are not usable in standalone
1246 environment. Since we need ctz* for this case and implementation is
1247 in C we may as well use it on all concerned platforms.
1248
1249 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * configure.ac: Probe for linking format rather than guessing it based
1252 on target_os.
1253
1254 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1257 "1" prior to handoff.
1258
1259 Reported by: M A Young.
1260
1261 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1264 \0 to all files.
1265
1266 Reported by: M A Young.
1267
1268 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1271 compilation on NetBSD.
1272
1273 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * acinclude.m4: Don't add -P on initial nm test.
1276
1277 Note: even though this patch postdates Andrey's it bears 14 Nov as
1278 date due to timezone difference.
1279
1280 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1281
1282 * grub-core/Makefile.core.def (signature_test): Add missing
1283 tests/signatures.h.
1284
1285 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
1286
1287 * util/grub-install_header: Set localedir here, since this file is
1288 where it's used.
1289 * util/grub-install.in: Remove setting of localedir.
1290 * util/grub-mkrescue.in: Likewise.
1291
1292 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1295
1296 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * configure.ac: Move nm checks to the end.
1299 Call grub_PROG_NM_WORKS.
1300 * acinclude.m4: New check grub_PROG_NM_WORKS.
1301 Use $TARGET_CFLAGS -c when compiling test binary.
1302
1303 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
1304
1305 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1306 unused variables.
1307
1308 2013-11-14 Matthew Garrett <mjg@redhat.com>
1309
1310 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1311 cmdpath to firmware directory.
1312
1313 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1316 at the start of second iteration.
1317
1318 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1321
1322 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * Makefile.am (default_payload.elf): New target for easier coreboot
1325 build.
1326
1327 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1330 clang (not necessarry with -no-integrated-as).
1331 * include/grub/symbol.h [__arm__]: Likewise.
1332
1333 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * configure.ac: Use -no-integrated-as on arm with clang.
1336 * INSTALL: Mention ARM compilation with clang.
1337
1338 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1341 -mthumb-interwork.
1342
1343 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
1344
1345 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1346 code for indirect block handling.
1347
1348 Saves 185 bytes on compressed image.
1349
1350 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1351
1352 Fix make clean.
1353
1354 * Makefile.am: Remove build-grub-* in make clean.
1355
1356 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1357
1358 New files to gitignore.
1359
1360 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1361 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1362
1363 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1364
1365 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1366
1367 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1368
1369 * .gitignore: fix rules for .dep* and add *.a post git migration
1370
1371 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1372
1373 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1374 to match INSTALL.
1375
1376 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1377
1378 * grub-core/kern/misc.c: Don't redirect divisions in the
1379 GRUB_UTIL case.
1380 * include/grub/misc.h: Likewise.
1381
1382 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1383
1384 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1385 systems that require checking the return value of write.
1386
1387 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1388
1389 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1390 efibootmgr quiet when --debug is not used, rather than when it is.
1391
1392 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1393
1394 * gentpl.py (define_macro_for_platform_dependencies): Remove
1395 first (and thus unused) of two definitions for this function.
1396 (platform_dependencies): Likewise.
1397
1398 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1399
1400 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1401 functions, we only need to check this for the target, not the host.
1402 * configure.ac (grub_apple_cc): Likewise.
1403
1404 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1407 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1408 asm to stay in arm even if surrounding is thumb.
1409
1410 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1413 helper functions are needed for thumb.
1414
1415 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1418 level / 3 division explicitly unsigned. Saves few bytes.
1419
1420 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1423
1424 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1427 division.
1428
1429 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1432 grub_uboot_boot_data to asm part.
1433
1434 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1437 literal load.
1438 (grub_uboot_syscall): Save/restore r9 and align stack.
1439
1440 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1443
1444 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1447 occurencies with END.
1448
1449 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1450
1451 * util/grub-editenv.c (help_filter, argp): Document how to delete
1452 the whole environment block.
1453 Reported by Dan Jacobson. Fixes Debian bug #726265.
1454
1455 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
1456
1457 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1458 sectioning.
1459
1460 2013-11-13 Josh Triplett <josh@joshtriplett.org>
1461
1462 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1463 increment/decrement.
1464
1465 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1468 compiling with clang.
1469
1470 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1473 ".".
1474
1475 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Redirect all divisions to grub_divmod64.
1478
1479 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1482
1483 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 Add missing includes of loader.h.
1486
1487 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * configure.ac: Allow disabling themes.
1490
1491 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1492
1493 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1494
1495 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1498 until it becomes operational.
1499
1500 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/Makefile.core.def (legacy_password_test): Disable
1503 on platforms where no legacycfg is compiled.
1504 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1505 load legacy_password_test.
1506
1507 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1510
1511 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1514
1515 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1518 strict-aliasing warning.
1519 (fsync): Silence cast warning.
1520
1521 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/commands/verify.c: Remove variable length arrays.
1524 Load gcry_dsa/gcry_rsa automatically.
1525
1526 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/tests/signature_test.c: New test.
1529
1530 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1533 API.
1534
1535 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1538 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1539
1540 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1543
1544 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/fs/proc.c: Allow \0 in proc files.
1547
1548 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1551
1552 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1555
1556 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/fs/ext2.c: Remove variable length arrays.
1559
1560 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1563 length arrays.
1564
1565 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1568 * grub-core/disk/cryptodisk.c: Likewise.
1569 * grub-core/disk/geli.c: Likewise.
1570 * grub-core/disk/luks.c: Likewise.
1571
1572 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/tests/legacy_password_test.c: New test.
1575 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1576
1577 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1580
1581 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/tests/pbkdf2_test.c: New test.
1584
1585 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1588
1589 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * grub-core/io/lzopio.c: Remove variable length arrays.
1592
1593 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * include/grub/crypto.h: Add maximums on hash size and cipher block
1596 size.
1597
1598 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1601
1602 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/tests/xnu_uuid_test.c: New test.
1605
1606 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1609 covers it).
1610
1611 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/commands/hashsum.c: Remove variable length arrays.
1614
1615 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1618 condition.
1619 * tests/grub_func_test.in: Increase memory allocation.
1620
1621 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1624 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1625 sys/mount.h.
1626
1627 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1630 (grub_util_get_fd_size_os): ...this.
1631 (grub_hostdisk_flush_initial_buffer): New empty function.
1632
1633 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1636 without --defined-only.
1637
1638 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1641 rip-relative addressing in prologue.
1642
1643 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1646 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1647
1648 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1651 Add missing semicolon.
1652
1653 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1656
1657 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * configure.ac: Check for lzma.h for enabling liblzma and allow
1660 manual disabling.
1661
1662 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 Add missing includes of loader.h.
1665
1666 2013-11-11 Fam Zheng <famcool@gmail.com>
1667
1668 * util/grub.d/30_os-prober.in: Add minix entry.
1669
1670 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1673 right buffer for temporary load.
1674
1675 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1678
1679 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1682 payload.
1683
1684 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1687 not Types.h.
1688 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1689 environment.
1690 (LzmaDec_InitDicAndState): Make static.
1691
1692 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1695
1696 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1699
1700 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1701
1702 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * docs/grub-dev.texi: Replace bzr references with git ones.
1705
1706 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1707
1708 * docs/grub.texi (Simple configuration): Remove reference to
1709 grub-reboot from saved default entry description - grub-default
1710 does not use it anymore.
1711
1712 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1715 compiled with.
1716
1717 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1718
1719 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1720
1721 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 Fix grub_machine_fini bitrot.
1724
1725 Reported by: Glenn Washburn.
1726
1727 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1730
1731 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1734 -DELF.
1735 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1736 instead of ELF*.
1737
1738 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1741 Add -march=core2 when testing compile of efiemu64.
1742
1743 Thanks Andrey Borzenkov for spotting this.
1744
1745 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1748 XEN PV environment and load kernels.
1749
1750 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1753 * grub-core/loader/multiboot_mbi2.c: Likewise.
1754
1755 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1758 handling.
1759
1760 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1763
1764 Tested by: Denis 'GNUtoo' Carikli.
1765
1766 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1769
1770 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1773 Use to get rounded angle rather than truncated.
1774
1775 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/term/serial.c: Add option for enabling/disabling
1778 RTS/CTS flow control.
1779
1780 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1783 divisions.
1784
1785 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1788 Use grub_fatal rather than divide by zero.
1789 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1790
1791 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1794 truncate.
1795 (grub_fixed_fsf_divide): Likewise.
1796
1797 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1800 division by-zero and senseless negative divisions.
1801
1802 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1805 division by-zero and senseless negative divisions.
1806 (circprog_set_property): Don't accept negative num_ticks.
1807
1808 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1811 division by-zero and senseless negative divisions.
1812
1813 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * configure.ac: Use elf_*_fbsd on kfreebsd.
1816
1817 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/tests/div_test.c: New test.
1820
1821 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1822
1823 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1824 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1825 * grub-core/gfxmenu/view.c: Likewise.
1826 * grub-core/video/fb/video_fb.c: Introduce new functions:
1827 grub_video_set_area_status, grub_video_get_area_status,
1828 grub_video_set_region, grub_video_get_region.
1829 * grub-core/video/bochs.c: Likewise.
1830 * grub-core/video/capture.c: Likewise.
1831 * grub-core/video/video.c: Likewise.
1832 * grub-core/video/cirrus.c: Likewise.
1833 * grub-core/video/efi_gop.c: Likewise.
1834 * grub-core/video/efi_uga.c: Likewise.
1835 * grub-core/video/emu/sdl.c: Likewise.
1836 * grub-core/video/radeon_fuloong2e.c: Likewise.
1837 * grub-core/video/sis315pro.c: Likewise.
1838 * grub-core/video/sm712.c: Likewise.
1839 * grub-core/video/i386/pc/vbe.c: Likewise.
1840 * grub-core/video/i386/pc/vga.c: Likewise.
1841 * grub-core/video/ieee1275.c: Likewise.
1842 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1843 * include/grub/video.h: Likewise.
1844 * include/grub/video_fb.h: Likewise.
1845 * include/grub/fbfill.h: Updated render_target structure.
1846 grub_video_rect_t viewport, region, area
1847 int area_offset_x, area_offset_y, area_enabled
1848 * include/grub/gui.h: New helper function
1849 grub_video_bounds_inside_region.
1850 * docs/grub-dev.texi: Added information about new functions.
1851
1852 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1855 for alignment.
1856
1857 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1860 missing attribute.
1861 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1862
1863 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1866 simple division on arm and ia64.
1867
1868 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1871 link with libgcc.
1872
1873 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1876
1877 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1880 prefix symbol, not @.
1881
1882 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * INSTALL: Add note about older gcc and clang.
1885
1886 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1889
1890 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1893 NULL pointer dereference.
1894
1895 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1898 clang.
1899
1900 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1903 warnings.
1904
1905 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1908 function.
1909 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1910 * grub-core/disk/geli.c (ascii2hex): Likewise.
1911
1912 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * configure.ac: Run linker tests without -Werror.
1915 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1916 Change all occurences of -static-libgcc resp -lgcc to
1917 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1918
1919 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1922
1923 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Allow compiling with clang (not really supported though).
1926
1927 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1928 unconditionally.
1929 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1930 Add -mrtd -mregparm=3 on i386 when not using clang.
1931 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1932
1933 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1936 bindings.
1937 * grub-core/lib/reed_solomon.c: Likewise.
1938 * include/grub/i386/gdb.h: Likewise.
1939 * include/grub/i386/pc/int.h: Likewise.
1940 * include/grub/i386/pc/pxe.h: Likewise.
1941 * include/grub/ieee1275/ieee1275.h: Likewise.
1942
1943 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 Import libgcrypt 1.5.3.
1946
1947 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * configure.ac: Don't add -Wcast-align on x86.
1950
1951 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * configure.ac: Add -freg-struct-return on all platforms that
1954 support it.
1955
1956 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * acinclude.m4: Use -Werror on parameter tests.
1959 * configure.ac: Likewise.
1960
1961 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1964
1965 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * configure.ac: Check that -malign-loops works rather than assuming that
1968 either -falign-loops or -malign-loops work.
1969
1970 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1973
1974 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * configure.ac: Prevent cflags leaking to subsequent tests by always
1977 resetting cflags to target_cflags in target tests.
1978
1979 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1982 function.
1983
1984 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1987
1988 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1991
1992 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/normal/cmdline.c (grub_cmdline_get):
1995 Remove nested functions.
1996
1997 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * tests/test_sha512sum.in: Make it work on emu.
2000
2001 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2004 functions.
2005 (grub_bidi_line_logical_to_visual): Likewise.
2006
2007 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 Remove vestiges of -Wunsafe-loop-optimisations.
2010
2011 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2012 -Wno-unsafe-loop-optimisations.
2013 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2014 pragma.
2015 * grub-core/io/gzio.c: Likewise.
2016 * grub-core/script/parser.y: Likewise.
2017 * grub-core/script/yylex.l: Likewise.
2018 * util/grub-mkfont.c: Likewise.
2019
2020 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * util/grub-mkfont.c (process_cursive): Remove nested function.
2023
2024 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2027 (grub_boot_time): Likewise.
2028
2029 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * include/grub/symbol.h (FUNCTION): Use @function rather than
2032 "function".
2033 (VARIABLE): Likewise.
2034
2035 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2038
2039 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2042 (parse_dhcp_vendor): Likewise.
2043
2044 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2047
2048 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2051 Define after defining type and not before.
2052
2053 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2056 type.
2057 (grub_gcm_decrypt): Likewise.
2058 (algo_decrypt): Likewise.
2059 (grub_zfs_decrypt_real): Transform error type.
2060
2061 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2064
2065 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2068 (grub_usbms_cbi_reset): Likewise.
2069 (grub_usbms_bo_reset): Likewise.
2070 (grub_usbms_reset): Likewise.
2071 (grub_usbms_attach): Likewise.
2072 (grub_usbms_transfer_cbi): Likewise.
2073
2074 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2077 "checksum = checksum;".
2078
2079 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2082 entry_type.
2083
2084 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2087 BIOS disk check.
2088
2089 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2092 type.
2093 (grub_ehci_fini_hw): Likewise.
2094 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2095
2096 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2099 return grub_usb_err_t for cosistency. All users updated.
2100
2101 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2104 assigning to itself.
2105
2106 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
2107 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2108
2109 Issue separate DNS queries for ipv4 and ipv6
2110
2111 Adding multiple questions on a single DNS query is not supportted by
2112 most DNS servers. This patch issues two separate DNS queries
2113 sequentially for ipv4 and then for ipv6.
2114
2115 Fixes: https://savannah.gnu.org/bugs/?39710
2116
2117 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2118 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2119 * (grub_net_dns_lookup): Now using separated dns packages.
2120 * (grub_cmd_nslookup): Add error condition.
2121 * (grub_cmd_list_dns): Print DNS option.
2122 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2123 --prefer-ipv4, and --prefer-ipv6.
2124 * include/grub/net.h (grub_dns_option_t): New enum.
2125 * (grub_net_network_level_address): option added.
2126
2127 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2128
2129 * grub-core/video/fb/video_fb.c: Merge two blit functions
2130 into one.
2131
2132 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/term/terminfo.c: Add sequences for home and end.
2135
2136 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2139 graphics console.
2140
2141 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2144 add mode 0x12.
2145
2146 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2149 e-mail by Per Öberg.
2150
2151 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2154 name.
2155
2156 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2157
2158 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2159 emu platforms.
2160 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2161
2162 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * docs/grub.texi: Document usage of menuentry id.
2165
2166 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2169
2170 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2171
2172 * grub-core/commands/i386/nthibr.c: New command.
2173
2174 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2177
2178 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2181 coordinate.
2182
2183 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 Support GRUB_DISABLE_SUBMENU config.
2186
2187 Inspired by patch from Prarit Bhargava.
2188
2189 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * docs/grub.texi: Mention RSA support.
2192
2193 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/commands/verify.c: Add RSA support.
2196
2197 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2200 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2201 device is known to be ATAPI.
2202
2203 2013-11-03 Mike Frysinger <vapier>
2204
2205 * configure.ac: Don't add target-prefix.
2206
2207 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2210 variables.
2211
2212 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2215 if language is English.
2216
2217 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2220
2221 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * configure.ac: Don't add -m32/-m64 on emu.
2224
2225 2013-11-02 neil
2226
2227 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2228 broken linux headers.
2229
2230 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2233
2234 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2237 Reed-Solomon recovery if more than half of redundancy info is 0.
2238
2239 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * util/grub-mount.c: Handle symlinks to directories.
2242
2243 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2246 find_file recursively for symlink.
2247
2248 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * tests/util/grub-shell.in: Copy themes.
2251
2252 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2255
2256 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * configure.ac: Use 0x8000 for address instead of 8000.
2259
2260 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2263 signature.
2264
2265 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2268 variable.
2269
2270 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2273
2274 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2277 file_progress_read_hook.
2278 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2279
2280 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2283 and double.
2284
2285 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2288
2289 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 Rewrite blocklist functions in order to get progress when
2292 reading large extents and decrease amount of blocklist hook calls.
2293
2294 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2297 of SI suffixes.
2298
2299 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 Support --base-clock for serial command to handle weird cards with
2302 non-standard base clock.
2303
2304 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2307 strncpy.
2308 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2309 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2310 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2311 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2312 + strcpy rather than strncpy.
2313
2314 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2317 (check_pool_label): Likewise. Fixes overflow.
2318 (nvlist_find_value): Fix comparison.
2319
2320 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2323 more appropriate functions.
2324
2325 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2328 realloc.
2329
2330 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2333
2334 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2337 on core size.
2338
2339 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2342
2343 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2346 (initialize_tables): reset tl and td to NULL after freeing.
2347
2348 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2351
2352 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2355 of supported tags.
2356
2357 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2360
2361 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2364 quirks.
2365
2366 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2369 a page in protected space.
2370
2371 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2374 allocate space for zero-sized modules.
2375
2376 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2379
2380 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2381
2382 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2383
2384 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2387 safeguards. Fixes a crash with i386/pc/console.c.
2388
2389 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2392 and grub_hostfs_init.
2393
2394 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2397 windows method on other platforms without good stat as well.
2398
2399 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2402
2403 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 Make / in btrfs refer to real root, not the default volume.
2406 Modify mkrelpath to work even if device is mounted with subvolid option.
2407
2408 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2409
2410 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
2411 extra_dist.
2412 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2413 extra_dist.
2414
2415 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2418 fails.
2419
2420 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2421
2422 * docs/autoiso.cfg: New file.
2423
2424 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2427 COND_GRUB_PE2ELF conditions.
2428
2429 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2432 "vnd", "rd" and "fd" disks.
2433
2434 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 Move grub_disk_write out of kernel into disk.mod.
2437
2438 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2441 handling.
2442
2443 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/kern/misc.c (grub_abort): Make static
2446
2447 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2450 transform invalid unicode codepoints.
2451
2452 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2455 \0 checking.
2456
2457 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2460
2461 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Consolidate cpuid code.
2464
2465 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 Move cpuid code to cpuid.h and TSC code to tsc.c.
2468
2469 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2470
2471 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2472
2473 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2474
2475 * util/grub-mkconfig.in: Replace $0 with $self.
2476 * util/grub-reboot.in: Likewise.
2477 * util/grub-set-default.in: Likewise.
2478
2479 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2480
2481 * docs/osdetect.cfg: New file.
2482
2483 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2484
2485 * tests/util/grub-shell.in: Add new --debug option.
2486
2487 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2488
2489 * tests/test_unset.in: New test.
2490
2491 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2492
2493 * tests/test_sha512sum.in: New test.
2494
2495 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2498 * include/grub/misc.h: Remove strncat.
2499 * grub-core/lib/posix_wrap/string.h: Likewise.
2500
2501 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2504 Try to handle more than 0xFFFF packets.
2505 Reported by: Bernhard Übelacker <bernhardu>.
2506 He also spotted few overflows in first version of this patch.
2507
2508 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * tests/date_unit_test.c: New test.
2511
2512 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2515 of first three years after start of validity of unixtime.
2516
2517 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2520 division as the one making more sense.
2521 (update_screen): Likewise.
2522 (complete): Likewise.
2523
2524 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2527
2528 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Make char and string width grub_size_t rather than grub_ssize_t.
2531
2532 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2535 unsigned.
2536 (grub_history_replace): Likewise.
2537
2538 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2541 appropriate.
2542
2543 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2546 appropriate.
2547
2548 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2551 Use unsigned divisions rather than signed variants.
2552
2553 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2556 unsigned arithmetics.
2557 Add missing break.
2558
2559 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2562
2563 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2566 rather than signed one.
2567 (recovery): Likewise.
2568
2569 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2572
2573 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2576 than signed.
2577
2578 2013-10-25 Jon McCune <jonmccune@google.com>
2579
2580 * docs/grub.texi: Cleanup security documentation around signatures.
2581
2582 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2585
2586 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2589 than int.
2590
2591 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2594 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2595 functions when compiling for kernel.
2596
2597 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2600 unsigned long long when using %llu.
2601
2602 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2605 terminal after updating progress.
2606
2607 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2610 argument. We don't disable Gate A20 in this code.
2611
2612 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2615 Conceptually based on change in branch "vbe-on-coreboot".
2616
2617 2013-10-24 Robert Millan <rmh@gnu.org>
2618
2619 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2620 numeric constants with their symbolic equivalent.
2621 Taken from branch "vbe-on-coreboot".
2622
2623 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2626
2627 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2630 divmod64 for offset division.
2631
2632 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2633
2634 Rename .bzrignore to .gitignore. Add "*.o" rule.
2635
2636 * .bzrignore: Renamed to...
2637 * .gitignore: ...this.
2638
2639 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2640
2641 Add new progress module that displays the load progress of files.
2642
2643 * grub-core/lib/progress.c: New file.
2644 * grub-core/Makefile.core.def (progress): New module.
2645 * grub-core/kern/file.c (grub_file_open): File name added.
2646 * (grub_file_read): Progress hook added.
2647 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2648 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2649 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2650 * include/grub/file.h (struct grub_file): Add progress module members.
2651 * include/grub/term.h (struct grub_term_output): Likewise.
2652 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2653 Terminal velocity added.
2654 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2655 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2656 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2657 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2658 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2659 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2660 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2661 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2662 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2663 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2664 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2665 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2666
2667 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 Verify signatures of signatures unless --skip-sig is specified.
2670
2671 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2674 \0 checking.
2675
2676 Saves 70 bytes on compressed image.
2677
2678 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2681 check.
2682
2683 Saves 10 bytes on compressed image.
2684
2685 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/kern/misc.c (grub_isprint): Move to ...
2688 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2689
2690 Saves 20 bytes on compressed image due to remving exporting.
2691
2692 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2695
2696 Saves 5 bytes on compressed image.
2697
2698 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2701 function get_utf8.
2702
2703 Saves 379 bytes on compressed image.
2704
2705 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2708
2709 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2712
2713 Saves 40 bytes on compressed image.
2714
2715 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2718 mask rather than 64-bit type.
2719
2720 Saves 20 bytes on compressed image.
2721
2722 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2725 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2726
2727 Saves 273 bytes on compressed image.
2728
2729 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2732 variable length arrays.
2733
2734 Saves 50 bytes on compressed image.
2735
2736 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2739
2740 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/fs/ufs.c: Remove variable length arrays.
2743
2744 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2747
2748 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/fs/zfs.c: Remove variable length arrays.
2751 Reduces zfs.mod by 160 bytes (208 compressed).
2752
2753 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2756
2757 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/net/arp.c: Remove variable length arrays.
2760 * grub-core/net/bootp.c: Likewise.
2761 * grub-core/net/dns.c: Likewise.
2762 * grub-core/net/icmp6.c: Likewise.
2763 * grub-core/net/net.c: Likewise.
2764
2765 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/fs/ntfs.c: Remove variable length arrays.
2768 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2769 compressed).
2770
2771 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/fs/hfs.c: Remove variable length arrays.
2774 Reduces hfs.mod by 8 bytes (52 compressed).
2775
2776 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/fs/udf.c: Remove variable length arrays.
2779 Increases udf.mod by 128 bytes (but decreases by 13 when
2780 compressed).
2781
2782 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/fs/iso9660.c: Remove variable length arrays.
2785 Increases iso9660.mod by 200 bytes (but decreases by 79 when
2786 compressed).
2787
2788 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/fs/nilfs2.c: Remove variable length arrays.
2791 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
2792 compressed).
2793
2794 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/fs/xfs.c: Remove variable length arrays.
2797 Reduces xfs.mod by 40 bytes (43 compressed).
2798
2799 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/fs/fshelp.c: Remove variable length arrays.
2802 Reduces fshelp.mod by 116 bytes (23 compressed).
2803
2804 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/normal/completion.c: Remove variable length arrays.
2807 * grub-core/normal/menu_entry.c: Likewise.
2808
2809 Reduces normal.mod by 496 bytes.
2810
2811 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2814 by 356 bytes (158 compressed).
2815
2816 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2819 by 364 bytes (169 compressed).
2820
2821 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2824 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2825 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2826
2827 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2830 bitmasks to small structures of size chosen to fit in registers.
2831
2832 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * conf/Makefile.common: Use -freg-struct-return on i386. This
2835 decreases code size and improves performance.
2836
2837 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2840
2841 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2844 "(null)" string.
2845 Simplify expressions to save around 256 bytes in kernel.img.
2846 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2847
2848 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2851 Use GRUB_UTIL_FD_O_* rather than O_*.
2852
2853 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Add haiku-specific functions.
2856
2857 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2860
2861 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 Move stat () and device mode checking into OS-dependent files as
2864 long as performance doesn't suffer.
2865
2866 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Split make_system_path_relative_to_its_root into separate file
2869 relpath.c from getroot.c as it's common between unix and haiku
2870 but otherwise haiku doesn't use any functions from unix getroot.c.
2871
2872 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2875 New function.
2876 (grub_util_is_special_file): Likewise.
2877
2878 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2881 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2882
2883 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2886 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2887
2888 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2891 (load_image): Likewise.
2892
2893 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * util/grub-render-label.c: Move backend part to ...
2896 * util/render-label.c: ... here.
2897
2898 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2901 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2902
2903 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2906
2907 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2910 CD-ROM in case when it's declared as having subpartitions.
2911
2912 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 Don't add -lm on haiku.
2915
2916 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2917 and empty on haiku.
2918 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2919 -lm.
2920
2921 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * configure.ac: Use -melf_*_haiku as target on haiku.
2924
2925 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * Makefile.util.def: Add util/setup.c to extra_dist.
2928
2929 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2932 unknown types through.
2933
2934 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2937 (grub_util_check_char_device): Likewise.
2938 * include/grub/emu/getroot.h: Likewise.
2939
2940 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2943 memset rather than inline static function.
2944
2945 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2948 not doing embedded decompressor.
2949
2950 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2953 shadowing.
2954 * grub-core/kern/disk.c: Likewise.
2955 * grub-core/kern/misc.c: Likewise.
2956 * include/grub/parser.h: Likewise.
2957 * include/grub/script_sh.h: Likewise.
2958 * include/grub/zfs/zfs.h: Likewise.
2959
2960 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2963
2964 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2967 defined before trying to use it.
2968
2969 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2972 warning.
2973
2974 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2977 Use __unused__ rather than __used__ on gcc < 3.2.
2978
2979 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2982 gcc < 4.0.
2983 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2984
2985 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2988
2989 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2992 * include/grub/emu/misc.h: Likewise.
2993
2994 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2997 cur_color.
2998
2999 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3000
3001 * grub-core/tests/checksums.h: Regenerated due to progress bar
3002 get_minimal_size changes.
3003
3004 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3005
3006 Added `tr' command support.
3007
3008 * grub-core/commands/tr.c: New file.
3009 * grub-core/Makefile.core.def: Build rules for new module.
3010
3011 * tests/grub_cmd_tr.in: New test.
3012 * Makefile.util.def: Build rules for new test.
3013
3014 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3015
3016 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3017
3018 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3019
3020 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3021 * docs/gurb.texi: Likewise.
3022
3023 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3024
3025 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3026 Pixmap highlighted section with east and west slices was displayed
3027 incorrectly due to negative width of the central slice.
3028
3029 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3030
3031 * docs/grub.texi: Graphical options information update.
3032 Removed outdated. Updated current. Inserted missed.
3033
3034 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * docs/grub.texi: Mention few new platform-specific commands.
3037
3038 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3041 currently used so this doesn't really have any effect.
3042 Reported by: Douglas Ray <dougray>
3043
3044 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3047 compilation but prevents gcc from displaying messages in non-Latin
3048 alphabets.
3049 * conf/Makefile.common: Likewise.
3050
3051 2013-10-16 Hiroyuki YAMAMORI
3052
3053 Handle Japanese special keys.
3054 Reported by: Hiroyuki YAMAMORI.
3055 Codes supplied by: Hiroyuki YAMAMORI.
3056
3057 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3058
3059 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3060
3061 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3062
3063 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3064 * docs/grub.texi: Likewise.
3065
3066 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3069 value in case of incomplete read.
3070 (grub_util_fd_write): Likewise.
3071
3072 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3075
3076 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * util/grub-editenv.c (create_envblk_file): More from here ...
3079 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3080
3081 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3084 canonicalize file name before doing the rest.
3085
3086 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3089 mingw32.
3090
3091 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Define grub_util_is_directory/regular/special_file and
3094 use OS-dependent versions rather than to rely on stat().
3095
3096 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * util/grub-mkimage.c: Move backend part to ...
3099 * util/mkimage.c: ... here.
3100
3101 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 Allow compilation with mingw64 albeit with warnings due to lack of
3104 %llx/%llu.
3105
3106 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3107 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3108 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3109 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3110 on mingw64.
3111 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3112
3113 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 Remove leftover references to some of the system headers.
3116
3117 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3120 read.
3121
3122 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3125 of strerror.
3126
3127 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Split out blocklist retrieving from setup.c to
3130 grub-core/osdep/blocklist.c and add windows implementation since
3131 generic version doesn't work on NTFS on Windows due to aggressive
3132 unflushable cache.
3133
3134 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3137 files.
3138
3139 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3142 Cut tailing newline. Remove arbitrary limitation. Always use
3143 grub_util_tchar_to_utf8.
3144
3145 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3148 * tests/printf_unit_test.c (printf_test): Add %% tests.
3149 Reported by: Paulo Flabiano Smorigo.
3150
3151 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3154 implement fsync.
3155
3156 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3159 use nvlist_lookup_string and don't use nvlist_print.
3160
3161 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3164 closedir to handle filename charset translation.
3165
3166 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * include/grub/emu/hostdisk.h: Move file operations to
3169 * include/grub/emu/hostfile.h: ... here.
3170
3171 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3174 unicode path.
3175
3176 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3179
3180 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3183 and remove export.h.
3184
3185 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/kern/emu/error.c: Removed.
3188 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3189 explicitly as it's already in libgnu.a.
3190
3191 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3194 config-util.h include.
3195
3196 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 Split emunet into platform-dependent and GRUB-binding parts. Keep
3199 platform-dependent part in kernel for easy access to OS functions.
3200
3201 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3204 open/read/write.
3205
3206 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/osdep/windows/emuconsole.c: New file.
3209
3210 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3211
3212 * conf/Makefile.extra-dist: Add osdep/*/init.c
3213
3214 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3217
3218 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * util/grub-probe.c (probe): Separate different drives in hint-str
3221 by spaces and not newlines.
3222 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3223
3224 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3225
3226 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3227 Handle CD-ROMs.
3228
3229 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 Pass-through unknown E820 types. It required reorganisation of mmap
3232 module.
3233
3234 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3235
3236 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3237
3238 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3241 fseeko.
3242
3243 2013-10-14 qwertial <qwertial>
3244
3245 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3246
3247 2013-10-14 Jon McCune <jonmccune@google.com>
3248
3249 * docs/grub.texi: Document new signatures possibility.
3250
3251 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3254
3255 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3258 missing prototype.
3259 (grub_util_tchar_to_utf8): Likewise.
3260
3261 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3264 * grub-core/kern/emu/main.c: Add missing include.
3265 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3266 Don't call grub_util_init_nls.
3267 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3268 Likewise.
3269
3270 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3273 stat.
3274
3275 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3278
3279 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3282
3283 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Add a wrapper for fopen. On unix-like systems just pass-through. On
3286 windows use unicode version.
3287
3288 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 Move set_program_name and init_nls to host_init. On windows
3291 fix in this fuction console and argument charset as well.
3292
3293 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3294
3295 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3296 GRUB_ENABLE_CRYPTODISK.
3297
3298 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3299 GRUB_ENABLE_CRYPTODISK.
3300 * util/grub-mkconfig_lib.in: Likewise.
3301
3302 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3303
3304 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3305
3306 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3307
3308 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3309 error when enabling debug.
3310
3311 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3312
3313 * configure.ac: Use -melf_*_obsd on openbsd.
3314
3315 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3318
3319 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * include/grub/misc.h: Use gnu_printf rather than printf as format
3322 template since our functions are independent of libc.
3323
3324 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * util/grub-setup.c (setup): Move copying of partition table as
3327 futher up as possible to avoid possible overwrite by floppy routines.
3328
3329 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3332
3333 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3334
3335 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3336 * docs/grub.texi: Likewise.
3337
3338 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3341 it's mostly unused. Move vestiges to the callers.
3342
3343 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3346 version of salt and hash. Use grub_snprintf rather than snprintf.
3347
3348 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * docs/grub.texi: Fix problem with braces.
3351
3352 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * conf/Makefile.extra-dist: Fix extra-dist list.
3355 * grub-core/Makefile.core.def: Likewise.
3356
3357 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * docs/grub.texi: Document disk names used on Windows and AROS.
3360
3361 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3364 with AROS devs.
3365 * grub-core/osdep/aros/hostdisk.c: Likewise.
3366
3367 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Avoid including hostfile.h when not necessarry as it pulls
3370 in OS-specific headers which may redefine generic names
3371 like "far".
3372
3373 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3374
3375 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3376 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3377 scrollbar_bottom_pad
3378 * docs/grub.texi: Likewise.
3379
3380 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3381
3382 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3383
3384 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3387
3388 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3391 Removed.
3392 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3393 Made static.
3394
3395 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3398 leftover.
3399
3400 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Move OS-specific driver configuration to grub_util_fd_open. This
3403 moves OS-dependent parts from kern/emu/hostdisk.c to
3404 grub-core/osdep/*/hostdisk.c.
3405
3406 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * util/grub-mkimage.c (generate_image): Use size_t instead of
3409 grub_size_t.
3410 * util/grub-mkimagexx.c (locate_sections): Likewise.
3411 (load_image): Likewise.
3412
3413 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3416 size_t.
3417 (grub_util_write_image): Likewise.
3418
3419 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3422 get random when no RNG is available.
3423 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3424
3425 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * include/grub/util/lvm.h: Removed.
3428
3429 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3432 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3433
3434 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3437
3438 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3441
3442 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/net/drivers/emu/emunet.c: Move to ..
3445 * grub-core/osdep/linux/emunet.c: ..here.
3446
3447 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * util/ieee1275/ofpath.c: Move to ...
3450 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3451 * grub-core/osdep/basic/ofpath.c: ..here.
3452
3453 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 Move password-querying (util-version) routines to grub-core/osdep.
3456
3457 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 Move sleep routines to grub-core/osdep.
3460
3461 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 Move OS-dependent files to grub-core/osdep and document it.
3464
3465 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3468 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3469
3470 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3473
3474 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * util/misc.c: Remove leftover inclusion of malloc.h.
3477
3478 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * include/grub/setjmp.h: Remove leftover GRUBOF.
3481
3482 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * util/raid.c: Fold into ...
3485 * util/getroot_linux.c: ... here. Make all functions static.
3486
3487 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3490 macros to GRUB ones.
3491
3492 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3493
3494 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3495 occasional bug. If there are too many boot entries or too low
3496 scrollbar height then we need to use another formula to calculate
3497 the position and size of the scrollbar thumb.
3498
3499 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
3502
3503 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3504
3505 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3506 * docs/grub.texi: Likewise.
3507
3508 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3509
3510 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3511 viewport.
3512
3513 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3514
3515 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3516 minimal width calculations.
3517
3518 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * docs/grub.texi: Update note on colors on emu console.
3521
3522 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3525 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3526 it's FS and not GRUB limitation.
3527
3528 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3531
3532 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3535
3536 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3537
3538 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3539 kernels by version order.
3540
3541 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3544
3545 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Add AROS hostdisk and getroot routines.
3548
3549 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 Make cryptodisk and diskfilter probe data retrievable programmatically
3552 and not just printable.
3553
3554 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 Split random retrieving code into separate files.
3557
3558 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3561 R_ARM_V4BX.
3562
3563 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3566 condition.
3567 * grub-core/tests/fake_input.c: Likewise.
3568 * grub-core/tests/cmdline_cat_test.c: Likewise.
3569
3570 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/video/capture.c: Do not do finalization when .fini
3573 is called as there is explicit capture_end.
3574
3575 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3578 changing windows to avoid crash.
3579
3580 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3583
3584 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * po/exclude.pot: Add several strings to exclude.
3587
3588 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3591
3592 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3595 ./util/grub-gen-asciih.c to exclude list.
3596
3597 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3600 and don't mark error strings for translation.
3601
3602 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3605 properly in case of missing block size.
3606
3607 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/lib/arm/setjmp.S: Add missing license section.
3610
3611 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * po/swiss.sed: Add replacement for key names and for term computer.
3614
3615 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3616
3617 * grub-core/gfxmenu/theme_loader.c: New global options for the
3618 theme background image handling. desktop-image-scale-method,
3619 desktop-image-h-align, desktop-image-v-align.
3620 * grub-core/gfxmenu/view.c: Likewise.
3621 * include/gfxmenu_view.h: Likewise.
3622 * include/bitmap_scale.h: Proportional scale functions introduced.
3623 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3624 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3625 cases of unexpected input variables for scale functions.
3626 * docs/grub.texi: Updated documentation for new options.
3627
3628 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3631
3632 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3633
3634 * grub-core/tests/checksums.h: Corrected due to changes in
3635 bilinear interpolation function.
3636
3637 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3638
3639 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3640 to eliminate artefacts in bilinear interpolation.
3641
3642 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/video/readers/tga.c: Support paletted tga.
3645
3646 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3649 incorrect cbcr setting when in color mode.
3650
3651 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/video/readers/png.c: Support paletted images and clean up
3654 greyscale support.
3655
3656 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3659 usage of wrong table which resulted in mishandling of 4-byte
3660 sequences.
3661
3662 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/term/terminfo.c: Add Home and End key sequences.
3665
3666 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3669 Fix formula for computing total number of bytes.
3670
3671 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3674 image processing, fix big-endian and support grayscale.
3675
3676 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3679 Correctly will with maximum transparency when using index color.
3680
3681 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/video/readers/png.c: Support grayscale
3684
3685 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/video/readers/jpeg.c: Support grayscale.
3688
3689 2013-09-26 Jon McCune <jonmccune@google.com>
3690
3691 * grub-core/commands/loadenv.c: Support skipping signature check
3692 and variable names filtering.
3693
3694 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3697 * grub-core/kern/emu/hostfs.c: Likewise.
3698 * util/getroot_unix.c: Likewise.
3699
3700 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3703 Migrate all explicit defines to this new one.
3704
3705 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3708 grub_util_fd_strerror when using grub_util_fd_*.
3709 (grub_util_fd_open_device): Likewise.
3710 (grub_util_biosdisk_read): Likewise.
3711 (grub_util_biosdisk_write): Likewise.
3712 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3713 (grub_util_fd_strerror): Likewise.
3714 (grub_util_fd_sync): Likewise.
3715 (grub_util_fd_close): Likewise.
3716 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3717 (grub_util_fd_close): Likewise.
3718 (grub_util_fd_strerror): Likewise.
3719 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3720 function proto rather than macro.
3721 (grub_util_fd_sync): Likewise.
3722 (grub_util_fd_open): Likewise.
3723 (grub_util_fd_strerror): New proto.
3724
3725 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3728 platforms on which it doesn't work.
3729
3730 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3733 stat immediately to where it's used.
3734
3735 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * util/getroot.c (grub_util_check_block_device): Move to ...
3738 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3739 * util/getroot.c (grub_util_check_char_device): Move to ...
3740 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3741
3742 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3745 disk closing logic.
3746
3747 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3748
3749 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3750
3751 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3752
3753 * docs/grub.texi (File name syntax): Document ZFS filenames
3754 (/volume@snapshot/...).
3755
3756 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3759 Always return full path. Fixes a problem with mkrelpath.
3760
3761 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3762
3763 * util/grub-install.in: Add GPT PReP support.
3764 * util/grub-probe.c (probe): Support GPT partition type.
3765 (main): Support -t gpt_parttype.
3766
3767 2013-09-23 Aleš Nesrsta <starous@volny.cz>
3768
3769 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3770
3771 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3772
3773 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3774
3775 2013-09-23 Tim Hardeck <thardeck>
3776
3777 * util/grub.d/10_hurd.in: Filter out character for the class.
3778 * util/grub.d/10_kfreebsd.in: Likewise.
3779 * util/grub.d/10_linux.in: Likewise.
3780 * util/grub.d/20_linux_xen.in: Likewise.
3781
3782 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3783
3784 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3785 "changed".
3786
3787 2013-09-23 Josh Triplett <josh@joshtriplett.org>
3788
3789 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3790 boot partition.
3791
3792 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3795 doesn't use posix_wrap. Keep literal -fno-builtin however.
3796
3797 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3800
3801 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3802 2013-09-23 neil
3803
3804 * configure.ac: Do not enable -Wmissing-noreturn as its
3805 usefulness is limited and creates problems on some OS notably with
3806 code generated by bison.
3807
3808 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3809 2013-09-23 neil
3810
3811 * configure.ac: Do not explicitly enable -Waddress as it's not
3812 supported by all gcc and when it is, it's already enabled by -Wall.
3813
3814 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3817 desactivated use of EDID at all.
3818
3819 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3820 2013-09-23 neil
3821
3822 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3823 video if no text is available.
3824
3825 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3826 2013-09-23 neil
3827
3828 * configure.ac: Substitute TARGET_RANLIB.
3829
3830 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3831 2013-09-23 neil
3832
3833 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3834
3835 Based on patches from AROS.
3836
3837 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3838 2013-09-23 neil
3839
3840 * grub-core/Makefile.am: Override STRIP and RANLIB.
3841 * configure.ac: compute TARGET_RANLIB.
3842 * INSTALL: Document TARGET_RANLIB
3843
3844 Based on patches from AROS.
3845
3846 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3849 that floppies are unpartitioned.
3850
3851 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3854 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3855
3856 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3859 less nice but more portable.
3860 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3861
3862 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3865 for cheat_fd.
3866 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3867 functions.
3868 (grub_cryptodisk_cheat_insert): Likewise.
3869 (grub_cryptodisk_close): Likewise.
3870
3871 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3874 Use windows path for DEFAULT_DIRECTORY.
3875
3876 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3879 difference was likely just gcc version, not anything mingw-related.
3880
3881 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Use Winapi on both cygwin and mingw32 to share more code between both.
3884
3885 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3886
3887 * util/grub-install.in: Add --grub-editenv option.
3888 * util/grub-install_header (grub_compress_file): Explicitly check for
3889 plain file to avoid cp error.
3890
3891 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3892
3893 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3894 names; fix LVM driver name (lvm, not lv).
3895 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3896 names.
3897
3898 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3901 files rather than one file with loads of #if's.
3902 * util/getroot.c: Likewise.
3903
3904 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3907
3908 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3911 GNU/Hurd to the list of checked PRNG.
3912
3913 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3916
3917 2013-09-21 Ales Nesrsta <starous@volny.cz>
3918
3919 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
3920
3921 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3924 * grub-core/disk/lvm.c: Add LVM UUIDs.
3925 * util/getroot.c: Use LVM UUIDs whenever possible.
3926
3927 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3928
3929 * docs/grub.texi (Networking commands): Add documentation for
3930 network related commands.
3931
3932 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3935 to determine if device is handled by devmapper.
3936 (convert_system_partition_to_system_disk): Likewise.
3937 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3938 already done in grub_util_open_dm.
3939
3940 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3941
3942 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3943 Clean up stack manipulation (sync_caches_armv*)
3944
3945 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * util/lvm.c: Remove since unused. Remove remaining references.
3948
3949 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Handle the case of partitioned LVM properly.
3952
3953 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3954 Stop on meeting LVM, mpath or DMRAID.
3955 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3956 (read_device_map): Likewise.
3957 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3958 device is full disk rather than erroring out on LVM and similar cases.
3959
3960 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3963
3964 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3967 4K before the end.
3968 Reported by: Leif Lindholm
3969
3970 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
3971 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3974 codes.
3975
3976 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
3977
3978 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3979 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3980
3981 2013-09-18 Douglas Ray <dougray@cpan.org>
3982
3983 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3984 as secure.
3985
3986 2013-09-18 Aleš Nesrsta <starous@volny.cz>
3987
3988 * docs/grub.texi: Fix broken link.
3989
3990 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3991
3992 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3993 to break endless loop.
3994
3995 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * util/grub-fstest.c: Fix several printf formats.
3998 * util/grub-mkimage.c: Likewise.
3999 * util/grub-mkimagexx.c: Likewise.
4000 * util/grub-script-check.c: Likewise.
4001
4002 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4005 error.
4006
4007 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4010
4011 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4014 removed in current versions cygwin_conv_*.
4015
4016 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * configure.ac: Disable efiemu runtime on cygwin.
4019
4020 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4023 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4024
4025 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4028 error message.
4029
4030 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4033 windows variant.
4034 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4035 data.
4036
4037 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4040 when on x86 and not cygwin.
4041 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4042 -Wl,-melf_x86_64.
4043
4044 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * configure.ac: Set CPP to build one when checkoing for freetype for
4047 build.
4048
4049 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4052 [!GRUB_BUILD]: Remove has_argument.
4053
4054 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4057 Replace with a dummy.
4058
4059 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * configure.ac: Don't change host_os from mingw to cygwin.
4062
4063 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * configure.ac: Change target_os from windows to cygwin.
4066
4067 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4070
4071 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4072 (build-grub-gen-asciih): Likewise.
4073 (build-grub-gen-widthspec): Likewise.
4074 * Makefile.util.def (grub-pe2elf): Remove.
4075 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4076 * configure.ac: Separate tests for build.
4077 Move ./build-grub-pe2elf to grub-core.
4078 Fix typo.
4079 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4080 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4081 defined.
4082 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4083 constants.
4084 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4085 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4086 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4087
4088 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4091 mingw32 as well based on grub_util_get_disk_size.
4092 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4093 grub_util_get_fd_size.
4094 (sync): Removed.
4095 (fsync): Moved to ...
4096 * grub-core/kern/emu/misc.c (fsync): ... here.
4097
4098 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * include/grub/mm.h (grub_extend_alloc): Remove.
4101 * grub-core/loader/i386/pc/plan9.c: Use own version of
4102 grub_extend_alloc with appropriate types.
4103
4104 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4107
4108 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4111
4112 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 Fix dependencies on cygwin.
4115
4116 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4117 dependencies when used and defined.
4118 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4119
4120 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4123 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4124
4125 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4128 implementation available to cause compile-time rather than runtime
4129 error.
4130
4131 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * util/grub-fstest.c: Don't check for symlinks on windows.
4134
4135 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * INSTALL: Mention unavailability of man pages when cross-compiling.
4138
4139 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4142 and gcry_log_bug.
4143 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4144
4145 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * INSTALL: Document cross-compilation.
4148 * acinclude.m4: Determine whether nm support -P and --defined-only.
4149 * configure.ac: Add TARGET_ to all variables pertaining to target
4150 that don't have it yet.
4151 * gentpl.py: Likewise.
4152 * grub-core/Makefile.am: Likewise.
4153 * grub-core/genmod.sh.in: Likewise.
4154 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4155 as well.
4156
4157 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4158
4159 * configure.ac: Remove -Wempty-body. It's not essential and needs
4160 recent gcc.
4161
4162 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4163
4164 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4165 * util/getroot.c: Likewise.
4166
4167 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/disk/ahci.c: Add needed explicit cast.
4170 * grub-core/lib/backtrace.c: Likewise.
4171 * grub-core/net/ip.c: Likewise.
4172 * grub-core/net/tcp.c: Likewise.
4173 * grub-core/net/udp.c: Likewise.
4174
4175 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4178
4179 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * util/import_gcry.py: Add final newline in visibility.h.
4182
4183 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * conf/Makefile.common: Fix typo.
4186
4187 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4190
4191 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * Makefile.am (widthspec.h): Fix typo.
4194 * util/grub-gen-widthspec.c: Likewise.
4195
4196 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Move ascii.h and widthspec.h generation to a separate build-time-only
4199 tool.
4200
4201 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4202
4203 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4204 Always fill bootdisk info and improve check for NetBSD disklabel.
4205
4206 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * conf/Makefile.extra-dist: Add util/bin2h.c.
4209 Reported by: floppym.
4210
4211 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4214
4215 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * configure.ac: Disable unifont and starfield if no freetype was found.
4218
4219 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4222 on NetBSD and OpenBSD.
4223
4224 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
4225
4226 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4227
4228 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
4229
4230 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4231 reduced. Inheritant options are processed during the theme loading.
4232
4233 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
4234
4235 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4236
4237 2013-08-14 Avik Sil <aviksil@in.ibm.com>
4238
4239 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4240
4241 2013-08-14 Avik Sil <aviksil@in.ibm.com>
4242
4243 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4244 using qemu.
4245
4246 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4247
4248 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4249 remove-potcdate.sed.
4250
4251 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4252
4253 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4254 unused attribute from pull argument.
4255
4256 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4257
4258 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4259 memory leak.
4260
4261 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4262
4263 * util/getroot.c (pull_lvm_by_command): add --separator option
4264 to vgs call to disable padding of output to 10 characters.
4265
4266 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4269 here ...
4270 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4271 here.
4272
4273 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4276 length.
4277
4278 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4281 full Canadian cross. Tested with build=x86_64, host=arm,
4282 target=ppc-ieee1275.
4283
4284 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * configure.ac: Error if no $BUILD_CC could be found.
4287 Reported by: DevHC.
4288
4289 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4292 i386-multiboot.
4293
4294 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4297 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4298
4299 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
4300
4301 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4302 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4303 falling back to the partition device, otherwise a later call to this
4304 function may fail spuriously.
4305 Reported by Axel Beckert. Fixes Debian bug #708614.
4306
4307 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4308
4309 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4310
4311 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4312
4313 Prevent shadowing of stdlib's devname(3) on BSD.
4314
4315 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4316 and devlast to diskname and disklast, respectively.
4317
4318 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
4319
4320 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4321
4322 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4323
4324 * docs/grub.texi: Introduce terminal window position options:
4325 terminal-left: terminal window's left position
4326 terminal-top: terminal window's top position
4327 terminal-width: terminal window's width
4328 terminal-height: terminal window's height
4329 terminal-border: terminal window's border width
4330 * grub-core/gfxmenu/theme-loader.c: Likewise.
4331 * include/grub/gfxmenu_view.h: Likewise.
4332 * po/exlude.pot: Likewise.
4333 * grub-core/gfxmenu/view.c: Likewise.
4334 Also updated minimal window size.
4335 Also terminal_sanity_check function has been introduced.
4336 * grub-core/tests/checksums.h: Update (terminal window height
4337 is adjusted now for low resolution screen)
4338
4339 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4342 position).
4343
4344 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * po/exclude.pot: Add few recent exceptions.
4347
4348 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * tests/grub_func_test.in: Add unicode.pf2.
4351
4352 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4355 standard rather than noral color, in line with other terminals.
4356
4357 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4360 analysis.
4361
4362 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4365
4366 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4369 inappropriate printf.
4370
4371 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4372
4373 * .bzrignore: Remove grub-core/lib/dtc-grub,
4374 grub-core/Makefile.libfdt.def
4375 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4376
4377 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * include/grub/video.h (grub_video_register): Keep double-linked as
4380 well as single-linked invariants.
4381 Reported by: qwertial.
4382
4383 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/commands/nativedisk.c (get_uuid): Handle
4386 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4387
4388 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4389
4390 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4391 maximum of NW, N, NE heights instead of N's height and maximum of
4392 NW, W, SW widths instead of W's width. (So the box will be always
4393 correctly drawn)
4394
4395 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4396
4397 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4398 Fix misuse of variable count.
4399
4400 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
4401 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
4402 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 New ports to arm-uboot and arm-efi.
4405 Mostly by Leif Lindholm with some additions from
4406 Francesco Lavra and cleanup by Vladimir Serbinenko.
4407
4408 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4411 and not before.
4412 Reported by: Leon Drugi.
4413
4414 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4417 Reported by: Paulo Flabiano Smorigo.
4418
4419 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4420
4421 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4422
4423 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4424
4425 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4426
4427 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4430
4431 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4434
4435 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4436
4437 * grub-core/net/bootp.c: Export net_* variables.
4438 * grub-core/net/net.c: Likewise.
4439
4440 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4443
4444 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4447
4448 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4451
4452 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4455
4456 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4457
4458 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4459 <= 0.
4460
4461 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4462
4463 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4464 functions.
4465
4466 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4467
4468 * grub-core/fs/zfs/zfs_lz4.c: New file.
4469 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4470
4471 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4472
4473 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4474
4475 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4476
4477 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4478 (check_pool_label): Likewise.
4479 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4480
4481 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4482
4483 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4484
4485 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4486
4487 * docs/grub.texi (Commands): Document postition parameters
4488 for menuentry command.
4489
4490 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4491
4492 * util/grub-mknetdir.in: Remove stray line from help output.
4493
4494 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Remove early sm712 init as there is no reason for it (the "watchdog"
4497 effect was due to wrong GPIO map).
4498
4499 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/commands/pcidump.c: Remove static variables.
4502
4503 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4506
4507 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * configure.ac: Move delimiter after the infos.
4510
4511 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4514
4515 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4518 not filling whole 8x16 space.
4519
4520 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4523
4524 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * configure.ac: Indicate which liblzma is used if any.
4527
4528 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
4529 2013-06-21 Craig Sanders <savannah@taz.net.au>
4530
4531 * util/grub-reboot.in: Document submenu usage.
4532
4533 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4534
4535 * .bzrignore: Update with a number of new test-related files.
4536
4537 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4538
4539 * util/grub-script-check.c: Fail on scripts containing no
4540 commands, to guard against corrupted grub-mkconfig setups that
4541 produce no useful output.
4542 * tests/grub_script_no_commands.in: New test.
4543 * Makefile.util.def (grub_script_no_commands): Add.
4544 Reported by Hans Putter. Fixes Debian bug #713886.
4545
4546 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4547
4548 * grub-core/disk/diskfilter.c: Forgot to remove comment
4549 from previous commit.
4550
4551 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4552
4553 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4554 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4555
4556 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4557
4558 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4559
4560 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4561
4562 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4563 rescan diskfilter devices until nothing new is found.
4564
4565 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4568
4569 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Don't try to detect cbfs on *-emu.
4572
4573 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4576
4577 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 Add support for processed coreboot payload chainloading.
4580
4581 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Enable coreboot information commands even when not loaded as
4584 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4585
4586 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 Support for cbfs. Also factor out the part which is common
4589 for all archives to a separate module. This splits tar from cpio
4590 as they are very different but keeps cpio, cpio_be, odc and newc
4591 together since they're very similar.
4592
4593 2013-06-15 David Michael <fedora.dm0@gmail.com>
4594
4595 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4596 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4597
4598 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * tests/grub_script_eval.in: Really add the eval test.
4601
4602 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 Move flavour-specific parts out of common cpio.c file and
4605 rename remaining to cpio_common.c
4606
4607 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4608
4609 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4610 off new function grub_script_execute_new_scope. Change callers to use
4611 either of them as appropriate.
4612 * grub-core/commands/eval.c: New command eval.
4613 * docs/grub.texi (Commands): Document it.
4614
4615 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4616
4617 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4618 to fetch values when listing.
4619
4620 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4621
4622 Fix make dist on non-pc.
4623
4624 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
4625
4626 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4627 without a device name.
4628
4629 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Remove enable_executable_check as it's not needed anymore.
4632 Reported by: dougray.
4633
4634 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4637 ambigouos RAID before discovering RAIDs on top of it.
4638 Reported by: bodom.
4639
4640 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 Fix typo (failback vs fallback).
4643
4644 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4645
4646 * util/grub.d/30_os-prober.in: Add support for probing EFI
4647 System Partition (as of os-prober 1.58).
4648
4649 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * configure.ac: Add yet another path to unifont. For parabola.
4652
4653 2013-05-30 Josh Triplett <josh@joshtriplett.org>
4654
4655 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4656 handling to copy the killed characters to the kill buffer as
4657 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4658 stored as char. Eliminates UCS4 truncation and corruption
4659 observed when killing characters with Ctrl-u and yanking them
4660 back with Ctrl-y.
4661
4662 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 Detach optional parts of gfxterm and integrate in with coreboot init.
4665
4666 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Move blit and fill dispatcher to appropriate files to decrease export
4669 and relocation overhead.
4670
4671 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4674 functions.
4675
4676 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/Makefile.am: Fix compilation problem with some
4679 automake versions.
4680
4681 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4684
4685 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4688 automake versions.
4689
4690 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4693 SSDT.
4694
4695 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4696
4697 * grub-core/partmap/dfly.c: New partition map.
4698
4699 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4702 checking.
4703 Reported by: Francesco Lavra.
4704
4705 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4706
4707 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4708 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4709 false conditions.
4710 * conf/Makefile.common: define dist_grubconf_DATA
4711
4712 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 Progressively skip menu elements on small terminals rather
4715 than crashing.
4716
4717 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4720 to avoid losing last column.
4721
4722 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * po/exclude.pot: Add missing string "%C".
4725
4726 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4729 after the test.
4730
4731 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/grub-install.in: Gettextize "Not found" message.
4734
4735 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 Fix distfiles list.
4738 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4739
4740 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4741
4742 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4743 present.
4744 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4745
4746 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4749
4750 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4753 attribute since structure is not necessarily aligned.
4754
4755 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4756
4757 * docs/grub.texi (Device syntax): Clarify description of network
4758 drives.
4759
4760 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4763 for vasprintf presence.
4764
4765 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * util/grub-install.in: Handle efibootmgr presence check.
4768 Reported by: Leif Lindholm.
4769
4770 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4773 new strings to translate.
4774
4775 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4778 yet another string (pun intended) to translate.
4779
4780 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * po/POTFILES-shell.in: Autogenerate it.
4783
4784 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4787
4788 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4791 misnomer.
4792
4793 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4794
4795 * docs/grub.texi (Network): Add description of net_default_interface,
4796 net_default_ip and net_default_mac. Rewrite variables description
4797 to emphasize that they are per-interface.
4798
4799 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 New test: cmdline and cat.
4802
4803 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/commands/cat.c: Show UTF-8 characters.
4806
4807 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * conf/Makefile.common: Poison float and double on non-emu.
4810
4811 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * configure.ac: Don't disable extended registers on emu.
4814
4815 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * configure.ac: Don't use extended registers on x86_64.
4818 Reported by: Peter Jones.
4819
4820 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/term/efi/console.c: Fix compile error.
4823
4824 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 Compressed HFS+ support.
4827
4828 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4831 pixel".
4832
4833 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Menu color test.
4836
4837 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * grub-core/tests/setjmp_test.c: New test.
4840
4841 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 New variables 'net_default_*' to determine MAC/IP of default interface.
4844
4845 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * tests/gettext_strings_test.in: A test to check for strings not
4848 marked for translation.
4849
4850 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * autogen.sh: Exclude unused libgcrypt files from translation.
4853
4854 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Simplify few strings.
4857
4858 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Mark few forgotten strings for translation.
4861
4862 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4865 rather than printf.
4866
4867 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4870 rather than printf.
4871 * grub-core/video/readers/tga.c: Likewise.
4872
4873 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * tests/priority_queue_unit_test.cc: New test.
4876
4877 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4880 than printf.
4881
4882 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4883
4884 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4885 variable for one time boot menu entry.
4886
4887 2013-05-05 Bean <bean123ch@gmail.com>
4888
4889 * grub-core/commands/testspeed.c: New command testspeed.
4890
4891 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Factor-out human-size printing.
4894
4895 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Agglomerate more mallocs to speed-up gfxterm.
4898
4899 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 Speed-up gfxterm by slightly agglomerating mallocs.
4902
4903 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 More video checks.
4906
4907 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 Speed-up gfxterm by saving intermediate results in index+alpha
4910 format.
4911
4912 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4915 test.
4916
4917 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4920 line of timeout as it may contain the rest of long line.
4921
4922 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/normal/main.c: Fix freed memory dereference.
4925
4926 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Fix several memory leaks.
4929
4930 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4933
4934 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4937
4938 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Fix test -a and -o precedence.
4941 Reported by: adrian15.
4942
4943 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4946
4947 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4948
4949 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4950 and add it as source to functional_test module.
4951
4952 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4955
4956 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 New series of tests for gfxterm and gfxmenu.
4959
4960 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4963 the theme path relative to $prefix/themes.
4964
4965 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4968 Fix order bug.
4969 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4970
4971 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4974 descriptor.
4975
4976 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4979 grub_gfxmenu_timeout_notifications.
4980 (grub_gfxmenu_view_destroy): Likewise.
4981
4982 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4985
4986 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 Several fixes to ieee1275 and big-endian video.
4989
4990 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 Add missing exports on mips.
4993
4994 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4997 if no unifont is found.
4998 Restore original keyboard.
4999
5000 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5003 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5004
5005 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 First automated video test (running videotest and comparing results)
5008
5009 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5012 instead of 2 to have full RGB/CMY test pattern.
5013
5014 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 Add few more tests.
5017
5018 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5021 ARCS. All users updated.
5022
5023 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5026
5027 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5030
5031 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5034 Reported by: qwertial.
5035
5036 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5037
5038 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5039 with syntax "XXX deg"/"XXX °".
5040
5041 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 Make PCI init in i386-qemu port more robust.
5044
5045 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5046
5047 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5048 cached view is reused.
5049 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5050 open boot menus.
5051
5052 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Unify more code in grub-install_header.
5055
5056 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Add few new tests.
5059
5060 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Enforce disabling of firmware disk drivers when native drivers kick in.
5063
5064 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/commands/nativedisk.c: Customize the list of modules on
5067 platform. Don't try to search for disks already using native drivers.
5068
5069 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5072 platforms.
5073
5074 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5077 handling of variables containing backslash.
5078
5079 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5082 dereference.
5083 Reported by: qwertial.
5084
5085 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5088
5089 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5092 dereference.
5093 Reported by: qwertial.
5094
5095 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5098
5099 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5102
5103 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 New command `nativedisk'.
5106
5107 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5110 * grub-core/loader/i386/bsd.c: Likewise.
5111
5112 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5115
5116 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5119 grub_get_unaligned16 rather than shifts.
5120
5121 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/kern/file.c: Use const char * rather than casting to
5124 non-const.
5125
5126 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/commands/probe.c: Add missing grub_device_close.
5129
5130 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * INSTALL: Document linguas.sh.
5133
5134 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 Remove POTFILES.in and regenerate it in autogen.sh.
5137
5138 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 Move --directory/--override-directorry to grub-install_header and unify.
5141
5142 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/term/morse.c: Macroify dih and dah.
5145
5146 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5147
5148 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5149
5150 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/term/ns8250.c: Systematically probe ports by writing
5153 to SR before using them.
5154
5155 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5156
5157 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5158 disks.
5159 (check_sas): Get sas_adress info.
5160
5161 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5164 ports.
5165
5166 2013-04-27 Leon Drugi <eyak>
5167
5168 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5169 BSS clearing.
5170
5171 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 Core compression test.
5174
5175 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 Implement grub_machine_get_bootlocation for ARC.
5178
5179 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Improve AHCI detection and command issuing.
5182
5183 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 Fix pseries test.
5186
5187 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 Make 'make check' work on emu.
5190
5191 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 Replace libcurses with our own vt100 handling for the ease of testing
5194 and decreasing prerequisites.
5195
5196 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5199
5200 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5203 compile when not needed.
5204
5205 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * tests/pseries_test.in: New test.
5208
5209 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 Add test to check that different boot mediums work.
5212
5213 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5216 ofw limited ISO support.
5217
5218 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * configure.ac: Fix loongson conditional.
5221
5222 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Enable mipsel-arc.
5225
5226 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 Add serial on ARC platform.
5229
5230 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5233 commit.
5234
5235 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * tests/partmap_test.in: Add missing double semicolon.
5238
5239 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * util/grub-mkrescue.in: Fix loongson filename.
5242
5243 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * util/grub-mkrescue.in: Move all files that don't have a location
5246 set in stone under /boot/grub. Use ISO hard links rather than copies
5247 to save some space.
5248
5249 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5252 bogus SLOF values.
5253
5254 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 Make check work on mips-arc.
5257
5258 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * util/grub-mkrescue.in: Alias sashARCS as sash.
5261
5262 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5265 it's serial.
5266
5267 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * util/grub-install.in: Fix target fo qemu_mips.
5270 Fix extension on EFI.
5271
5272 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5275 in front of chosen entry to mark it even if highlighting is lost.
5276
5277 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5280 gfxpayload=keep if cbfb is active.
5281
5282 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5285
5286 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 Add missing video ids to coreboot and ieee1275 video.
5289
5290 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * util/grub-mkrescue.in: Add mips-arc support.
5293
5294 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5297
5298 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 Move mips-arc link address. Previous link address was chosen
5301 in belief that RAM on SGI platforms grows down while in fact it
5302 grows up from an unusual base.
5303
5304 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5307 Fix a type which prevented CD-ROM and floppy boot.
5308
5309 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 Support coreboot framebuffer.
5312
5313 * grub-core/video/i386/coreboot/cbfb.c: New file.
5314
5315 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5318 detecting too small regions.
5319
5320 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5323
5324 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5327 Remove dprintf.
5328 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5329
5330 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5333 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5334 * grub-core/loader/powerpc/ieee1275/linux.c
5335 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5336
5337 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5340 Look for /boot-rom as well as /rom/boot-rom.
5341
5342 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5345 handling when creating text_layer failed.
5346 * grub-core/video/video.c (grub_video_create_render_target):
5347 Set result to 0 on error.
5348 (grub_video_delete_render_target): Do not dereference NULL.
5349
5350 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5353 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5354 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5355 (grub_linux_load64): Mask out 2 high bits.
5356
5357 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5358
5359 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5360 more place.
5361
5362 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 Add support for pseries and other bootinfo machines to grub-mkrescue.
5365
5366 Tested by: Paulo Flabiano Smorigo.
5367
5368 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * util/grub-mkrescue.in: Add GPT for EFI boot.
5371
5372 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5375 It improves performance in qemu.
5376
5377 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * build-aux/snippet: Add missing gnulib files.
5380
5381 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5382
5383 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5384
5385 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5386
5387 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5388
5389 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5390 2013-04-15 Peter Jones <pjones@redhat.com>
5391
5392 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5393 sectors.
5394 Based on patch by Peter Jones.
5395
5396 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 Fix DMRAID partition handling.
5399
5400 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * tests/grub_cmd_date.in: Skip on sparc64.
5403
5404 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5407 firmware error messages.
5408
5409 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5412 source and destination differ.
5413
5414 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5417 detection.
5418
5419 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5422 match config-util.h to avoid warnings and increase compatibility.
5423
5424 2013-04-14 Szymon Janc <szymon@janc.net.pl>
5425 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 Add option to compress files on install/image creation.
5428
5429 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * docs/grub-dev.texi: Rearrange menu to match the section order.
5432 Reported by: Bryan Hundven.
5433
5434 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5437
5438 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 Move GRUB out of system area when using xorriso 1.2.9 or later.
5441
5442 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * tests/grub_cmd_date.in: Add missing exit 1.
5445
5446 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * tests/partmap_test.in: Skip on sparc64.
5449
5450 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 Support grub-shell on sparc64.
5453
5454 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 Support mkrescue on sparc64.
5457
5458 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5461 Needed on OpenBIOS due to incomplete device tree.
5462
5463 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5466 would be otherwise excluded.
5467
5468 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5471 Inline name defines used only once.
5472
5473 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 Fix memory leaks in ofnet.
5476 Reported by: Francesco Lavra.
5477
5478 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * docs/man/grub-glue-efi.h2m: Add missing file.
5481
5482 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5485
5486 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 Better support Apple Intel Macs on CD.
5489
5490 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Replace stpcpy with grub_stpcpy in tools.
5493
5494 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 Handle Japanese special keys.
5497 Reported by: Hiroyuki YAMAMORI.
5498 Codes supplied by: Hiroyuki YAMAMORI.
5499
5500 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * util/grub-mkimage.c: Document memdisk implying --prefix.
5503
5504 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5507 much we can do about it anyway.
5508
5509 2013-04-12 Aleš Nesrsta <starous@volny.cz>
5510
5511 Fix handling of split transfers.
5512
5513 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/net/http.c: Fix bad free.
5516
5517 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5520 than buffer size.
5521
5522 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5525
5526 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * tests/util/grub-shell.in: Fix it on powerpc.
5529
5530 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 Turn off QEMU ACPI-way since new releases don't have shutdown port
5533 anymore.
5534
5535 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * docs/grub.texi: Update coreboot status info.
5538
5539 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * tests/grub_cmd_date.in: New test for datetime.
5542
5543 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * tests/partmap_test.in: Fix missing qemudisk setting.
5546
5547 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Support i386-ieee1275 grub-mkrescue and make check on it.
5550
5551 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5554 feature for it.
5555
5556 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5559 GRUB_CMDLINE_XEN_DEFAULT.
5560 Reported by: Marc Warne (GigaTux) <gigatux>
5561
5562 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 Import new gnulib.
5565
5566 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 Use ACPI shutdown intests as traditional port was removed.
5569
5570 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5571
5572 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5573 distinction.
5574
5575 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5578 Fix few warining messages and leaks while on it.
5579
5580 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5581
5582 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5583 links under grub-core/lib/libgcrypt-grub/mpi.
5584
5585 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 Fix ia64-efi image generation on big-endian machines. Deduplicate
5588 some code while on it.
5589 Reported by: Leif Lindholm.
5590
5591 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5592
5593 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5594 as extra_dist.
5595
5596 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5597
5598 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5599
5600 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5601
5602 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5603 texinfo-5.1.
5604
5605 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/normal/term.c: Few more fixes for menu entry editor
5608 rendering.
5609 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5610
5611 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/normal/term.c: Few more fixes for menu entry editor
5614 rendering.
5615 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5616
5617 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5618
5619 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5620 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5621
5622 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5623
5624 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5625 instead of hardcoding grub.mo.
5626
5627 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5628
5629 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5630
5631 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5634 grub-core/disk/geli.c.
5635
5636 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * util/grub-mkfont.c: Prefer enum to #define.
5639
5640 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5643
5644 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5647
5648 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5651
5652 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5655
5656 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * include/grub/bsdlabel.h: Use enums.
5659
5660 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Move GRUB_CHAR_BIT to types.h.
5663
5664 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5665
5666 * docs/grub.texi: Document more user commands.
5667
5668 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5669
5670 * docs/grub.texi: Document menuentry --id option.
5671
5672 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5673
5674 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5675
5676 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 Unify file copying setup across different install scripts. Add
5679 options for performing partial install.
5680
5681 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5682 2013-04-04 Peter Jones <pjones@redhat.com>
5683
5684 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5685
5686 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Use TSC as a possible time source on i386-ieee1275.
5689
5690 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5693 Init err.
5694
5695 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * util/grub-setup.c (setup): Handle some corner cases.
5698
5699 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5702
5703 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * grub-core/commands/verify.c: Save verified file to avoid it being
5706 tampered with after verification was done.
5707
5708 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5711 reported width by one to compensate for curesor algorithm problem.
5712
5713 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 Fix screen corruption in menu entry editor and simplify the code
5716 flow while on it.
5717
5718 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5719
5720 * util/grub-mount.c (fuse_init): Return error if fuse_main
5721 failed.
5722
5723 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5724
5725 * include/grub/elf.h: Add missing ARM relocation codes and fix
5726 existing ones.
5727
5728 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5729
5730 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5731
5732 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5733 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5736 into account when calculating radius.
5737
5738 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5739
5740 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5741
5742 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5743
5744 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5745
5746 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5747
5748 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5749 missing closing bracket.
5750
5751 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5752
5753 * INSTALL: Mention xorriso requirement.
5754
5755 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5756
5757 * grub-core/commands/verify.c: Fix hash algorithms values for
5758 the first three hashes - they start with 1, not with 0.
5759
5760 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5763 Try terminating EFI services several times due to quirks in some
5764 implementations.
5765
5766 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
5767
5768 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5769 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5770 BankField extended opcodes.
5771 (get_sleep_type): Add minimal scope handling (just enough to
5772 handle setting the scope to the root path).
5773 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5774 * include/grub/acpi.h: Add enumeration values for Event, Device,
5775 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5776
5777 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5778
5779 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5780 memory leak.
5781
5782 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/disk/ahci.c: Give more time for AHCI request.
5785
5786 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5789 command.
5790
5791 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 Replace the region at 0 from coreboot tables to available in BSD
5794 memory map.
5795
5796 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5799 non-BIOS platforms.
5800
5801 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5804 platforms.
5805
5806 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5809 handling of multi-device filesystems.
5810
5811 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5814 platforms.
5815
5816 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 Add new 'proc' filesystem framework and put luks_script into it.
5819
5820 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5823 and qemu.
5824
5825 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5828
5829 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Add ability to generate newc additions on runtime.
5832
5833 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5836 description.
5837
5838 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * po/POTFILES.in: Regenerate.
5841
5842 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/commands/verify.c (hashes): Add several hashes
5845 from the spec.
5846
5847 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Slight improve in USB-related boot-time checkpoints.
5850
5851 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/commands/boottime.c: Fix copyright header.
5854
5855 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5858 coreboot tables content. Support for cbmemc.
5859
5860 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 Fix a conflict between ports structures with 2 controllers of
5863 same kind.
5864
5865 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * include/grub/boottime.h: Add missing file.
5868
5869 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Initialize USB ports in parallel to speed-up boot.
5872
5873 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 Fix USB devices not being detected when requested
5876 due to delayed attach.
5877
5878 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 Implement boot time analysis framework.
5881
5882 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 Remove get_endpoint_descriptor and change all functions needing
5885 descriptor to just receive it as argument rather than endpoint
5886 address.
5887
5888 2013-03-19 Aleš Nesrsta <starous@volny.cz>
5889
5890 Better estimate the maximum USB transfer size.
5891
5892 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 Resend a packet if we got the wrong buffer in status.
5895
5896 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5899 multiplication rather than division.
5900
5901 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5904 than divisions.
5905
5906 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5909 operations to have intended shifts and not divisions.
5910
5911 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5914 intended shifts rather than division.
5915
5916 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5919 computation for some years before epoch. Avode confusing division
5920 while on it.
5921
5922 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/video/i386/pc/vbe.c
5925 (grub_video_vbe_print_adapter_specific_info): Replace division by
5926 shifts.
5927
5928 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Adjust types in gdb module to have intended unsigned shifts rather than
5931 signed divisions.
5932
5933 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5936 maximum size is 4G - 1 on hfs
5937
5938 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5941
5942 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5945 function.
5946
5947 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5948
5949 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5950 causing gcc error with gcc 4.7.1.
5951
5952 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5953
5954 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5955 dereference null pointer. While the code is technically correct, gcc
5956 may eliminate a null check if pointer is already dereferenced.
5957
5958 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5959
5960 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5961 OOM check.
5962 * grub-core/normal/term.c (read_terminal_list): Likewise.
5963
5964 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Lift up core size limits on some platforms. Fix potential memory
5967 corruption with big core on small memory systems. Document remaining
5968 limits.
5969
5970 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5973 gotoxy to 0,0.
5974
5975 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 Remove all trampoline support. Add -Wtrampolines when
5978 present. Remove symbols used for trampolines to make
5979 link fail if trampolines are present.
5980
5981 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5984 append out of its parent.
5985
5986 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5989 parent.
5990
5991 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5994 all vars to a macro. All users updated.
5995
5996 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5999 i386-ieee1275.
6000
6001 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6004
6005 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6008
6009 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Move to more hookless approach in IEEE1275 devices handling.
6012
6013 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/kern/term.c (grub_term_normal_color),
6016 (grub_term_highlight_color): Add back lost defaults.
6017
6018 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 Make elfload not use hooks. Opt for flags and iterators instead.
6021
6022 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6025 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6026
6027 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6030
6031 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6034 hook pass-through parameter. All users updated and unnested.
6035
6036 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6039 out of its parent.
6040
6041 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/fs/hfs.c: Remove nested functions.
6044
6045 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6048 the context through.
6049 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6050
6051 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * util/grub-editenv.c (list_variables): Move print_var out of its
6054 parent.
6055
6056 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6059 function.
6060
6061 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/gentrigtables.c: Make tables const.
6064
6065 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Remove nested functions from videoinfo iterators.
6068
6069 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6072 for 64-bit platforms.
6073
6074 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6077 a FOR_CHILDREN macro.
6078
6079 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6082 platform from firmware path.
6083
6084 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 Enable linux16 on non-BIOS systems for i.a. memtest.
6087
6088 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6089 correctly.
6090 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6091
6092 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6095 Fix end of table condition.
6096
6097 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6100 out of its parent.
6101
6102 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/fs/jfs.c: Remove nested functions.
6105
6106 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/fs/minix.c: Remove nested functions.
6109
6110 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/fs/iso9660.c: Remove nested functions.
6113
6114 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6117 of parent function.
6118
6119 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * util/grub-fstest.c: Remove nested functions.
6122
6123 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/loader/machoXX.c: Remove nested functions.
6126
6127 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
6128
6129 Remove nested functions from disk and file read hooks.
6130
6131 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6132 (struct grub_disk): Add read_hook_data member.
6133 * include/grub/file.h (struct grub_file): Likewise.
6134 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6135 argument.
6136
6137 Update all callers.
6138
6139 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6140
6141 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6142 Fix off by one error in enumerating extended partitions.
6143
6144 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6145
6146 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6147 memory leak if device name is not found.
6148
6149 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6150
6151 * grub-core/normal/menu_entry.c (update_screen): remove
6152 unused variable `off' which caused scroll down arrow to be always shown.
6153
6154 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6155
6156 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6157 access to unallocated memory.
6158
6159 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6160
6161 * Makefile.util.def: Add partmap/msdos.c to common library.
6162 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6163 * grub-core/disk/ldm.c: Check for existence of
6164 GRUB_PC_PARTITION_TYPE_LDM.
6165
6166 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6169 sizes and display sector size.
6170
6171 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Implement new command cmosdump.
6174
6175 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6176
6177 Support Openfirmware disks with non-512B sectors.
6178
6179 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6180 size of the disk.
6181 * (grub_ofdisk_get_block_size): New function.
6182 * (grub_ofdisk_prepare): Use the correct block size.
6183 * (grub_ofdisk_read): Likewise.
6184 * (grub_ofdisk_write): Likewise.
6185 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6186 New proto.
6187
6188 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6191
6192 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6195 on first error.
6196
6197 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6200 freeing it.
6201
6202 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 Implement USBDebug (full USB stack variant).
6205
6206 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6209 unless they have unexpected values.
6210
6211 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6214 grub_print_error.
6215
6216 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6219 zero-out of port structure.
6220
6221 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6224 of extended attributes.
6225
6226 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6227
6228 * util/grub-install.in: change misleading comment about
6229 device.map creation
6230
6231 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6234 when menu highlight color isn't set.
6235
6236 2013-01-27 C. Masloch <pushbx@38.de>
6237
6238 Improve FreeDOS direct loading support compatibility.
6239
6240 * include/grub/i386/relocator.h (grub_relocator16_state):
6241 New member ebp.
6242 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6243 variable.
6244 (grub_relocator16_boot): Handle %ebp.
6245 * grub-core/lib/i386/relocator16.S: Likewise.
6246 * grub-core/loader/i386/pc/freedos.c:
6247 Load BPB to pass kernel which partition to load from.
6248 Check that kernel file is not too large.
6249 Set register dl to BIOS unit number as well.
6250
6251 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * util/grub-reboot.in (usage): Document the need for
6254 GRUB_DEFAULT=saved.
6255 * util/grub-set-default.in (usage): Likewise.
6256 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6257
6258 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6261 than defining WORDS_BIGENDIAN manually.
6262
6263 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6266 invariants.
6267
6268 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6269
6270 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6271 nested.
6272 (blit_comb: add_device_width): Likewise.
6273
6274 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6275
6276 Remove nested functions from USB iterators.
6277
6278 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6279 (grub_usb_controller_iterate_hook_t): Likewise.
6280 (grub_usb_iterate): Add hook_data argument.
6281 (grub_usb_controller_iterate): Likewise.
6282 (struct grub_usb_controller_dev.iterate): Likewise.
6283
6284 Update all implementations and callers.
6285
6286 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6289 margin when not needed.
6290
6291 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 Make color variables global instead of it being per-terminal.
6294
6295 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6298 asterisk.
6299
6300 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6301
6302 Fix powerpc and sparc64 build failures caused by un-nesting memory
6303 map iterators.
6304
6305 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6306
6307 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6308 parameter declarations.
6309
6310 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6313
6314 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Improve spkmomdem reliability by adding a separator between bytes.
6317
6318 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6319
6320 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6321 an Acer registration utility with several sightings in the wild.
6322 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6323
6324 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6325
6326 Remove nested functions from filesystem directory iterators.
6327
6328 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6329 (struct grub_fs.dir): Add hook_data argument.
6330
6331 Update all implementations and callers.
6332
6333 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
6334
6335 * docs/grub.texi (Multi-boot manual config): Fix typo for
6336 "recommended".
6337
6338 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6339
6340 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6341 until after its use in generate_image.
6342
6343 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6344
6345 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6346 initrd size to addr_min, since the initrd will be allocated after
6347 this address.
6348
6349 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6350
6351 * conf/Makefile.common: Fix autogen rules to pass definition
6352 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6353
6354 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6355
6356 * include/grub/elf.h: Update ARM definitions based on binutils.
6357
6358 2013-01-20 Aleš Nesrsta <starous@volny.cz>
6359
6360 Split long USB transfers into short ones.
6361
6362 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6363
6364 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6365 is interrupted by ESC.
6366
6367 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * util/grub-script-check.c (main): Uniform the error message.
6370
6371 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6372
6373 Remove nested functions from ELF iterators.
6374
6375 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6376
6377 Remove nested functions from device iterators.
6378
6379 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6380 (grub_arc_iterate_devs): Add hook_data argument.
6381 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6382 (struct grub_ata_dev.iterate): Add hook_data argument.
6383 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6384 (grub_device_iterate): Add hook_data argument.
6385 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6386 (struct grub_disk_dev.iterate): Add hook_data argument.
6387 (grub_disk_dev_iterate): Likewise.
6388 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6389 Likewise.
6390 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6391 Likewise.
6392 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6393 type.
6394 (struct grub_partition_map.iterate): Add hook_data argument.
6395 (grub_partition_iterate): Likewise.
6396 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6397 (struct grub_scsi_dev.iterate): Add hook_data argument.
6398
6399 Update all callers.
6400
6401 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
6402
6403 Fix typos for "developer" and "development".
6404
6405 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 Add license header to spkmodem-recv.c.
6408
6409 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 Rewrite spkmodem to use PIT for timing. Double the speed.
6412
6413 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 Add new command pcidump.
6416
6417 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 New terminal outputs using serial: morse and spkmodem.
6420
6421 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 Improve bidi handling in entry editor.
6424
6425 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6428 argument to prevent name collision.
6429
6430 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
6431
6432 Remove nested functions from script reading and parsing.
6433
6434 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6435 getline_data argument, passed to getline.
6436 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6437 getline_data argument, passed to grub_parser_split_cmdline.
6438 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6439 lexerstate->getline_data to lexerstate->getline.
6440 (grub_script_lexer_init): Add getline_data argument, saved in
6441 lexerstate->getline_data.
6442 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6443 argument, passed to grub_script_parse.
6444 * grub-core/script/script.c (grub_script_parse): Add getline_data
6445 argument, passed to grub_script_lexer_init.
6446 * include/grub/parser.h (grub_parser_split_cmdline): Update
6447 prototype. Update all callers to pass appropriate getline data.
6448 (struct grub_parser.parse_line): Likewise.
6449 (grub_rescue_parse_line): Likewise.
6450 * include/grub/reader.h (grub_reader_getline_t): Add void *
6451 argument.
6452 * include/grub/script_sh.h (struct grub_lexer_param): Add
6453 getline_data member.
6454 (grub_script_parse): Update prototype. Update all callers to pass
6455 appropriate getline data.
6456 (grub_script_lexer_init): Likewise.
6457 (grub_normal_parse_line): Likewise.
6458
6459 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6460 data argument.
6461 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6462 static instead of nested. Rename to ...
6463 (grub_parser_execute_getline): ... this.
6464 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6465 data argument.
6466 * grub-core/normal/main.c (read_config_file: getline): Make static
6467 instead of nested. Rename to ...
6468 (read_config_file_getline): ... this.
6469 (grub_normal_read_line): Add unused data argument.
6470 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6471 getline): Make static instead of nested. Rename to ...
6472 (grub_script_execute_sourcecode_getline): ... this.
6473 * util/grub-script-check.c (main: get_config_line): Make static
6474 instead of nested.
6475
6476 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
6477
6478 Remove nested functions from memory map iterators.
6479
6480 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6481 argument, passed to hook.
6482 * grub-core/kern/i386/coreboot/mmap.c
6483 (grub_linuxbios_table_iterate): Likewise.
6484 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6485 instead of nested.
6486 (grub_machine_mmap_iterate): Add hook_data argument.
6487 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6488 Add hook_data argument, passed to hook.
6489 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6490 Likewise.
6491 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6492 Likewise.
6493 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6494 Likewise.
6495 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6496 Likewise.
6497 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6498 Likewise.
6499 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6500 Likewise.
6501 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6502 (grub_machine_mmap_iterate): Likewise.
6503 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6504 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6505 prototype.
6506 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6507 Remove NESTED_FUNC_ATTR from here and from all users.
6508 (grub_mmap_iterate): Update prototype.
6509 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6510 pass appropriate hook data.
6511 (grub_machine_mmap_iterate): Likewise.
6512
6513 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6514 static instead of nested.
6515 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6516 Rename to ...
6517 (lsmmap_hook): ... this.
6518 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6519 Likewise.
6520 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6521 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6522 heap_init): Likewise.
6523 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6524 Rename to ...
6525 (mmap_iterate_hook): ... this.
6526 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6527 Likewise.
6528 * grub-core/lib/ieee1275/relocator.c
6529 (grub_relocator_firmware_get_max_events: count): Likewise.
6530 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6531 to ...
6532 (grub_relocator_firmware_fill_events_iter): ... this.
6533 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6534 hook): Likewise. Rename to ...
6535 (grub_relocator_alloc_chunk_align_iter): ... this.
6536 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6537 Rename to ...
6538 (generate_e820_mmap_iter): ... this.
6539 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6540 Rename to ...
6541 (count_hook): ... this.
6542 (grub_linux_boot: hook): Likewise. Rename to ...
6543 (grub_linux_boot_mmap_find): ... this.
6544 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6545 (grub_linux_boot_mmap_fill): ... this.
6546 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6547 hook): Likewise. Rename to ...
6548 (grub_fill_multiboot_mmap_iter): ... this.
6549 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6550 hook): Likewise. Rename to ...
6551 (count_hook): ... this.
6552 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6553 hook): Likewise. Rename to ...
6554 (grub_fill_multiboot_mmap_iter): ... this.
6555 * grub-core/loader/powerpc/ieee1275/linux.c
6556 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6557 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6558 Likewise. Rename to ...
6559 (alloc_phys_choose): ... this.
6560 (determine_phys_base: get_physbase): Likewise.
6561 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6562 find_hook): Likewise.
6563 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6564 (malloc_hook: count_hook): Likewise.
6565 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6566 Likewise. Rename to ...
6567 (lower_hook): ... this.
6568 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6569 (upper_hook): ... this.
6570 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6571 (post64_hook): ... this.
6572 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6573 Likewise. Rename to ...
6574 (lower_hook): ... this.
6575 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6576 (upper_hook): ... this.
6577 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6578 (grub_mmap_iterate: fill_hook): Likewise.
6579 (fill_mask): Pass addr and mask within a single struct.
6580 (grub_cmd_badram: hook): Make static instead of nested. Rename
6581 to ...
6582 (badram_iter): ... this.
6583 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6584 (cutmem_iter): ... this.
6585
6586 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6589 delimit path in strings using quotes.
6590 * util/getroot.c (grub_guess_root_devices): Likewise.
6591 (grub_make_system_path_relative_to_its_root): Likewise.
6592 * util/grub-probe.c (probe): Likewise.
6593 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6594 (xrealpath): Likewise.
6595
6596 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 Fix compilation with older compilers.
6599
6600 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6601 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6602 declarations.
6603 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6604 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6605 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6606 identifier with b.
6607 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6608 * include/grub/crypto.h: Add type defines.
6609 * util/import_gcrypth.sed: Remove duplicate type defines.
6610
6611 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 New command list_trusted.
6614
6615 * grub-core/commands/verify.c (grub_cmd_list): New function.
6616
6617 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6618
6619 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6620 info message.
6621
6622 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6623
6624 Remove nested functions from PCI iterators.
6625
6626 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6627 passed to hook. Update all callers to pass appropriate hook data.
6628 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6629 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6630 Remove NESTED_FUNC_ATTR from here and from all users.
6631 (grub_pci_iterate): Update prototype.
6632 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6633 instead of nested. Rename to ...
6634 (grub_cs5536_find_iter): ... this.
6635 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6636 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6637 Likewise.
6638 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6639 Likewise.
6640 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6641 Likewise.
6642 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6643 Likewise.
6644 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6645 * grub-core/video/radeon_fuloong2e.c
6646 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6647 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6648 find_card): Likewise.
6649 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6650 Likewise.
6651
6652 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/commands/verify.c: Mark messages for translating.
6655
6656 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6659 fatal.
6660
6661 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6664 fatal.
6665
6666 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * autogen.sh: Do not try to delete nonexistant files.
6669 * util/import_gcrypth.sed: Add some missing header removals.
6670
6671 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
6672
6673 Clean up dangling references to grub-setup.
6674 Fixes Ubuntu bug #1082045.
6675
6676 * docs/grub.texi (Images): Refer generally to grub-install rather
6677 than directly to grub-setup.
6678 (Installing GRUB using grub-install): Remove direct reference to
6679 grub-setup.
6680 (Device map) Likewise.
6681 (Invoking grub-install): Likewise.
6682 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6683 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6684 * util/grub-install.in (usage): Likewise.
6685
6686 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6687 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6688 grub-setup.
6689 * configure.ac: Remove grub_setup output variable.
6690
6691 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6692 to grub-bios-setup.
6693 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6694 grub-setup to grub-sparc64-setup.
6695
6696 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Import gcrypt public-key cryptography and implement signature checking.
6699
6700 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/fs/ntfs.c: Ue more appropriate types.
6703 * grub-core/fs/ntfscomp.c: Likewise.
6704 * include/grub/ntfs.h: Likewise.
6705
6706 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 Support Apple FAT binaries on non-Apple platforms.
6709
6710 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6711 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6712 Likewise.
6713 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6714 Apple FAT binaries.
6715
6716 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6719 sector devices.
6720
6721 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6722
6723 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6724 explicitly zeroing elements.
6725 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6726 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6727 of elements in a structure already allocated using grub_zalloc.
6728 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6729
6730 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6731
6732 * docs/grub.texi (grub_cpu): New subsection.
6733 (grub_platform): Likewise.
6734
6735 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6738
6739 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6742 divisions.
6743
6744 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6747 * grub-core/fs/ntfscomp.c: Likewise.
6748 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6749 (grub_ntfs_comp): Likewise.
6750
6751 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6754 Rename to ...
6755 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6756 of groups_per_block. All users updated.
6757
6758 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6761 grub_error properly.
6762 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6763 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6764
6765 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6768 always in /boot/zfs.
6769 Reported by: Yuta Satoh.
6770
6771 2013-01-03 Yuta Satoh <nigoro>
6772
6773 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6774 ${grub_probe}
6775
6776 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * configure.ac: Extend -Wno-trampolines to host.
6779
6780 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6783 entry->len = 0.
6784
6785 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6786
6787 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6788 (Invoking grub-script-check): Likewise.
6789
6790 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6791
6792 * docs/grub.texi (Invoking grub-mount): New section.
6793 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6794
6795 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6796
6797 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6798 test failures, so that a failing unit test correctly causes 'make
6799 check' to fail.
6800
6801 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6802
6803 Fix failing printf test.
6804
6805 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6806 '$' in the correct order when collecting type information.
6807
6808 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6809
6810 * docs/grub.texi (configfile): Explain environment variable
6811 handling.
6812 (source): New section.
6813 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6814
6815 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
6816
6817 Remove several trivially-unnecessary uses of nested functions.
6818
6819 * grub-core/commands/i386/pc/sendkey.c
6820 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6821 instead of nested.
6822 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6823 Rename to ...
6824 (legacy_file_getline): ... this.
6825 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6826 Likewise.
6827 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6828 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6829 to ...
6830 (probe_dummy_iter): ... this.
6831 * grub-core/kern/i386/coreboot/mmap.c
6832 (grub_linuxbios_table_iterate: check_signature): Likewise.
6833 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6834 check_varstate): Likewise. Mark inline.
6835 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6836 an additional parameter.
6837 (find_long: fnd_long): Likewise. Pass two additional parameters.
6838 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6839 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6840 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6841 Likewise. Rename to ...
6842 (grub_cmos_find_port_iter): ... this.
6843 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6844 Rename to ...
6845 (find_rtc_iter): ... this.
6846
6847 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6848 function directly into the function body, since it is only called
6849 once.
6850
6851 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
6852
6853 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6854 __attribute__ ((unused)).
6855 * grub-core/video/bochs.c (find_card): Likewise.
6856 * grub-core/video/cirrus.c (find_card): Likewise.
6857 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6858 * grub-core/video/sis315pro.c (find_card): Likewise.
6859 * grub-core/video/sm712.c (find_card): Likewise.
6860
6861 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6862
6863 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6864 Fixes Savannah bug #37821.
6865
6866 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6867
6868 Apply program name transformations at build-time rather than at
6869 run-time. Fixes Debian bug #696465.
6870
6871 * acinclude.m4 (grub_TRANSFORM): New macro.
6872 * configure.ac: Create output variables with transformed names for
6873 most programs.
6874 * util/bash-completion.d/grub-completion.bash.in: Use
6875 pre-transformed variables for program names.
6876 * util/grub-install.in: Likewise.
6877 * util/grub-kbdcomp.in: Likewise.
6878 * util/grub-mkconfig.in: Likewise.
6879 * util/grub-mkconfig_lib.in: Likewise.
6880 * util/grub-mknetdir.in: Likewise.
6881 * util/grub-mkrescue.in: Likewise.
6882 * util/grub-mkstandalone.in: Likewise.
6883 * util/grub-reboot.in: Likewise.
6884 * util/grub-set-default.in: Likewise.
6885 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6886 * tests/util/grub-shell-tester.in: Remove unused assignment.
6887 * tests/util/grub-shell.in: Likewise.
6888 * util/grub.d/00_header.in: Likewise.
6889
6890 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6891
6892 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6893
6894 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6895 HAVE_RAW_DECL_GETS.
6896 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6897
6898 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6901 Reported by: Eriks Latosheks <foresterlv>.
6902
6903 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * docs/grub.texi (Network): Update instructions on generating netboot
6906 image.
6907
6908 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6911 around device name if necessarry.
6912
6913 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6914
6915 * util/grub-install.in: Follow the symbolic link parameter added
6916 to the file command.
6917
6918 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6919
6920 * util/grub-install.in: Remove stale TODO.
6921
6922 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6923
6924 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6925 dynamic allocation for the bootpath buffer.
6926
6927 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6928
6929 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6930 window too small.
6931
6932 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6935 argument rather than font name. All users updated.
6936 (grub_gfxterm_set_window): Likewise.
6937
6938 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6939
6940 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6941 from working.
6942
6943 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * util/getroot.c (convert_system_partition_to_system_disk): Support
6946 nbd disks.
6947
6948 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6951 infinite loop on corrupted FS.
6952
6953 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 Fix big-endian mtime.
6956
6957 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6958 together sec and usec.
6959 (grub_ufs_dir): Use correct byteswapping for UFS time.
6960
6961 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 Support big-endian UFS1.
6964
6965 * Makefile.util.def (libgrubmods): Add ufs_be.c
6966 * grub-core/Makefile.core.def (ufs1_be): New module.
6967 * grub-core/fs/ufs_be.c: New file.
6968 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6969 the file.
6970
6971 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6972
6973 * include/grub/types.h: Fix functionality unaffecting typo in
6974 GRUB_TARGET_WORDSIZE conditional macro.
6975
6976 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6977
6978 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6979
6980 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6981
6982 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6983 that /netbsd appears first (when it exists).
6984
6985 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
6986
6987 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6988 Fixes Savannah bug #37558.
6989
6990 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
6991
6992 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6993 description of extract_entries_configfile.
6994
6995 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
6996
6997 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6998 preferred_address.
6999 (grub_cmd_linux): Likewise.
7000 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7001 preferred_lifetime. Update all users.
7002
7003 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7006 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7007
7008 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
7009
7010 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7011 errors from grub-probe to /dev/null, not stdout.
7012
7013 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7016 sector 1.
7017
7018 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
7019
7020 * util/grub-install.in: Make the error message if $source_dir
7021 doesn't exist more useful.
7022
7023 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
7024
7025 Fix grub-emu build on FreeBSD.
7026
7027 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7028 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7029 headers on Linux.
7030 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7031 implementation is currently Linux-specific.
7032 * util/getroot.c (exec_pipe): Define only on Linux or when either
7033 libzfs or libnvpair is unavailable.
7034 (find_root_devices_from_poolname): Remove unused path variable.
7035
7036 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
7037
7038 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7039 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7040 should fit before end == 63.
7041
7042 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
7043
7044 * util/grub-setup.c (write_rootdev): Remove unused core_img
7045 parameter. Update all callers.
7046 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7047 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7048 GRUB_SETUP_BIOS.
7049
7050 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7053 (grub_add_tab): New function.
7054 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7055 * util/grub.d/10_illumos.in: Likewise.
7056 * util/grub.d/10_kfreebsd.in: Likewise.
7057 * util/grub.d/10_linux.in: Likewise.
7058 * util/grub.d/10_netbsd.in: Likewise.
7059 * util/grub.d/10_windows.in: Likewise.
7060 * util/grub.d/10_xnu.in: Likewise.
7061 * util/grub.d/20_linux_xen.in: Likewise.
7062 * util/grub.d/30_os-prober.in: Likewise.
7063
7064 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7067 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7068 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7069 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7070 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7071 ieee1275-nocursor.
7072 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7073 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7074
7075 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7078 le-conversion.
7079 Reported by: BURETTE, Bernard.
7080
7081 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
7082
7083 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7084 from comment.
7085
7086 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
7087
7088 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7089 IEEE1275 machines. Fixes powerpc-emu compilation.
7090 * include/grub/terminfo.h: Likewise.
7091
7092 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7095 a const pointer.
7096 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7097 const pointer.
7098 (efiemu_set_variable): Make vendor_guid a const pointer.
7099
7100 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Don't require grub-mkconfig_lib to generate manpages for programs.
7103
7104 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7105 dependencies, don't add grub-mkconfig_lib.
7106 (program): Pass empty adddeps.
7107 (script): Pass grub-mkconfig_lib as adddeps.
7108
7109 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7112 * util/getroot.c (grub_find_device): Likewise.
7113 (get_mdadm_uuid): Likewise.
7114 (grub_util_is_imsm): Likewise.
7115 (grub_util_pull_device): Likewise.
7116 * util/grub-probe.c (probe): Likewise.
7117
7118 2012-09-10 Benoit Gschwind <gschwind>
7119
7120 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7121 (devs): Add devpath_8.
7122
7123 2012-09-08 Peter Jones <pjones@redhat.com>
7124
7125 * grub-core/Makefile.core.def (efifwsetup): New module.
7126 * grub-core/commands/efi/efifwsetup.c: New file.
7127 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7128 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7129 New define.
7130 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7131
7132 2012-09-05 Jiri Slaby <jslaby@suse.cz>
7133
7134 * configure.ac: Add SuSe path.
7135
7136 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
7137
7138 * NEWS: Fix typo.
7139
7140 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
7141
7142 * util/import_gcry.py: Sort cipher_files, to make build system
7143 generation more deterministic.
7144
7145 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7148 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7149 (grub_set_datetime): Likewise.
7150
7151 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7154 warnings.
7155
7156 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7159
7160 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7163
7164 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7165
7166 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7167 required for checkouts from bzr, but it may be useful for users or
7168 distributors wishing to update translations against a tarball
7169 distribution, and it can be helpful for the tarball to be a superset
7170 of what's in bzr.
7171
7172 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7173
7174 * Makefile.am (EXTRA_DIST): Add
7175 grub-core/tests/boot/linux.init-mips.S,
7176 grub-core/tests/boot/linux.init-ppc.S, and
7177 grub-core/tests/boot/linux-ppc.cfg.
7178
7179 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7180
7181 * grub-core/mmap/mips/loongson: Remove empty directory.
7182
7183 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7184
7185 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7186 gone.
7187
7188 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7189
7190 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7191 grub-sparc64-setup.
7192
7193 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7194
7195 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7196
7197 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7198
7199 * po/POTFILES.in: Regenerated.
7200
7201 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7202
7203 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7204 (NetBSD): New subsection.
7205
7206 2012-07-22 Ales Nesrsta <starous@volny.cz>
7207
7208 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7209 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7210
7211 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7214 * util/grub.d/10_hurd.in: Add missing quoting.
7215 * util/grub.d/10_illumos.in: Likewise.
7216 * util/grub.d/10_kfreebsd.in: Likewise.
7217 * util/grub.d/10_linux.in: Likewise.
7218 * util/grub.d/20_linux_xen.in: Likewise.
7219
7220 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 New command `lsefi'.
7223
7224 * grub-core/Makefile.core.def (lsefi): New module.
7225 * grub-core/commands/efi/lsefi.c: New file.
7226 * include/grub/efi/api.h: Add more GUIDs.
7227
7228 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7231 (grub_bsd_elf32_hook): Likewise.
7232 (grub_bsd_elf64_size_hook): Likewise.
7233 (grub_bsd_elf64_hook): Likewise.
7234 (grub_bsd_load_elf): Likewise.
7235
7236 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7239 if hash function is unavailable.
7240 (dec_stream_header): Likewise.
7241
7242 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7245 filter state.
7246
7247 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 Fix coreboot compilation.
7250
7251 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7252 (grub_vga_text_init_real): ... this.
7253 (grub_vga_text_fini): Rename to ...
7254 (grub_vga_text_fini_real): ... this.
7255
7256 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7259
7260 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/lib/legacy_parse.c: Support clear and testload.
7263
7264 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7267
7268 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7271
7272 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/net/tftp.c (ack): Fix endianness problem.
7275 (tftp_receive): Likewise.
7276 Reported by: Michael Davidsaver.
7277
7278 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7281
7282 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7285 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7286 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7287
7288 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7291 efi_mmap_size.
7292 Reported by: Stuart Hayes.
7293
7294 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7297
7298 * grub-core/Makefile.core.def (mda_text): New module.
7299 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7300 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7301 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7302 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7303 here.
7304 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7305 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7306 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7307 here.
7308 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7309 to ..
7310 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7311 ... here
7312 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7313 here.
7314 * grub-core/term/i386/vga_common.c: Removed.
7315 * include/grub/i386/vga_common.h: Likewise.
7316 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7317 (grub_vga_cr_bw_read): Likewise.
7318 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7319 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7320 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7321 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7322 grub_vga_cr_read/grub_vga_cr_write.
7323 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7324
7325 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * configure.ac: Bump version to 2.00.
7328 * grub-core/normal/main.c (features): Add feature_200_final.
7329
7330 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7331 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7332
7333 * NEWS: Fix unclarity and language mistakes.
7334
7335 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7338 additional size to 3 pages.
7339 Reported by: Stuart Hayes.
7340
7341 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * NEWS: Add 2.00 entry.
7344
7345 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7348 put explicit "/" for empty path.
7349 (wildcard_expand): Improve dprintf.
7350
7351 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7354 it's equal to currnode. This can happen with "" symlink.
7355
7356 2012-06-27 Yves Blusseau <blusseau@zetam.org>
7357
7358 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7359 echo shell command by printf command.
7360
7361 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7364 the value returned by firmware is the maximal position, not diumension.
7365 (grub_terminfo_output_state): Use a more sane fallback.
7366
7367 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7370
7371 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7374 frequency to 150 MHz.
7375
7376 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 Apple fixes.
7379
7380 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7381 __APPLE_
7382 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7383 definition.
7384 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7385
7386 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 Handle slash in HFS label.
7389
7390 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7391 (grub_hfs_dir): Tanslate slash.
7392 (grub_hfs_label): Don't translate slash.
7393
7394 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7397 network protocol listing since it introduces problematic dependency on
7398 net module.
7399
7400 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7403
7404 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 Init video early on yeeloong to avoid being rebooted by watchdog.
7407
7408 * grub-core/Makefile.am (gensm712): New target.
7409 (sm712_start.S): Likewise.
7410 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7411 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7412 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7413 description.
7414 * include/grub/vga.h: Move registry definitions to...
7415 * include/grub/vgaregs.h: ... here.
7416
7417 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7420 signedness.
7421
7422 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7425 platforms with firmware disk drivers in the core.
7426
7427 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7430 informative verbose message.
7431 (read_lv): Handle 64-bit segment size.
7432
7433 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7436
7437 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7440 character but still remove trainling spaces.
7441 (grub_fat_label): Ignore archive flag.
7442
7443 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7446 cast between linux_kernel_header and linux_kernel_params.
7447
7448 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7451 type for size.
7452 (grub_raid6_recover_func_t): Likewise.
7453 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7454 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7455
7456 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7459
7460 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7461
7462 Fix overflow.
7463
7464 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7465 [__NetBSD__]: Add explicit cast before bitshift.
7466
7467 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * configure.ac: Bump to 2.00~rc1.
7470
7471 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7474 half of $a0.
7475
7476 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7477 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7478
7479 * docs/grub.texi: Fix search syntax.
7480 (Multi-boot manual config): Put msdos rather than GPT example.
7481 Grammar corrections.
7482
7483 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7486
7487 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7490
7491 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7494 message on double free. Put the value of magic in case of mismatch.
7495
7496 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Speed-up video on yeeloong.
7499
7500 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7501 add cached_ptr.
7502 (grub_video_sm712_video_fini): Unmap cached_ptr.
7503 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7504 (grub_video_sm712_set_active_render_target): Removed.
7505 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7506 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7507 sync caches.
7508
7509 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 Avoid flushing the same line multiple times on loongson.
7512
7513 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7514 Step in 32 bytes and not 1 byte.
7515 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7516 Likewise.
7517
7518 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7521 subvolumes.
7522
7523 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 Implement flow control for http.
7526
7527 * grub-core/net/http.c (parse_line): Handle response 206.
7528 (http_receive): Stall if too many packets are in the queue.
7529 (http_establish): Fix range header.
7530 (http_seek): Fix double free.
7531 (http_close): Likewise.
7532 (http_packets_pulled): New function.
7533 (grub_http_protocol): Set http_seek
7534 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7535 (ack_real): Set window depending on i_stall.
7536 (grub_net_send_tcp_packet): Likewise.
7537 (grub_net_tcp_stall): New function.
7538 (grub_net_tcp_unstall): Likewise.
7539 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7540 (grub_net_tcp_unstall): Likewise.
7541
7542 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7545
7546 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7549
7550 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * tests/util/grub-shell.in: Fix a typo.
7553
7554 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 Implement flow control for tftp.
7557
7558 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7559 packets but stop only if stop condition is satisfied.
7560 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7561 `stall' instead of `eof' as stop condition.
7562 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7563 (http_err): Likewise.
7564 * grub-core/net/tftp.c (ack): Replace the first argument with data
7565 instead of socket.
7566 (tftp_receive): Stall if too many packets are in wait queue.
7567 (tftp_packets_pulled): New function.
7568 (grub_tftp_protocol): Set packets_pulled.
7569 * include/grub/net.h (grub_net_packets): New field count.
7570 (grub_net_put_packet): Increment count.
7571 (grub_net_remove_packet): Likewise.
7572 (grub_net_app_protocol): New field `packets_pulled'.
7573 (grub_net): New field `stall'.
7574
7575 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7578 sync part to handle them.
7579
7580 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7583 * grub-core/net/drivers/ieee1275/ofnet.c
7584 (grub_ieee1275_net_config_real): Likewise.
7585
7586 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7589 the direct route for server/gateway.
7590
7591 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7594 IP address to server name since we may not hame the DNS.
7595
7596 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7599 freeing random buffer on failure.
7600 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7601
7602 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7605
7606 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7609 reserved bytes.
7610 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7611 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7612 Handle malloc error correctly.
7613
7614 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7617 blocks.
7618
7619 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7622 increment.
7623
7624 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7627 none is explicitly specified.
7628
7629 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7632 while reallocating.
7633
7634 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Respect netmask from bootp/dhcp.
7637
7638 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7639 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7640 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7641 into ...
7642 (grub_net_add_ipv4_local): ... this.
7643 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7644 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7645 (grub_net_add_ipv4_local): New proto.
7646
7647 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7650 determining EFI memory map size.
7651
7652 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7655
7656 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7659 when looking for partition separator.
7660
7661 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7664 Escape commas.
7665
7666 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 Restructure FAT driver to avoid hook in label reading as it hits a
7669 GCC bug.
7670
7671 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7672 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7673 (grub_fat_iterate_dir): Split into ...
7674 (grub_fat_iterate_init): ... this, ...
7675 (grub_fat_iterate_fini): ... this, ...
7676 (grub_fat_iterate_dir_next): ... and this. All users updated.
7677
7678 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7681 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7682 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7683 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7684 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7685 New fields last_key and last_key_time.
7686 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7687 extended key-esc into extended key-extended key.
7688
7689 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 Avoid unnecessary memcpy of whole video buffer.
7692
7693 * grub-core/video/fb/video_fb.c (dirty): New struct.
7694 (framebuffer): Add members current_dirty and previous_dirty.
7695 (dirty): New function.
7696 (grub_video_fb_fill_rect): Update dirty.
7697 (common_blitter): Likewise.
7698 (grub_video_fb_scroll): Likewise.
7699 (doublebuf_blit_update_screen): Copy only dirty part.
7700 (doublebuf_pageflipping_update_screen): Likewise.
7701 (grub_video_fb_doublebuf_blit_init): Init dirty.
7702 (doublebuf_pageflipping_init): Likewise.
7703 (grub_video_fb_setup): Likewise.
7704
7705 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7708 poll rate.
7709
7710 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Fix wildcard regexp dot and other special characters handling.
7713 Reported by: Robert Mabee.
7714
7715 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7716 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7717 (split_path): Trigger expansion on '?'.
7718 (unescape): New function.
7719 (wildcard_expand): Unescape parts copied without globbing.
7720 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7721 (grub_script_arglist_to_argv): Don't unescape expansions.
7722
7723 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * include/grub/net.h (grub_net_card): New member txbufsize.
7726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7727 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7728 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7729 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7730 txbufsize.
7731 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7732 compatible property to check for macs. Set
7733 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7734 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7735 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7736 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7737 (send_card_buffer): Use txbuf.
7738 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7739 nested function out of the parent while on it.
7740
7741 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7744 presence check.
7745 (grub_ieee1275_net_config_real): Fix config pointer.
7746
7747 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7750 filename parsing to non-block devices.
7751
7752 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7755
7756 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7759 All users updated.
7760
7761 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7764 UUID search command even if hints probing failed.
7765
7766 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * po/POTFILES.in: Regenerated.
7769
7770 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 Speed-up video on fuloong.
7773
7774 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7775 New function.
7776 (grub_pci_device_unmap_range): Handle non-cached address.
7777 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7778 add direct_ptr.
7779 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7780 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7781 (grub_video_sis315pro_set_active_render_target): Removed.
7782 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7783 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7784 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7785 sync caches.
7786 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7787 New proto.
7788
7789 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * docs/grub.texi (Multi-boot manual config): New section.
7792
7793 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 Avoid slow read-back from VRAM.
7796
7797 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7798 Move from here ...
7799 * grub-core/video/fb/video_fb.c
7800 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7801 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7802 (front_target): Remove front_target. Add pages.
7803 (grub_video_fb_init): Skip setting front_pages.
7804 (grub_video_fb_fini): Likewise.
7805 (doublebuf_blit_update_screen): Use pages.
7806 (grub_video_fb_doublebuf_blit_init): Likewise.
7807 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7808 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7809 (grub_video_fb_setup): Prefer doublebuffing.
7810
7811 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7814 gzio.
7815
7816 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 Add loongson tests.
7819
7820 * tests/util/grub-shell.in: Handle loongson.
7821 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7822 drivers.
7823 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7824 Reboot instead of shutdown if REBOOT is defined.
7825
7826 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7829 sized ports since unlike on real hardware qemu supports only 32-bit
7830 regs.
7831
7832 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7835 * util/grub-mkrescue.in: Handle loongson.
7836
7837 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7840 Set is_part appropriately.
7841 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7842 names. Canonicalize partition without full disk.
7843
7844 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Revert usb-quiesce since it's wrong.
7847
7848 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7849 (grub_ofdisk_init): Don't do quiesce.
7850
7851 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7854 PowerMac workaround to Xserves as well.
7855 Information supplied by: Benjamin Herrenschmidt.
7856
7857 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 Don't assume that beginning address is also the entry point on ppc.
7860
7861 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7862 (grub_linux_boot): Use linux_entry.
7863 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7864 (grub_linux_load64): Likewise.
7865
7866 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7869
7870 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7873 needlessly lose the console.
7874
7875 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7878 space.
7879
7880 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7883 than current grub_get_rtc() not implemented when booted with
7884 coreboot without TSC.
7885
7886 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7887 Add machine/time.h to kernel headers on loongson.
7888 * grub-core/Makefile.core.def (kernel): Remove
7889 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7890 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7891 (grub_get_rtc): Likewise.
7892 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7893 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7894 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7895 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7896 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7897 rather than installing known non-working time source.
7898 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7899 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7900 * include/grub/time.h: Don't include machine/time.h.
7901 * include/grub/efi/time.h: Removed.
7902 * include/grub/i386/efi/time.h: Likewise.
7903 * include/grub/i386/ieee1275/time.h: Likewise.
7904 * include/grub/powerpc/ieee1275/time.h: Likewise.
7905 * include/grub/sparc64/ieee1275/time.h: Likewise.
7906 * include/grub/x86_64/efi/time.h: Likewise.
7907
7908 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 Remove dot on i and j when combining with above diacritics.
7911
7912 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7913 value.
7914 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7915 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7916 with dotless variants when any combining above is present.
7917
7918 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7921 text and not binary.
7922
7923 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 Stop polling as soon as we have the packet we were waiting for.
7926
7927 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7928 All users updated.
7929 * grub-core/net/arp.c (have_pending): New var.
7930 (pending_req): Likewise.
7931 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7932 stop indicator.
7933 (grub_net_arp_receive): Set have_pending.
7934 * grub-core/net/dns.c (recv_data): New field stop.
7935 (recv_hook): Set stop.
7936 (grub_net_dns_lookup): Init stop and use as stop condition.
7937 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7938 condition.
7939 * grub-core/net/net.c (grub_net_poll_cards): New argument
7940 stop_condition. Stop when it goes true.
7941 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7942 indicator.
7943 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7944
7945 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 Keep TX and RX buffers on EFI rather than always allocate new ones.
7948
7949 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7950 card. All users updated.
7951 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7952 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7953 (get_card_packet): Likewise.
7954 (grub_efinet_findcards): Init new fields.
7955
7956 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7959 compilation error on sparc64.
7960
7961 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Use ITC on IA64 rather than broken routine based on daytime.
7964
7965 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7966 ia64.
7967 (grub_get_rtc) [__ia64__]: Likewise.
7968 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7969 (get_itc): New function.
7970 (grub_rtc_get_time_ms): Likewise.
7971 (grub_machine_init): Calibrate ITC.
7972 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7973 Keep only on non-ia64. Don't export since it's broken and used only
7974 if TSC is unavailable.
7975
7976 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7979 even if it's used.
7980 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7981 Skip if parent is unused.
7982
7983 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7986
7987 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 Fix wildcard escaping.
7990
7991 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7992 * grub-core/script/execute.c (wildcard_escape): .. to here.
7993 Don't escape dot.
7994 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7995 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7996 Don't escape dot.
7997 * grub-core/script/execute.c (gettext_append): Always escape.
7998 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7999 * grub-core/script/yylex.l: Don't cut away the escaping.
8000 * tests/grub_script_echo1.in: Add tests with wildcard.
8001
8002 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8005 (ftdi_hw_configure): Likewise.
8006 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8007 define.
8008 (real_config): Handle 1.5 stop bits.
8009 (pl2303_hw_configure): Likewise.
8010
8011 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * Makefile.am: Add ppc linux bootcheck.
8014 * grub-core/tests/boot/linux-ppc.cfg: New file.
8015 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8016
8017 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * tests/grub_script_expansion.in: Skip network protocols.
8020
8021 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8024
8025 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8028 --rom-directory.
8029 Add -graft-points.
8030
8031 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 ESCC serial driver for conducting sautomated tests in qemu.
8034 Not tested on real hardware.
8035
8036 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8037 * grub-core/term/ieee1275/escc.c: New file.
8038 * grub-core/Makefile.core.def (escc): New module.
8039
8040 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8043 invalid on error.
8044 (serial_hw_fetch): Don't read invalid handle.
8045 (serial_hw_put): Don't write into invalid handle.
8046
8047 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Add a 1.5 stop bits value.
8050
8051 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8052 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8053 GRUB_SERIAL_STOP_BITS_1_5.
8054
8055 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8058 value rather than let it uninited.
8059
8060 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/commands/wildcard.c (+check_file): New function.
8063 (wildcard_expand): Don't expand to non-existing files, expand with
8064 suffix and not attempt to expand if not needed.
8065
8066 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8069 out of partitions containing other partitions.
8070
8071 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8074 on some qemu versions with GRUB.
8075
8076 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8077 define.
8078 (grub_openbsd_bootarg_pcibios): New struct.
8079 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8080 Add PCIINFO.
8081
8082 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * tests/util/grub-shell.in: Trim firmware output on EFI.
8085
8086 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8089 and coreboot since it's already in kernel.
8090
8091 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8094 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8095 to here. New return value start. All users updated.
8096 Recursively scan linear mappings.
8097 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8098 proto.
8099 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8100 Use grub_util_get_dm_node_linear_info.
8101 * util/getroot.c (convert_system_partition_to_system_disk): Use
8102 grub_util_info rather than grub_dprintf.
8103 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8104
8105 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8108
8109 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8110 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8111
8112 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * include/grub/types.h (grub_set_unaligned64): New function.
8115 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8116 (setup): Likewise.
8117
8118 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8121 (grub_ofdisk_fini): Quiesce USB devices.
8122
8123 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8126 caches.
8127
8128 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8131
8132 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/disk/pata.c (grub_pata_pio_read)
8135 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8136 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8137
8138 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 Extend automated tests to qemu-mips.
8141
8142 * Makefile.am: reorganise tests and enable qemu-mips.
8143 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8144 * grub-core/tests/boot/linux.init-mips.S: New file.
8145 * tests/partmap_test.in: Handle ata0 disks.
8146 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8147 non-pc i386.
8148
8149 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8152 ia64.
8153 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8154 quotes while on it.
8155
8156 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8159 (grub_halt): Likewise.
8160 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8161
8162 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/term/serial.c (grub_serial_register)
8165 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8166 the behaviour in line with x86 platforms.
8167
8168 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8171 (grub_ata_strncpy): Likewise.
8172 (grub_ata_identify): Add missing byteswaps.
8173
8174 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8177 byte-swap.
8178 (screen_read_char): Likewise.
8179 (grub_vga_text_cls): Likewise.
8180
8181 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8184 filenames.
8185 (make_file_path): Likewise.
8186
8187 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8190 machines.
8191 Tested by: Paulo Flabiano Smorigo.
8192 Crucial information about API supplied by: Coleen <Last name unknown>.
8193 Reviewed by: Coleen <Last name unknown>.
8194
8195 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * util/grub-mkimage.c: Disable -Wcast-align.
8198
8199 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8202 as they are fatal.
8203
8204 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8207
8208 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * util/grub-probe.c (escape_of_path): Fix double free.
8211
8212 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/commands/videoinfo.c (hook): Show pitch.
8215
8216 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8219
8220 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8223 (probe): Add ieee1275 to OFW devices.
8224
8225 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8228
8229 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 Handle IBM OFW path.
8232
8233 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8234 available.
8235 (of_path_of_scsi): Handle vdevice.
8236
8237 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8240 Allocate in multiples of 16 to avoid adding a few bytes free region the
8241 windows bugs upon.
8242
8243 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8246 Allocate in multiples of 16 to avoid adding a few bytes free region the
8247 windows bugs upon.
8248 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8249
8250 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8253 resolutions.
8254 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8255 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8256
8257 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8258
8259 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8260
8261 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8264 resulted in \\ at the end of the line.
8265
8266 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8269 (grub_parser_cmdline_state): Likewise.
8270 (grub_parser_split_cmdline): Likewise.
8271
8272 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8275 /dev/root and /dev/dm-*.
8276
8277 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8280 fix partially stale display.
8281
8282 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8285 substraction.
8286
8287 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8290 Fix MBR remapping workaround.
8291 (grub_util_biosdisk_read) [__linux__]: Likewise.
8292
8293 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8296
8297 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * configure.ac: Bump to beta6.
8300
8301 2012-05-31 Christer Weinigel <christer@weinigel.se>
8302
8303 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8304
8305 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8308 (grub_cmd_linux): Likewise.
8309
8310 2012-05-31 Christer Weinigel <christer@weinigel.se>
8311
8312 Fix EHCI low-speed.
8313
8314 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8315 (GRUB_EHCI_MULT_TWO): Likewise.
8316 (GRUB_EHCI_MULT_THREE): Likewise.
8317 (GRUB_EHCI_CMASK_MASK): New enum value.
8318 (GRUB_EHCI_SMASK_MASK): Likewise.
8319 (GRUB_EHCI_CMASK_OFF): Likewise.
8320 (GRUB_EHCI_SMASK_OFF): Likewise.
8321 (grub_ehci_pci_iter): Enable periodic schedule.
8322 (grub_ehci_parse_notrun): Likewise.
8323 (grub_ehci_restore_hw): Likewise.
8324 (grub_ehci_setup_qh): Set flags for low speed transfers.
8325 (grub_ehci_find_qh): Use periodic list for low speed.
8326 (grub_ehci_setup_transfer): Check periodic queue as well.
8327 (grub_ehci_check_transfer): Likewise.
8328 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8329
8330 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8331
8332 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8333 parameter is used.
8334
8335 2012-05-31 Peter Jones <pjones@redhat.com>
8336
8337 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8338 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8339 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8340
8341 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8344 uninited variable. Allocate at least setup_sects.
8345
8346 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 Fix handling of EFI with big memory maps.
8349
8350 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8351 (real_mode_mem): Likewise.
8352 (real_mode_target): Likewise.
8353 (real_mode_pages): Likewise.
8354 (prot_mode_pages): Likewise.
8355 (linux_params): New var.
8356 (linux_cmdline): Likewise.
8357 (free_pages): Don't set real mode variables.
8358 (allocate_pages): Don't allocate real mode memory.
8359 (grub_e820_add_region): Remove the limit.
8360 (grub_linux_boot): Allocate and copy real mode memory.
8361 (grub_linux_unload): Free linux_cmdline.
8362 (grub_cmd_linux): Use temporary storage for parameters.
8363 (grub_cmd_initrd): Likewise.
8364 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8365 (linux_kernel_params): Make it 1K big.
8366
8367 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * Makefile.util.def: Remove -Wno-format.
8370 * grub-core/Makefile.core.def: Likewise.
8371
8372 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * tests/cmp_unit_test.c: Add missing failure message.
8375 * tests/example_unit_test.c: Likewise.
8376 * tests/printf_unit_test.c: Likewise.
8377
8378 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8381 relaxation of protective MBR requirements.
8382
8383 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * configure.ac: Add condition for COND_HOST_XNU.
8386 * Makefile.util.def (10_xnu): New script.
8387 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8388
8389 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8392 objconv bug.
8393
8394 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8397 Binary on other platforms stays identical.
8398
8399 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8402 Apple.
8403
8404 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8407
8408 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8411 rather than defining size_t ourselves to avoid conflict.
8412
8413 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8416 initialisation to avoid __bzero reference.
8417
8418 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8421 version.
8422 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8423 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8424 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8425 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8426 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8427
8428 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8431 * grub-core/kern/misc.c: Likewise.
8432 * grub-core/loader/i386/xnu.c: Likewise.
8433 * include/grub/i386/tsc.h: Likewise.
8434 * include/grub/symbol.h: Likewise.
8435
8436 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8439 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8440 on older compiler.
8441
8442 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8445 Implement Apple flavour.
8446 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8447
8448 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8451 (memmove) [__APPLE__]: Likewise.
8452 (memcpy) [__APPLE__]: Likewise.
8453 (memset) [__APPLE__]: Likewise.
8454 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8455 (memmove) [__APPLE__]: Likewise.
8456 (memcpy) [__APPLE__]: Likewise.
8457 (memset) [__APPLE__]: Likewise.
8458
8459 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8462 dependency discard.
8463
8464 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/normal/main.c (read_config_file): Provide config_file and
8467 config_directory.
8468 * util/grub.d/41_custom.in: Use config_directoy when available.
8469
8470 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8473 (grub_bfs_dir): Likewise.
8474
8475 2012-05-27 Peter Jones <pjones@redhat.com>
8476
8477 The old code gives arguments to a printf function which can't work
8478 correctly, and the compiler complains.
8479
8480 * grub-core/tests/example_functional_test.c (example_test): Add
8481 missing text.
8482 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8483 * include/grub/test.h (grub_test_assert_helper): New declaration.
8484 (grub_test_assert): Use grub_test_assert_helper.
8485
8486 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8489 (exfctest): ... this to avoid overlong filenames.
8490 All users updated.
8491
8492 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 Handle "." and ".." on squashfs.
8495
8496 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8497 Make inode numbers into stack.
8498 (grub_squash_read_symlink): Use stack.
8499 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8500 (make_root_node): Fill stack.
8501 (grub_squash_open): Use stack.
8502
8503 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8506 freeing.
8507
8508 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8511 stderr on test calls.
8512
8513 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8516
8517 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8520
8521 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8524 "..".
8525
8526 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8529 (grub_hfsplus_iterate_dir): Add "." and "..".
8530
8531 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8534 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8535
8536 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8539 (find_path): Handle "." and "..".
8540
8541 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8544 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8545 (grub_affs_iterate_dir): Handle hardlinks.
8546
8547 2012-05-26 Matthew Garrett <mjg@redhat.com>
8548
8549 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8550 (grub_efi_console_fini): Likewise.
8551 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8552 (grub_video_gop_fill_mode_info): Rename to ...
8553 (grub_video_gop_fill_real_mode_info): ... this.
8554 (grub_video_gop_fill_mode_info): New function.
8555 (grub_video_gop_setup): Setup double framebuffer.
8556 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8557 Free offscreen.
8558 (grub_video_gop_swap_buffers): Copy framebuffer.
8559 (grub_video_gop_fini): Free offscreen buffer.
8560 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8561 New enum.
8562 (grub_efi_gop_blt_pixel): New struct.
8563
8564 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * gentpl.py: Remove error disabling for objconv.
8567
8568 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * configure.ac: Remove -Wunitialized as it's not available on older
8571 compilers.
8572
8573 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 Fix extent overflow comparator.
8576
8577 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8578 (grub_hfsplus_read_block): Set type.
8579 (grub_hfsplus_cmp_extkey): Compare type.
8580
8581 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8584
8585 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8588 than 0.
8589
8590 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8593 (dejavu_bold_14.pf2): New target.
8594
8595 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * configure.ac: Fix djvu font detection.
8598
8599 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8602 ext* instead of ext2.
8603
8604 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8607 name with \0.
8608
8609 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8610
8611 * docs/grub-dev.texi: Remove dot from .png.
8612
8613 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8616 protective entry in any slot.
8617 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8618 if protective entry is found in any slot.
8619
8620 Protective entry in non-first slot make no sense but is a widespread
8621 brain damage.
8622
8623 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8626
8627 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8630 with old reiserfs.
8631 (grub_reiserfs_open): Don't free root.
8632
8633 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8636 after freeing for safety.
8637
8638 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8641 Reported by: Jordan Uggla.
8642
8643 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8644
8645 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8646 actual implementation. Specifically, clarify that the grub menu will
8647 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8648 passed.
8649
8650 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8651
8652 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8653 of r0.
8654
8655 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 Remove unjustified hard dependency of normal.mod on gfxterm.
8658
8659 * include/grub/term.h (grub_term_output): New member fullscreen.
8660 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8661 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8662 (grub_gfxterm): Set .fullscreen.
8663 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8664 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8665
8666 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8669 mentioning possible problems with non-ASCII (non-compliant) ISOs.
8670 Mention case-insensitive AFFS, SFS and JFS.
8671
8672 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8675
8676 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8679 a bad FS.
8680
8681 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8684 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8685
8686 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8689 (grub_jfs_mount): Fill caseins.
8690 (grub_jfs_find_file): Respect caseins.
8691
8692 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8695 through UTF-16.
8696
8697 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8700 New argument origpath. All users updated.
8701
8702 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8705 (read_attr): Ensure that we read start of possibly compressed block.
8706
8707 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8710 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8711 All users updated.
8712
8713 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8716 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8717 (dejavu.pf2): Replace with ...
8718 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8719 this.
8720
8721 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * util/grub.d/20_linux_xen.in: Add missing line.
8724
8725 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8728 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8729 (grub_utf16_to_utf8): Likewise.
8730
8731 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8734 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8735 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8736 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8737 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8738 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8739
8740 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8743 a bad FS.
8744
8745 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8748 (grub_udf_read_symlink): Handle read_string failure.
8749
8750 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8753 comment.
8754
8755 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Fix handling of UDF symlinks.
8758
8759 * grub-core/fs/udf.c (read_string): New argument outbuf.
8760 All users updated.
8761 (grub_ufs_read_symlink): Rename to ...
8762 (grub_udf_read_symlink): ... this. All users updated.
8763 Handle symlinks with more than one component.
8764
8765 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8768 symlinks. Replace leading colon with a slash.
8769
8770 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8773 filename.
8774
8775 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8778 match in inner node.
8779
8780 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8783 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8784 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8785 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8786 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8787 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8788 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8789 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8790 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8791
8792 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 Use grub-probe and not cmp to check that disk is empty.
8795
8796 * util/grub-install.in: Use grub-probe for zero-check.
8797 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8798 (probe): Handle PRINT_ZERO_CHECK.
8799 (argp_parser): Handle -t zero_check.
8800
8801 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 Flush block cache on adding disk to device map.
8804
8805 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8806 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8807 adding.
8808 (read_device_map): Likewise.
8809 (open_device): Flush on opening.
8810
8811 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8814 (handle_symlink): Fix off-by-one error.
8815 Canonicalize the target.
8816 (grub_cpio_dir): Canonicalize the name.
8817 Fix memory leak.
8818 Set directory.
8819 (grub_cpio_open): Canonicalize the name.
8820
8821 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8824 handling.
8825
8826 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8829 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8830
8831 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8834 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
8835 All users updated.
8836
8837 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8840 counterpart.
8841
8842 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 Fix UFS1 big file support.
8845
8846 * grub-core/fs/ufs.c (INODE): Removed.
8847 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8848 64-bit.
8849 (INODE_MODE): Simplify.
8850 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8851 (grub_ufs_lookup_symlink): Don't use INODE.
8852
8853 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8856
8857 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8858 (grub_minix_data): Replace log_block_size with block_size.
8859 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8860 (grub_minix_mount): Fill block_size.
8861
8862 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * configure.ac: Bump to beta5.
8865
8866 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Fix wrapped HFS+ handling.
8869
8870 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8871 blocks_start. All users updated.
8872 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8873 wrapping offset.
8874 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8875
8876 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 Fix long symlinks on reiserfs.
8879
8880 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8881 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8882 (grub_reiserfs_iterate_dir): Save size for non-directories.
8883 (grub_reiserfs_open): Don't reread stat block as we already know the
8884 size.
8885 (grub_reiserfs_read): Split into...
8886 (grub_reiserfs_read_real): ... and ...
8887 (grub_reiserfs_read): ...this.
8888
8889 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 Fix non-indexed JFS.
8892
8893 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8894 (grub_jfs_data): New field namecomponentlen.
8895 (grub_jfs_mount): Fill namecomponentlen.
8896 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8897
8898 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8901 * tests/grub_script_echo1.in: Add tests.
8902
8903 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * util/grub-install.in: Ignore empty devicetree directory.
8906
8907 2012-05-08 Bean <bean123ch@gmail.com>
8908
8909 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8910 All users updated.
8911 (free_rsm): Free header as well.
8912 (free_old_fragments): Fix memory leak.
8913 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8914 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8915 (destroy_pq): Likewise.
8916 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8917
8918 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8921 resulting hash as a precaution.
8922
8923 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8926 '_' in variable names.
8927 * grub-core/net/net.c (grub_net_network_level_interface_register):
8928 Likewise.
8929
8930 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 Fix AFFS with non-512B blocks.
8933
8934 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8935 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8936 (grub_affs_data): Replace blocksize with log_blocksize.
8937 (grub_affs_read_block): Fix non-512B blocks.
8938 (grub_affs_read_symlink): Likewise.
8939 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8940 (grub_affs_read): Fix non-512B blocks.
8941 (grub_affs_label): Likewise.
8942 (grub_affs_mtime): Likewise.
8943 (grub_affs_mount): Fix block detection routine.
8944
8945 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 Add filesystem mtime to AFFS.
8948
8949 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8950 (aftime2ctime): New function.
8951 (grub_affs_dir): Use aftime2ctime.
8952 (grub_affs_label): Fix return value.
8953 (grub_affs_mtime): New function.
8954 (grub_affs_fs): Add mtime.
8955
8956 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8959 UTF-8.
8960
8961 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8964 UTF-8.
8965
8966 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8969
8970 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8973 flags.
8974 (FLAGS_CASE_SENSITIVE): New enum value.
8975 (cache_entry): New struct.
8976 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8977 cache_size and cache.
8978 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8979 Add log_blocksize and fshelp_flags.
8980 (grub_sfs_read_extent): Handle non-512 blocks.
8981 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8982 (grub_sfs_read_file): Handle non-512 blocks.
8983 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8984 fshelp_flags.
8985 (grub_sfs_read_symlink): Handle non-512 blocks.
8986 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8987 (grub_sfs_dir): Free cache.
8988 (grub_sfs_close): Likewise.
8989
8990 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8993 filesystems.
8994
8995 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8998
8999 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9002
9003 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9006 (grub_sfs_read_extent): Likewise.
9007 (grub_sfs_read_block): Likewise.
9008 (grub_sfs_mount): Likewise.
9009 (grub_sfs_iterate_dir): Likewise.
9010 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9011 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9012
9013 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 Fix errors on compressed NTFS with 512B clusters.
9016
9017 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9018 types.
9019 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9020 not 0.
9021 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9022 Relax check for inline extents.
9023 (ntfscomp): Return correct -1 on error and not 0.
9024
9025 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * util/grub-install.in: Fix handling of prefix containing spaces.
9028
9029 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9032 (grub_squash_read_data): Fix offset byte-swapping.
9033
9034 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9037 per common usage and preffered in several parts of code.
9038 (grub_memcmp): Likewise.
9039 (grub_strncmp): Likewise.
9040 * include/grub/misc.h (grub_strcasecmp): Likewise.
9041 (grub_strncasecmp): Likewise.
9042 * Makefile.util.def (cmp_test): New test.
9043 (grub_script_strcmp): Likewise.
9044 * tests/cmp_unit_test.c: New file.
9045 * tests/grub_script_strcmp.in: Likewise.
9046 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9047
9048 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * include/grub/pci.h: Move enums into no-asm part.
9051
9052 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9055
9056 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9057
9058 * util/getroot.c (find_hurd_root_device): Try to make error message
9059 and comments to translators clearer.
9060
9061 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9064
9065 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9068 btrfs.
9069
9070 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * docs/grub.cfg: Update.
9073
9074 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * docs/grub.texi (PXE): Remove not present variables.
9077
9078 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * grub-core/net/net.c (defserver_set_env): New function.
9081 (defserver_get_env): Likewise.
9082 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9083
9084 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9087 entries.
9088
9089 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9092 * grub-core/kern/emu/hostdisk.c: Likewise.
9093
9094 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9095
9096 Handle hurd userspace partitions.
9097
9098 * util/getroot.c (find_hurd_root_device): New function.
9099 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9100
9101 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9104 names.
9105 Reported by: Bastian Blank.
9106
9107 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9110 crossing page boundary.
9111
9112 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 Fix B-tree search in BFS, especially in presence of non-ASCII
9115 characters.
9116
9117 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9118 (find_in_b_tree): Use standard bsearch + btree algorithm.
9119
9120 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9123 and so on.
9124
9125 2012-05-03 Matthew Garrett <mjg@redhat.com>
9126 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 Suspend broadcom cards in order to stop their DMA.
9129
9130 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9131 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9132 (pci): Don't build on x86 EFI.
9133 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9134 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9135 New function.
9136 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9137 stop_broadcom if running on EFI.
9138 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9139 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9140 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9141 (grub_pci_find_capability): New proto.
9142
9143 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * docs/grub.texi: Remove dot from the extension as it apparently
9146 doesn't work with some makeinfo versions.
9147
9148 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9151 with GRUB expectance.
9152
9153 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9156
9157 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9160 zero after directory block since last entry may be not 0-terminated if
9161 it ends on block boundary. Use continue instead of if spanning whole
9162 loop.
9163
9164 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 Support 4K sectors UDF inline files.
9167
9168 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9169 (grub_udf_extended_file_entry): Likewise.
9170 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9171 All users updated.
9172 (get_fshelp_size): New function.
9173 (grub_udf_read_icb): Read whole block.
9174 (grub_udf_iterate_dir): Likewise.
9175 (grub_udf_dir): Likewise.
9176 (grub_udf_open): Likewise.
9177
9178 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9181
9182 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9185 inline symlinks in addition to workaround.
9186
9187 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9190
9191 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9194
9195 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9198
9199 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 Fix reiserfs big seek times.
9202
9203 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9204 exact. All users updated.
9205 (grub_reiserfs_read): Use nearest btree search for seeking.
9206 Fix return value on error.
9207
9208 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9211 entries.
9212 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9213 * docs/grub.texi: Update menuentry description.
9214
9215 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9218 crash when embedding onto filesystem.
9219
9220 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9223 name.
9224
9225 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9228
9229 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9232 commit.
9233
9234 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9235 2012-05-01 Bean <bean123ch@gmail.com>
9236
9237 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9238
9239 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9242 Special behaviour for len = 0 to read whole file isn't used anywhere and
9243 can cause buffer ovewrflows in several places.
9244
9245 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9248
9249 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 Handle RAIDZ on non-512B sectors.
9252
9253 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9254 max_children_ashift.
9255 (fill_vdev_info_real): Fill max_children_ashift.
9256 (read_device): Use max_children_ashift.
9257
9258 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9261
9262 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9265 disk names.
9266 * docs/grub.texi: Update device.map parts.
9267
9268 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 Don't scan into non-diskfilter devices having diskfilter names.
9271
9272 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9273 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9274 handling.
9275 (scan_disk_hook): New function.
9276
9277 2012-04-29 Bean <bean123ch@gmail.com>
9278
9279 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9280 allocation.
9281
9282 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9283
9284 * configure.ac: Detect starfield theme font path
9285 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9286
9287 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9290 geometry on serial consoles.
9291
9292 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9295 because of network consoles.
9296
9297 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9300 handling.
9301
9302 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9305 falls on Q syndrom.
9306
9307 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9310 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9311
9312 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9315 Allocate at lest 8192 for temporary buffer as required for lzo.
9316
9317 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9320 to cluster_bits, since it's already added in.
9321 (grub_fat_read_data): Likewise.
9322
9323 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9326 as long as cluster size is multiple of 512 bytes.
9327
9328 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * util/grub-mkrescue.in: Fix locale directory.
9331
9332 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/kern/emu/hostdisk.c (map): Make static.
9335
9336 2012-04-23 Bean <bean123ch@gmail.com>
9337
9338 * util/grub-fstest.c (fstest): Add missing break.
9339
9340 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9341
9342 Fix hurd build.
9343
9344 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9345 not define nr variable.
9346 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9347 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9348 grub_find_device): Do not define.
9349
9350 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 Fix kfreebsd compile and behaviour.
9353
9354 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9355 format-security.
9356 * util/getroot.c: Fix wait.h include.
9357 (grub_guess_root_devices): Error if grub_find_device fails.
9358 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9359 (grub_util_get_dev_abstraction): Likewise.
9360 (grub_util_pull_device): Likewise.
9361 (grub_util_get_grub_dev): Likewise.
9362 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9363
9364 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 Fix and unify wholedisk detection.
9367
9368 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9369 is_part. All users updated.
9370 (device_is_wholedisk): Removed.
9371 (grub_util_biosdisk_get_grub_dev): Use is_part.
9372
9373 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9376 mode.
9377
9378 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * configure.ac: Bump to beta4.
9381
9382 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9385 --fs-uuid --set UUID syntax.
9386
9387 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9390 disunification.
9391
9392 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9395
9396 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
9397
9398 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9399
9400 2012-04-18 Mike Gilbert <floppym@gentoo.org>
9401
9402 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9403
9404 2012-04-18 Bean <bean123ch@gmail.com>
9405
9406 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9407 place.
9408
9409 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9412 users updated.
9413 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9414 corresponding to GRUB partitions.
9415 (grub_util_biosdisk_write): Likewise.
9416
9417 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 Scan mdraid before LVM.
9420
9421 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9422 (grub_diskfilter_register_front): ... this.
9423 (grub_diskfilter_register_back): New function.
9424 All users of grub_diskfilter_register updated.
9425
9426 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * util/grub-install.in: Fix an automatic target detection bug.
9429
9430 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * util/grub-install.in: New option --efi-directory.
9433
9434 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9437 boot services if we have no other choice.
9438
9439 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9442 document it.
9443 * tests/util/grub-shell.in: Update to --directory.
9444
9445 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9448
9449 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9452 (grub_minix_read_file): Likewise.
9453 (grub_minix_read_inode): Likewise.
9454 (grub_minix_find_file): Likewise.
9455 (grub_minix_dir): Likewise.
9456
9457 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * util/grub-setup.c (setup): Fix partition handling and blocklist
9460 check.
9461
9462 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9465 redundant buggy overlap check.
9466
9467 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9470 and grub-mknetdir.
9471
9472 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9475 kh.loadflags on pre-2.00 kernels.
9476
9477 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 Terminate UNDI and PXE before launching the payload to avoid problems
9480 with DMA.
9481
9482 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9483 (grub_loader_flags): ... this. All users updated.
9484 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9485 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9486 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9487 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9488 function.
9489 (grub_pxe_restore): Likewise.
9490 (fini_hnd): New var.
9491 (GRUB_MOD_INIT): Register shutdown hook.
9492 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9493 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9494 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9495 (grub_loader_set): Rename second argument to flags.
9496
9497 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9500 written bytes.
9501 (grub_get_num_of_utf8_bytes): New function.
9502 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9503 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9504 executing it.
9505 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9506 (grub_ucs4_to_utf8): Change return type.
9507
9508 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9511 warning.
9512 * grub-core/fs/bfs.c (hop_level): Likewise.
9513 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
9514
9515 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/lib/adler32.c: Recode due to license unclearness.
9518
9519 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9522 (test_header): Likewise.
9523
9524 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 Fix --help formatting.
9527
9528 * util/grub-mkconfig_lib.in (print_option_help): New function.
9529 (grub_fmt): Likewise.
9530 * util/grub-install.in: Use print_option_help and grub_fmt.
9531 * util/grub-kbdcomp.in: Likewise.
9532 * util/grub-mkconfig.in: Likewise.
9533 * util/grub-mknetdir.in: Likewise.
9534 * util/grub-mkrescue.in: Likewise.
9535 * util/grub-mkstandalone.in: Likewise.
9536 * util/grub-reboot.in: Likewise.
9537 * util/grub-set-default.in: Likewise.
9538 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9539
9540 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * linguas.sh: Remove autogenerated *.po.
9543
9544 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * po/README: Move language fetcing to ...
9547 * linguas.sh: ... here.
9548 * po/README: Point to linguas.sh.
9549
9550 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * po/README: Exclude ko.po due to disclaimer problems.
9553
9554 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9557 len = 0.
9558 (grub_gettext_translate_real): Handle 0th string.
9559 (grub_gettext_translate): Ensure that "" isn't translated.
9560
9561 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9564 TRANSLATORS comment.
9565 (grub_diskfilter_print_partmap): Propagate changing of error into
9566 warning.
9567
9568 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9571 to uint64_t to prevent overflow.
9572 (grub_diskfilter_lv): Increase start_extent and extent_count
9573 to uint64_t to prevent overflow.
9574
9575 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * configure.ac: Increase version.
9578
9579 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9582
9583 * po/Rules-translit: New file.
9584 * po/arabic.sed: Likewise.
9585 * po/cyrillic.sed: Likewise.
9586 * po/greek.sed: Likewise.
9587 * po/hebrew.sed: Likewise.
9588 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9589 * po/Makefile.in.in: Add extra_dist4.
9590
9591 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9594
9595 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9596 modify names. Introduce MODE_BIGENDIAN.
9597 * grub-core/fs/minix_be.c: New file.
9598 * grub-core/fs/minix2_be.c: Likewise
9599 * grub-core/fs/minix3_be.c: Likewise.
9600 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9601 minix3_be.
9602 * grub-core/Makefile.core.def (minix_be): New module.
9603 (minix2_be): Likewise.
9604 (minix3_be): Likewise.
9605
9606 2012-04-01 Felix <email@hamburg.de>
9607
9608 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9609 (devs): Add MBP 2011.
9610
9611 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9614
9615 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/normal/cmdline.c (print_completion): New field
9618 prompt_len.
9619 (grub_cmdline_get): Handle width properly.
9620
9621 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9624
9625 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
9628 after 29th of February.
9629
9630 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 Fix exfat endianness handling.
9633
9634 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9635 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9636 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9637 Byte-swap utf16 when necessary.
9638 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9639
9640 2012-03-31 Anton Blanchard <anton@samba.org>
9641 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 Fix btrfs endianness handling.
9644
9645 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9646 (lower_bound): Make root uint64_t. Use root in le.
9647 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9648 (find_path): Fix template key init.
9649 (grub_btrfs_dir): Fix mtime byteswap.
9650 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9651
9652 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9655 recursion_depth. Break infinite resursions. All users updated.
9656
9657 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9660 after free.
9661 Reported by: Peter Jones.
9662
9663 2012-03-31 Anton Blanchard <anton@samba.org>
9664
9665 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9666 8 bit values.
9667
9668 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * util/grub-install.in: Fix nvram call for PreP.
9671
9672 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9675 the error when some elements are missing into a warning.
9676
9677 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9680
9681 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
9682
9683 * docs/grub.texi (Invoking grub-probe): New section.
9684 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9685
9686 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 Fix tab and wide character handling in editor and menu.
9689
9690 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9691 agglomerate control characters with combining marks.
9692 (bidi_line_wrap): Allow break on tab.
9693 (grub_unicode_get_comb_start): New function.
9694 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9695 and tab correctly.
9696 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9697 with a space.
9698 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9699 fixed_tab_size. All users updated.
9700 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9701 (grub_term_getcharwidth): Handle \t.
9702 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9703 and copy.
9704
9705 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 Handle big-endian mdraid.
9708
9709 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9710 * grub-core/Makefile.core.def (mdraid09_be): New module.
9711 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9712 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9713 * grub-core/disk/mdraid_linux_be.c: New file.
9714
9715 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9718
9719 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9722 missing quotes which caused confusion among translators.
9723
9724 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * util/grub-mkconfig_lib.in: Fix typo.
9727
9728 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9731 spaces.
9732 * tests/grub_script_leading_whitespace.in: New file.
9733 * Makefile.util.def (grub_script_leading_whitespace): New test.
9734
9735 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9738 to work.
9739
9740 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9743 starts with control character.
9744
9745 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9748 overflow.
9749 (grub_gdb_outbuf): Likewise.
9750
9751 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9754 zero terminator. Fixes a crash.
9755
9756 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9759 beyond 4 GiB.
9760 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9761 images independently of preffered adderss field.
9762
9763 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9766 * grub-core/commands/regexp.c: Likewise.
9767 * grub-core/loader/i386/linux.c: Likewise.
9768 * grub-core/partmap/msdos.c: Likewise.
9769 * grub-core/script/execute.c: Likewise.
9770 * grub-core/term/gfxterm.c: Likewise.
9771
9772 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 Add variable parsing in $"..." and fix several mismatches with bash.
9775
9776 * Makefile.util.def (grub_script_gettext): New test.
9777 * grub-core/script/execute.c (parse_string): New function.
9778 (gettext_append): Likewise.
9779 (grub_script_arglist_to_argv): Use gettext_append.
9780 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9781 * tests/grub_script_gettext.in: New file.
9782
9783 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 Fix handling of leading spaces in scripts.
9786
9787 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9788 spaces.
9789 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9790 other than skipping \r. All users updated.
9791 * tests/grub_script_echo1.in: Add space-related tests.
9792 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9793
9794 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9797
9798 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * configure.ac: Bump up the version to beta2.
9801
9802 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 Fix gettext reload bugs (e.g. inability to disable gettext
9805 once enabled).
9806
9807 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9808 main_context and secondary_context. All functions updated.
9809 (grub_gettext_translate): Rename to ...
9810 (grub_gettext_translate_real): ... this. Return NULL on failed
9811 translate.
9812 (grub_gettext_translate): Handle secondary context.
9813 (grub_gettext_delete_list): Close file and zero-out the context.
9814 (grub_mofile_open): Don't call grub_gettext_delete_list.
9815 Don't close file.
9816 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9817 if locale="" to avoid pointless error message.
9818 (grub_gettext_env_write_lang): Update lang even if load fails.
9819 Handle secondary context.
9820 (grub_gettext_reread_prefix): New function.
9821 (read_main): Likewise.
9822 (read_secondary): Likewise.
9823 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9824 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9825 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9826 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9827
9828 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * configure.ac: Decrease warning level to avoid spurious warnings and
9831 to be able to compile with GCC 4.2.
9832 * Makefile.util.def: Remove -Wno-error=logical-op.
9833
9834 2012-03-10 William Bittner <william.bittner@gmail.com>
9835
9836 * util/import_unicode.py: Add missing brackets around string for
9837 python 3 support.
9838
9839 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 Fix efi chainloader on network root.
9842
9843 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9844 network devices.
9845 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9846 New function.
9847
9848 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9851 unused show_text member.
9852 * docs/grub.texi: Document "text" property.
9853
9854 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9857 in dprintf.
9858
9859 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 Fix IMSM handling on Fedora.
9862
9863 * util/getroot.c (grub_util_is_imsm): New function.
9864 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9865
9866 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * Makefile.am: Strip gold section.
9869 * conf/Makefile.common: Likewise.
9870 * gentpl.py: Likewise.
9871 * grub-core/Makefile.core.def: Likewise.
9872 * grub-core/genmod.sh.in: Likewise.
9873
9874 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9877 * util/grub.d/20_linux_xen.in: Likewise.
9878 Based on Debian patch.
9879
9880 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * util/grub.d/10_linux.in: Fix syntax error resulting in
9883 Richard Laager's patch.
9884 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9885
9886 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9889 dependencies.
9890
9891 2012-03-10 Richard Laager <rlaager@wiktel.com>
9892
9893 * util/grub.d/10_linux.in: Fix ZFS root passing.
9894
9895 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9898 * grub-core/commands/xnu_uuid.c: Likewise.
9899 * grub-core/loader/efi/appleloader.c: Likewise.
9900 * grub-core/script/execute.c: Likewise.
9901 * grub-core/script/main.c: Likewise.
9902 * util/grub-mkfont.c: Likewise.
9903
9904 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * util/grub-mkfont.c (options): Use more appropriate "select" that
9907 "set" for face index.
9908
9909 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * util/grub-editenv.c (options): Gettextize command summaries.
9912
9913 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9916 "out of memory" error messagge.
9917
9918 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9921 of diskfilter for diskfilter on diskfilter support.
9922
9923 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9926
9927 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9930 themes/starfield.
9931
9932 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9935
9936 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9939
9940 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9943 of error message.
9944
9945 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9948
9949 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9952 message.
9953 * util/grub-install.in: Fix and gettextize error message.
9954
9955 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9958 Gettextize.
9959 * util/grub-mount.c (options): Likewise.
9960
9961 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9964 gettextize.
9965 * grub-core/commands/search_wrap.c (options): Likewise.
9966
9967 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9970
9971 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9974 size calculation.
9975 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9976 none is known.
9977
9978 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9981 "temporary" since it's used in identifier and is limited in space.
9982
9983 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * po/POTFILES.in: Regenerate. Include *.h since they contain
9986 translatable strings as well.
9987
9988 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9991 byte-swap on big-endian.
9992 Reported by: Lennart Sorensen
9993
9994 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9997 (allocate_pages): Improve dprintf.
9998 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9999 code32_start. Fill code32_start and kernel_alignment in params.
10000 (grub_cmd_initrd): Use prot_init_space.
10001
10002 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10005
10006 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * util/grub-install.in: Add missing dot at the end of sentence.
10009
10010 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10013 * grub-core/commands/videotest.c: Likewise.
10014 * grub-core/loader/i386/linux.c: Likewise.
10015
10016 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10019 sentence.
10020 Reported by: Milo Casagrande.
10021
10022 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10025 * grub-core/commands/gptsync.c: Likewise.
10026 * grub-core/commands/hashsum.c: Likewise.
10027 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10028 * grub-core/commands/legacycfg.c: Likewise.
10029 * grub-core/io/gzio.c: Likewise.
10030 * grub-core/net/net.c: Likewise.
10031 * grub-core/term/gfxterm.c: Likewise.
10032 * grub-core/term/terminfo.c: Likewise.
10033 * grub-core/tests/test_blockarg.c: Likewise.
10034 * grub-core/video/video.c: Likewise.
10035 * util/grub-install.in: Likewise.
10036 * util/grub-mkfont.c: Likewise.
10037
10038 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10041
10042 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/commands/search_wrap.c (options): Fix a typo.
10045 Reported by: David Prévot.
10046
10047 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10050 description.
10051
10052 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * util/grub-script-check.c (main): Fix a syntax error message which was
10055 unclear.
10056
10057 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10060
10061 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10064 messages.
10065
10066 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10069 without argument.
10070 * util/grub-mount.c (options): Likewise.
10071
10072 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10075
10076 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/net/http.c: Add TRANSLATORS comments.
10079 * grub-core/normal/cmdline.c: Likewise.
10080 * grub-core/normal/misc.c: Likewise.
10081 * grub-core/partmap/msdos.c: Likewise.
10082 * grub-core/parttool/msdospart.c: Likewise.
10083 * grub-core/script/execute.c: Likewise.
10084 * grub-core/script/main.c: Likewise.
10085 * grub-core/term/terminfo.c: Likewise.
10086 * grub-core/video/bitmap.c: Likewise.
10087 * util/grub-install.in: Likewise.
10088 * util/grub-mkimage.c: Likewise.
10089 * util/grub-mklayout.c: Likewise.
10090 * util/grub-setup.c: Likewise.
10091
10092 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10095 with similar messages in grub-fstest.
10096
10097 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * util/grub-install.in: Unify "option requires an argument" message
10100 with similar messages in other files.
10101 * util/grub-mkconfig.in: Likewise.
10102
10103 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * util/grub-set-default.in: Replace printf with gettext_printf (the
10106 string in in question is already translated from grub-reboot)
10107
10108 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * configure.ac: Bump up the version to beta1.
10111
10112 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10115 case when min_align = 0.
10116
10117 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10120 and fix a case when line_start overflows.
10121
10122 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * util/grub-reboot.in (usage): Mention id posibility.
10125 * util/grub-set-default.in (usage): Likewise.
10126
10127 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10130 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10131 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10132 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10133 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10134 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10135 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10136
10137 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 * grub-core/commands/menuentry.c (options): Remove
10140 GRUB_ARG_OPTION_REPEATABLE.
10141 Reported by: Andreas Vogel
10142
10143 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10144
10145 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10146
10147 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10148
10149 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10150 error.
10151
10152 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 Use sort -V by the idea of Georgi Georgiev.
10155
10156 * util/grub-mkconfig_lib.in (version_sort): New function.
10157 (version_test_numeric): Use version_sort.
10158
10159 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 Use submenus in grub-mkconfig.
10162
10163 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10164 * util/grub-mkconfig_lib.in (grub_quote): New function.
10165 (gettext_printf): Use gettext and not gettext_quoted to fix several
10166 messages.
10167 * util/grub.d/10_hurd.in: Use submenus.
10168 * util/grub.d/10_kfreebsd.in: Likewise.
10169 * util/grub.d/10_linux.in: Likewise.
10170 * util/grub.d/10_netbsd.in: Likewise.
10171 * util/grub.d/20_linux_xen.in: Likewise.
10172 * util/grub.d/30_os-prober.in: Likewise.
10173 * util/grub.d/10_illumos.in: Add missing quoting.
10174 * util/grub.d/10_windows.in: Likewise.
10175
10176 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 Fix menu title instability bug.
10179
10180 * grub-core/commands/menuentry.c (options): New option --id.
10181 (grub_normal_add_menu_entry): New argument id. All users updated.
10182 (grub_cmd_menuentry): Handle --id.
10183 (grub_menu_init): Accept unknown arguments.
10184 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10185 feature_menuentry_options.
10186 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10187 saved_entry.
10188 (get_entry_number): Match with id as well.
10189 * include/grub/menu.h (grub_menu_entry): New member id.
10190 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10191 * util/grub.d/00_header.in: Define menuentry_id_option.
10192 * util/grub.d/10_hurd.in: Define id.
10193 * util/grub.d/10_illumos.in: Likewise.
10194 * util/grub.d/10_kfreebsd.in: Likewise.
10195 * util/grub.d/10_linux.in: Likewise.
10196 * util/grub.d/10_netbsd.in: Likewise.
10197 * util/grub.d/10_windows.in: Likewise.
10198 * util/grub.d/20_linux_xen.in: Likewise.
10199 * util/grub.d/30_os-prober.in: Likewise.
10200
10201 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10204 "scope" with "body".
10205
10206 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10209 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10210 prot_size and prot_file_size.
10211
10212 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10215 All users updated. If easily=1 require raid-5/-6 to be full.
10216 (is_node_readable): Likewise.
10217 (scan_devices): Scan incomplete but readable LVs at the end.
10218 (grub_diskfilter_memberlist): Pull missing devices.
10219 (insert_array): Skip scanning until device is complete or scan is
10220 done otherwise.
10221 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10222 check.
10223 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10224 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10225
10226 2012-03-03 Matthew Garrett <mjg@redhat.com>
10227 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 Avoid EFI boot services when loading Linux.
10230
10231 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10232 avoid_efi_bootservices. All users updated.
10233 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10234 argument avoid_efi_bootservices. All users updated.
10235 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10236 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10237 align, min_align, relocatable, prefered_address. All users updated.
10238 Allocate avoiding boot services if kernel is relocatable.
10239 (grub_cmd_linux): Check if kernel is relocatable.
10240 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10241 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10242 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10243 avoid_efi_boot_services.
10244 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10245 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10246 (linux_kernel_params): Likewise.
10247
10248 2012-03-03 Matthew Garrett <mjg@redhat.com>
10249 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 Use EDID on EFI.
10252
10253 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10254 datasize_out.
10255 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10256 modes. Set gop_handle.
10257 (grub_video_gop_get_edid): New function.
10258 (grub_gop_get_preferred_mode): Likewise.
10259 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10260 (grub_video_efi_gop_adapter): Set .get_edid.
10261 * include/grub/efi/edid.h: New file.
10262 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10263
10264 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * util/grub-install.in: Load efivars unconditionally.
10267
10268 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * po/Rules-piglatin: Change suffix from .po-update-en to
10271 .po-update-en-piglatin.
10272
10273 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 Add a pig farm.
10276
10277 * po/piglatin.sed: New file.
10278 * po/en@piglatin.header: Likewise.
10279 * po/Rules-piglatin: Likewise.
10280 * po/README: Add en@piglatin to autogenerated languages.
10281
10282 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10285 "Command for ...".
10286 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10287 "Check" since we don't check anything.
10288 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10289 is 64-bit one.
10290 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10291 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10292 (grub_md_sha512_real): Likewise.
10293
10294 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/commands/gptsync.c: Fix typographic quoting.
10297 * grub-core/commands/ieee1275/suspend.c: Likewise.
10298 * grub-core/commands/parttool.c: Likewise.
10299 * grub-core/commands/search_wrap.c: Likewise.
10300 * grub-core/commands/videoinfo.c: Likewise.
10301 * grub-core/gfxmenu/gui_label.c: Likewise.
10302 * grub-core/hello/hello.c: Likewise.
10303 * grub-core/kern/emu/main.c: Likewise.
10304 * grub-core/net/net.c: Likewise.
10305 * grub-core/normal/menu.c: Likewise.
10306 * grub-core/normal/menu_text.c: Likewise.
10307 * grub-core/normal/misc.c: Likewise.
10308 * util/grub-editenv.c: Likewise.
10309 * util/grub-install.in: Likewise.
10310 * util/grub-kbdcomp.in: Likewise.
10311 * util/grub-mkconfig.in: Likewise.
10312 * util/grub-mknetdir.in: Likewise.
10313 * util/grub-mkrescue.in: Likewise.
10314 * util/grub-mkstandalone.in: Likewise.
10315 * util/grub-reboot.in: Likewise.
10316 * util/grub-set-default.in: Likewise.
10317 * util/grub-setup.c: Likewise.
10318 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10319
10320 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10323 * grub-core/commands/keystatus.c: Likewise.
10324 * grub-core/commands/loadenv.c: Likewise.
10325 * grub-core/commands/probe.c: Likewise.
10326 * grub-core/commands/regexp.c: Likewise.
10327 * grub-core/commands/true.c: Likewise.
10328 * grub-core/commands/videoinfo.c: Likewise.
10329 * grub-core/disk/cryptodisk.c: Likewise.
10330 * grub-core/disk/ldm.c: Likewise.
10331 * grub-core/disk/loopback.c: Likewise.
10332 * grub-core/disk/luks.c: Likewise.
10333 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10334 * grub-core/kern/disk.c: Likewise.
10335 * grub-core/kern/emu/hostdisk.c: Likewise.
10336
10337 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10340 * util/grub-install.in: Add missing quote in the comment.
10341
10342 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10345 * grub-core/commands/lsmmap.c: Likewise.
10346 * grub-core/commands/minicmd.c: Likewise.
10347 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10348 * grub-core/commands/regexp.c: Likewise.
10349 * grub-core/gdb/gdb.c: Likewise.
10350 * grub-core/term/gfxterm.c: Likewise.
10351 * util/grub-mkconfig.in: Likewise.
10352 * util/grub-mkfont.c: Likewise.
10353 * util/grub-mklayout.c: Likewise.
10354 * util/grub-mknetdir.in: Likewise.
10355 * util/grub-mkrescue.in: Likewise.
10356 * util/grub.d/30_os-prober.in: Likewise.
10357
10358 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10361 with "Direct color" and "Packed" with "Packed pixel".
10362 (grub_cmd_videoinfo): Simplify legend.
10363
10364 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10367 absolutely unclear error message.
10368
10369 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * util/grub-mkstandalone.in: Remove confusing leftover print.
10372
10373 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10376 comments.
10377 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10378 (GRUB_MOD_INIT): Likewise.
10379 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10380 VGA mode.
10381 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10382 comments.
10383 * util/grub-install.in (usage): Likewise.
10384 Spell ID in whole letters.
10385 Add missing ending dot.
10386 Quote variables.
10387 * util/grub-reboot.in: Fix capitalisation.
10388 * util/grub-set-default.in: Likewise.
10389
10390 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10393 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10394 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10395 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10396 Disable -Werror for -Wdeprecated-declarations.
10397 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10398 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10399 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10400 (grub_util_get_grub_dev): Make luks handling dependent on
10401 HAVE_DEVICE_MAPPER and not __linux__.
10402 (get_win32_path): Fix format security.
10403 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10404 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10405 Don't try grub_find_zpool_from_dir.
10406 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10407 #ifdef-out paresdir.
10408
10409 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * util/grub-pe2elf.c (usage): Add missing noreturn.
10412 (write_section_data): Rename name to shname to avoid shadowing.
10413 (write_symbol_table): Rename name to symname to avoid shadowing.
10414 Fix write_reloc_section call.
10415
10416 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10417
10418 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10419 to ensure that it's after the last byte of .text.
10420
10421 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * util/ieee1275/ofpath.c (my_isdigit): New function.
10424 (trailing_digits): Use my_isdigit.
10425 (strip_trailing_digits): Likewise.
10426
10427 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10430 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10431
10432 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/kern/i386/pc/startup.S: Define __start.
10435
10436 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10439 strip already transforms he format.
10440
10441 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10444
10445 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * util/grub-install.in: Add missing gettext init.
10448 * util/grub-kbdcomp.in: Likewise.
10449 * util/grub-mkconfig.in: Likewise.
10450 * util/grub-mknetdir.in: Likewise.
10451 * util/grub-mkrescue.in: Likewise.
10452 * util/grub-mkstandalone.in: Likewise.
10453 * util/grub-reboot.in: Likewise.
10454 * util/grub-set-default.in: Likewise.
10455 * util/grub.d/00_header.in: Likewise.
10456 * util/grub.d/10_hurd.in: Likewise.
10457 * util/grub.d/10_windows.in: Likewise.
10458 * util/grub.d/30_os-prober.in: Likewise.
10459 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10460
10461 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * po/Rules-swiss: Fix header comment.
10464
10465 2012-02-29 Andreas Vogel <anvoit>
10466
10467 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10468 resulted in leak of arguments.
10469
10470 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10473 reed_solomon_size const definition instead of computing it since
10474 Apple assembler doesn't support the later.
10475
10476 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 * gentpl.py (kernel): Rewrite Apple part.
10479
10480 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10483
10484 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10487 ELF section gap.
10488 (load_image): Likewise.
10489
10490 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 * configure.ac: Fix a typo in previous commit.
10493
10494 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 Don't add -Wl,-N on Apple platform.
10497
10498 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10499 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10500
10501 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * grub-core/Makefile.core.def (lzma_decompress): Use
10504 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10505
10506 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * grub-core/genmod.sh.in: Rewrite the Apple part.
10509
10510 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10513 comparison.
10514
10515 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * acinclude.m4 (grub_CHECK_PIC): New test.
10518 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10519
10520 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10523 to avoid the warning.
10524
10525 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10528 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10529 after. All users updated.
10530
10531 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 Use the common size routine in hostfs so we can read disks as well.
10534
10535 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10536 (grub_util_get_fd_size): ... this. Return size in bytes.
10537 All users updated.
10538 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10539 grub_util_get_fd_size.
10540
10541 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10544 Add blocksize retrieval.
10545
10546 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * configure.ac: Restore CFLAGS after efiemu check.
10549
10550 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10553 Apple bug.
10554
10555 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10558
10559 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10562 (grub_cmd_halt): Likewise.
10563
10564 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10567 for local arithmetics.
10568 Break %sp init into 2 instructions.
10569 Add 0 byte at the end.
10570
10571 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10574 before loops.
10575
10576 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10579 for context.
10580
10581 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/disk/ldm.c (make_vg): Init part.name.
10584 (grub_ldm_detect): Silence spurious warning.
10585 (grub_util_is_ldm): Likewise.
10586
10587 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10590 sane value to avoid a spurious warning.
10591
10592 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10595 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10596
10597 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10600 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10601
10602 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10605 hardcoding the relevant info.
10606
10607 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10610 missing const qualifiers.
10611 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10612
10613 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * util/getroot.c [__APPLE__]: Add missing includes.
10616 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10617
10618 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10621
10622 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10625 avoid conflicts.
10626
10627 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10630
10631 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10634 and grub_file_close call.
10635
10636 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 Add LZSS Mach-O support (needed for new xnu kernelcache).
10639
10640 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10641 * grub-core/loader/lzss.c: New file.
10642 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10643 on Mach-O open failure.
10644 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10645 Don't free cmdsXX in uncompressedXX is set.
10646 (grub_macho_file): Init new fields.
10647 New argument is_64bit. All users updated.
10648 Handle compressed. Error out if no suitable architecture is found.
10649 Don't close file.
10650 (grub_macho_open): New argument is_64bit. All users updated.
10651 * grub-core/loader/macho32.c: Add defines for new fields.
10652 * grub-core/loader/macho64.c: Likewise.
10653 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10654 (grub_macho_parse): Handle compressed.
10655 Defer actual processing if compressed.
10656 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10657 "filename". All users updated.
10658 (grub_macho_size): New argument "filename". All users updated.
10659 (grub_macho_get_entry_point): Likewise.
10660 (grub_macho_load): Handle compressed.
10661 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10662 (GRUB_MACHO_LZSS_OFFSET): New define.
10663 (grub_decompress_lzss): New proto.
10664 * include/grub/machoload.h (grub_macho_file): New fields to handle
10665 compressed.
10666 (grub_macho_contains_macho64): Remove proto.
10667 (grub_macho_contains_macho32): Likewise.
10668 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10669
10670 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10673
10674 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 Fix make dist.
10677
10678 * Makefile.am (starfield_theme_files): New var.
10679 (starfield_DATA): Use starfield_theme_files.
10680 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10681 Add bootcheck-related files.
10682 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10683 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10684 and font_char_metrics.txt.
10685 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10686 (setjmp): Add lib/ia64/longjmp.S.
10687 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10688 * po/POTFILES.in: Regenerate.
10689 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10690 DISTFILES.common.extra1.
10691 * util/devicemap.c: Removed.
10692 * grub-core/lib/i386/relocator_backward.S: Likewise.
10693 * util/import_gcry.py: Remove unused files. Add extra_dist for
10694 ChangeLog.
10695
10696 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10699 grub_gettext_delete_list before changing grub_gettext_max to avoid
10700 running out of array bounds.
10701
10702 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10705 grub_vga_text_init/grub_vga_text_fini.
10706
10707 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10710
10711 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * configure.ac: Bump to 2.00~beta0.
10714
10715 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10718 missing initialisation.
10719
10720 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10723
10724 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 Support v2 xnu boot arguments.
10727
10728 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10729 New argument fsbfreq_out.
10730 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10731 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10732 be used.
10733 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10734 darwin_version.
10735 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10736 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10737 (grub_xnu_boot_params): Rename to ...
10738 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10739 (grub_xnu_boot_params_v2): New struct.
10740
10741 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10744 zeroing of CRC field before computing CRC.
10745
10746 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10749 Change order of allocations to decrease fragmentation.
10750
10751 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10754
10755 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10756
10757 Use write-combining MTRR to speed up video with buggy BIOSes.
10758
10759 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10760 (cpuid): New define.
10761 (rdmsr): Likewise.
10762 (wrmsr): Likewise.
10763 (mtrr_base): Likewise.
10764 (mtrr_mask): Likewise.
10765 (grub_vbe_enable_mtrr_entry): New function.
10766 (grub_vbe_enable_mtrr): Likewise.
10767 (grub_vbe_disable_mtrr): Likewise.
10768 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10769 control off to BIOS.
10770 (grub_video_vbe_init): Fill mtrr.
10771 (grub_video_vbe_fini): Disable mtrr.
10772 (grub_video_vbe_get_info_and_fini): Likewise.
10773 (grub_video_vbe_setup): Enable mtrr.
10774
10775 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10776
10777 * include/grub/partition.h (grub_partition_map): Change prototype of
10778 embed to take a maximum value for nsectors.
10779 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10780 * include/grub/fs.h (grub_fs): Likewise.
10781 * grub-core/partmap/msdos.c (embed_signatures): New array.
10782 (pc_partition_map_embed): Check for and avoid sectors matching any
10783 of the signatures in embed_signatures, up to max_nsectors.
10784 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10785 returned sector map to max_nsectors.
10786 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10787 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10788 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10789 * util/grub-setup.c (setup): Allow for the embedding area being
10790 split into multiple blocklists. Tell dest_partmap->embed the
10791 maximum number of sectors we care about.
10792
10793 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10796 Specify blocklist_install and reserver_first_sector for all fs.
10797 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10798 blocklists.
10799
10800 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * util/grub-install.in: Clarify strings.
10803 Fix source dir check.
10804
10805 2012-02-27 Richard Laager <rlaager@wiktel.com>
10806
10807 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10808 "zfs" and "fuse.zfs" as synonyms.
10809
10810 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * configure.ac: Put platform and target_cpu substitutions back since
10813 they are used for directories.
10814
10815 2012-02-27 Richard Laager <rlaager@wiktel.com>
10816 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10819 * util/grub.d/20_linux_xen.in: Likewise.
10820
10821 2012-02-27 Richard Laager <rlaager@wiktel.com>
10822
10823 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10824 with full paths.
10825
10826 2012-02-27 Richard Laager <rlaager@wiktel.com>
10827
10828 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10829 unescape.
10830
10831 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 Don't use insecure popen in getroot.
10834
10835 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10836 (exec_pipe): ... here.
10837 (find_root_devices_from_poolname): Use exec_pipe.
10838
10839 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Remove platform and target_cpu replacement.
10842
10843 * configure.ac: Remove platform and target_cpu substitutions.
10844 * tests/util/grub-shell.in: Use modinfo.
10845 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10846 explicitly.
10847
10848 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 Autodetect platform in grub-install but allow override.
10851
10852 * util/grub-install.in: Autodetect platform. Support --target and
10853 --directory. Read platform from modinfo.sh.
10854
10855 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 Support btrfs multi-volume probe.
10858
10859 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10860 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10861 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10862 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10863 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10864 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10865 grub_find_root_devices_from_btrfs if on btrfs.
10866
10867 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 Remove any awareness of *.c util files about target.
10870
10871 * Makefile.util.def (grub-setup): Split to ...
10872 (grub-bios-setup): ... and this.
10873 (grub-sparc64-setup): ... and this.
10874 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10875 * docs/man/grub-setup.h2m: Split into ...
10876 * docs/man/grub-sparc64-setup.h2m: ... this.
10877 * docs/man/grub-bios-setup.h2m: ... and this.
10878 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10879 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10880 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10881 (grub_target_addr_t): Remove.
10882 (grub_target_size_t): Remove.
10883 (grub_target_ssize_t): Remove.
10884 * util/grub-install.in: Use new grub-*-setup.
10885 * util/grub-mkimagexx.c (Elf_Word): New define.
10886 (Elf_Half): Likewise.
10887 (Elf_Section): Likewise.
10888 (ELF_ST_TYPE): Likewise.
10889 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10890 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10891
10892 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 Replace grub_target_addr with more appropriate types.
10895
10896 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10897 grub_target_addr with grub_addr.
10898 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10899 grub_target_addr with grub_port.
10900 (grub_cmd_write): Likewise.
10901 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10902 grub_target_addr with grub_addr.
10903 (grub_cmd_write): Likewise.
10904 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10905
10906 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10909 const qualifier for vendor_guid.
10910
10911 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10914 const qualifier.
10915 (efiemu_memequal): Likewise.
10916 (find_variable): Likewise.
10917
10918 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 Fix missing console prototype on qemu-mips.
10921
10922 * include/grub/mips/qemu_mips/console.h: New file.
10923
10924 2012-02-27 Matthew Garrett <mjg@redhat.com>
10925 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10928 * include/grub/efi/efi.h: Likewise.
10929 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10930 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10931 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10932 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10933 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10934 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10935
10936 2012-02-27 Matthew Garrett <mjg@redhat.com>
10937
10938 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10939
10940 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10943 error.
10944
10945 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * configure.ac: Remove inappropriate use of program_transform_name
10948 on grubdir and bootdir but allow explicit specification of those
10949 variables.
10950
10951 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * util/grub-mknetdir.in (grub_prefix): Removed.
10954 (subdir): Use @bootdirname@ and @grubdirname@.
10955
10956 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10959
10960 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * po/POTFILES.in: Regenerated.
10963
10964 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 Remove improper use of program_transform_name on pkglibrootdir.
10967
10968 * configure.ac (pkglibrootdir): Removed.
10969 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10970 * util/grub-mkimage.c: Likewise.
10971
10972 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10975 warning.
10976
10977 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * util/grub-install.in: Use file identifier if no UUID is available
10980 or user explicitly prompted for it.
10981
10982 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
10983
10984 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10985 (freebsd_get_zfs): New function.
10986 (grub_freebsd_boot): Pass zfs UUID.
10987 (grub_cmd_freebsd): Set zfs UUID.
10988
10989 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10992 pkglibrootdir.
10993
10994 2012-02-27 Mike Gilbert <floppym@gentoo.org>
10995
10996 Add configure flag to control libzfs integration.
10997
10998 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10999
11000 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11003 device.
11004 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11005 small devices.
11006
11007 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11010 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11011 be used on non-modules.
11012
11013 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11014 Rename to grub_boot_init.
11015 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11016 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11017 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11018 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11019 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11020 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11021 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11022 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11023 includes.
11024 (grub_machine_init): Remove empty inits.
11025 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11026 includes.
11027 (grub_machine_init): Remove empty inits.
11028 * grub-core/term/arc/console.c: Remove explicit proto.
11029 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11030 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11031 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11032 grub_at_keyboard_fini.
11033 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11034 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11035 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11036 grub_gfxterm_fini.
11037 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11038 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11039 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11040 grub_vgatext_fini.
11041 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11042 * grub-core/term/serial.c (GRUB_MOD_INIT)
11043 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11044 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11045 grub_serial_fini.
11046 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11047 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11048 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11049 grub_terminfo_fini.
11050 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11051 (GRUB_MOD_FINI): Likewise.
11052 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11053 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11054 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11055 grub_video_radeon_fuloong2e_fini.
11056 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11057 [LOONGSON]: Rename to grub_video_sis315pro_init.
11058 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11059 grub_video_sis315pro_fini.
11060 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11061 [LOONGSON]: Rename to grub_video_sm712_init.
11062 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11063 grub_video_sm712_fini.
11064 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11065 (grub_at_keyboard_fini): Likewise.
11066 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11067 Don't declare grub_{modname}_init.
11068 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11069 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11070 New proto.
11071 (grub_keylayouts_fini) [!EMU]: Likewise.
11072 * include/grub/serial.h (grub_serial_init) [!EMU]:
11073 New proto.
11074 (grub_serial_fini) [!EMU]: Likewise.
11075 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11076 New proto.
11077 (grub_terminfo_fini) [!EMU]: Likewise.
11078 * include/grub/video.h (grub_font_init) [!EMU]:
11079 New proto.
11080 (grub_font_fini) [!EMU]: Likewise.
11081 (grub_gfxterm_init) [!EMU]: Likewise.
11082 (grub_gfxterm_fini) [!EMU]: Likewise.
11083 (grub_video_sm712_init) [!EMU]: Likewise.
11084 (grub_video_sm712_fini) [!EMU]: Likewise.
11085 (grub_video_sis315pro_init) [!EMU]: Likewise.
11086 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11087 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11088 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11089
11090 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 Make nand a prefix for nand devices.
11093
11094 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11095
11096 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11099 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11100
11101 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * include/grub/env.h (grub_env_find): Remove prototype.
11104 * grub-core/kern/env.c (grub_env_find): Make static.
11105 (grub_env_set): Remove useless set.
11106
11107 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/kern/i386/realmode.S: Remove useless align.
11110
11111 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * include/grub/dl.h (grub_dl_load_file): Don't export.
11114
11115 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11118 grub_dprintf.
11119
11120 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11123 grub_errors.
11124 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11125 not reloading whole superblock but only the part which is really needed.
11126 Remove useless grub_errors.
11127 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11128 grub_errors.
11129
11130 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 Don't export grub_get_rtc.
11133
11134 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11135 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11136
11137 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11140
11141 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
11144 argument since it can be deduced from diskfilter. All users updated.
11145
11146 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 Remove prio_list.
11149
11150 * include/grub/list.h (grub_prio_list): Removed.
11151 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11152 GRUB_COMMAND_PRIO_MASK.
11153 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11154 GRUB_COMMAND_FLAG_ACTIVE.
11155 (grub_prio_list_insert): Removed.
11156 (grub_prio_list_remove): Likewise.
11157 (GRUB_AS_PRIO_LIST): Likewise.
11158 (GRUB_AS_PRIO_LIST_P): Likewise.
11159 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11160 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11161 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11162 * grub-core/kern/command.c (grub_register_command_prio): Inline
11163 the prio_list code.
11164 (grub_unregister_command): Likewise.
11165
11166 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 Fix interrupt mixup from previous commit.
11169
11170 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11171 (grub_realidt): New var.
11172 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11173 Load idt.
11174 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11175 New declaration.
11176 (grub_relocator16_boot): Set grub_relocator16_idt.
11177 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11178 (LOCAL(realidt)): ... this.
11179 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11180 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11181 (grub_realidt): New variable.
11182
11183 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11186 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11187 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11188 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11189 Gettextize.
11190 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11191 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11192 * po/POTFILES.in: Regenerate.
11193
11194 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11197 errors.
11198
11199 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11202 \0.
11203 (add_length): Likewise.
11204
11205 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11206 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11207
11208 GDB serial and backtrace support.
11209
11210 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11211 (prot_to_real): Likewise.
11212 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11213 * grub-core/Makefile.core.def (backtrace): New module.
11214 (gdb): Likewise.
11215 * grub-core/gdb/cstub.c: New file.
11216 * grub-core/gdb/gdb.c: Likewise.
11217 * grub-core/gdb/i386/idt.c: Likewise.
11218 * grub-core/gdb/i386/machdep.S: Likewise.
11219 * grub-core/gdb/i386/signal.c: Likewise.
11220 * grub-core/lib/i386/backtrace.c: Likewise.
11221 * grub-core/lib/backtrace.c: Likewise.
11222 * include/grub/backtrace.h: Likewise.
11223 * include/grub/gdb.h: Likewise.
11224 * include/grub/i386/gdb.h: Likewise.
11225
11226 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11229 New function.
11230 (add_length): Likewise.
11231 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11232 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11233 proto.
11234 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11235 __argp_get_display_len.
11236
11237 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 $"..." support in scripts.
11240
11241 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11242 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11243 * grub-core/script/yylex.l: Likewise.
11244 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11245 value.
11246
11247 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * gentpl.py: Remove obsolete pkglib_DATA handling.
11250
11251 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11254 mailing list.
11255
11256 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11257 * util/grub-kbdcomp.in: Likewise.
11258 * util/grub-mkconfig.in: Likewise.
11259 * util/grub-mkconfig_lib.in: Likewise.
11260 * util/grub-mknetdir.in: Likewise.
11261 * util/grub-mkrescue.in: Likewise.
11262 * util/grub-mkstandalone.in: Likewise.
11263 * util/grub-reboot.in: Likewise.
11264 * util/grub-set-default.in: Likewise.
11265 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11266
11267 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 Remove GRUB_PREFIX.
11270
11271 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11272 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11273 used for backward compatibility.
11274
11275 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 Add new all_video module.
11278
11279 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11280 * grub-core/Makefile.core.def (all_video): New module.
11281 * grub-core/genmoddep.awk: Generate dependency of all_video from
11282 video.lst.
11283 * grub-core/lib/fake_module.c: New file.
11284 * grub-core/normal/main.c (features): Add feature_all_video_module.
11285 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11286 don't do explicit search again.
11287 insmod all_video in load_video if available.
11288
11289 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 Another round of string clarification and adding TRANSLATORS comments.
11292
11293 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11296
11297 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11300 to grub_ssize_t.
11301 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11302 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11303
11304 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11307 trailing newline implicitly. All users updated.
11308
11309 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 Implement serial on IEEE1275 and EFI.
11312
11313 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11314 on emu. Mention arc and emu as the only platforms without serial
11315 support.
11316 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11317 ieee1275 platforms.
11318 * grub-core/term/efi/serial.c: New file.
11319 * grub-core/term/ieee1275/serial.c: Likewise.
11320 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11321 specification if no ns8250 driver is available.
11322 (grub_cmd_serial): Likewise.
11323 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11324 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11325 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11326 (grub_efi_parity_type_t): New type.
11327 (grub_efi_stop_bits_t): Likewise.
11328 (grub_efi_serial_io_interface): New struct.
11329 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11330 available for all interfaces.
11331 Add EFI and IEEE1275 fields.
11332 (grub_ofserial_init): New proto.
11333 (grub_efiserial_init): Likeiwse.
11334 * util/grub.d/00_header.in: Don't check for the presence of serial
11335 module.
11336
11337 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11340 name as if it was an alias.
11341
11342 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/commands/lsacpi.c (options): Fix typo.
11345
11346 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 Convert grub-emu to argp.
11349
11350 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11351 emu.
11352 * util/argp_common.c: Rename to ...
11353 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11354 Add missing includes.
11355 * grub-core/kern/emu/main.c: Convert to argp.
11356 * po/POTFILES.in: Regenerate.
11357 * util/grub-install.in (usage): Make first letter lowcase in messages
11358 for uniformity.
11359 * util/grub-setup.c (options): Likewise.
11360
11361 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11364 Put back accidently commented-out code.
11365
11366 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11369 loop check using Brent algorithm.
11370 (grub_hfsplus_btree_search): Likewise.
11371
11372 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * util/grub-install.in: Fix usage of wrong device for PreP install.
11375
11376 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * conf/Makefile.common (CFLAGS_GNULIB): Add
11379 -Wno-unsafe-loop-optimizations.
11380 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11381 on tools.
11382 * grub-core/commands/legacycfg.c: Add pragma to skip
11383 -Wunsafe-loop-optimizations.
11384 (check_password_md5_real): Fix loop counter type.
11385 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11386 reading.
11387 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11388 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11389 loop condition.
11390 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11391 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11392 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11393 condition.
11394 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11395 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11396 avoid possible infinite loops.
11397 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11398 and -Wunsafe-loop-optimizations.
11399 * grub-core/script/yylex.l: Likewise.
11400 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11401 (print_glyphs): Avoid infinite loops.
11402 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11403
11404 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11405
11406 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11407 to avoid infinite loop.
11408 (disp_acpi_rsdt_table): Likewise.
11409
11410 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/font/font.c (grub_font_load): Add support for default
11413 path for fonts ($prefix/fonts).
11414 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11415 for checking if string is a path.
11416 * grub-core/normal/main.c (features): Add feature_default_font_path.
11417 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11418 * util/grub.d/00_header.in: Use default directory if possible.
11419 * util/grub-install.in: Install unicode.pf2.
11420
11421 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11424 * po/Rules-swiss: New file.
11425 * po/swiss.sed: Likewise.
11426
11427 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * grub-core/fs/btrfs.c (find_device): Fix typos.
11430 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11431 * util/grub-mkrelpath.c (argp_parser): Likewise.
11432 Reported by: Yuri Chornoivan.
11433
11434 2012-02-23 Dalet Omega <daletomega@gmail.com>
11435
11436 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11437 for usual informative messages.
11438
11439 2012-02-23 Dalet Omega <daletomega@gmail.com>
11440
11441 Starfield theme.
11442
11443 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11444 * conf/Makefile.common: Define starfielddir.
11445 * configure.ac: Configure starfield.
11446 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11447 * themes/starfield/README: Likewise.
11448 * themes/starfield/blob_w.png: Likewise.
11449 * themes/starfield/boot_menu_c.png: Likewise.
11450 * themes/starfield/boot_menu_e.png: Likewise.
11451 * themes/starfield/boot_menu_n.png: Likewise.
11452 * themes/starfield/boot_menu_ne.png: Likewise.
11453 * themes/starfield/boot_menu_nw.png: Likewise.
11454 * themes/starfield/boot_menu_s.png: Likewise.
11455 * themes/starfield/boot_menu_se.png: Likewise.
11456 * themes/starfield/boot_menu_sw.png: Likewise.
11457 * themes/starfield/boot_menu_w.png: Likewise.
11458 * themes/starfield/slider_c.png: Likewise.
11459 * themes/starfield/slider_n.png: Likewise.
11460 * themes/starfield/slider_s.png: Likewise.
11461 * themes/starfield/src/blob_nw.xcf: Likewise.
11462 * themes/starfield/src/bootmenu/: Likewise.
11463 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11464 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11465 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11466 * themes/starfield/src/slider_c.xcf: Likewise.
11467 * themes/starfield/src/slider_n.xcf: Likewise.
11468 * themes/starfield/src/slider_s.xcf: Likewise.
11469 * themes/starfield/src/terminalbox/: Likewise.
11470 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11471 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11472 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11473 * themes/starfield/starfield.png: Likewise.
11474 * themes/starfield/terminal_box_c.png: Likewise.
11475 * themes/starfield/terminal_box_e.png: Likewise.
11476 * themes/starfield/terminal_box_n.png: Likewise.
11477 * themes/starfield/terminal_box_ne.png: Likewise.
11478 * themes/starfield/terminal_box_nw.png: Likewise.
11479 * themes/starfield/terminal_box_s.png: Likewise.
11480 * themes/starfield/terminal_box_se.png: Likewise.
11481 * themes/starfield/terminal_box_sw.png: Likewise.
11482 * themes/starfield/terminal_box_w.png: Likewise.
11483 * themes/starfield/theme.txt: Likewise.
11484
11485 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * util/grub.d/00_header.in: Add missing export theme.
11488
11489 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11492 already included.
11493 Reported by: Eren D.
11494
11495 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * conf/Makefile.common (grubdatadir): Removed.
11498 (Makefile.am): Move eveything grubdata to pkgdata.
11499
11500 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 * grub-core/commands/acpihalt.c (get_sleep_type):
11503 Remove unused variable.
11504
11505 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11508 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11509 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11510 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11511 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11512 i18n with gettext no-op.
11513 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11514 GRUB_ACPI_OPCODE_STRING_CONST.
11515 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11516 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11517
11518 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * po/POTFILES.in: Regenerate.
11521
11522 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11525 -Wno-error=missing-noreturn.
11526
11527 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11530 condition to avoid possibly infinite loops.
11531 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11532 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11533
11534 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11537 condition to avoid possibly infinite loops.
11538
11539 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11542 on show_error.
11543
11544 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11547
11548 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11551
11552 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * util/bin2h.c (usage): Add missing attribute noreturn.
11555
11556 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11559 if the size isn't divisible by 512.
11560
11561 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 Make list_push and list_remove functions rather than inline functions
11564 to decrease size and avoid aliasing violations.
11565
11566 * include/grub/list.h (grub_list_push): Move to ...
11567 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11568 * include/grub/list.h (grub_list_remove): Move to ...
11569 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11570
11571 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11574 and -Wunused-result.
11575
11576 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11579 Reported by: Seth Goldberg
11580
11581 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11584
11585 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11586
11587 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11588 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11589 command line.
11590 * docs/grub.texi (Simple configuration): Document
11591 GRUB_CMDLINE_GNUMACH.
11592
11593 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * conf/Makefile.common (platform_SCRIPTS): New variable.
11596 (platform_PROGRAMS): Likewise.
11597 * gentpl.py: Mark *,module and *.image for install.
11598 * grub-core/gdb_grub.in: Add a notice of expected environment.
11599 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11600 (gmodule.pl): Likewise.
11601
11602 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 Replace grub_checkkey with grub_getkey_noblock.
11605
11606 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11607 (grub_getkey_noblock): ... this. All users updated.
11608
11609 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/kern/emu/console.c: Move to ...
11612 * grub-core/term/emu/console.c: ...here.
11613 (grub_ncurses_getkey): Fix return value if no key is detected.
11614
11615 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11618 (grub_unit_test_fini): Likewise.
11619 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11620
11621 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/test.h (GRUB_UNIT_TEST)
11624
11625 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11628 Better error handling.
11629 (grub_script_return): Likewise.
11630 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11631
11632 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11635 rimplicit redifinition.
11636
11637 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11640 GRUB.
11641
11642 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11645 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11646 prompt here.
11647
11648 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11651 as GRUB_ERR_BUG. Don't malloc if no device is available.
11652
11653 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11656 Mark calling with invalid term as GRUB_ERR_BUG.
11657
11658 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11661 packets rather than raising an error.
11662
11663 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11666 in if.
11667
11668 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11671 diagnostic to dprintf.
11672 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11673
11674 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11677 device name.
11678
11679 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11682 (grub_ntfs_iterate_dir): Likewise.
11683
11684 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 Efiemu stylistic fixes and gettext.
11687
11688 * grub-core/efiemu/i386/loadcore32.c
11689 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11690 * grub-core/efiemu/i386/loadcore64.c
11691 (grub_arch_efiemu_relocate_symbols64): Likewise.
11692 * grub-core/efiemu/i386/pc/cfgtables.c
11693 (grub_machine_efiemu_init_tables): Likewise.
11694 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11695 (grub_efiemu_loadcore_initXX): Add a filename argument.
11696 All users updated.
11697 Improved error message.
11698 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11699 Add a filename argument.
11700 All users updated.
11701 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11702 Reclassify double relocation as GRUB_ERR_BUG.
11703
11704 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11707 handling.
11708
11709 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11712 on partition.
11713
11714 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11717
11718 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 Improve string. Gettextize.
11721
11722 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11725 utils.
11726 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11727
11728 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11731 [GRUB_UTIL]: New function.
11732 (insert_array) [GRUB_UTIL]: Store partmaps.
11733 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11734 partmaps.
11735 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11736 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11737 (probe_abstraction): Print diskfilter and not raid.
11738 Reported by: Lennart Sorensen
11739
11740 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11743 * util/grub-mkimagexx.c (MASK3): New define.
11744 (add_value_to_slot_20b): Use MASK3.
11745 (add_value_to_slot_21): Likewise.
11746 (relocate_addresses): Fix format specification.
11747 (load_image): Explicitly init symtab_section.
11748
11749 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11752 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11753
11754 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11757 on powerpc.
11758 Reported by: Lennart Sorensen
11759
11760 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * gentpl.py: Add missing license header.
11763 * docs/grub.texi: Update copyright year.
11764
11765 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11766
11767 Source grub-mkconfig_lib from the build directory at build time.
11768 Suggested by: Vladimir Serbinenko.
11769
11770 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11771 * util/grub-install.in: Define pkgdatadir if not already set, and source
11772 grub-mkconfig_lib from there.
11773 * util/grub-kbdcomp.in: Likewise.
11774 * util/grub-mkconfig.in: Likewise.
11775 * util/grub-mknetdir.in: Likewise.
11776 * util/grub-mkrescue.in: Likewise.
11777 * util/grub-mkstandalone.in: Likewise.
11778 * util/grub-reboot.in: Likewise.
11779 * util/grub-set-default.in: Likewise.
11780 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11781
11782 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11783
11784 Increase warning level.
11785
11786 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11787 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11788 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11789 (TARGET_CFLAGS): Likewise.
11790 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11791 * grub-core/Makefile.core.def (decompressor_xz): Add
11792 -Wno-unreachable-code.
11793 (normal): Add -Wno-redundant-decls.
11794 (xzio): Add -Wno-unreachable-code.
11795 (lzopio): Add -Wno-redundant-decls -Wno-error.
11796 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11797 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11798 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11799 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11800 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11801 * grub-core/kern/i386/coreboot/init.c: Add exception to
11802 -Wsuggest-attribute=noreturn.
11803 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11804 * grub-core/kern/ia64/dl_helper.c: Likewise.
11805 * grub-core/kern/mips/dl.c: Likewise.
11806 * grub-core/kern/sparc64/dl.c: Likewise.
11807 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11808 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11809 (memcmp): Likewise.
11810 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11811 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11812 * grub-core/loader/mips/linux.c: Likewise.
11813 * grub-core/loader/multiboot_elfxx.c: Likewise.
11814 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11815 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11816 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11817 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11818 fixme.
11819 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11820 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11821 Fix prototype.
11822
11823 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11826 address.
11827
11828 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11831 Avoid improper use of strings.
11832 (grub_cmd_legacy_initrdnounzip): Likewise.
11833
11834 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11837 attribute.
11838 (grub_util_info): Likewise.
11839 (grub_util_error): Likewise.
11840
11841 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11844 * util/grub-fstest.c (fstest): Likewise.
11845
11846 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11849 (grub_md_sha512_real): Likewise.
11850 (grub_util_get_geli_uuid): Likewise.
11851 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11852 (grub_util_biosdisk_open): Fix format specification.
11853 Respect format security.
11854 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11855 (xrealloc): Likewise.
11856 (xasprintf): Likewise.
11857
11858 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * util/import_gcry.py: Include grub/crypto.h in init.c.
11861
11862 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11865 (generate_image): Make prefix a const char *.
11866 Fix format specifications. Respect format security.
11867 Avoid void * arithmetics.
11868 Avoid shadowing.
11869 (argp_parser): Remove unused variable. Respect format security.
11870 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11871 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11872 (count_funcs): Remove unused variable.
11873 (relocate_addresses): Fix format specification.
11874 Disable x86-64 with elf32. Remove unused variables.
11875 (add_fixup_entry): Avoid shadowing.
11876 (make_reloc_section): Fix format specification.
11877 Use assert.
11878 (locate_sections): Fix format specifications.
11879 (load_image): Avoid shadowing.
11880
11881 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11884 Fix format specifications. Respect format security.
11885 Don't translate already translated grub_errmsg.
11886 (argp_parser): Remove unused variable
11887
11888 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11891
11892 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11895 (main): Likewise. Use xmalloc. Respect format security.
11896
11897 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11900 a const char *.
11901 (argp_parser): Remove unused variable.
11902
11903 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11906 (add_pixel): Make static.
11907 (add_font): Likewise.
11908 (write_string_section): Make name and str a const char *.
11909 (write_be16_section): Make name a const char *.
11910 (print_glyphs): Make static.
11911 (write_font_ascii_bitmap): Likewise.
11912 (write_font_width_spec): Likewise.
11913 (write_font_pf2): Likewise.
11914 (argp_parser): Remove unused variable.
11915 Respect format security.
11916 (main): Avoid shadowing. Respect format security.
11917
11918 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * util/grub-editenv.c (argp_parser): Make static.
11921 (create_envblk_file): Use xmalloc.
11922 (open_envblk_file): Likewise.
11923 Resepect format security.
11924 (set_variables): Respect format security.
11925
11926 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * util/getroot.c (grub_find_device): Respect format security.
11929 (get_mdadm_uuid): Remove unused variable.
11930 (grub_util_pull_device): Dont call gettext on already translated
11931 grub_errmsg.
11932 (find_system_device): Remove unused variable.
11933 (grub_util_get_grub_dev): Likewise.
11934 (grub_make_system_path_relative_to_its_root): Respect format security.
11935
11936 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * util/grub-fstest.c (execute_command): Make first argument
11939 a const char *.
11940 (read_file): Avoid shadowing.
11941 Reuse underlying error message if device open fails.
11942 (cmd_cmp): Respect format security.
11943 (root): Make const char *.
11944 (fstest): Remove args argument and use global copy.
11945 Respect format security.
11946 (argp_parser): Make static.
11947 (main): Make default_root const char *.
11948
11949 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * util/grub-mount.c (root): Make const char *.
11952 (execute_command): Make first argument a const char *.
11953 (fuse_init): Respect format security.
11954 (argp_parser): Make static. Remove unused variable.
11955 (main): Make default_root a const char *.
11956 Respect format security.
11957
11958 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * util/grub-probe.c (probe): Don't call gettext on already translated
11961 grub_errmsg.
11962 Remove unused variables.
11963 (argp_parser): Remove unused variable.
11964
11965 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * util/grub-script-check.c (argp_parser): Remove unused variable.
11968 (main): Rename read to curread to avoid shadowing.
11969
11970 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * util/misc.c (grub_util_write_image_at): Fix format specification.
11973 (grub_util_write_image): Likewise.
11974 (grub_script_execute_argument_to_string): Removed (unused).
11975 (grub_script_execute_menuentry): Likewise.
11976 (grub_putchar): Likewise.
11977
11978 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11981 (FUNCTION) [GRUB_UTIL]: Likewise.
11982 (VARIABLE) [GRUB_UTIL]: Likewise.
11983
11984 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11987 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11988
11989 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11992 buffer.
11993
11994 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11997 (LzmaEnc_SaveState): Removed (unused).
11998 (LzmaEnc_RestoreState): Likewise.
11999 (LzmaEnc_InitPriceTables): Made static.
12000 (LzmaEnc_Construct): Likewise.
12001 (LzmaEnc_FreeLits): Likewise.
12002 (LzmaEnc_Destruct): Likewise.
12003 (LzmaEnc_Init): Likewise.
12004 (LzmaEnc_InitPrices): Likewise.
12005 (LzmaEnc_Finish): Likewise.
12006 (LzmaEnc_PrepareForLzma2): Removed (unused).
12007 (LzmaEnc_MemPrepare): Likewise.
12008 (LzmaEnc_GetNumAvailableBytes): Likewise.
12009 (LzmaEnc_GetCurBuf): Likewise.
12010 (LzmaEnc_CodeOneMemBlock): Likewise.
12011
12012 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12015 (grub_util_ldm_embed): Likewise.
12016
12017 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * util/grub-editenv.c (print_var): Rename name to varname to
12020 avoid shadowing.
12021 (main): Rename index to curindex to avoid shadowing.
12022 Make filename a const char *.
12023
12024 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12027 to arg_getline to avoid shadowing.
12028
12029 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12032 disk_ to avoid shadowing.
12033
12034 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12037 curindex to avoid shadowing.
12038 Make static.
12039 (MatchFinder_GetNumAvailableBytes): Make static.
12040
12041 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12044 avoid shadowing.
12045
12046 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12049 argument from encrypt to do_encrypt to avoid shadowing.
12050
12051 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12054 incorrect nesting of #if's.
12055
12056 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12059 checks which are always false on some platforms.
12060 (grub_cmd_lsacpi): Likewise.
12061 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12062 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12063 Likewise.
12064
12065 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12068 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12069
12070 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12073 re_dfa_t to avoid breaking alignment invariants.
12074 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12075 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12076
12077 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12080 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12081
12082 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12085 Fix declaration.
12086
12087 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12090 conserve alignment invariants.
12091 (grub_ehci_ehcc_read16): Likewise.
12092 (grub_ehci_oper_read32): Likewise.
12093 (grub_ehci_oper_write32): Likewise.
12094 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12095 Conserve alignment invariants.
12096
12097 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12100 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12101 declarations.
12102
12103 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12106 Remove unused variable.
12107
12108 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12111 Remove set in if.
12112
12113 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * include/grub/net.h: Remove double declarations.
12116
12117 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 Remove "payload" command in ia64 Linux loader since I couldn't
12120 find any evidence of it being used for anything.
12121 Replace "relocate" command with an environment variable
12122
12123 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12124 fields.
12125 (ia64_boot_payload): Removed.
12126 (last_payload): Likewise.
12127 (RELOCATE_OFF): Likewise.
12128 (RELOCATE_ON): Likewise.
12129 (RELOCATE_FORCE): Likewise.
12130 (relocate): Likewise.
12131 (free_pages): Don't free payloads.
12132 (grub_load_elf64): Use common error messages.
12133 Use "linux_relocate" variable.
12134 Increase the space after boot_params.
12135 (grub_cmd_payload): Removed.
12136 (grub_cmd_relocate): Likewise.
12137 (grub_cmd_fpswa): Improve messages.
12138 (cmd_payload): Removed.
12139 (cmd_relocate): Likewise.
12140 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12141 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12142
12143 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Convert UHCI to DMA framework.
12146
12147 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12148 (grub_uhci_pci_iter): Fill new members
12149 (grub_alloc_td): Use P2V and V2P functions.
12150 (grub_free_queue): Likewise.
12151 (grub_alloc_qh): Likewise.
12152 (grub_uhci_setup_transfer): Likewise.
12153 (grub_uhci_check_transfer): Likewise.
12154
12155 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12158 Remove assignment in if while on it.
12159
12160 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * util/grub-mkstandalone.in: Fix modules directory.
12163
12164 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12167 on i386-pc target.
12168 (argp_parser): Accept "auto" as compression specification.
12169
12170 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 Fix `help' with unloaded modules.
12173
12174 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12175 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12176 (grub_dyncmd_dispatcher): Small stylistic fix.
12177 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12178 explicit help is requested.
12179
12180 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12183 Explicitly init restart while on it.
12184
12185 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12188 uninited variable.
12189
12190 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * util/grub-mknetdir.in: Use . rather than source for POSIX
12193 compatibility.
12194
12195 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12198
12199 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12202 variable.
12203
12204 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12207 without quotes.
12208
12209 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12212
12213 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12216 iteration of partitions.
12217
12218 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 Improve gettext support. Stylistic fixes and error handling fixes while
12221 on it.
12222
12223 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12226 part. Instead setup the correct stack in RM.
12227 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12228 for stack.
12229 * include/grub/i386/relocator_private.h: New file.
12230
12231 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12234 argument.
12235 * util/grub-fstest.c (options): Add missing DEVICE part.
12236
12237 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 Clarify and unify messages.
12240
12241 * grub-core/commands/hashsum.c (options): Unify messages.
12242 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12243 literal-only message as translatable.
12244 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12245 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12246 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12247 commands.
12248 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12249 key, not the key used to unlock. Clarify what it's used for.
12250 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12251 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12252 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12253 * util/grub-editenv.c (options): Unify "verbose" message.
12254 * util/grub-fstest.c (read_file): Unify error message.
12255 (fstest): Add quotes around commands.
12256 (options): Unify "verbose" message.
12257 * util/grub-install.in: Add quotes around variable name.
12258 * util/grub-kbdcomp.in: Unify error message.
12259 * util/grub-mkfont.c (main): Likewise.
12260 * util/grub-mkrescue.in: Likewise.
12261 * util/grub-mklayout.c (options): Unify "verbose" message.
12262 * util/grub-mkstandalone.in: Unify help and verbose messages.
12263 * util/grub-mount.c (options): Unify "verbose" message.
12264 * util/grub-probe.c (options): Likewise.
12265 * util/grub-script-check.c (options): Likewise.
12266 * util/grub-setup.c (setup): Unify no-terminator message.
12267 (options): Use DEVICE and not DEV.
12268 Unify "verbose" message.
12269 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12270
12271 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 Improve and unify messages.
12274
12275 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12276 name. All users updated.
12277 Print filename in error.
12278 (read_device_map): Print filename in error.
12279 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12280 (grub_util_get_os_disk): Likewise.
12281 (grub_util_biosdisk_get_grub_dev): Likewise.
12282 (grub_util_check_block_device): Likewise.
12283 (grub_util_check_char_device): Likewise.
12284 (grub_make_system_path_relative_to_its_root): Likewise.
12285 * util/grub-editenv.c (create_envblk_file): Likewise.
12286 (open_envblk_file): Likewise.
12287 (write_envblk): Likewise.
12288 * util/grub-fstest.c (cmd_cp): Likewise.
12289 (cmd_cat): Likewise.
12290 (cmd_cmp): Likewise.
12291 * util/grub-menulst2cfg.c (main): Likewise.
12292 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12293 (write_font_width_spec): Likewise.
12294 (write_font_pf2): Likewise.
12295 * util/grub-mkimage.c (generate_image): New argument outname.
12296 All users updated.
12297 Remove unreacheable message.
12298 (options): Unify messages.
12299 (help_filter): Likewise.
12300 * util/grub-mklayout.c (usage): Removed (unused).
12301 (main): Print filename in error.
12302 * util/grub-mkrescue.in: Fix wrong quoting.
12303 * util/grub-setup.c (setup): Print filename in error.
12304 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12305 (check_sas): Likewise.
12306 * util/misc.c (grub_util_get_fp_size): Removed.
12307 (grub_util_get_image_size): Print filename in error.
12308 (grub_util_read_at): Removed.
12309 (grub_util_read_image): Print filename in error.
12310 (grub_util_load_image): Likewise.
12311 (grub_util_write_image_at): New argument filename. All users updated.
12312 Print filename in error.
12313 (grub_util_write_image): New argument filename. All users updated.
12314 Print filename in error.
12315 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12316 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12317
12318 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/Makefile.core.def (pxechain): New module.
12321 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12322 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12323 function.
12324 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12325 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12326
12327 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12330 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12331 * include/grub/err.h (grub_error_saved): New struct.
12332 (grub_errmsg): Make array size explicit.
12333 * include/grub/misc.h (grub_error_save): New function.
12334 (grub_error_load): Likewise.
12335 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12336 (grub_error_push): Update `errno' member name.
12337 (grub_error_pop): Likewise
12338 * grub-core/net/tftp.c (tftp_data): New member save_err.
12339 (tftp_receive): Save error.
12340 (tftp_open): Restore error.
12341
12342 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12345 to real mode down to execute A20-related code in protected mode as
12346 intended.
12347
12348 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12349
12350 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12351 NULL when the argument `level' has an unexpected value.
12352
12353 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 Move platform-dependent files from $prefix to $prefix/$platform.
12356
12357 * config.h.in (GRUB_TARGET_CPU): New definition.
12358 (GRUB_PLATFORM): Likewise.
12359 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12360 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12361 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12362 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12363 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12364 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12365 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12366 * grub-core/normal/term.c (read_terminal_list): Likewise.
12367 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12368 $prefix/locale.
12369 (grub_gettext_init_ext): Likewise.
12370 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12371 grub_platform.
12372 * util/grub-install.in: Update directories.
12373 * util/grub-mknetdir.in: Likewise.
12374 * util/grub-mkrescue.in: Likewise.
12375
12376 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12379 grub_error framework. All users updated.
12380
12381 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12384 lists (by always binsearching), improve caching (cache strings
12385 used for binsearch, not only results), improve
12386 maintainability (by using more structured binary search) and correct
12387 error handling.
12388
12389 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * grub-core/script/execute.c (grub_script_return): Fix warning.
12392
12393 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * grub-core/script/execute.c (grub_script_return): Fix potential
12396 NULL-dereference.
12397 Reported by: Jim Meyering.
12398
12399 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * po/POTFILES.in: Regenerate.
12402 * util/grub-install.in: Gettextize the strings missed in first pass.
12403
12404 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * Makefile.util.def (grub-mkdevicemap): Removed.
12407 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12408 * include/grub/util/deviceiter.h: Removed.
12409 * util/deviceiter.c: Likewise.
12410 * util/getroot.c (grub_util_get_os_disk): New function.
12411 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12412 replacement for EFI.
12413 * util/grub-mkdevicemap.c: Removed.
12414 * util/grub-probe.c (probe): Handle PRINT_DISK.
12415 (argp_parser): Handle -t disk.
12416
12417 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * util/grub-mkfont.c: Migrate to argp.
12420 * util/grub-mklayout.c: Likewise.
12421 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12422 * util/grub-mkrelpath.c: Likewise.
12423 * util/grub-probe.c: Likewise.
12424 * util/grub-script-check.c: Likewise.
12425
12426 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * util/grub-reboot.in: Add missing datarootdir.
12429 Add missing newline.
12430 * util/grub-set-default.in: Add missing datarootdir.
12431 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12432 * util/grub-mkrescue.in: Likewise.
12433
12434 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12437
12438 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * util/grub-kbdcomp.in: Add decent help and gettextize.
12441 * docs/man/grub-kbdcomp.h2m: New file.
12442
12443 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 Migrate grub-mkimage.c to argp.
12446
12447 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12448 (grub-setup): Likewise.
12449 * util/grub-setup.c (print_version): Move to ...
12450 * util/argp_common.c (print_version): ... here.
12451 * util/grub-setup.c (argp_program_version_hook): Move to ...
12452 * util/argp_common.c (argp_program_version_hook): ... here.
12453 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12454 safety.
12455 * util/grub-mkimage.c (main): Migrate to argp.
12456
12457 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * util/grub-mkrescue.in: Use same message as
12460 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12461 for better translations.
12462
12463 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12466 options with generic grub-mkrescue.in with the goal of future
12467 merge.
12468
12469 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * grub-core/kern/mm.c: Add missing include of i18n.h
12472 * grub-core/lib/relocator.c: Likewise.
12473
12474 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12477 error.
12478 (allocate_pages): Check return value.
12479 Replace fatal with error.
12480 (grub_linux_boot): Replace printf with dprintf.
12481 Check find_mmap_size return value.
12482 Replace fatal with error.
12483 Don't call grub_machine_fini.
12484 (grub_load_elf64): Replace printf with dprintf.
12485 (grub_cmd_linux): Likewise.
12486 (grub_cmd_initrd): Likewise.
12487 (grub_cmd_payload): Likewise.
12488
12489 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12492 message.
12493 * grub-core/video/radeon_fuloong2e.c
12494 (grub_video_radeon_fuloong2e_setup): Likewise.
12495 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12496 * grub-core/video/video.c (grub_video_set_mode): Don't override
12497 standard out of memory message.
12498
12499 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12500
12501 NetBSD disk wedge support.
12502
12503 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12504 [__NetBSD__]: Handle NetBSD disk wedges.
12505 * util/getroot.c (convert_system_partition_to_system_disk)
12506 [__NetBSD__]: Likewise.
12507
12508 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
12509
12510 * util/grub-mkconfig.in: Use umask rather than chmod to create
12511 grub.cfg.new to avoid insecure grub.cfg.
12512
12513 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * grub-core/commands/ls.c: Gettextize.
12516 * grub-core/commands/setpci.c: Likewise.
12517 * grub-core/commands/videotest.c: Likewise.
12518 * grub-core/disk/geli.c: Likewise.
12519 * grub-core/kern/mm.c: Likewise.
12520 * grub-core/lib/relocator.c: Likewise.
12521 * grub-core/loader/efi/appleloader.c: Likewise.
12522 * grub-core/loader/i386/xnu.c: Likewise.
12523 * grub-core/loader/ia64/efi/linux.c: Likewise.
12524 * grub-core/loader/xnu.c: Likewise.
12525 * grub-core/net/dns.c: Likewise.
12526 * grub-core/net/net.c: Likewise.
12527 * grub-core/script/lexer.c: Likewise.
12528 * grub-core/script/parser.y: Likewise.
12529 * grub-core/script/yylex.l: Likewise.
12530 * util/getroot.c: Likewise.
12531 * util/grub-setup.c: Likewise.
12532
12533 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12536 number.
12537
12538 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12541
12542 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12545 macro.
12546 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12547 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12548
12549 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12552 * util/grub-install.in: Gettextize.
12553 * util/grub-mkconfig.in: Likewise.
12554 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12555 if not available.
12556 (grub_warn): Gettextize.
12557 * util/grub-mknetdir.in: Gettextize.
12558 * util/grub-mkrescue.in: Likewise.
12559 * util/grub-mkstandalone.in: Likewise.
12560 * util/grub-reboot.in: Likewise.
12561 * util/grub-set-default.in: Likewise.
12562 * util/grub.d/00_header.in: Likewise.
12563 * util/grub.d/10_hurd.in: Likewise.
12564 * util/grub.d/10_kfreebsd.in: Likewise.
12565 * util/grub.d/10_linux.in: Likewise.
12566 * util/grub.d/10_netbsd.in: Likewise.
12567 * util/grub.d/10_windows.in: Likewise.
12568 * util/grub.d/20_linux_xen.in: Likewise.
12569 * util/grub.d/30_os-prober.in: Likewise.
12570 * po/POTFILES-shell.in: Regenerate.
12571
12572 2012-02-03 Richard Laager <rlaager@wiktel.com>
12573
12574 * util/grub-mkimage.c (main): Fix format-security warning.
12575 * util/grub-mkrelpath.c (main): Likewise.
12576 * util/grub-probe.c (main): Likewise.
12577
12578 2012-02-03 Richard Laager <rlaager@wiktel.com>
12579
12580 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12581 failure.
12582 Put back lost PRINT_DRIVE.
12583
12584 2012-02-03 Richard Laager <rlaager@wiktel.com>
12585
12586 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12587 (grub_guess_root_devices): Replace strlen with sizeof.
12588 Avoid crash.
12589 (find_root_devices_from_poolname): Remove unused variable.
12590 Handle raidzN.
12591
12592 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 Support install on multi-device filesystems.
12595
12596 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12597 (grub_guess_root_devices): ...this. Return char **. All users updated.
12598 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12599 Removed.
12600 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12601 (find_root_devices_from_poolname): ... here.
12602 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12603 Support zfs-fuse.
12604 (grub_guess_root_device): Rename to ...
12605 (grub_guess_root_devices): ... this. Return char **. All users updated.
12606 * util/grub-install.in: Handle multi-device filesystems.
12607 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12608 argument. All users updated.
12609 Handle multi-device filesystems.
12610 Use 'delim' as separator.
12611 Remove device check to allow filesystems on file.
12612 (main): Support -0 argument. Handle multi-device.
12613 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12614 Fix a cross-device check while on it.
12615 (arguments): Remove root_dev.
12616 (argp_parser): Remove -r.
12617 (main): Remove root_dev.
12618
12619 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12622
12623 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12626 symbol.
12627 Reported by: NODA, Kai <nodakai>.
12628
12629 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 Fix ehci on amd64.
12632
12633 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12634 pointers.
12635 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12636 (grub_ehci_setup_qh): Likewise.
12637 (grub_ehci_find_qh): Likewise.
12638 (grub_ehci_transaction): Likewise.
12639 (grub_ehci_setup_transfer): Likewise.
12640 (grub_ehci_check_transfer): Likewise.
12641 (grub_ehci_portstatus): Likewise.
12642 (grub_ehci_detect_dev): Likewise.
12643 (grub_ehci_transfer_controller_data): New field td_last_phys.
12644 (grub_ehci_setup_transfer): Fill td_last_phys.
12645 (grub_ehci_check_transfer): Use td_last_phys.
12646
12647 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12648
12649 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12650 if no submenu is present.
12651
12652 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12653
12654 CBI support.
12655
12656 * include/grub/usb.h (grub_usbms_protocol_t): New values
12657 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12658 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12659 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12660 (grub_usbms_dev): Add subclass, protocol and intrpt.
12661 Remove in_maxsz and out_maxsz.
12662 (grub_usbms_reset): Rename to ...
12663 (grub_usbms_bo_reset): .. this.
12664 (grub_usbms_cbi_cmd): New function.
12665 (grub_usbms_cbi_reset): Likewise.
12666 (grub_usbms_reset): Likewise.
12667 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12668 (grub_usbms_transfer): Rename to ...
12669 (grub_usbms_transfer_bo): ... this.
12670 (grub_usbms_transfer_cbi): Likewise.
12671 (grub_usbms_transfer): Likewise.
12672
12673 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12674 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12677 the support for the CS5536 modification thereos and few bugfixes.
12678
12679 * grub-core/Makefile.core.def (ehci): New module.
12680 * grub-core/bus/usb/ehci.c: New file.
12681 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12682 port and hubaddr. All users updated.
12683 Save port and hubaddr into dev structure.
12684 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12685 define.
12686 * include/grub/pci.h (grub_dma_phys2virt): New function.
12687 (grub_dma_virt2phys): Likewise.
12688 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12689
12690 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12693 check as some mkfs implementations omit it.
12694
12695 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12698
12699 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12702 Add new member volname2.
12703 (grub_jfs_label): Use volname2 if available.
12704
12705 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12708 over last_mounted as seen in image generated by mkfs.nilfs2.
12709 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12710
12711 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12714 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12715 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12716
12717 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12720 over the sector.
12721
12722 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12725 subvolume name (by removing a bogus and useless check).
12726
12727 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12730 sizeof while on it.
12731
12732 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12735 (grub_scsi_read_capacity10): ... this.
12736 (grub_scsi_read_capacity16): New function.
12737 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12738 0xffffffff.
12739 Fix off-by-one error.
12740 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12741 64-bit unsigned.
12742 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12743 (grub_scsi_read_capacity10): ... this.
12744 (grub_scsi_read_capacity_data): Rename to ...
12745 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12746 (grub_scsi_read_capacity16): New struct.
12747 (grub_scsi_read_capacity16_data): Likewise.
12748 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12749 grub_scsi_cmd_read_capacity10.
12750 New command grub_scsi_cmd_read_capacity16.
12751
12752 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 SCSI >2TiB support.
12755
12756 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12757 (grub_scsi_write16): Likewise.
12758 (grub_scsi_read): Use read16 when necessary.
12759 (grub_scsi_write): Likewise.
12760 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12761 (grub_scsi_write16): Likewise.
12762 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12763
12764 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 SCSI write support (for usbms mainly).
12767
12768 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12769 a const pointer.
12770 (grub_scsi_write): Implement.
12771 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12772
12773 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12776 variable.
12777
12778 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12781
12782 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * po/POTFILES.in: Regenerate.
12785
12786 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12789 with grub_printf to avoid unnecessary fatal failure.
12790
12791 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12794 (INT_MAX): Likewise.
12795 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12796 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12797 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12798 (strcpy): Likewise.
12799 (strstr): Likewise.
12800 (strchr): Likewise.
12801 (strncpy): Likewise.
12802 (strcat): Likewise.
12803 (strncat): Likewise.
12804 (strcoll): Likewise.
12805 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12806 (GRUB_INT_MAX): Likewise.
12807
12808 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12811 unexpected error.
12812 (optimize_utf8): Likewise.
12813 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12814
12815 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 * grub-core/boot/i386/pc/lnxboot.S: Use
12818 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12819 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12820 location.
12821 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12822 definition.
12823 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12824
12825 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12828 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12829 now to avoid double free.
12830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12831 hostdisk.
12832 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12833 * util/grub-probe.c (escape_of_path): Always return a new copy.
12834 (print_full_name): Escape path.
12835 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12836 Fix hints on abstractions.
12837
12838 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12841 Don't add "root" line if no compatibility hont is available.
12842 Suggested by: Seth Goldberg.
12843
12844 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12847 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12848 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12849 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12850
12851 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12854
12855 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * util/grub-pe2elf.c (ehdr): Make static.
12858 (shdr): Likewise.
12859 (num_sections): Likewise.
12860 (offset): Likewise.
12861
12862 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 Eliminate ofpath limits and possible overflows.
12865
12866 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12867 (OF_PATH_MAX): Removed.
12868 (MAX_DISK_CAT): New const.
12869 (find_obppath): Use allocated rather than preallocated buffer.
12870 Return result. Argument of_path removed. All users updated.
12871 Add missing fdstat.
12872 (xrealpath): New function.
12873 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12874 Allocate rather than use preallocated buffer. All users updated.
12875 (__of_path_common): Use allocated rather than preallocatecd buffer.
12876 Return result. Argument of_path removed. All users updated.
12877 (vendor_is_ATA): Read only needed part form the file.
12878 (check_sas): Allocate depending on contents rather than fixed.
12879 (main) [STANDALONE]: Handle NULL result.
12880
12881 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12884
12885 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 Cryptodisk write support.
12888
12889 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12890 (grub_cryptodisk_decrypt): Moved logic to ...
12891 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12892 (grub_cryptodisk_write): Implement.
12893 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12894 (grub_util_fd_write): ... this. Make global.
12895 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12896
12897 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * include/grub/list.h (grub_list_remove): Don't crash if element is
12900 removed twice.
12901
12902 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 Rename ofconsole to console.
12905
12906 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12907 as sysnonym to console.
12908 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12909 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12910 Rename grub_ofconsole_ to grub_console_. All users updated
12911 (grub_console_term_output): Rename "ofconsole" to "console".
12912 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12913 as "console".
12914
12915 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12918 handling.
12919 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12920 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12921 GRUB_DISK_DEVICE_FILE_ID.
12922
12923 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12926 and improve performance.
12927
12928 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12931 missing ieee1275/ prefix on whole disk.
12932
12933 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12936 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12937
12938 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12941
12942 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 Merge common RAID and LVM logic to an abstract diskfilter.
12945 Add LDM support using the same framework.
12946
12947 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12948 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12949 (libgrubmods): Remove grub-core/disk/raid.c and
12950 grub-core/partmap/gpt.c.
12951 * grub-core/Makefile.core.def (ldm): New module.
12952 (raid): Renamed to diskfilter. All users updated.
12953 * grub-core/disk/raid.c: Moved to ...
12954 * grub-core/disk/diskfilter.c: ... here.
12955 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12956 (lv_num): New var.
12957 (find_array): Renamed to ...
12958 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12959 (grub_is_array_readable): Renamed to ...
12960 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12961 (insert_array): New argument id.
12962 (is_node_readable): New function.
12963 (scan_device): Rename to ...
12964 (scan_disk): .. this. Restrict to one disk.
12965 (scan_devices): New function.
12966 (grub_diskfilter_iterate): Support multi-LV.
12967 Skip invisible and nameless LVs.
12968 (grub_diskfilter_memberlist): Support multi-LV.
12969 (grub_diskfilter_read_node): New function.
12970 (grub_raid_read): Most of logic moved to ...
12971 (read_segment): ... here
12972 (read_lv): New function.
12973 (grub_diskfilter_get_vg_by_uuid): New function.
12974 (grub_diskfilter_make_raid): Likewise.
12975 * grub-core/disk/ldm.c: New file.
12976 * grub-core/disk/lvm.c (vg_list): Removed.
12977 (lv_count): Likewise.
12978 (scan_depth): Likewise.
12979 (is_lv_readable): Likewise.
12980 (grub_lvm_getvalue): Advance pointer past the number.
12981 (find_lv): Removed.
12982 (do_lvm_scan): Refactored into ...
12983 (grub_lvm_detect): ... this. Support raid.
12984 (grub_lvm_iterate): Removed.
12985 (grub_lvm_memberlist): Likewise.
12986 (grub_lvm_open): Likewise.
12987 (grub_lvm_close): Likewise.
12988 (read_lv): Likewise.
12989 (read_node): Likewise.
12990 (is_node_readable): Likewise.
12991 (is_lv_readable): Likewise.
12992 (grub_lvm_read): Likewise.
12993 (grub_lvm_write): Likewise.
12994 (grub_lvm_dev): Use diskfilter
12995 (GRUB_MOD_INIT): Likewise.
12996 (GRUB_MOD_FINI): Likewise.
12997 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12998 new interface.
12999 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13000 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13001 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13002 grub_diskfilter_read_node.
13003 Fix a bug with xor.
13004 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13005 grub_diskfilter_read_node.
13006 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13007 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13008 (grub_disk_dev_iterate): Move from here...
13009 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13010 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13011 Make global.
13012 (grub_hostdisk_find_partition_start): Likewise.
13013 (grub_hostdisk_os_dev_to_grub_drive): New function.
13014 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13015 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13016 * util/getroot.c (make_device_name): ... here.
13017 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13018 Move to ...
13019 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13020 * grub-core/kern/emu/hostdisk.c
13021 (convert_system_partition_to_system_disk): Move to ...
13022 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13023 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13024 * util/getroot.c (device_is_wholedisk): ... here.
13025 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13026 * util/getroot.c (find_system_device): ... here.
13027 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13028 Move to ...
13029 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13030 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13031 Move to ...
13032 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13033 Handle LDM.
13034 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13035 Move to ...
13036 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13037 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13038 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13039 DISKFILTER.
13040 * include/grub/raid.h: Renamed to ...
13041 * include/grub/diskfilter.h: ... this.
13042 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13043 (GRUB_RAID_LAYOUT_*): Make into array.
13044 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13045 (grub_diskfilter_vg): New struct.
13046 (grub_diskfilter_pv_id): Likewise.
13047 (grub_raid_member): Removed.
13048 (grub_raid_array): Likewise.
13049 (grub_diskfilter_pv): New struct.
13050 (grub_diskfilter_lv): Likewise.
13051 (grub_diskfilter_segment): Likewise.
13052 (grub_diskfilter_node): Likewise.
13053 (grub_diskfilter_get_vg_by_uuid): New proto.
13054 (grub_raid_register): Inline.
13055 (grub_diskfilter_unregister): Likewise.
13056 (grub_diskfilter_make_raid): New proto.
13057 (grub_diskfilter_vg_register): Likewise.
13058 (grub_diskfilter_read_node): Likewise.
13059 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13060 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13061 (grub_util_is_ldm): Likewise.
13062 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13063 (grub_hostdisk_find_partition_start): Likewise.
13064 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13065 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13066 New definition.
13067 (grub_gpt_partition_map_iterate): New proto.
13068 * include/grub/lvm.h (grub_lvm_vg): Removed.
13069 (grub_lvm_pv): Likewise.
13070 (grub_lvm_lv): Likewise.
13071 (grub_lvm_segment): Likewise.
13072 (grub_lvm_node): Likewise.
13073 * util/getroot.c [...]
13074 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13075 (probe_abstraction): Likewise.
13076 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13077 (main): Remove dead logic.
13078
13079 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 Simplify root device discover and don't fail when trying to open
13082 incorrect devices.
13083
13084 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13085 function.
13086 (get_diskname_from_path): Likewise.
13087 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13088 of iterating.
13089
13090 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13093
13094 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13097 pastthe end.
13098
13099 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * util/grub-install.in: Add missing \.
13102 Reported by: gentoofan
13103
13104 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13107 (direct_read): Use correct compressed size.
13108 (grub_squash_read_data): Likewise.
13109
13110 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * docs/grub.texi (Platform limitations): New section.
13113 (Platform-specific operations): Likewise.
13114 * docs/grub-dev.texi (Porting): Likewise.
13115
13116 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 IEEE1275 disk write support.
13119
13120 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13121 const void *.
13122 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13123 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13124 and seek loginc to ...
13125 (grub_ofdisk_prepare): ... here.
13126 (grub_ofdisk_write): Implement.
13127
13128 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 ARC disk write support.
13131
13132 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13133 (reopen): New argument writable. All users updated.
13134 Handle required access mode.
13135 (grub_arcdisk_write): Implement.
13136 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13137 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13138
13139 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13142 (read_sblock): Don't attempt to read superblocks outside the disk size.
13143
13144 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13147 first superblock to find the second one when possible.
13148
13149 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * util/grub-install.in: Fix an ARC bug.
13152 Print a warning if no platform-specific setup is available.
13153
13154 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 Use static allocation rather than scratch pointer in reed_solomon.
13157 It decreases its size significantly and avoids a variable in .text.
13158
13159 * grub-core/lib/reed_solomon.c (scratch): Removed.
13160 (chosenstat): New const or static array.
13161 (sigma): Likewise.
13162 (errpot): Likewise.
13163 (errpos): Likewise.
13164 (sy): Likewise.
13165 (mstat): Likewise.
13166 (errvals): Likewise.
13167 (eqstat): Likewise.
13168 (pol_evaluate): Replace x with log_x argument. All users updated.
13169 (syndroms): Removed.
13170 (gauss_solve): Use statically allocated arrays.
13171 (rs_recover): Likewise.
13172 Calculate syndroms directly.
13173 (decode_block): Use statically allocated arrays.
13174 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13175 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13176
13177 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 Eliminate fixed limit on reed solomon decoder length.
13180
13181 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13182 rather than hardcoding the address.
13183 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13184 no_reed_solomon_length.
13185 Move gate_a20 to no-reed-solomon part.
13186 Don't force a particular size of no reed-solomon part.
13187 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13188 Removed.
13189 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13190 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13191
13192 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * grub-core/commands/wildcard.c (match_files): Handle filenames
13195 without explicit device.
13196 (wildcard_expand): Don't add explicit device if not already present.
13197 * tests/grub_script_echo1.in: Add a new expansion test.
13198
13199 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 Replace single-linked with double-linked lists. It results in more
13202 compact and more efficient code.
13203
13204 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13205 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13206 (grub_list_remove): Moved from here ...
13207 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13208 (grub_prio_list_insert): Set prev.
13209 * include/grub/list.h (grub_list): Add prev. All users updated.
13210
13211 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 Handle newer autotools. Add some missing quotes while on it.
13214
13215 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13216 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13217 (pkgdata_DATA): ... here.
13218 * Makefile.util.def (update-grub_lib): Removed.
13219 * conf/Makefile.common (pkglib_DATA): Removed.
13220 (pkglib_SCRIPTS): Likewise.
13221 (pkgdata_DATA): New variable.
13222 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13223 needed.
13224 Add missing quotes.
13225 Remove unused variable while on it.
13226 * tests/util/grub-shell.in: Likewise.
13227 * util/grub-install.in: Likewise.
13228 * util/grub-mkconfig.in: Likewise.
13229 * util/grub-mknetdir.in: Likewise.
13230 * util/grub-mkrescue.in: Likewise.
13231 * util/grub-mkstandalone.in: Likewise.
13232 * util/grub.d/00_header.in: Likewise.
13233 * util/grub.d/10_hurd.in: Likewise.
13234 * util/grub.d/10_illumos.in: Likewise.
13235 * util/grub.d/10_kfreebsd.in: Likewise.
13236 * util/grub.d/10_linux.in: Likewise.
13237 * util/grub.d/10_netbsd.in: Likewise.
13238 * util/grub.d/10_windows.in: Likewise.
13239 * util/grub.d/20_linux_xen.in: Likewise.
13240 * util/grub.d/30_os-prober.in: Likewise.
13241 * util/update-grub_lib.in: Removed.
13242
13243 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
13244
13245 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13246 a workaround for intel problem.
13247
13248 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
13249 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13250 2012-01-23 pfsmorigo
13251
13252 * util/grub-install.in: Support dd'in into PreP partition.
13253 * util/grub-probe.c (probe): Support discovering partition type.
13254 (main): Support -t msdos_parttype.
13255
13256 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13259 infinite recursion using counter.
13260 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13261 init to skip it if the magic check fails.
13262 (dec_stream_header): Init s->crc32.
13263
13264 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13265 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
13266 2012-01-22 Richard Laager <rlaager@wiktel.com>
13267
13268 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13269 All users updated.
13270 (find_bestub): Determine correct size.
13271 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13272 (scan_disk): Align the size down.
13273 Call check pool before find_bestub to have ashift.
13274
13275 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13278 dprintf in no-malloc zone.
13279
13280 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13281
13282 * configure.ac: Add back in test for limits.h.
13283
13284 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 Support 4K-sector NTFS.
13287
13288 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13289 (grub_ntfs_data): Remove blocksize.
13290 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13291 Remove data argument. All users updated.
13292
13293 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13296 being in .text to avoid dprel references.
13297 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13298 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13299 (grub_arch_highmemsize): Likewise.
13300 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13301 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13302 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13303
13304 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13307
13308 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13309 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13310
13311 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13314 GRUB_UTIL.
13315 (grub_set_datetime_cmos): Likewise.
13316
13317 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 Make XZ compression parameters dependent on target and not host CPU.
13320
13321 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13322 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13323
13324 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13327 set but not used variable.
13328
13329 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13332 created when no uuid support is compiled into mkfs.reiser.
13333
13334 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13337 (utf8_to_macroman): Do the opposite.
13338 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13339
13340 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * configure.ac: Refise build qemu_mips w/o unifont.
13343
13344 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 Eliminate grub_min/grub_max prone to overflow usage.
13347
13348 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13349 (poll_nonroot_hub): Likewise.
13350 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13351 (grub_affs_label): Likewise.
13352 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13353 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13354 (grub_hfs_label): Likewise.
13355 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13356 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13357 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13358 (zap_leaf_array_get): Likewise.
13359 (dnode_get_path): Likewise.
13360 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13361 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13362 * grub-core/script/execute.c (grub_script_break): Likewise.
13363 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13364 grub_max.
13365 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13366 * include/grub/misc.h (grub_min): Removed.
13367 (grub_max): Likewise.
13368
13369 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13370
13371 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13372 direct.inode = 0.
13373
13374 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13377
13378 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13381
13382 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13385 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13386
13387 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13390 rather than a hack for grub_strncasemap.
13391
13392 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 Support multiple initrds
13395 Note: part of this was accidently committed in r3739.
13396
13397 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13398 initrd.
13399 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13400 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13401 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13402 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13403 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13404
13405 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13408 disks with unknown size.
13409 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13410
13411 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 Remove defines pertaining to arbitrary limits not affecting GRUB
13414 anymore.
13415
13416 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13417 (EXT2_MAX_SYMLINKCNT): Likewise.
13418 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13419 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13420 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13421 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13422 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13423 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13424 (DN_MAX_OBJECT_SHIFT): Likewise.
13425 (DN_MAX_OFFSET_SHIFT): Likewise.
13426 (DN_MAX_OBJECT): Likewise.
13427 (DNODES_PER_LEVEL_SHIFT): Likewise.
13428 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13429 (SPA_MAXBLOCKSIZE): Likewise.
13430 (SPA_BLOCKSIZES): Likewise.
13431 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13432 (MZAP_MAX_BLKSZ): Likewise.
13433
13434 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13437 handle NULL appropriately.
13438 Remove MIN.
13439
13440 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13441
13442 Fix efiemu.
13443
13444 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13445 cpu/types.h.
13446 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13447 * configure.ac: Fix efiemu check.
13448
13449 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13452 grub_probe.
13453 Reported by: adamwill
13454
13455 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13456
13457 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13458
13459 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 Fix handling of wide characters in gfxterm.
13462
13463 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13464 (clear_char): Likewise.
13465 (paint_char): Skip code == NULL chars.
13466 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13467
13468 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/normal/charset.c: Move comment to right place.
13471
13472 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13475 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13476 (grub_affs_mount): Revert the correct version checking.
13477
13478 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * docs/grub.texi (Unicode): Mention several other unsupported features.
13481
13482 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13485 case statements as compile-time one.
13486 (direct_read): Prevent spurious warnings.
13487 (grub_squash_read_data): Likewise.
13488
13489 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Various squash4 fixes and LZO and XZ support.
13492
13493 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13494 Add xzembed source files.
13495 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13496 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13497 (grub_squash_inode): New subtype long_dir.
13498 (SQUASH_TYPE_LONG_DIR): New inode type.
13499 (COMPRESSION): New enum.
13500 (XZBUFSIZ): New const.
13501 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13502 (read_chunk): Use data->decompress.
13503 (zlib_decompress): New function.
13504 (lzo_decompress): Likewise.
13505 (xz_decompress): Likewise.
13506 (squash_mount): Set new data fields.
13507 (grub_squash_iterate_dir): Handle long dir.
13508 (squash_unmount): Free xzdec and xzbuf.
13509 (grub_squash_open): Check ino type.
13510 (direct_read): Stylistic fixes. Use data->decompress.
13511 (grub_squash_read_data): Likewise.
13512 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13513 (get_byte): Likewise.
13514 (grub_zlib_disk_read): Removed.
13515 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13516 (GRUB_POSIX_BOOL_DEFINED): New define.
13517 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13518 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13519 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13520 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13521
13522 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 Don't override more informative errors.
13525
13526 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13527 * grub-core/font/font.c (open_section): Likewise.
13528 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13529 filename. Don't override errors.
13530 (grub_cmd_openbsd_ramdisk): Don't override errors.
13531 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13532 (grub_cmd_initrd): Likewise.
13533 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13534 (grub_cmd_initrd): Likewise.
13535 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13536 (grub_cmd_linux): Likewise.
13537 (grub_cmd_initrd): Likewise.
13538 (grub_cmd_payload): Likewise.
13539 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13540 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13541 (grub_cmd_module): Likewise.
13542 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13543 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13544 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13545 (grub_cmd_xnu_mkext): Likewise.
13546 (grub_cmd_xnu_ramdisk): Likewise.
13547 (grub_xnu_check_os_bundle_required): Likewise.
13548 (grub_xnu_load_kext_from_dir): Likewise.
13549 (grub_cmd_xnu_kextdir): Likewise.
13550 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13551
13552 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13555 as 1024 in block size field. Found on one of my test images.
13556 Small optimisation while on it.
13557
13558 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13561 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13562 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13563 performance fixes while on it.
13564 (grub_sfs_close): Fix memory leak while on it.
13565 (grub_sfs_label): Convert Latin1 to UTF-8.
13566
13567 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13570 space to avoid overflows.
13571 (grub_hfs_label): Convert from macroman to UTF-8.
13572
13573 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13576
13577 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13580
13581 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * unicode: Import Unicode 6.0 data.
13584
13585 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13588 outside of range.
13589
13590 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 Avoid cutting in the middle of UTF-8 character.
13593
13594 * include/grub/charset.h (grub_getend): New function.
13595 * grub-core/script/function.c (grub_script_function_find): Use
13596 grub_getend.
13597 * grub-core/normal/completion.c (add_completion): Likewise.
13598
13599 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13602 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13603 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13604 (GRUB_UNICODE_TAG_END): Likewise.
13605 (GRUB_UNICODE_LAST_VALID): Likewise.
13606
13607 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13610 len and make it smaller. All users updated.
13611 * util/import_unicode.py: Put length and not end character.
13612 Check length.
13613
13614 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 Make better Unicode-compliant and unify some UTF-8 code pathes.
13617
13618 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13619 valid character.
13620 (grub_is_valid_utf8): Use grub_utf8_process.
13621 Check resulting code range.
13622 (grub_utf8_to_ucs4): Use grub_utf8_process.
13623 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13624 valid character.
13625
13626 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13629
13630 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * docs/grub.texi (Filesystems): Mention AFS.
13633
13634 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * docs/grub.texi (Filesystems): Clarify restrictions.
13637 (Regexp): Mention non-Unicode regexp behaviour.
13638 (Other): Mention non-Unicode matching behaviour.
13639
13640 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 Make HFS implementation use MacRoman.
13643
13644 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13645 (macroman): New const array.
13646 (macroman_to_utf8): New function.
13647 (utf8_to_macroman): Likewise.
13648 (grub_hfs_find_dir): Use utf8_to_macroman.
13649 (grub_hfs_dir): Use macroman_to_utf8.
13650 Set case_insensitive.
13651
13652 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13655
13656 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 Integrate hints into autogeneration scripts.
13659
13660 * docs/grub.texi (Filesystems): Add a hostdisk example.
13661 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13662 (grub-probe): Add ofpath.
13663 * gentpl.py: Remove group nosparc64.
13664 * grub-core/commands/search.c (cache_entry): New struct.
13665 (cache): New var.
13666 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13667 * grub-core/commands/search_wrap.c (options): Add platform-specific
13668 hint options.
13669 (grub_cmd_search): Handle platform-specific hints.
13670 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13671 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13672 (grub_util_biosdisk_data): Likewise.
13673 (grub_util_biosdisk_open): Set device_map.
13674 (read_device_map): Handle "" as indication of no map.
13675 Set device_map.
13676 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13677 (grub_util_biosdisk_get_compatibility_hint): New function.
13678 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13679 * include/grub/emu/hostdisk.h
13680 (grub_util_biosdisk_get_compatibility_hint): New proto.
13681 * util/grub-install.in: Don't call grub-mkdevicemap.
13682 Add platform-specific hint to load.cfg.
13683 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13684 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13685 hints. Set root preliminary to compatibility hint, not to OS name.
13686 * util/grub-probe.c (PRINT_*): Add hints.
13687 (print): Make static.
13688 (escape_of_path): New function.
13689 (guess_bios_drive): Likewise.
13690 (guess_efi_drive): Likewise.
13691 (guess_baremetal_drive): Likewise.
13692 (print_full_name): Likewise.
13693 (probe): Handle hints.
13694 (main): Likewise.
13695 * util/ieee1275/devicemap.c: Removed.
13696 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13697 updated.
13698 (grub_util_devname_to_ofpath): Return NULL on failure.
13699
13700 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13701 resource leak.
13702 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13703
13704 * po/POTFILES.in: Regenerated.
13705
13706 Allow purely long options
13707
13708 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13709 (SHORT_ARG_USAGE): Likewise.
13710 (grub_arg_show_help): Compare opt with help_options.
13711 (parse_option): Receive opt as argument. If makes big simplificatons.
13712 All users updated
13713
13714 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13717 Restructure to avoid warning.
13718
13719 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13720
13721 * util/grub-install.in: Account for possible escaped comma in device
13722 name.
13723
13724 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13727 channel.
13728
13729 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13732 allocation and zero-setting.
13733 (grub_ieee1275_get_devname): Check that alias is complete.
13734
13735 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13738 unaligned segments.
13739
13740 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13743 prefix.
13744 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13745 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13746 Add ieee1275 prefix.
13747
13748 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * docs/grub.texi (Filesystems): Update.
13751
13752 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 Support odc, newc and bigendian cpio formats.
13755
13756 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13757 * grub-core/Makefile.core.def (newc): New module.
13758 (odc): Likewise.
13759 (cpio_be): Likewise.
13760 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13761 (MAGIC): Likewise.
13762 (MAGIC2): Likewise.
13763 (head) [MODE_ODC]: Adapt for the format.
13764 (head) [MODE_NEWC]: Likewise.
13765 (head) [!MODE_*]: Write fields of interest as arrays.
13766 (MAGIC_USTAR): Removed.
13767 (read_number) [MODE_NEWC]: Change to hex.
13768 (read_number) [!MODE_*]: Parse binary arrays.
13769 (grub_cpio_find_file): Factor out the code for better structure and
13770 always use read_number.
13771 (grub_cpio_mount): Use MAGIC and MAGIC2.
13772 (grub_cpio_dir): Exit on first hook non-0 return.
13773 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13774 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13775 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13776 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13777 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13778 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13779 * grub-core/fs/newc.c: New file.
13780 * grub-core/fs/odc.c: Likewise.
13781 * grub-core/fs/cpio_be.c: Likewise.
13782
13783 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 Fix handling of tar numbers occupying the whole field.
13786
13787 * grub-core/fs/cpio.c (read_number): New function.
13788 (grub_cpio_find_file): Use read_number instead of strtoull.
13789
13790 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13793 occupying the whole field size.
13794
13795 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13796
13797 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13798
13799 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13802
13803 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13804
13805 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13806 TARGET_IMG_LDFLAGS.
13807
13808 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13811 (mountinfo_entry): Increase the field size to take escaping into
13812 account.
13813 (find_root_device_from_libzfs): Add one byte to size of strings for
13814 security.
13815
13816 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13819 an assert.
13820 * util/grub-setup.c (setup): Likewise.
13821
13822 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13825 _LzmaDecodeA.
13826
13827 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * docs/grub.texi (Internationalisation): New section.
13830
13831 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * docs/grub.texi (Loopback booting): New section.
13834
13835 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
13836
13837 * util/grub-mkstandalone.in: Fix minor typo errors.
13838
13839 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13842
13843 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13844 net/icmp.c and net/icmp6.c.
13845 (http): New module.
13846 (priority_queue): Likewise.
13847 * grub-core/io/bufio.c: Rewritten.
13848 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13849 TYPE_WITH_CONFIGFILE_OPTION.
13850 (legacy_commands): Add bootp and dhcp.
13851 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13852 (grub_legacy_parse): Likewise.
13853 * grub-core/lib/priority_queue.c: New file.
13854 * grub-core/net/arp.c: Add missing license header.
13855 (arp_find_entry): Removed.
13856 (arp_find_entry): Likewise.
13857 (grub_net_arp_resolve): Rename to ...
13858 (grub_net_arp_send_request): ...this.
13859 (grub_net_arp_receive): New card argument.
13860 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13861 Set router and DNS server.
13862 (grub_net_configure_by_dhcp_ack): Handle routing information.
13863 (grub_cmd_bootp): Set checksum.
13864 (grub_bootp_init): Remove net_dhcp.
13865 * grub-core/net/dns.c: New file.
13866 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13867 completion.
13868 (get_card_packet): Handle allocation.
13869 (grub_efinet_findcards): Set mtu.
13870 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13871 (get_card_packet): Handle allocation.
13872 (emucard): Set mtu.
13873 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13874 (GRUB_MOD_INIT): Set mtu.
13875 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13876 mtu.
13877 (get_card_packet): Handle allocation.
13878 (grub_ofnet_findcards): Set mtu.
13879 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13880 assert.
13881 (grub_net_recv_ethernet_packet): Handle IPv6.
13882 * grub-core/net/http.c: New file.
13883 * grub-core/net/icmp.c: Likewise.
13884 * grub-core/net/icmp6.c: Likewise.
13885 * grub-core/net/ip.c (ip6addr): New type.
13886 (ip6hdr): Likewise.
13887 (reassemble): Likewise.
13888 (cmp): New function.
13889 (reassembles): New variable.
13890 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13891 (id): New variable.
13892 (send_fragmented): New function.
13893 (grub_net_send_ip_packet): Rename to ...
13894 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13895 Handle non-UDP.
13896 (grub_net_recv_ip_packets): Rename to ...
13897 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13898 (free_rsm): New function.
13899 (free_old_fragments): Likewise.
13900 (grub_net_recv_ip4_packets): New function.
13901 (grub_net_send_ip6_packet): Likewise.
13902 (grub_net_send_ip_packet): Likewise.
13903 (grub_net_recv_ip6_packets): Likewise.
13904 (grub_net_recv_ip_packets): Likewise.
13905 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13906 (LINK_LAYER_CACHE_SIZE): New const.
13907 (link_layer_find_entry): New function.
13908 (grub_net_link_layer_add_address): Likewise.
13909 (grub_net_link_layer_resolve_check): Likewise.
13910 (grub_net_link_layer_resolve): Likewise.
13911 (grub_net_ipv6_get_slaac): Likewise.
13912 (grub_net_ipv6_get_link_local): Likewise.
13913 (grub_cmd_ipv6_autoconf): Likewise.
13914 (parse_ip): Handle one number representation.
13915 (parse_ip6): New functoion.
13916 (match_net): Handle IPv6.
13917 (grub_net_resolve_address): Handle IPv6 and DNS.
13918 (grub_net_resolve_net_address): Handle IPv6.
13919 (route_cmp): New function.
13920 (grub_net_route_address): Find best route.
13921 (grub_net_addr_to_str): Handle IPv6.
13922 (grub_net_addr_cmp): New function.
13923 (grub_net_add_addr): Register local route.
13924 (print_net_address): Handle net address.
13925 (grub_net_poll_cards): Retransmit TCP.
13926 (grub_net_poll_cards_idle_real): Likewise.
13927 (have_ahead): New function.
13928 (grub_net_seek_real): Use underlying seek.
13929 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13930 * grub-core/net/tcp.c: New file.
13931 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13932 (cmp): New function.
13933 (ack): Likewise.
13934 (tftp_receive): Handle unordered input.
13935 (destroy_pq): New function.
13936 (tftp_close): Close pq.
13937 * grub-core/net/udp.c: Put missing license header.
13938 (grub_net_udp_socket): New function.
13939 (udp_socket_register): Likewise.
13940 (grub_net_udp_close): Likewise.
13941 (grub_net_recv_udp_packet): Check checksum.
13942 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13943 * include/grub/misc.h (grub_memchr): New function.
13944 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13945 (grub_net_card_driver): Return buf in recv.
13946 (grub_net_slaac_mac_list): New struct.
13947 (grub_network_level_protocol_id): Add ipv6.
13948 (grub_net_network_level_addr): Likewise.
13949 (grub_net_network_level_net_addr): Likewise.
13950 (grub_net_app_protocol): Add seek.
13951 (grub_net_socket): Removed.
13952 (grub_net_sockets): Likewise.
13953 (grub_net_socket_register): Likewise.
13954 (grub_net_socket_unregister): Likewise.
13955 (FOR_NET_SOCKETS): Likewise.
13956 (grub_net_add_addr): Add const.
13957 (GRUB_NET_BOOTP_*): New enum.
13958 (grub_net_addr_cmp): New proto.
13959 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13960 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13961 (grub_net_hwaddr_to_str): NEw proto.
13962 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13963 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13964 (grub_dns_init): New proto.
13965 (grub_dns_fini): Likewise.
13966 (grub_net_tcp_retransmit): Likewise.
13967 (grub_net_link_layer_add_address): Likewise.
13968 (grub_net_link_layer_resolve_check): Likewise.
13969 (grub_net_link_layer_resolve): Likewise.
13970 (grub_net_dns_lookup): Likewise.
13971 (grub_net_add_dns_server): Likewise.
13972 (grub_net_remove_dns_server): Likewise.
13973 (GRUB_NET_TRIES): New const.
13974 (GRUB_NET_INTERVAL): Likewise.
13975 * include/grub/net/arp.h: Mostly rewritten.
13976 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13977 * include/grub/net/ip.h: Mostly rewritten.
13978 * include/grub/net/netbuff.h: Indent.
13979 * include/grub/net/tcp.h: New file.
13980 * include/grub/net/udp.h: Mostly rewritten.
13981 * include/grub/priority_queue.h: New file.
13982 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13983 (grub_swap_bytes64_compile_time): Likewise.
13984 (grub_cpu_to_be16_compile_time): Likewise.
13985 (grub_cpu_to_be32_compile_time): Likewise.
13986 (grub_cpu_to_be64_compile_time): Likewise.
13987 (grub_be_to_cpu64_compile_time): Likewise.
13988
13989 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13992 UINT_TO_PTR with cast.
13993
13994 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13997 don't use them.
13998
13999 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14002 already there.
14003
14004 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14007 confusing ipxe.
14008
14009 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14012 Add missing const attribute.
14013 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14014 Likewise.
14015 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14016 Likewise.
14017
14018 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14021 misaligned access.
14022 (serpent_setkey): Likewise.
14023 (serpent_encrypt_internal): Likewise.
14024 (serpent_decrypt_internal): Likewise.
14025 (serpent_encrypt): Don't put an alignment-increasing cast.
14026 (serpent_decrypt): Likewise.
14027 (serpent_test): Likewise.
14028
14029 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14032
14033 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14036
14037 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14038 grub_addr_t casts.
14039 (PTR_TO_UINT64): Likewise.
14040 (PTR_TO_UINT32): Likewise.
14041
14042 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14045 because of stack.
14046 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14047 limit.
14048
14049 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14052 text_width > available width a bit more gracefully.
14053
14054 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14057 current address calculation.
14058
14059 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14062 stack.
14063 (encode_block): Likewise.
14064
14065 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14068 certainety.
14069
14070 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14073 non-RS part to avoid RS messing with GDT.
14074 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14075 Increase to suit in realmode routines.
14076
14077 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * grub-core/kern/i386/realmode.S: Increase alignment.
14080 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14081
14082 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14085 be deterministic.
14086 (syndroms): Compute 0 syndrom.
14087 (rs_recover): Use 0 syndrom.
14088
14089 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14092
14093 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14096 brackets.
14097
14098 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14101 account.
14102 (get_top_pad): Likewise.
14103 (get_right_pad): Likewise.
14104 (get_bottom_pad): Likewise.
14105
14106 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
14109
14110 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14113 attribute as the structure isn't guaranteed to be properly aligned.
14114 (grub_efi_pci_device_path): Likewise.
14115 (grub_efi_pccard_device_path): Likewise.
14116 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14117 specify the size of `memory_type'.
14118 (grub_efi_vendor_device_path): Likewise.
14119 (grub_efi_controller_device_path): Likewise.
14120 (grub_efi_acpi_device_path): Likewise.
14121 (grub_efi_expanded_acpi_device_path): Likewise.
14122 (grub_efi_atapi_device_path): Likewise.
14123 (grub_efi_scsi_device_path): Likewise.
14124 (grub_efi_fibre_channel_device_path): Likewise.
14125 (grub_efi_1394_device_path): Likewise.
14126 (grub_efi_usb_device_path): Likewise.
14127 (grub_efi_usb_class_device_path): Likewise.
14128 (grub_efi_i2o_device_path): Likewise.
14129 (grub_efi_mac_address_device_path): Likewise.
14130 (grub_efi_ipv4_device_path): Likewise.
14131 (grub_efi_ipv6_device_path): Likewise.
14132 (grub_efi_infiniband_device_path): Likewise.
14133 (grub_efi_uart_device_path): Likewise.
14134 (grub_efi_vendor_messaging_device_path): Likewise.
14135 (grub_efi_hard_drive_device_path): Likewise.
14136 (grub_efi_cdrom_device_path): Likewise.
14137 (grub_efi_vendor_media_device_path): Likewise.
14138 (grub_efi_file_path_device_path): Likewise.
14139 (grub_efi_protocol_device_path): Likewise.
14140 (grub_efi_piwg_device_path): Likewise.
14141 (grub_efi_bios_device_path): Likewise.
14142
14143 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14146 (grub_ucs4_to_utf8_alloc): Likewise.
14147 (grub_ucs4_to_utf8): Likewise.
14148 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14149 (grub_ucs4_to_utf8_alloc): Likewise.
14150
14151 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 AFFS never uses unicode.
14154
14155 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14156 (grub_latin1_to_utf8): New inline function.
14157 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14158
14159 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14162 overflow.
14163
14164 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14167 (grub_squash_dirent_header): Likewise.
14168 (read_chunk): Don't double swap.
14169 (grub_squash_iterate_dir): Fix swap sizes.
14170
14171 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14174
14175 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14178 (grub_hfs_iterate_dir): Likewise.
14179
14180 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 Fix video on platforms where unaligned access is forbidden.
14183 Make several optimisations while on it.
14184
14185 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14186 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14187 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14188 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14189 Disable.
14190 (grub_video_fbblit_replace_16bit_1bit):
14191 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14192 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14193 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14194 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14195 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14196 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14197 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14198 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14199 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14200 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14201 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14202 (grub_video_fbblit_replace_index_RGB888): Likewise.
14203 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14204 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14205 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14206 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14207 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14208 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14209 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14210 Disable.
14211 (grub_video_fbblit_blend_XXX565_1bit):
14212 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14213 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14214 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14215 void *.
14216 * grub-core/video/fb/video_fb.c (common_blitter)
14217 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14218 (grub_video_fb_create_render_target_from_pointer)
14219 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14220 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14221 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14222 definition.
14223 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14224
14225 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14228 HH22 and HM10 relocations.
14229
14230 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14233
14234 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14237 allocation succeeded.
14238
14239 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14242 argument a u8 pointer. All users updated.
14243 Handle unaligned buffers.
14244
14245 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14248 add_part to workaround compiler bug.
14249
14250 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14253
14254 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14257 Reserve alignment invariants.
14258 (grub_multiboot_load): Likewise.
14259 (retrieve_video_parameters): Likewise.
14260 (grub_multiboot_make_mbi): Likewise.
14261
14262 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14265 incorrect pointer.
14266
14267 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14270 (grub_pata_pio_write): Likewise.
14271
14272 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 Add noreturn attributes and remove unreachable code.
14275
14276 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14277 code.
14278 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14279 code. Mark as noreturn.
14280 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14281 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14282 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14283 unreachable code.
14284 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14285 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14286 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14287 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14288 * include/grub/kernel.h (grub_main): Mark as noreturn.
14289 * include/grub/reader.h (grub_rescue_run): Likewise.
14290
14291 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14294 redundant declaration.
14295
14296 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14299 redundant declaration.
14300 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14301
14302 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14305 to ensure alignment.
14306 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14307 alignment. Ensure tmp alignment.
14308 (grub_cmd_hdparm): Ensure buf alignment.
14309 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14310 to ensure alignment.
14311 (grub_ata_dumpinfo): Ensure text alignment.
14312 (grub_atapi_identify): Preserve alignment invariant.
14313 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14314
14315 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14318 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14319 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14320 * include/grub/misc.h (grub_reboot)
14321 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14322 (grub_halt) [__mips__]: Likewise.
14323
14324 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14327 Remove redundant declaration.
14328 (grub_mmap_get_post64): Likewise.
14329 (grub_mmap_get_upper): Likewise.
14330 (grub_mmap_get_lower): Likewise.
14331
14332 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14335 uint32_t * to ensure alignment.
14336 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14337
14338 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14341 uint16_t * to ensure alignment.
14342 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14343 alignment.
14344
14345 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
14348 to ensure alignment.
14349 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14350
14351 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14354 Handle unaligned pointers.
14355 (u32at): Likewise.
14356 (u64at): Likewise.
14357 (fixup): Use byte access instead of v16at.
14358 (find_attr): Fix imporper usage of v32at.
14359 (read_data): Likewise.
14360 (list_file): Handle byte-swapping and unaligned strings.
14361 (grub_ntfs_label): Likewise.
14362
14363 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14366 as it's not necessarily aligned.
14367
14368 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14371 redundant declaration.
14372 (grub_serial_init): Likewise.
14373 (grub_terminfo_init): Likewise.
14374
14375 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14378 function.
14379 (ZAP_HASH_IDX): Likewise.
14380 (ZAP_LEAF_HASH_SHIFT): Likewise.
14381 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14382 (LEAF_HASH): Likewise.
14383 (ZAP_LEAF_NUMCHUNKS): Likewise.
14384 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14385 alignment invariants. Return pointer. All users updated.
14386 (ZAP_LEAF_ENTRY): Make into inline function.
14387 (NBBY): Removed.
14388 (xor): LIkewise.
14389 (xor_out): Use grub_crypto_xor.
14390 (dnode_get_path): Use grub_get_unaligned.
14391 (nvlist_find_value): Likewise.
14392 (grub_zfs_nvlist_lookup_uint64): Likewise.
14393 (grub_zfs_nvlist_lookup_string): Likewise.
14394 (get_nvlist_size): Likewise.
14395 (grub_zfs_open): Likewise.
14396 (fill_fs_info): Likewise.
14397 (grub_zfs_dir): Likewise.
14398 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14399 alignment invariants.
14400 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14401 necessarily aligned.
14402
14403 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14406
14407 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14410 arithmetic to conserve alignment invariants.
14411
14412 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14415 redundant declaration.
14416 (grub_efiemu_mm_obtain_request): Likewise.
14417 (grub_efiemu_prepare): Likewise.
14418
14419 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14422 to match types.
14423
14424 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14427 case of aunaligned recptr.
14428 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14429 alignment.
14430 (grub_hfsplus_btree_search): Handle unaligned index.
14431
14432 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14435 to get freetag and skip.
14436
14437 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14440 array.
14441 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14442 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14443
14444 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14447 name for checksum and fix allocation algorithm.
14448
14449 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 * include/grub/types.h (grub_properly_aligned_t): New type.
14452 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14453 (grub_get_unaligned16): Add explicit casts.
14454 (grub_get_unaligned32): Likewise.
14455 (grub_get_unaligned64): Likewise.
14456 (grub_set_unaligned16): New function.
14457 (grub_set_unaligned32): Likewise.
14458
14459 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14462
14463 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14466 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14467 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14468
14469 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14472 conditionals.
14473
14474 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14477 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14478
14479 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14480
14481 Unify and improve RAID and crypto xor.
14482
14483 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14484 changed to grub_crypto_xor
14485 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14486 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14487 Use bigger types when possible.
14488
14489 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * grub-core/disk/raid.c (scan_devices): Fix condition.
14492
14493 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14496 Make name a const ptr.
14497
14498 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14501 first argument a const pointer.
14502 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14503 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14504 proto.
14505 (grub_children_iterate): Likewise.
14506 (grub_machine_mmap_iterate): Remove redundant declaration.
14507
14508 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14511 (grub_cmd_acpi) [!x86]: Disable EBDA.
14512
14513 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 Enable UTF8 in gnulib regexp.
14516
14517 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14518 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14519 (isupper): Use grub_isupper.
14520 (isascii): New inline function.
14521 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14522 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14523 * grub-core/normal/charset.c (grub_utf8_process): New function.
14524 (grub_utf8_to_utf16): Use grub_utf8_process.
14525 (grub_encode_utf8_character): New function.
14526 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14527 * include/grub/charset.h (grub_utf8_process): New declaration.
14528 (grub_encode_utf8_character): Likewise.
14529 * include/grub/misc.h (grub_islower): New inline function.
14530 (grub_isupper): Likewise.
14531 (grub_strchrsub): Moved down to fix the definitions.
14532
14533 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14536 specification.
14537
14538 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * include/grub/loader.h (grub_loader_register_preboot_hook):
14541 Use struct preboot * and not void * for handle. All users updated.
14542 (grub_loader_unregister_preboot_hook): Likewise.
14543
14544 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14547 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14548 UTF-16-BE. All users updated.
14549 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14550 (grub_hfsplus_iterate_dir): Likewise.
14551 (grub_hfsplus_label): Likewise.
14552
14553 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14556
14557 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 Add missing const qualifiers.
14560
14561 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14562 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14563 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14564 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14565 (grub_lvm_check_flag): Likewise.
14566 * grub-core/efiemu/i386/coredetect.c
14567 (grub_efiemu_get_default_core_name): Likewise
14568 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14569 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14570 * grub-core/fs/ntfs.c (fixup): Likewise.
14571 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14572 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14573 (fzap_lookup): Likewise.
14574 (zap_lookup): Likewise.
14575 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14576 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14577 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14578 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14579 (grub_freebsd_add_meta_module): Likewise.
14580 (grub_cmd_freebsd_module): Likewise.
14581 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14582 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14583 (grub_xnu_writetree_get_size): Likewise.
14584 (grub_xnu_writetree_toheap_real): Likewise.
14585 (grub_xnu_find_key): Likewise.
14586 (grub_xnu_create_key): Likewise.
14587 (grub_xnu_create_value): Likewise.
14588 (grub_xnu_register_memory): Likewise.
14589 (grub_xnu_check_os_bundle_required): Likewise.
14590 (grub_xnu_scan_dir_for_kexts): Likewise.
14591 (grub_xnu_load_kext_from_dir): Likewise.
14592 * grub-core/normal/color.c (color_list): Likewise.
14593 * grub-core/normal/completion.c (current_word): Likewise.
14594 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14595 * grub-core/term/serial.c (grub_serial_find): Likewise.
14596 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14597 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14598 Likewise.
14599 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14600 (grub_freebsd_add_meta_module): Likewise.
14601 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14602 * include/grub/net.h (grub_net_card_driver): Likewise.
14603 (grub_net_card): Likewise.
14604 (grub_net_app_protocol): Likewise.
14605 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14606 * include/grub/serial.h (grub_serial_find): Likewise.
14607 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14608 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14609 (grub_xnu_create_value): Likewise.
14610 (grub_xnu_find_key): Likewise.
14611 (grub_xnu_scan_dir_for_kexts): Likewise.
14612 (grub_xnu_load_kext_from_dir): Likewise.
14613
14614 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14615 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14616 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14617 Moved from here ...
14618 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14619
14620 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
14621
14622 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14623
14624 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14627 (read_device): Fix size calculation.
14628
14629 2011-11-25 Robert Millan <rmh@gnu.org>
14630
14631 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14632 (find_root_device_from_libzfs): Add zpool output parser to be used
14633 as fallback when libzfs isn't available.
14634
14635 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14636
14637 * po/Makefile.in.in: Add missing escape-continuation.
14638
14639 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14642
14643 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14646
14647 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14650
14651 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14654
14655 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * grub-core/lib/adler32.c: Add missing license specification.
14658 * grub-core/lib/crc64.c: Likewise.
14659 * grub-core/loader/i386/pc/plan9.c: Likewise.
14660 * grub-core/partmap/plan.c: Likewise.
14661
14662 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14663
14664 Add facility to debug GRUB with gdb under qemu.
14665
14666 * grub-core/gdb_grub.in: New file.
14667 * grub-core/gmodule.pl.in: Likewise.
14668 * grub-core/Makefile.core.def (gmodule.pl): New script.
14669 (gdb_grub): Likewise.
14670
14671 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * util/grub-mount.c (argp_parser): Accept relative pathes.
14674 * util/grub-fstest.c (argp_parser): Likewise.
14675
14676 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 Plan9 support.
14679
14680 * Makefile.util.def (libgrubmods): Add
14681 grub-core/partmap/plan.c.
14682 * docs/grub.texi: Notice Plan9 support.
14683 * grub-core/Makefile.core.def (plan9): New module.
14684 (part_plan): Likewise.
14685 * grub-core/loader/i386/pc/plan9.c: New file.
14686 * grub-core/partmap/plan.c: Likewise.
14687 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14688 define.
14689 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14690 * include/grub/mm.h (grub_extend_alloc): New inline function.
14691
14692 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 Make Reed-Solomon faster by using power of generator representation of
14695 GF(256)*.
14696
14697 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14698 (gf_double_t): Likewise.
14699 (gf_invert): Removed.
14700 (gf_powx): New array.
14701 (gf_powx_inv): Likewise.
14702 (scratch): Move higher.
14703 (gf_reduce): Removed.
14704 (gf_mul): Use powx.
14705 (gf_invert): Likewise.
14706 (init_inverts): Replaced with ...
14707 (init_powx): ...this. All users updated.
14708 (pol_evaluate): Replace multiplications with additions.
14709 (rs_encode): Likewise.
14710 (gauss_eliminate): Call gf_invert.
14711 (grub_reed_solomon_add_redundancy): Call init_powx.
14712 (grub_reed_solomon_recover): Call init_powx unconditionally.
14713
14714 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14717
14718 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14721 disk->partiton for safety.
14722
14723 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14726 Fix a memory leak.
14727 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14728
14729 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14732
14733 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14734
14735 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14736
14737 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 Fix spaces handling in proc/self/mountinfo.
14740
14741 * util/getroot.c (unescape): New function.
14742 (grub_find_root_device_from_mountinfo): Use unescape.
14743
14744 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 Support ZFS embedding.
14747
14748 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14749 (grub_zfs_fs): Register grub_zfs_embed.
14750
14751 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Fix MIPS compilation.
14754
14755 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14756 * include/grub/offsets.h: Rename decompressor fields from
14757 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14758 * util/grub-mkimage.c (image_targets): Use new names.
14759
14760 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 Defer multiboot device parsing until we're in compressed part.
14763
14764 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14765 bsd_part. setdevice has fallen into disuse.
14766 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14767 (bsd_part): Likewise.
14768 (boot_dev): New variable.
14769 (multiboot_trampoline): Don't parse multiboot device.
14770 Pass multiboot device in %edx.
14771 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14772 grub_boot_device.
14773 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14774 Likewise.
14775 * grub-core/kern/i386/pc/startup.S: Save edx.
14776 (grub_boot_drive): Removed.
14777 (grub_install_dos_part): Likewise.
14778 (grub_install_bsd_part): Likewise.
14779 (grub_boot_device): New variable.
14780 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14781 (grub_install_bsd_part): Likewise.
14782 (grub_boot_drive): Likewise.
14783 (grub_boot_device): New variable.
14784 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14785 Removed.
14786 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14787 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14788 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14789 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14790 * util/grub-install.in: Remove redundant condition.
14791
14792 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 Fix bug introduced by previous commit.
14795
14796 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14797
14798 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 Use decompressors framework on i386-pc. It increases core size
14801 by 46 bytes but improves compatibility and maintainability.
14802
14803 * grub-core/Makefile.core.def (lzma_decompress): New image.
14804 (kernel): Add i386_pc_ldflags.
14805 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14806 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14807 to real_to_prot, prot_to_real and device info.
14808 * include/grub/offsets.h: Renamed decompressor offsets.
14809 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14810 (image_target_desc): Remove raw_size and rename decompressor fields.
14811 (compress_kernel): Handle lzma.
14812 (generate_image): Handle decompressors on i386-pc.
14813
14814 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 * configure.ac: Add -fno-asynchronous-unwind-tables.
14817
14818 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 Move assembly code to C by using intwrap. It increases core size
14821 by 88 bytes but improves compatibility and maintainability.
14822
14823 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14824 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14825 ... here. Translated to C.
14826 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14827 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14828 ... here. Translated to C.
14829 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14830 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14831 ... here. Translated to C.
14832 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14833 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14834 ... here. Translated to C.
14835 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14836 * grub-core/term/i386/pc/console.c (grub_console_cls):
14837 ... here. Translated to C.
14838 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14839 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14840 ... here. Translated to C.
14841 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14842 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14843 Translated to C.
14844 * grub-core/term/i386/pc/console.c (int10_9): New function.
14845 (grub_console_putchar): Likewise.
14846 * include/grub/i386/pc/console.h: Removed the not anymore shared
14847 functions.
14848
14849 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 Move grub_chainloader_real_boot out of the kernel.
14852
14853 * grub-core/Makefile.am: Remove machine/loader.h.
14854 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14855 Removed.
14856 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14857 variable.
14858 (grub_relocator16_keep_a20_enabled): Likewise.
14859 (grub_relocator16_boot): Fill new variables.
14860 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14861 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14862 relocator.
14863 (grub_chainloader_unload): Likewise.
14864 (grub_chainloader_cmd): Likewise.
14865 * include/grub/i386/pc/loader.h: Removed.
14866 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14867 and esi. All initialisers updated.
14868
14869 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14870 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
14871
14872 * Makefile.util.def (grub-mount): New util.
14873 * .bzrignore: Add grub-mount.
14874 * configure.ac: Check for fuse and enable grub-mount if available.
14875 * docs/man/grub-mount.h2m: New file.
14876 * util/grub-mount.c: Likewise.
14877
14878 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * grub-core/commands/efi/fixvideo.c: Gettextize.
14881 * grub-core/commands/hashsum.c: Likewise.
14882 * grub-core/commands/i386/cmostest.c: Likewise.
14883 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14884 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14885 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14886 * grub-core/commands/lsmmap.c: Likewise.
14887 * grub-core/commands/menuentry.c: Likewise.
14888 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14889 * grub-core/commands/setpci.c: Likewise.
14890 * grub-core/loader/i386/bsd.c: Likewise.
14891 * grub-core/loader/i386/linux.c: Likewise.
14892 * util/getroot.c: Likewise.
14893 * util/grub-editenv.c: Likewise.
14894 * util/grub-fstest.c: Likewise.
14895 * util/grub-mkfont.c: Likewise.
14896 * util/grub-mkimage.c: Likewise.
14897 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14898 * util/grub-pe2elf.c: Likewise.
14899 * util/grub-probe.c: Likewise.
14900 * util/grub-setup.c: Likewise.
14901 * util/ieee1275/ofpath.c: Likewise.
14902 * util/misc.c: Likewise.
14903 * util/raid.c: Likewise.
14904
14905 2011-11-11 Robert Millan <rmh@gnu.org>
14906
14907 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14908 __attribute__((unused)) from `os_dev', which *is* being used.
14909
14910 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14913 forgotten define.
14914 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14915 GRUB_IA64_DL_GOT_ALIGN.
14916 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14917 GRUB_IA64_DL_TRAMP_ALIGN.
14918
14919 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 Replace grub_fatal with normal errors in i386 linux loader.
14922
14923 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14924 (allocate_pages): Check find_efi_mmap_size return value.
14925 (grub_e820_add_region): Return error.
14926 (grub_linux_boot): Check mmap return value.
14927
14928 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 * grub-core/commands/acpihalt.c: Gettextized.
14931 * grub-core/commands/cacheinfo.c: Likewise.
14932 * grub-core/commands/cmp.c: Likewise.
14933 * grub-core/commands/efi/loadbios.c: Likewise.
14934 * grub-core/commands/gptsync.c: Likewise.
14935 * grub-core/commands/ieee1275/suspend.c: Likewise.
14936 * grub-core/commands/legacycfg.c: Likewise.
14937 * grub-core/commands/memrw.c: Likewise.
14938 * grub-core/commands/minicmd.c: Likewise.
14939 * grub-core/commands/parttool.c: Likewise.
14940 * grub-core/commands/time.c: Likewise.
14941 * grub-core/commands/videoinfo.c: Likewise.
14942 * grub-core/disk/geli.c: Likewise.
14943 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14944 * grub-core/disk/luks.c: Likewise.
14945 * grub-core/disk/lvm.c: Likewise.
14946 * grub-core/font/font_cmd.c: Likewise.
14947 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14948 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14949 * grub-core/gfxmenu/view.c: Likewise.
14950 * grub-core/kern/emu/hostdisk.c: Likewise.
14951 * grub-core/kern/emu/main.c: Likewise.
14952 * grub-core/kern/emu/misc.c: Likewise.
14953 * grub-core/kern/emu/mm.c: Likewise.
14954 * grub-core/kern/mips/arc/init.c: Likewise.
14955 * grub-core/kern/mips/loongson/init.c: Likewise.
14956 * grub-core/kern/partition.c: Likewise.
14957 * grub-core/lib/i386/halt.c: Likewise.
14958 * grub-core/lib/mips/arc/reboot.c: Likewise.
14959 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14960 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14961 * grub-core/loader/i386/xnu.c: Likewise.
14962 * grub-core/loader/multiboot.c: Likewise.
14963 * grub-core/net/bootp.c: Likewise.
14964 * grub-core/net/net.c: Likewise.
14965 * grub-core/normal/term.c: Likewise.
14966 * grub-core/partmap/bsdlabel.c: Likewise.
14967 * grub-core/parttool/msdospart.c: Likewise.
14968 * grub-core/term/gfxterm.c: Likewise.
14969 * grub-core/term/terminfo.c: Likewise.
14970 * grub-core/video/i386/pc/vbe.c: Likewise.
14971 * util/grub-menulst2cfg.c: Likewise.
14972 * util/grub-mkdevicemap.c: Likewise.
14973 * util/grub-mklayout.c: Likewise.
14974 * util/grub-mkrelpath.c: Likewise.
14975 * util/grub-script-check.c: Likewise.
14976 * util/ieee1275/grub-ofpathname.c: Likewise.
14977 * util/resolve.c: Likewise.
14978
14979 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14980
14981 Support %1$d syntax.
14982
14983 * tests/printf_unit_test.c: New file.
14984 * Makefile.util.def (printf_test): New test.
14985 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14986
14987 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14990 fix.
14991
14992 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14995 dprintf.
14996 * grub-core/font/font.c (grub_font_load): Likewise.
14997
14998 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/grub-macho2img.c: Add comment concerning gettext.
15001 * grub-core/lib/legacy_parse.c: Likewise.
15002
15003 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15006 (grub_xvasprintf): Likewise.
15007
15008 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 Add const keyword to grub_env_get and gettextize week days.
15011
15012 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15013 (grub_read_hook_datetime): Return const char *.
15014 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15015 updated.
15016 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15017 Mark for gettext.
15018 (grub_get_weekday_name): Return const char *. Call gettext.
15019 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15020 char * and len as the argument. All users updated.
15021 (grub_script_argv_split_append): Receive const char *.
15022 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15023 * include/grub/env.h (grub_env_get): Likewise.
15024 (grub_env_read_hook_t): Return const char *.
15025 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15026 (grub_script_argv_split_append): Likewise.
15027
15028 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15031
15032 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15035 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15036
15037 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15040 Fix prototype.
15041
15042 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 Fix mips compilation.
15045
15046 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15047 normal decoder.
15048 (hashes): Use in embed decoder as well (for sizes).
15049 (dec_stream_header): Fix embed decompressor logic.
15050 (dec_stream_footer): Likewise.
15051
15052 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15055 an error and not a fatal on unrecognised relocation types.
15056
15057 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15060 Issue error rather than printf on unknown arguments.
15061
15062 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15065 Make buf a const.
15066
15067 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15070 Fix module name.
15071
15072 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15075 leftover debug printf.
15076
15077 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15080
15081 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15082
15083 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15084 A stylistic fix.
15085
15086 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15089
15090 2011-11-10 Shea Levy <slevy@tieronedesign.com>
15091
15092 Allow all modules to perform serial IO
15093
15094 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15095 * include/grub/serial.h (grub_serial_port_configure): New inline
15096 function.
15097 (grub_serial_port_fetch): Likewise.
15098 (grub_serial_port_put): Likewise.
15099 (grub_serial_port_fini): Likewise.
15100 (grub_serial_find): New proto.
15101
15102 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Put symlink at the end of the node and fix a potential
15105 memory corruption.
15106
15107 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15108 Make symlink into an array.
15109 (set_rockridge): Set have_symlink and alloc_dirents.
15110 (grub_iso9660_read_symlink): Use new layout.
15111 (grub_iso9660_iterate_dir): Fix memory corruption.
15112 Use new layout.
15113 (grub_iso9660_dir): Set have_symlink.
15114 (grub_iso9660_open): Likewise.
15115
15116 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 Remove local keyword.
15119
15120 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15121 (version_test_gt): Likewise.
15122 (version_find_latest): Likewise.
15123 (gettext_printf): Likewise.
15124 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15125
15126 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15129
15130 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 Fix ZFS memory and resource leaks.
15133
15134 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15135 All users updated.
15136 Free type on exit.
15137 (fill_vdev_info): New parameter inserted. All users updated.
15138 (check_pool_label): Likewise.
15139 (scan_disk): Likewise.
15140 (scan_devices): Close non-inserted disks.
15141 (fzap_iterate): Free l.
15142 (unmount_device): Free children descripto memory.
15143
15144 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15147 argument (access out of bounds).
15148
15149 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15152 >= 6 drives.
15153
15154 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15157 Fix declaration.
15158
15159 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 Fix several memory leaks.
15162
15163 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15164 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15165 (grub_cpio_dir): Likewise.
15166 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15167 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15168 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15169 (grub_romfs_label): Likewise.
15170 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15171 (squash_unmount): New function.
15172 (grub_squash_dir): Fix memory leak.
15173 (grub_squash_open): Likewise.
15174 (grub_squash_read): Likewise.
15175 (grub_squash_mtime): Likewise.
15176 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15177 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15178 * util/grub-fstest.c (fstest): Likewise.
15179
15180 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15183 avoid accessing beyond the array.
15184
15185 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15188
15189 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 Several AFFS fixes.
15192
15193 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15194 (GRUB_AFFS_FLAG_FFS): Removed.
15195 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15196 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15197 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15198 (grub_fshelp_node): Make block 32-bit.
15199 Add block_cache and last_block_cache.
15200 (grub_affs_read_block): Fill and use block cache.
15201 (grub_affs_read_file): Removed.
15202 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15203 boot block.
15204 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15205 safety.
15206 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15207 space.
15208 (grub_affs_close): Free block cache.
15209 (grub_affs_read): Use grub_fshelp_read_file directly.
15210
15211 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15214 with no error set.
15215
15216 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15219 used variable.
15220 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15221 Likewise.
15222
15223 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15226
15227 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15228 byteswap when needed.
15229
15230 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 Fix FreeBSD compilation.
15233
15234 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15235 to avoid circular dependency.
15236 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15237 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15238 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15239
15240 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 Fix ZFS crypto error types.
15243
15244 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15245 (grub_gcm_decrypt): Likewise.
15246 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15247 from PBKDF2.
15248
15249 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 Illumos support.
15252
15253 * Makefile.util.def (10_illumos): New script.
15254 * configure.ac: Set COND_HOST_ILLUMOS.
15255 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15256 Support Illumos calls.
15257 (find_partition_start) [__sun__]: Likewise.
15258 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15259 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15260 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15261 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15262 device.
15263 * util/grub-probe.c (probe) [__sun__]: Do character check.
15264 * util/grub.d/10_illumos.in: New file.
15265
15266 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Support escaped commas in hostdisk.
15269
15270 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15271 (find_grub_drive): Use unescape_cmp.
15272 (make_device_name): Escape commas.
15273
15274 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15277
15278 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15281 variable.
15282
15283 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 Support trampoline jumps on powerpc.
15286
15287 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15288 __ia64__ path.
15289 (grub_dl_load_segments): Set mod->sz.
15290 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15291 segments.
15292 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15293 (jump): Likewise.
15294 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15295 function.
15296 (trampoline): New struct.
15297 (trampoline_template): New const.
15298 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15299 * include/grub/dl.h (grub_dl): Add sz element.
15300 [__powerpc__]: Follow __ia64__.
15301 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15302 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15303 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15304 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15305
15306 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 ZFS crypto support.
15309
15310 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15311 * grub-core/Makefile.core.def (zfscrypt): New module.
15312 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15313 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15314 it. All users updated.
15315 (grub_zfs_decrypt): New var.
15316 (grub_zfs_load_key): Likewise.
15317 (zio_checksum_functions): Add SHA256+MAC.
15318 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15319 (zio_read): Handle encrypted blocks.
15320 (zap_verify): Remove incorrect check.
15321 (fzap_iterate): Handle non-standard fzap.
15322 (zap_iterate): Likewise.
15323 (zap_iterate_u64): New function.
15324 (dnode_get_fullpath): Load keys.
15325 * grub-core/fs/zfs/zfscrypt.c: New file.
15326 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15327 (grub_crypto_ecb_encrypt): Make input const.
15328 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15329 (grub_crypto_ecb_encrypt): Make input const.
15330 (GRUB_CIPHER_AES): New macro.
15331 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15332 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15333 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15334 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15335 prefix. All users updated.
15336 (grub_zfs_add_key): New proto.
15337 (grub_zfs_decrypt): Likewise.
15338 (grub_zfs_load_key): Likewise.
15339 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15340 * util/grub-fstest.c (options): Add -K option.
15341 (argp_parser): Likewise.
15342
15343 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 Support zle compression on ZFS.
15346
15347 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15348 (decomp_table): Add zle.
15349 * include/grub/zfs/zio.h (zio_compress): Add zle.
15350
15351 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 Support BtrFS embedding.
15354
15355 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15356 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15357 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15358 * util/grub-setup.c (setup): Use fs embedding if available.
15359 Add additional sanity check.
15360
15361 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * util/grub-install.in: Fix condition for config_opt.
15364
15365 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 Support third redundancy strip on raidz3.
15368
15369 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15370 Return error on singularity. All users updated.
15371 (read_device): Don't stop on 3rd failure on raidz3.
15372
15373 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 Support case-insensitive ZFS subvolumes.
15376
15377 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15378 All users updated.
15379 (zap_hash): Likewise.
15380 (name_cmp): New function.
15381 (zap_leaf_array_equal): New parameter case_insensitive.
15382 All users updated.
15383 (zap_leaf_lookup): Likewise.
15384 (fzap_lookup): Likewise.
15385 (zap_lookup): Likewise.
15386 (dnode_get_path): New parameter case_insensitive. Retrieve case
15387 sensitiviness of a volume. All users updated.
15388 (dnode_get_fullpath): New parameter case_insensitive.
15389 All users updated.
15390 (grub_zfs_dir): Set info.case_insensitiveness.
15391
15392 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 Support second redundancy strip on raidz(2,3).
15395
15396 * grub-core/fs/zfs/zfs.c (powx): New array.
15397 (powx_inv): Likewise.
15398 (poly): New const.
15399 (xor_out): New function.
15400 (gf_mul): Likewise.
15401 (recovery): Likewise.
15402 (read_device): Use second redundancy strip.
15403
15404 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 Use a power of generator representation of GF(256) multiplication group
15407 to save space time and complexity.
15408
15409 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15410 (raid6_table2): Likewise.
15411 (powx): New array.
15412 (powx_inv): Likewise.
15413 (poly): New const.
15414 (grub_raid_block_mul): Replace with ...
15415 (grub_raid_block_mulx): ...this.
15416 (grub_raid6_init_table): Rewritten.
15417 (grub_raid6_recover): Use power of generator representation.
15418
15419 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15422 for the right device.
15423
15424 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15427 expected by grub-mkimage and it's more clear since there is no implicit
15428 padding.
15429
15430 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15433 disk.
15434 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15435
15436 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15437
15438 * util/grub-mkrescue.in: Fix handling xorriso option.
15439
15440 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15443 NULL.
15444
15445 2011-11-03 crocket <crockabiscuit@gmail.com>
15446
15447 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15448
15449 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 XZ CRC64 and SHA256 support.
15452
15453 * Makefile.util.def (libgrubmods): Add crc64.c.
15454 * grub-core/Makefile.core.def (crc64): New module.
15455 * grub-core/lib/crc64.c: New file.
15456 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15457 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15458 Fix the type.
15459 (MAX_HASH_SIZE): New define.
15460 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15461 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15462 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15463 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15464 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15465 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15466 Handle non-crc32 hashes.
15467 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15468 (dec_stream_header): Handle non-crc32 hashes.
15469 (dec_stream_footer): Likewise.
15470 (dec_block_header): Likewise.
15471 (dec_main): Likewise.
15472 (xz_dec_init): Likewise.
15473 (xz_dec_reset): Likewise.
15474 (xz_dec_end): Likewise.
15475 * util/import_gcry.py: Add CRC64 line.
15476
15477 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15480 as well.
15481
15482 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 Make reiserfs label retrieval similar to other *_label functions.
15485
15486 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15487 (REISERFS_MAX_LABEL_LENGTH): Removed.
15488 (REISERFS_LABEL_OFFSET): Likewise.
15489 (grub_reiserfs_label): Rewritten.
15490
15491 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15494 field.
15495
15496 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15497
15498 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15499
15500 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15501
15502 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15503 drive failure on both raidz and raidz2.
15504
15505 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 Fix RAIDZ(2) for >= 5 devices.
15508
15509 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15510 asize argument. All users updated.
15511
15512 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 Fix RAIDZ(2).
15515
15516 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15517 (fill_vdev_info_real): Set ashift.
15518 (read_device): Rewrite RAIDZ part based on reverse engineering.
15519
15520 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15523 don't report potentially unavialiable fields in debug output.
15524 (find_path): Fix double-free and memory leak.
15525
15526 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 Read label on UFS1.
15529
15530 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15531 (grub_ufs_fs): Always set .label.
15532
15533 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 Use shifts in UFS.
15536
15537 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15538 (grub_ufs_data): New field log2_blksz.
15539 (grub_ufs_read_file): Use shifts.
15540 (grub_ufs_mount): Check block size and logarithm it.
15541
15542 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15545 long symlinks.
15546
15547 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 Handle symlinks and long names on tar and cpio.
15550
15551 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15552 (ATTR_FILE): Likewise.
15553 (ATTR_DIR): Likewise.
15554 (ATTR_LNK): Likewise.
15555 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15556 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15557 L and K entries.
15558 (grub_cpio_mount): Zero-fill data.
15559 (handle_symlink): New function.
15560 (grub_cpio_dir): Handle symlinks.
15561 (grub_cpio_open): Likewise.
15562 (grub_cpio_close) [MODE_USTAR]: Free linkname.
15563
15564 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 Fix iso9660 filename limitations and fix memory leaks.
15567
15568 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15569 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15570
15571 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Fix JFS file name length limitations.
15574
15575 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15576 (grub_jfs_diropen): Fix maximum filename length.
15577 (grub_jfs_getent): Fix filename length.
15578 (grub_jfs_lookup_symlink): Fix size checks.
15579
15580 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15583 string.
15584
15585 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Leverage BFS implementation to read AFS.
15588
15589 * Makefile.util.def (libgrubmods): Add afs.c.
15590 * grub-core/Makefile.core.def (afs): New module
15591 * grub-core/fs/afs.c: New file.
15592 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15593
15594 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
15597
15598 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 * grub-core/fs/bfs.c: Run indent.
15601
15602 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 BFS implementation based on the specification.
15605
15606 * grub-core/fs/bfs.c: New file.
15607 * Makefile.util.def (libgrubmods): Add bfs.c.
15608 * grub-core/Makefile.core.def (bfs): New module.
15609
15610 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * util/grub-fstest.c (cmd_cp): Clarify error message.
15613 (cmd_cmp): Likewise.
15614
15615 2011-10-30 Yves Blusseau <blusseau@zetam.org>
15616
15617 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15618 and befs_be.
15619
15620 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 Remove afs and befs because of copyright problem.
15623
15624 * grub-core/fs/afs.c: Removed.
15625 * grub-core/fs/afs_be.c: Removed.
15626 * grub-core/fs/befs.c: Removed.
15627 * grub-core/fs/befs_be.c: Removed.
15628 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15629 * grub-core/Makefile.core.def (afs): Removed.
15630 (afs_be): Likewise.
15631 (befs): Likewise.
15632 (befs_be): Likewise.
15633
15634 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 Prefer rockridge over Joliet.
15637
15638 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15639 to ...
15640 (set_rockridge): ... here.
15641 (grub_iso9660_mount): Check rockridge on the primary label when
15642 discovering. Ignore Joliet if Rockridge is present.
15643
15644 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 Use shifts in nilfs2.
15647
15648 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15649 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15650 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15651 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15652 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15653 (grub_nilfs2_entries_per_block): Replaced with ...
15654 (grub_nilfs2_log_entries_per_block_log): ... this.
15655 (grub_nilfs2_blocks_per_group): Replaced with ...
15656 (grub_nilfs2_blocks_per_group_log): ... this.
15657 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15658 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15659 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15660 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15661 (grub_nilfs2_palloc_entry_offset): Replaced ...
15662 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15663 (grub_nilfs2_dat_translate): Use shifts.
15664 (grub_nilfs2_read_inode): Likewise.
15665 (GRUB_MOD_INIT): Ensure that logs are correct.
15666
15667 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 Use shifts in minix filesystem.
15670
15671 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15672 (GRUB_MINIX_ZONE2SECT): Likewise.
15673 (grub_minix_data): Replace block_size with log_block_size.
15674 (grub_minix_read_file): Use shifts.
15675 (grub_minix_mount): Check block size and take a logarithm.
15676
15677 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Use shifts in squash4.
15680
15681 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15682 (squash_mount): Check block size and take logarithm.
15683 (direct_read): Use shifts.
15684
15685 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 Correct befs block counting logic.
15688
15689 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15690 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15691 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15692 (grub_afs_read_inode): Use block_shift.
15693 (RANGE_SHIFT): New definition.
15694 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15695 unexpected conditions, use shifts and appropriate types.
15696 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15697
15698 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * grub-core/disk/raid.c (scan_devices): Check partition.
15701 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15702
15703 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 Support BFS (befs) UUID.
15706
15707 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15708 (grub_afs_small_data_element_header): New struct.
15709 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15710 (grub_afs_read_attribute) [MODE_BFS]: New function.
15711 (grub_afs_iterate_dir): Allocate for complete inode.
15712 (grub_afs_mount): Likewise.
15713 (grub_afs_uuid) [MODE_BFS]: New function.
15714 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15715
15716 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15719 (zfs_unmount): Fix memory leak.
15720
15721 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 Support NTFS reparse points.
15724
15725 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15726 (symlink_descriptor): New struct.
15727 (grub_ntfs_read_symlink): New function.
15728 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15729 (grub_ntfs_open): Likewise.
15730
15731 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15734
15735 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 fstest xnu_uuid subcommand.
15738
15739 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15740 grub-core/commands/xnu_uuid.c.
15741 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15742 (fstest): Handle xnu_uuid.
15743 (options): Document xnu_uuid.
15744 (argp_parser): Parse xnu_uuid.
15745
15746 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15749 -l argument. Add newline at the end if printing.
15750 (GRUB_MOD_INIT): Document -l.
15751
15752 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15755
15756 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 ZFS multi-device and version 33 support.
15759
15760 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15761 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15762 (grub_zfs_data): Add multidev-ice-related fields.
15763 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15764 (dva_get_offset): Make dva const.
15765 (zfs_fetch_nvlist): New function.
15766 (fill_vdev_info_real): Likewise.
15767 (fill_vdev_info): Likewise.
15768 (check_pool_label): Likewise.
15769 (scan_disk): Likewise.
15770 (scan_devices): Likewise.
15771 (read_device): Likewise.
15772 (read_dva): Likewise.
15773 (zio_read_gang): Use read_dva.
15774 (zio_read_data): Likewise.
15775 (zap_leaf_lookup): Add missing endian conversion.
15776 (zap_verify): Add missing endian conversion. All users updated.
15777 (fzap_lookup): Likewise.
15778 (fzap_iterate): Likewise.
15779 (dnode_get_path): Handle SA bonus.
15780 (nvlist_find_value): Make input const. All users updated.
15781 (unmount_device): New function.
15782 (zfs_unmount): Use unmount_device.
15783 (zfs_mount): Use scan_disk.
15784 (zfs_mtime): New function.
15785 (grub_zfs_open): Handle system attributes.
15786 (fill_fs_info): Likewise.
15787 (grub_zfs_dir): Likewise.
15788 (grub_zfs_fs): Add mtime.
15789 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15790 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15791 (SA_MTIME_OFFSET): Likewise.
15792 (SA_SYMLINK_OFFSET): Likewise.
15793 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15794 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15795 (fstest): Support zfsinfo.
15796 (argp_parser): Likewise.
15797
15798 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15801 error.
15802
15803 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 ZFS fixes.
15806
15807 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15808 sharing the same block. Iterate over correct number of indices.
15809 (dnode_get_path): Handle symlinks correctly.
15810
15811 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15814
15815 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 Read label on HFS+.
15818
15819 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15820 (grub_hfsplus_btree_search): Fix types.
15821 (grub_hfsplus_label): Implement.
15822
15823 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15826
15827 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15830
15831 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 Fix symlink handling on iso9660.
15834
15835 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15836 All users updated.
15837 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15838 (grub_iso9660_read_symlink): Moved most of code ...
15839 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15840
15841 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15844 Use union to avoid breaking strict-aliasing rules.
15845
15846 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 Support multi-extent iso files.
15849
15850 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15851 Add node.
15852 (grub_fshelp_node): Revamp. All users updated.
15853 (FLAG_*): New enum.
15854 (read_node): New function.
15855 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15856 All users updated.
15857 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15858 (get_node_size): New function.
15859 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15860 entries.
15861 Fix memory leak on . and ..
15862 (grub_iso9660_read): Use read_node.
15863 (grub_iso9660_close): Free node.
15864
15865 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 Fix tar 4G limit and handle paths containing dot.
15868
15869 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15870 (canonicalize): New function.
15871 (grub_cpio_find_file): Use canonicalize. Store offs in
15872 grub_disk_addr_t.
15873 (grub_cpio_dir): Use grub_disk_addr_t.
15874 (grub_cpio_open): Likewise.
15875
15876 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15879
15880 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15881 unused flags.
15882 (grub_squash_inode): Add long_file and block_size.
15883 (grub_squash_cache_inode): New struct.
15884 (grub_squash_dirent): Make types into enum.
15885 (SQUASH_TYPE_LONG_REGULAR): New type.
15886 (grub_squash_frag_desc): Add field size.
15887 (SQUASH_BLOCK_FLAGS): New enum.
15888 (grub_squash_data): Use grub_squash_cache_inode.
15889 (grub_fshelp_node): Make ino_chunk 64-bit.
15890 (read_chunk): Minor argument change. All users updated.
15891 (squash_mount): Use correct le_to_cpu.
15892 (grub_squash_open): Handle LONG_REGULAR.
15893 (direct_read): New function.
15894 (grub_squash_read_data): Handle blocks correctly.
15895
15896 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15899
15900 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15903
15904 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 Fix 2G limit on ZFS.
15907
15908 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15909 types.
15910 (uberblock_verify): Likewise.
15911 (dmu_read): Likewise.
15912 (grub_zfs_read): Likewise. Remove invalid cast.
15913
15914 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15917 (grub_jfs_blkno): Fix incorrect shift.
15918 (grub_jfs_read_file): Use more appropriate types.
15919
15920 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 Support triple indirect on minix2 and minix3.
15923
15924 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15925 Declare triple_indir_zone.
15926 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15927 indirect.
15928
15929 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 Minix FS fixes.
15932
15933 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15934 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15935 Rename ctime to mtime. All users updated.
15936 (grub_minix_get_file_block): Fix types and double indirect computations.
15937
15938 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15941 if no label is found.
15942 (grub_fat_iterate_dir): Fix file size type.
15943 (grub_fat_iterate_dir): Likewise.
15944
15945 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15948 save some space.
15949 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15950 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15951
15952 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15955
15956 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * util/import_gcry.py: Accept space between # and include.
15959
15960 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15963
15964 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15967
15968 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15969 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15970 yylex_strncpy.
15971 * grub-core/script/yylex.l: Add fine-grained #pragma.
15972
15973 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15976 New inline function.
15977 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15978 Likewise.
15979 (memset) [GRUB_UTIL]: Likewise.
15980 (memcmp) [GRUB_UTIL]: Likewise.
15981
15982 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15985 inline function rather than a define.
15986
15987 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * util/grub-setup.c: Add missing include.
15990
15991 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 * util/ieee1275/grub-ofpathname.c: Add missing include.
15994
15995 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15998 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15999 Likewise.
16000
16001 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16004 grub_memcmp usage.
16005
16006 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 * util/grub-install.in: Add datarootdir as per automake manual
16009 suggestion.
16010 * util/grub-mknetdir.in: Likewise.
16011
16012 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16015 suggestion.
16016 * util/grub.d/10_kfreebsd.in: Likewise.
16017 * util/grub.d/10_linux.in: Likewise.
16018 * util/grub.d/10_netbsd.in: Likewise.
16019 * util/grub.d/10_windows.in: Likewise.
16020 * util/grub.d/20_linux_xen.in: Likewise.
16021
16022 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 Remove redundant grub_kernel_image_size.
16025
16026 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16027 _edata and _start.
16028 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16029 the small code. It moves it only by few bytes but simplifies the code.
16030 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16031 _start.
16032 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16033 (grub_kernel_image_size): Removed.
16034 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16035 (grub_kernel_image_size): Removed.
16036 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16037 compiled with Apple toolchain.
16038 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16039 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16040 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16041 (grub_total_module_size): Likewise.
16042 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16043 Removed.
16044 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16045 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16046 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16047 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16048 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16049 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16050 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16051 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16052 Removed.
16053 (grub_total_module_size): Removed.
16054 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16055 (image_targets): Likewise.
16056 Set .compressed_size to no field on sparc.
16057 (generate_image): Remove kernel_image_size handling.
16058
16059 2011-10-19 Szymon Janc <szymon@janc.net.pl>
16060
16061 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16062 NULL pointer dereference.
16063
16064 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16067 done with a dedicated section.
16068
16069 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16070 Ensure the correct position of boot_path.
16071 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16072 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16073 other fields.
16074 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16075 * include/grub/boot.h: Removed. All references removed.
16076 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16077 Removed.
16078 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16079
16080 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16083 name.
16084
16085 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16088
16089 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16092 Don't add the bogus brackets.
16093
16094 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 ExFAT support.
16097
16098 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16099 * grub-core/Makefile.core.def (exfat): New module.
16100 * grub-core/fs/exfat.c: New file.
16101 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16102 (GRUB_FAT_ATTR_*): Make into an enum.
16103 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16104 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16105 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16106 (GRUB_FAT_MAXFILE): Removed.
16107 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16108 (grub_current_fat_bpb_t): New type.
16109 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16110 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16111 (grub_fat_dir_node_t): New type.
16112 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16113 (fat_log2) [MODE_EXFAT]: Removed.
16114 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16115 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16116 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16117 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16118 (grub_fat_label) [MODE_EXFAT]: New function.
16119 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16120 reserved_first_sector to 0.
16121
16122 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 Move grub_reboot out of the kernel.
16125
16126 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16127 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16128 * grub-core/lib/efi/reboot.c: ... here.
16129 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16130 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16131 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16132 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16133 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16134 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16135 * grub-core/lib/ieee1275/reboot.c: ... here.
16136 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16137 * grub-core/lib/mips/arc/reboot.c: ... here.
16138 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16139 * grub-core/lib/mips/loongson/reboot.c: ...here.
16140 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16141 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16142 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16143 * include/grub/i386/reboot.h: New file.
16144 * include/grub/mips/loongson/ec.h: Fix includes.
16145 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16146 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16147 * grub-core/lib/i386/reboot.c: New file.
16148
16149 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 Make grub_prefix into module to fix the arbitrary limit and save
16152 some space.
16153
16154 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16155 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16156 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16157 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16158 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16159 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16160 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16161 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16162 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16163 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16164 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16165 * include/grub/ia64/efi/kernel.h: Removed.
16166 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16167 (grub_prefix): Removed.
16168 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16169 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16170 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16171 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16172 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16173 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16174 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16175 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16176 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16177 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16178 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16179 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16180 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16181 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16182 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16183 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16184 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16185 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16186 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16187 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16188 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16189 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16190 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16191 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16192 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16193 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16194 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16195 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16196 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16197 from module.
16198 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16199 prefix_end.
16200 (image_targets): Likewise.
16201 (generate_image): Put prefix as a module.
16202
16203 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Replace grub_module_iterate with FOR_MODULES.
16206
16207 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16208 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16209 (grub_efi_modules_addr): ...this.
16210 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16211 (grub_efi_init): Set grub_modbase.
16212 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16213 (grub_modbase): New variable.
16214 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16215 (grub_modbase): New variable.
16216 (grub_machine_init): Set grub_modbase.
16217 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16218 (grub_modbase): New variable.
16219 (grub_machine_init): Set grub_modbase.
16220 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16221 (grub_modbase): New variable.
16222 (grub_machine_init): Set grub_modbase.
16223 * grub-core/kern/main.c (grub_module_iterate): Remove.
16224 (grub_modules_get_end): Use grub_modbase.
16225 (grub_load_modules): Use FOR_MODULES.
16226 (grub_load_config): Likewise.
16227 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16228 (grub_modbase): New variable.
16229 (grub_machine_init): Set grub_modbase.
16230 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16231 (grub_modbase): New variable.
16232 (grub_machine_init): Set grub_modbase.
16233 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16234 Removed.
16235 (grub_modbase): New variable.
16236 (grub_machine_init): Set grub_modbase.
16237 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16238 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16239 (grub_module_iterate): Likewise.
16240 (grub_modbase): New variable declaration.
16241 (FOR_MODULES): New macro.
16242
16243 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16246 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16247
16248 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 Fix few obvious type discrepancies.
16251
16252 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16253 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16254 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16255 variable.
16256 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16257 and connected types.
16258 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16259 offset.
16260 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16261 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16262 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16263 and connected types.
16264
16265 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 Fix python 3.x incompatibilities.
16268
16269 * gentpl.py: Put brackets around print strings.
16270 * util/import_gcry.py: Open explicitly as utf-8.
16271 Use in instead of has_key.
16272
16273 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16276 (GRUB_XFS_INO_AGBITS): Make into inline function.
16277 (GRUB_XFS_INO_INOINAG): Likewise.
16278 (GRUB_XFS_INO_AG): Likewise.
16279 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16280 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16281 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16282 (GRUB_XFS_EXTENT_SIZE): Likewise.
16283 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16284 (GRUB_XFS_NEXT_DIRENT): Likewise.
16285 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16286 (grub_xfs_read_file): Fix offset type.
16287
16288 2011-10-15 Robert Millan <rmh@gnu.org>
16289
16290 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16291
16292 2011-10-15 Robert Millan <rmh@gnu.org>
16293
16294 Fix build problem on FreeBSD and GNU/kFreeBSD.
16295
16296 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16297
16298 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16301
16302 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16303 types.
16304 (grub_hfsplus_btree_recoffset): Likewise.
16305 (grub_hfsplus_btree_recptr): Likewise.
16306 (grub_hfsplus_find_block): Likewise.
16307 (grub_hfsplus_btree_search): Likewise.
16308 (grub_hfsplus_read_block): Likewise.
16309 (grub_hfsplus_read_file): Likewise.
16310 (grub_hfsplus_mount): Likewise.
16311 (grub_hfsplus_btree_iterate_node): Likewise.
16312 (grub_hfsplus_btree_search): Likewise.
16313 (grub_hfsplus_iterate_dir): Likewise.
16314 (grub_hfsplus_read): A small code simplification.
16315
16316 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * grub-core/kern/emu/hostdisk.c
16319 (convert_system_partition_to_system_disk): Don't assume that children
16320 of mapper nodes are mapper nodes.
16321
16322 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16325 * include/grub/misc.h (grub_isxdigit): New function.
16326 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16327 switched to grub_isxdigit.
16328 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16329 number starting with a letter.
16330
16331 2011-10-09 Robert Millan <rmh@gnu.org>
16332
16333 LVM support for FreeBSD and GNU/kFreeBSD.
16334
16335 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16336 GNU/kFreeBSD.
16337 (LVM_DEV_MAPPER_STRING): Move from here ...
16338 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16339 * util/getroot.c: Include `<grub/util/lvm.h>'.
16340 (grub_util_get_dev_abstraction): Enable
16341 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16342 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16343 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16344 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16345 support it.
16346 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16347 GNU/kFreeBSD.
16348 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16349 when LVM abstraction is required for ${GRUB_DEVICE}.
16350
16351 2011-10-06 Szymon Janc <szymon@janc.net.pl>
16352
16353 Add support for LZO compression in GRUB:
16354 - import of minilzo library,
16355 - LZO decompression for btrfs,
16356 - lzop files decompression.
16357
16358 * grub-core/io/lzopio.c: New file.
16359 * grub-core/lib/adler32.c: Likewise.
16360 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16361 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16362 * grub-core/lib/minilzo/minilzo.c: Likewise.
16363 * grub-core/lib/minilzo/minilzo.h: Likewise.
16364 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16365 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16366 grub-core/lib/minilzo/minilzo.c to common.
16367 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16368 cflags in cppflags.
16369 * grub-core/Makefile.core.def (btrfs): Likewise.
16370 * grub-core/Makefile.core.def (lzopio): New module.
16371 (adler32): Likewise.
16372 * grub-core/fs/btrfs.c: Include minilzo.h.
16373 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16374 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16375 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16376 (grub_btrfs_lzo_decompress): New function.
16377 (grub_btrfs_extent_read): Add support for LZO compression type.
16378 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16379 (GRUB_USHRT_MAX): Likewise.
16380 (GRUB_UINT_MAX): Likewise.
16381 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16382 (UINT_MAX): Likewise.
16383 (CHAR_BIT): Likewise.
16384 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16385 grub-core/lib/posix_wrap/limits.h
16386 (UCHAR_MAX): Likewise.
16387 * include/grub/file.h (grub_file_filter_id): New compression filter
16388 GRUB_FILE_FILTER_LZOPIO.
16389 * include/grub/file.h (grub_file_filter_id): Set
16390 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16391 * include/grub/types.h (grub_get_unaligned16): New function.
16392 (grub_get_unaligned32): Likewise.
16393 (grub_get_unaligned64): Likewise.
16394 * util/import_gcry.py (cryptolist): Add adler32.
16395
16396 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16399 in perspective decreases the complexity of build system and fixes
16400 compilation right now.
16401
16402 2011-10-01 Ales Nesrsta <starous@volny.cz>
16403
16404 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16405 (fixed problem related to using UHCI with coreboot).
16406
16407 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16408
16409 * gentpl.py: Use Autogen macros so that the output template file
16410 (Makefile.tpl) size is reduced.
16411
16412 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
16413
16414 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16415 extra_dist.
16416
16417 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16418
16419 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16420 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16421
16422 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16423
16424 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16425 _fullpath.
16426
16427 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16428
16429 Remove extra declaration of sleep for mingw32.
16430
16431 * util/misc.c (sleep) [__MINGW32__]: Removed.
16432 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16433
16434 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16435
16436 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16437 type and packname.
16438 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16439 Resurrected.
16440 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16441 (grub_netbsd_btinfo_bootwedge): New struct.
16442 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16443 New function.
16444 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16445
16446 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16447
16448 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16449 loader.
16450
16451 2011-09-28 Andreas Born <futur.andy@googlemail.com>
16452
16453 Fix incorrect identifiers in bash-completion.
16454
16455 * util/bash-completion.d/grub-completion.bash.in
16456 (_grub_mkpasswd-pbkdf2): Rename to ...
16457 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16458 (_grub_script-check): Rename to ...
16459 (_grub_script_check): ... this. All users updated.
16460
16461 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16464 Return 0 if disk isn't biosdisk.
16465
16466 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16467
16468 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16469 on NetBSD.
16470 * Makefile.util.def (grub-fstest): Likewise.
16471
16472 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16473
16474 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16475 Get sector size from disk label.
16476
16477 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
16478
16479 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16480 */README* as well as README*.
16481 Reported by: Axel Beckert.
16482
16483 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16486 case of less than 256 MiB of RAM.
16487
16488 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 * grub-core/commands/wildcard.c (make_regex): Handle @.
16491
16492 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16495
16496 2011-08-21 Szymon Janc <szymon@janc.net.pl>
16497
16498 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16499 AC_LANG_CONFTEST macros.
16500
16501 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16502
16503 Add grub-fstest option to uncompress data for commands.
16504
16505 * util/grub-fstest.c (uncompress): New var.
16506 (options): New option -u.
16507
16508 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16509
16510 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16511 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16512
16513 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16514
16515 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16516 file type was not recognized correctly (not gzip or corrupted).
16517
16518 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16521 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16522
16523 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16526 loongson.
16527 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16528 video_radeon_fuloong2e.
16529 * grub-core/video/radeon_fuloong2e.c: New file.
16530 * include/grub/video.h (grub_video_id_t): Add new ID
16531 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16532
16533 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16536 define.
16537 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16538 that PRID matches the detected subplatform and reset the subplatform
16539 if it doesn't.
16540
16541 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16544
16545 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 Fix PCI iterating on functions >= 4.
16548
16549 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16550 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16551 Removed.
16552 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16553 (grub_pci_read): Fix bitmask.
16554 (grub_pci_read_word): Likewise.
16555 (grub_pci_read_byte): Likewise.
16556 (grub_pci_write): Likewise.
16557 (grub_pci_write_word): Likewise.
16558 (grub_pci_write_byte): Likewise.
16559
16560 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16563 can still be specified in TARGET_CFLAGS)
16564
16565 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16566
16567 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16568
16569 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16570 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16571 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16572 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16573 (FULOONG): Rename to ...
16574 (FULOONG2F): ... this. All users updated.
16575 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16576 (machtype_fuloong2f_str): ... this.
16577 (machtype_fuloong2e_str): New string.
16578 Check for machtype_fuloong2e_str.
16579 * grub-core/loader/mips/linux.c (loongson_machtypes)
16580 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16581 * grub-core/term/serial.c (loongson_defserial)
16582 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16583 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16584 loongson_defserial.
16585 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16586 Rename to ...
16587 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16588 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16589 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16590 to IMAGE_FULOONG2F_FLASH. All users updated.
16591 (image_targets): Rename images.
16592 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16593
16594 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16595
16596 Make enable of disk cache statistics code configurable.
16597
16598 * configure.ac: --enable-cache-stats added.
16599 * config.h.in (DISK_CACHE_STATS): New define.
16600 * grub-core/Makefile.core.def (cacheinfo): New command.
16601 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16602 * grub-core/commands/cacheinfo.c: New file.
16603 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16604 moved to cacheinfo.c.
16605 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16606 debug code.
16607 * include/grub/disk.h: Likewise.
16608
16609 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16610
16611 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16612 * grub-core/Makefile.am: Likewise.
16613
16614 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16617 non-zero pull.
16618
16619 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16622 All users updated.
16623 (grub_jfs_lookup_symlink): Use correct starting inode.
16624
16625 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * util/grub-setup.c (main): Add missing gcry initialisation.
16628
16629 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 Don't accept text modes on EFI when booting Linux.
16632
16633 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16634 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16635
16636 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
16637 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16638
16639 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16640 use of "/path/.." as in grub-install for EFI as well as handling
16641 symlinks correctly.
16642 Fixes Debian bug #637768.
16643
16644 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16645
16646 * util/grub-probe.c: Remove duplicate #include.
16647
16648 2011-08-10 Robert Millan <rmh@gnu.org>
16649
16650 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16651
16652 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16653 function.
16654 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16655 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16656
16657 2011-08-03 Robert Millan <rmh@gnu.org>
16658
16659 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16660 la_array as packed.
16661 Reported by: Zachary Bedell
16662
16663 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16664
16665 * configure.ac: The Loongson port requires grub-mkfont due to its
16666 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16667 be built.
16668
16669 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16670
16671 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16672 processing arguments (otherwise help2man fails when GRUB has not yet
16673 been installed).
16674
16675 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 New script grub-mkstandalone.
16678
16679 * Makefile.util.def (grub-mkstandalone): New script.
16680 * docs/man/grub-mkstandalone.h2m: New file.
16681 * util/grub-mkstandalone.in: Likewise.
16682
16683 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 Support ATA disks with 4K sectors.
16686
16687 * include/grub/ata.h (grub_ata): New member log_sector_size.
16688 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16689 (grub_ata_identify): Read sector size.
16690 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16691
16692 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * util/grub-install.in: Don't use uhci outside of x86.
16695
16696 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * util/grub-mkrescue.in: Add missing quotes.
16699
16700 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16703 dereference.
16704
16705 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16706
16707 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16708
16709 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * include/grub/video.h: add missing EXPORT_FUND on
16712 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16713
16714 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * include/grub/mips/kernel.h: Fix define conflict.
16717
16718 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16721 all four ways.
16722
16723 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
16724
16725 Preferred resolution detection for VBE.
16726
16727 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16728 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16729 the Flat Panel extension, in line with the X.org VESA driver.
16730 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16731 New function.
16732 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16733 (grub_vbe_bios_read_edid): Likewise.
16734 (grub_vbe_get_preferred_mode): Likewise.
16735 (grub_video_vbe_setup): When the mode is "auto", try to get the
16736 preferred mode from VBE, and use the largest mode that is no larger
16737 than the preferred mode (some BIOSes expose a preferred mode that is
16738 not in their mode list!). If this fails, fall back to 640x480 as a
16739 safe conservative choice.
16740 (grub_video_vbe_get_edid): New function.
16741 (grub_video_vbe_adapter): Add get_edid.
16742 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16743 (struct grub_video_adapter): Add get_edid.
16744 (grub_video_edid_checksum): Add prototype.
16745 (grub_video_edid_preferred_mode): Likewise.
16746 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16747 structure.
16748
16749 * grub-core/commands/videoinfo.c (print_edid): New function.
16750 (grub_cmd_videoinfo): Print EDID if available.
16751
16752 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16753 is more appropriate on a wider range of platforms than 640x480.
16754 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16755 documentation.
16756
16757 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16760
16761 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * po/POTFILES.in: Regenerate.
16764
16765 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16768 incorrect memory usage.
16769
16770 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16771
16772 * util/grub-install.in: Source grub-mkconfig_lib.
16773
16774 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 Remove getroot.c from core on emu platform.
16777
16778 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16779 kern/emu/raid.c.
16780 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16781 useless.
16782 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16783 * util/getroot.c (get_win32_path): ... here.
16784 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16785 * util/getroot.c (fini_libzfs): ... here.
16786 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16787 * util/getroot.c (grub_get_libzfs_handle): ... here.
16788 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16789 Moved from here...
16790 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16791 * grub-core/kern/emu/misc.c
16792 (grub_make_system_path_relative_to_its_root): Moved from here...
16793 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16794 * grub-core/kern/emu/getroot.c: Moved from here ...
16795 * util/getroot.c: ... here. All users updated.
16796 * grub-core/kern/emu/raid.c: Moved from here ...
16797 * util/raid.c: ... here. All users updated.
16798
16799 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * po/POTFILES.in: Regenerate.
16802
16803 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 Fix compilation on GNU/Linux.
16806
16807 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16808 Disable geli.
16809 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16810 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16811 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16812
16813 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16814 2011-07-07 Michael Gorven <michael@gorven.za.net>
16815 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16816
16817 LUKS and GELI support.
16818
16819 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16820 grub-core/disk/luks.c, grub-core/disk/geli.c,
16821 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16822 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16823 grub-core/lib/arg.c.
16824 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16825 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16826 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16827 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16828 (grub-bin2h): Add libgcry.a.
16829 (grub-mkimage): Likewise.
16830 (grub-mkrelpath): Likewise.
16831 (grub-script-check): Likewise.
16832 (grub-editenv): Likewise.
16833 (grub-mkpasswd-pbkdf2): Likewise.
16834 (grub-pe2elf): Likewise.
16835 (grub-fstest): Likewise.
16836 (grub-mkfont): Likewise.
16837 (grub-mkdevicemap): Likewise.
16838 (grub-probe): Likewise.
16839 (grub-ofpath): Likewise.
16840 (grub-mklayout): Likewise.
16841 (example_unit_test): Likewise.
16842 (grub-menulst2cfg): Likewise.
16843 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16844 * grub-core/Makefile.core.def (cryptodisk): New module.
16845 (luks): Likewise.
16846 (geli): Likewise.
16847 * grub-core/disk/AFSplitter.c: New file.
16848 * grub-core/disk/cryptodisk.c: Likewise.
16849 * grub-core/disk/geli.c: Likewise.
16850 * grub-core/disk/luks.c: Likewise.
16851 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16852 grub_util_is_lvm.
16853 (grub_util_get_dm_abstraction): New function.
16854 (grub_util_follow_gpart_up): Likewise.
16855 (grub_util_get_geom_abstraction): Likewise.
16856 (grub_util_get_dev_abstraction): Use new functions.
16857 (grub_util_pull_device): Pull GELI and LUKS.
16858 (grub_util_get_grub_dev): Handle LUKS and GELI.
16859 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16860 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16861 (follow_geom_up): Removed.
16862 (grub_util_fd_seek): New function.
16863 (open_device): Use grub_util_fd_seek.
16864 (nread): Rename to ..
16865 (grub_util_fd_read): ... this. All users updated.
16866 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16867 (grub_crypto_cbc_decrypt): Likewise.
16868 (grub_crypto_hmac_write): Likewise.
16869 (grub_crypto_hmac_buffer): Likewise.
16870 (grub_password_get): Extend to util.
16871 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16872 New member modname.
16873 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16874 * include/grub/cryptodisk.h: New file.
16875 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16876 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16877 LUKS and GELI.
16878 (grub_util_follow_gpart_up): New proto.
16879 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16880 (grub_util_fd_read): Likewise.
16881 (grub_cryptodisk_cheat_mount): Likewise.
16882 (grub_util_cryptodisk_print_uuid): Likewise.
16883 (grub_util_get_fd_sectors): Likewise.
16884 * util/grub-fstest.c (mount_crypt): New var.
16885 (fstest): Mount crypto if requested.
16886 (options): New option -C.
16887 (argp_parser): Parse -C.
16888 (main): Init and fini gcry.
16889 * util/grub-install.in: Support cryptodisk install.
16890 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16891 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16892 cryptodisk.
16893 (prepare_grub_to_access_device): Likewise.
16894 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16895 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16896 (probe_cryptodisk_uuid): New function.
16897 (probe_abstraction): Likewise.
16898 (probe): Use new functions.
16899 * util/import_gcry.py: Create Makefile.utilgcry.def.
16900 Add modname member.
16901
16902 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Lazy device scanning.
16905
16906 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16907 (grub-setup): Remove util/raid.c.
16908 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16909 * grub-core/disk/lvm.c (scan_depth): New variable.
16910 (grub_lvm_iterate): Rescan if necessary.
16911 (find_lv): New function based on grub_lvm_open.
16912 (grub_lvm_open): Use find_lv. Rescan on error.
16913 (is_node_readable): New function.
16914 (is_lv_readable): Likewise.
16915 (grub_lvm_scan_device): Skip already found disks.
16916 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16917 Stop if searched device is found and readable.
16918 * grub-core/disk/raid.c (inscnt): New variable.
16919 (scan_depth): Likewise.
16920 (scan_devices): New function based on grub_raid_register. Abort if
16921 looked for device is found.
16922 (grub_raid_iterate): Rescan if needed.
16923 (find_array): NEw function based on -grub_raid_open.
16924 (grub_raid_open): Use find_array and rescan.
16925 (insert_array): Set became_readable_at.
16926 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16927 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16928 New function.
16929 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16930 (grub_util_pull_device): New function.
16931 (grub_util_get_grub_dev): Call grub_util_pull_device.
16932 * util/raid.c: Moved to ..
16933 * grub-core/kern/emu/raid.c: ... here.
16934 (grub_util_raid_getmembers): New parameter "bootable".
16935 All users updated. Support 1.x.
16936 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16937 All users updated.
16938 * include/grub/disk.h (grub_disk_pull_t): New enum.
16939 (grub_disk_dev): Change iterate prototype.
16940 All users updated.
16941 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16942 New proto.
16943 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16944 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16945 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16946 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16947 All users updated.
16948 * include/grub/util/raid.h: Removed.
16949
16950 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * po/POTFILES.in: Regenerate.
16953
16954 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 Unify sparc init with other ieee1275.
16957
16958 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16959 instead of kern/sparc64/ieee1275/init.c.
16960 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16961 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16962 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16963 grub/machine/kernel.h.
16964 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16965 (grub_claim_heap) [__sparc__]: Use sparc version.
16966 (grub_machine_init): Moved args parsing to
16967 (grub_parse_cmdline): ...this.
16968 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16969 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16970 New definition.
16971 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16972
16973 Move BOOTP to separate file.
16974
16975 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16976 * grub-core/net/net.c: Move all BOOTP functions to
16977 * grub-core/net/bootp.c: ... here.
16978
16979 Use frame interface on PXE.
16980
16981 * grub-core/Makefile.core.def (pxecmd): Removed.
16982 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16983 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16984 * grub-core/i386/pc/pxe.c: Moved from here ...
16985 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16986 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16987 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16988
16989 EFI network support.
16990
16991 * grub-core/Makefile.core.def (efinet): New module.
16992 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16993 here...
16994 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16995 All users updated.
16996 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16997 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16998 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16999 * grub-core/net/drivers/efi/efinet.c: New file.
17000 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17001 (grub_efi_net_config): New extern var.
17002
17003 Various cleanups and bugfixes.
17004
17005 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17006 error.
17007 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17008 disk declared as partition.
17009 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17010 leak on failure.
17011 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17012 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17013 (grub_debug_zalloc): Likewise.
17014 (grub_debug_realloc): Likewise.
17015 (grub_debug_memalign): Likewise.
17016 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17017 Check that target is IPv4.
17018 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17019 local-mac-address as fallback.
17020 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17021 memory leak.
17022 * grub-core/net/ip.c (ipchksum): Rename to ...
17023 (grub_net_ip_chksum): ... this. All users updated.
17024 (grub_net_recv_ip_packets): Special handling for DHCP.
17025 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17026
17027 Unify prefix handling
17028
17029 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17030 (grub_machine_get_bootlocation): ... this.
17031 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17032 (grub_machine_get_bootlocation): ... this.
17033 (grub_prefix): New variable.
17034 (prefix): Removed.
17035 (root_dev): New variable.
17036 (dir): Likewise.
17037 (main): Use new variables.
17038 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17039 Revamped into ...
17040 (grub_machine_get_bootlocation): ... this.
17041 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17042 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17043 (grub_machine_get_bootlocation): ... this.
17044 (grub_machine_set_prefix): Removed.
17045 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17046 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17047 Revamped into ...
17048 (grub_machine_get_bootlocation): ... this.
17049 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17050 (grub_set_prefix_and_root): ... this. All users updated.
17051 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17052 Revamped into ...
17053 (grub_machine_get_bootlocation): ... this.
17054 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17055 (grub_machine_get_bootlocation): New proto.
17056 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17057
17058 Less intrusive and more reliable seek on network implementation.
17059
17060 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17061 (grub_file_seek): Don't call grub_file_net_seek.
17062 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17063 (grub_net_fs_read_real): .. this.
17064 (grub_net_seek_real): Use net->offset.
17065 (grub_net_fs_read): Seek if necessary.
17066
17067 Unify IEEE1275 netwotk config with the other platforms.
17068
17069 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17070 New variable.
17071 (grub_machine_get_bootlocation): Support network.
17072 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17073 Support type and device parsing.
17074 (grub_ieee1275_get_device_type): New function.
17075 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17076 into ...
17077 (grub_ieee1275_net_config_real): ... this.
17078 (grub_ofnet_probecards): Removed.
17079 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17080 * include/grub/ieee1275/ofnet.h: Removed.
17081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17082 extern var.
17083 (grub_ieee1275_get_device_type): New function.
17084
17085 Unify network device closing across platforms and make more robust.
17086
17087 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17088 grub_grubnet_fini.
17089 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17090 already.
17091 * grub-core/net/net.c (grub_net_network_level_interface_register):
17092 Update num_ifaces.
17093 (grub_net_card_unregister): Close all interfaces.
17094 (receive_packets): Don't poll if no iterfaces are registered.
17095 Open if necessary.
17096 (grub_net_fini_hw): New function.
17097 (grub_net_restore_hw): Likewise.
17098 (fini_hnd): New variable.
17099 (GRUB_MOD_INIT): Register preboot hook.
17100 (GRUB_MOD_FINI): Run and unregister preboot hook.
17101
17102 Poll network cards when idle.
17103
17104 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17105 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17106 * grub-core/net/net.c (receive_packets): Save last poll time.
17107 (grub_net_poll_cards_idle_real): New function.
17108 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17109 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17110 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17111
17112 Rename ofnet interfaces.
17113
17114 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17115 (grub_ofnet_findcards): Use ofnet_%s names.
17116
17117 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17118
17119 Cleanup socket opening.
17120
17121 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17122 (grub_net_fs_close): Likewise.
17123 (grub_net_fs_read_real): Use eof member.
17124 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17125 (+grub_net_udp_close): New inline function.
17126
17127 * include/grub/net/tftp.h: Moved to the top of ...
17128 * grub-core/net/tftp.c: ... here.
17129 * include/grub/net/ip.h: Moved mostly to the top of ...
17130 * grub-core/net/ip.c: ... here.
17131 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17132 * grub-core/net/ethernet.c: ... here.
17133
17134 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17135
17136 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17137 FS name.
17138
17139 * include/grub/net/ip.h (ipv4_ini): Removed.
17140 (ipv4_fini): Likewise.
17141
17142 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17143 (grub_net_send_ip_packets): Likewise.
17144
17145 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17148 grub_read_cmos prototype.
17149
17150 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 VGA text support in qemu-mips
17153
17154 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17155 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17156 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17157 text.
17158 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17159 * grub-core/kern/vga_init.c: ... this.
17160 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17161 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17162 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17163 Adjust.
17164 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17165 GRUB_MACHINE_PCI_IO_BASE.
17166
17167 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17168
17169 MIPS qemu flash support.
17170
17171 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17172 magic.
17173 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17174 (grub_machine_init): Probe memory if its size isn't known.
17175 * util/grub-mkimage.c (image_targets): Add flash targets.
17176 (generate_image): Handle flash targets.
17177
17178 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 MIPS qemu at_keyboard support.
17181
17182 * gentpl.py (videoinkernel): Add qemu-mips.
17183 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17184 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17185 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17186 modules.
17187 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17188 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17189 * grub-core/term/serial.c (grub_serial_register)
17190 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17191
17192 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 CMOS support on sparc.
17195
17196 * gentpl.py (cmos): Add powerpc and sparc.
17197 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17198 powerpc and sparc.
17199 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17200 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17201 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17202 grub_set_datetime_cmos.
17203 * grub-core/lib/ieee1275/cmos.c: New file.
17204 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17205 (find_rtc): Set no_ieee1275_rtc on error.
17206 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17207 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17208 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17209 fail. Move value to argument. All users updated
17210 (grub_cmos_write): Likewise.
17211 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17212 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17213 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17214 grub_get_datetime_cmos and grub_set_datetime_cmos.
17215
17216 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17217
17218 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17219 sourcing grub-mkconfig_lib.
17220 * util/update-grub_lib.in: Likewise.
17221 * util/grub.d/00_header.in: Likewise.
17222 * util/grub.d/10_hurd.in: Likewise.
17223 * util/grub.d/10_kfreebsd.in: Likewise.
17224 * util/grub.d/10_linux.in: Likewise.
17225 * util/grub.d/10_netbsd.in: Likewise.
17226 * util/grub.d/10_windows.in: Likewise.
17227 * util/grub.d/20_linux_xen.in: Likewise.
17228 * util/grub.d/30_os-prober.in: Likewise.
17229
17230 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
17231
17232 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17233 default_bg_color rather than black.
17234 (grub_gfxterm_fullscreen): Likewise.
17235 (grub_gfxterm_background_color_cmd): Save new background color in
17236 default_bg_color.
17237
17238 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17241
17242 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17245 mismerge.
17246
17247 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Chainloading on coreboot support.
17250
17251 * grub-core/Makefile.core.def (chain): Add coreboot.
17252 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17253
17254 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17257 if it happens.
17258
17259 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17260
17261 Implement time command.
17262
17263 * grub-core/Makefile.core.def (time): New module.
17264 * grub-core/commands/time.c: New file.
17265 * grub-core/script/parser.y: Remove "time" keyword.
17266 * grub-core/script/yylex.l: Likewise.
17267
17268 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17271
17272 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17275 when handling leftovers.
17276
17277 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17280 so that help2man doesn't fail.
17281
17282 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17285 type in pointers on sparc64.
17286 (get_card_packet): Likewise.
17287
17288 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
17289
17290 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17291 with `*'.
17292 (grub_cmd_videoinfo): Fetch current video mode.
17293
17294 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17297 because of underlying system restrictions.
17298
17299 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17302 necessary.
17303
17304 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 Coreboot video support.
17307
17308 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17309 (vbe): Likewise.
17310 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17311 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17312 here ...
17313 * grub-core/kern/i386/int.S: ... here.
17314 * grub-core/video/i386/pc/vbe.c: Updated includes.
17315 * grub-core/video/i386/pc/vga.c: Likewise.
17316 * include/grub/i386/coreboot/memory.h
17317 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17318 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17319 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17320 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17321 Disable interrupts.
17322 * include/grub/i386/pc/vga.h: Removed. All users updated.
17323
17324 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17327 definitions for dprintf.
17328 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17329
17330 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17333 prototype.
17334 (get_card_packet): Likewise.
17335
17336 2011-06-26 Yves Blusseau <blusseau@zetam.org>
17337
17338 Display the path of the file when file is not found
17339
17340 * grub-core/fs/fat.c: Display the filename when file is not found.
17341 * grub-core/fs/fshelp.c: Likewise.
17342 * grub-core/fs/hfs.c: Likewise.
17343 * grub-core/fs/jfs.c: Likewise.
17344 * grub-core/fs/minix.c: Likewise.
17345 * grub-core/fs/ufs.c: Likewise.
17346 * grub-core/fs/btrfs.c: Likewise.
17347 * grub-core/commands/i386/pc/play.c: Likewise.
17348
17349 2011-06-26 Szymon Janc <szymon@janc.net.pl>
17350
17351 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17352 pointer checks before calling grub_free().
17353 * grub-core/commands/wildcard.c (match_devices): Likewise.
17354 * grub-core/commands/wildcard.c (match_files): Likewise.
17355 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17356 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17357 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17358 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17359 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17360 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17361 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17362 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17363 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17364
17365 2011-06-25 Patrick <p55@mailinator.com>
17366
17367 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17368
17369 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17372 (grub_pxe_send): Likewise.
17373 (GRUB_MOD_INIT): Fix types.
17374
17375 2011-06-24 Szymon Janc <szymon@janc.net.pl>
17376
17377 * grub-core/io/xzio.c: Fix code style issues
17378
17379 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17380 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
17381
17382 Network infrastructure.
17383 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17384
17385 * include/grub/net/arp.h: New file.
17386 * include/grub/net/device.h: Likewise.
17387 * include/grub/net/ethernet.h: Likewise.
17388 * include/grub/net/ip.h: Likewise.
17389 * include/grub/net/netbuff.h: Likewise.
17390 * include/grub/net/tftp.h: Likewise.
17391 * include/grub/net/udp.h: Likewise.
17392 * include/grub/ieee1275/ofnet.h: Likewise.
17393 * include/grub/emu/export.h: Likewise.
17394 * include/grub/net.h: Likewise.
17395 * grub-core/net/arp.c: Likewise.
17396 * grub-core/net/ethernet.c: Likewise.
17397 * grub-core/net/ip.c: Likewise.
17398 * grub-core/net/udp.c: Likewise.
17399 * grub-core/net/tftp.c: Likewise.
17400 * grub-core/net/netbuff.c: Likewise.
17401 * grub-core/net/net.c: Likewise.
17402 * grub-core/net/drivers/emu/emunet.c: Likewise.
17403 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17404 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17405 export.h.
17406 * grub-core/Makefile.core.def (net): New module.
17407 (tftp): Likewise.
17408 (ofnet): Likewise.
17409 (emunet): Likewise.
17410 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17411 network protocols.
17412 * grub-core/kern/device.c (grub_net_open) : New variable.
17413 (grub_device_open): Handle network device.
17414 (grub_device_close): Likewise.
17415 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17416 (grub_grubnet_fini): Likewise.
17417 (grub_file_seek): Seek in network device.
17418 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17419 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17420 network root.
17421 (grub_machine_fini): Call grub_grubnet_fini.
17422 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17423 network.
17424 (grub_ieee1275_get_aliasdevname): New function.
17425 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17426 Add unofficial Solaris network info.
17427 (grub_multiboot_make_mbi): Likewise.
17428 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17429 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17430 * include/grub/device.h (grub_fs): Removed.
17431 * include/grub/err.h (grub_err_t): Add network-related values.
17432 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17433 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17434 (grub_ieee1275_get_aliasdevname): New proto.
17435 * include/grub/net.h: Rewritten.
17436
17437 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17440 names.
17441
17442 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17445 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17446 it truncates the output.
17447 Reported by: Ximin Luo.
17448
17449 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17452
17453 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17456 partmap before abstraction.
17457
17458 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17459
17460 * util/grub-mkconfig_lib.in: Add missing quotes.
17461
17462 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17465 old method if mountinfo would return /dev/root and /dev/root doesn't
17466 exist.
17467
17468 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17469
17470 ZFS zlib support
17471
17472 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17473 (decomp_table): Add zlib entries.
17474 (zio_read): USe 8 bits for compression function rather than 3.
17475 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17476
17477 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * grub-core/disk/ahci.c: Add missing license statements.
17480 * grub-core/fs/romfs.c: Likewise.
17481 * grub-core/lib/ia64/setjmp.S: Likewise.
17482 * grub-core/loader/i386/pc/freedos.c: Likewise.
17483 * grub-core/loader/ia64/efi/linux.c: Likewise.
17484 * grub-core/video/colors.c: Likewise.
17485 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17486
17487 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 AHCI support.
17490
17491 * grub-core/Makefile.core.def (ata_pthru): Removed.
17492 (ahci): New module.
17493 (pata): Likewise.
17494 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17495 on unload.
17496 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17497 readwrite.
17498 (grub_hdparm_do_check_powermode_cmd): Likewise.
17499 (grub_hdparm_do_smart_cmd): Likewise.
17500 (grub_hdparm_set_val_cmd): Likewise.
17501 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17502 * grub-core/disk/ahci.c: New file.
17503 * grub-core/disk/ata.c: Factor out the low-level part into ...
17504 * grub-core/disk/pata.c: ... here.
17505 * grub-core/disk/ata_pthru.c: Contents moved to ...
17506 * grub-core/disk/pata.c: ... here.
17507 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17508 (grub_scsi_iterate): Use grub_scsi_names.
17509 (grub_scsi_open): Likewise.
17510 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17511 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17512 (grub_ata_regs_t): New struct.
17513 (grub_disk_ata_pass_through_parms): Likewise.
17514 (grub_ata_device): Renamed to ...
17515 (grub_ata): ... this.
17516 (grub_ata_dev): New struct.
17517 Removed all low-level inline functions.
17518 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17519 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17520 iterate hooks and open. All users updated.
17521 * util/grub-install.in: Handle AHCI disk module.
17522
17523 2011-06-23 Szymon Janc <szymon@janc.net.pl>
17524
17525 Add support for DRI and RSTn markers in JPEG files.
17526
17527 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17528 (JPEG_MARKER_RST0): Likewise.
17529 (JPEG_MARKER_RST1): Likewise.
17530 (JPEG_MARKER_RST2): Likewise.
17531 (JPEG_MARKER_RST3): Likewise.
17532 (JPEG_MARKER_RST4): Likewise.
17533 (JPEG_MARKER_RST5): Likewise.
17534 (JPEG_MARKER_RST6): Likewise.
17535 (JPEG_MARKER_RST7): Likewise.
17536 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17537 (grub_jpeg_decode_dri): New function.
17538 (grub_jpeg_decode_sos): Move image data related part into
17539 grub_jpeg_decode_data function.
17540 (grub_jpeg_decode_data): New function.
17541 (grub_jpeg_reset): New function.
17542 (grub_jpeg_decode_jpeg): Handle new markers.
17543
17544 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * util/ieee1275/ofpath.c (check_sas): Close fd.
17547 (main): Free of_path.
17548 Reported by: David Volgyes <dvolgyes>.
17549
17550 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17551
17552 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17553 Reported by: David Volgyes <dvolgyes>.
17554
17555 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17558 file after stat.
17559 Reported by: David Volgyes <dvolgyes>.
17560
17561 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17564
17565 Reported by: David Volgyes <dvolgyes>.
17566
17567 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17570 Prevent memory leak.
17571
17572 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17575 (main): Close file.
17576 Reported by: David Volgyes <dvolgyes>.
17577
17578 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17579
17580 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17581 to continue if allocation is failed.
17582
17583 Reported by: David Volgyes <dvolgyes>.
17584
17585 2011-06-23 David Volgyes <dvolgyes>
17586
17587 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17588 dereference.
17589
17590 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 Fix spurious warning.
17593
17594 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17595 (acorn_partition_map_find): Use .bin member.
17596
17597 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17600 /dev/root as a valid device.
17601
17602 2011-06-23 Jim Meyering <meyering@redhat.com>
17603
17604 Avoid NULL deref in grub_device_open.
17605
17606 * grub-core/kern/device.c (grub_device_open): Don't dereference
17607 a NULL pointer upon failed grub_env_get.
17608
17609 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 Support non-512B sectors and agglomerate reads.
17612
17613 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17614 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17615 (disk_io_guid): Removed.
17616 (make_devices): Locate solely by BlockIO.
17617 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17618 (grub_efidisk_read): Use read_blocks.
17619 (grub_efidisk_write): Use write_blocks.
17620 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17621 log_sector_size.
17622 (get_safe_sectors): Handle non-512B sectors.
17623 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17624 sectors.
17625 (grub_biosdisk_write): Handle non-512B sectors.
17626 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17627 (grub_scsi_read): Remove special non-512B block handling (now handled
17628 one level up).
17629 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17630 and do sanity checks.
17631 (grub_disk_adjust_range): Handle non-512B sectors.
17632 (transform_sector): New function.
17633 (grub_disk_read_small): Likewise.
17634 (grub_disk_read): Rewritten.
17635 (grub_disk_write): Handle non-512B sectors.
17636 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17637 log_sector_size.
17638 (open_device): Use log_sector_size.
17639 (grub_util_biosdisk_read): Likewise.
17640 (grub_util_biosdisk_write): Likewise.
17641 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17642 non-512B sectors.
17643 (pc_partition_map_embed): Likewise.
17644 * include/grub/disk.h (grub_disk): New field log_sector_size.
17645 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17646 (GRUB_DISK_CACHE_BITS): Increased to 6.
17647 * util/grub-fstest.c (fstest): New command testload.
17648 (argp_parser): Likewise.
17649
17650 2011-06-16 Robert Millan <rmh@gnu.org>
17651
17652 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17653 `ata' driver on kernel of FreeBSD 9.
17654
17655 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17656 (get_ataraid_disk_name): New functions.
17657 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17658 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17659 get_ataraid_disk_name() and get_ada_disk_name().
17660
17661 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
17662
17663 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17664 input format.
17665
17666 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
17667
17668 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17669 `ftp.gnu.org' for `alpha.gnu.org'.
17670
17671 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17672
17673 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17674 partitions under /dev/disk/by-id/.
17675
17676 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17677
17678 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17679 after ten consecutive open failures. Scanning all the way up to
17680 10000 is excessive and can cause serious performance problems in
17681 some configurations.
17682 Fixes Ubuntu bug #787461.
17683
17684 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17685
17686 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17687 opening new one.
17688
17689 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
17690 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 Don't stat devices unless we have to.
17693
17694 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17695 dir == /dev/mapper.
17696 (grub_guess_root_device): Use already known os_dev if possible.
17697 * grub-core/kern/emu/hostdisk.c
17698 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17699 if device is known to be a dm one.
17700
17701 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
17702
17703 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17704 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17705 Reported by: Pawel Tecza.
17706
17707 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17710 (lsefisystab): Likewise.
17711 (lssal): Likewise.
17712 (lsefimmap): Likewise.
17713 (hdparm): Enable on qemu-mips.
17714 (setjmp): Add ia64 nodist.
17715 (serial): Simplify tags.
17716
17717 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17718
17719 * Makefile.util.def (grub-ofpathname): Install manual page.
17720
17721 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17722
17723 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17724
17725 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17726
17727 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17728
17729 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17730
17731 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17732 into dprintf.
17733
17734 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 Use full 64-bit division.
17737
17738 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17739 (grub_divmod64): ... this.
17740 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17741 version.
17742
17743 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17744
17745 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17746 `source'.
17747
17748 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17749
17750 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17751 to avoid accidents when debugging with 'sh -x'.
17752 * grub-core/gensyminfo.sh.in: Likewise.
17753 * tests/example_scripted_test.in: Likewise.
17754 * tests/grub_cmd_regexp.in: Likewise.
17755 * tests/grub_script_blanklines.in: Likewise.
17756 * tests/grub_script_dollar.in: Likewise.
17757 * tests/grub_script_expansion.in: Likewise.
17758 * tests/grub_script_final_semicolon.in: Likewise.
17759 * tests/partmap_test.in: Likewise.
17760 * tests/util/grub-shell-tester.in: Likewise.
17761 * tests/util/grub-shell.in: Likewise.
17762
17763 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17764
17765 Move gfxmenu color handling to video, so that gfxterm can use it
17766 too.
17767
17768 * grub-core/gfxmenu/named_colors.c: Move to ...
17769 * grub-core/video/colors.c: ... here. Rename
17770 grub_gui_get_named_color to grub_video_get_named_color.
17771 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17772 * grub-core/video/colors.c (my_isxdigit): ... here.
17773 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17774 Move to ...
17775 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17776 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17777 to ...
17778 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17779
17780 * include/grub/gui.h (grub_gui_color_t): Move to ...
17781 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17782 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17783 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17784 * include/grub/gui.h (grub_gui_map_color): Move to ...
17785 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17786 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17787 to ...
17788 * include/grub/video.h (grub_video_get_named_color): ... here.
17789 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17790 * include/grub/video.h (grub_video_parse_color): ... here.
17791
17792 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17793 video/colors.c.
17794 (gfxmenu): Remove gfxmenu/named_colors.c.
17795 (video) [videomodules]: Add video/colors.c.
17796
17797 Add a background_color command.
17798
17799 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17800 function.
17801 (GRUB_MOD_INIT): Register background_color command.
17802 (GRUB_MOD_FINI): Unregister background_color command.
17803 (redraw_screen_rect): Allow blend/replace of text layer to be
17804 controlled independently from whether there is a background bitmap.
17805 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17806 changing bitmap.
17807
17808 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 Patch BPB in ntldr and chainloader --bpb.
17811
17812 * grub-core/fs/fat.c: Include grub/fat.h.
17813 (grub_fat_bpb): Moved to ...
17814 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17815 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17816 grub/ntfs.h.
17817 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17818 Moved from here...
17819 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17820 here.
17821 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17822 New function.
17823 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17824 (GRUB_MOD_INIT): Show --bpb.
17825 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17826 * grub-core/normal/main.c (features): New variable.
17827 (GRUB_MOD_INIT): Set feature_* variables.
17828 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17829 proto.
17830 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17831
17832 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17835 for cleanness.
17836
17837 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17838
17839 FreeDOS direct loading support.
17840
17841 * docs/grub.texi (Supported OS): Add FreeDOS.
17842 * grub-core/Makefile.core.def (freedos): New module.
17843 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17844 variable.
17845 (grub_relocator16_boot): Handle %ebx.
17846 * grub-core/lib/i386/relocator16.S: Likewise.
17847 * grub-core/loader/i386/pc/freedos.c: New file.
17848
17849 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 Long Linux command line support.
17852
17853 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17854 (maximal_cmdline_size): New variable.
17855 (allocate_pages): Use maximal_cmdline_size.
17856 (grub_cmd_linux): Set and use maximal_cmdline_size.
17857 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17858 (allocate_pages): Use maximal_cmdline_size.
17859 (grub_cmd_linux): Set and use maximal_cmdline_size.
17860 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17861 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17862 and cmdline_size.
17863
17864 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17865 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17866
17867 Improve devmapper support
17868
17869 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17870 (grub_util_is_lvm): New function.
17871 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17872 than lvm if not dmraid.
17873 Handle mapped md nodes.
17874 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17875 (grub_util_device_is_mapped): ... this. Make always available. All users
17876 updated.
17877 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17878 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17879 dmraid nodes.
17880 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17881
17882 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17885
17886 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17887 * grub-core/modinfo.sh.in: New file.
17888 * grub-core/Makefile.core.def (modinfo.sh): New script.
17889 * util/grub-mknetdir.in: Use modinfo.sh.
17890 * util/grub-mkrescue.in: Likewise.
17891
17892 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17895 Fix potential usage of Elf32 instead of Elf64 when compiling on
17896 32-bit architecture. Add endianness macros while on it.
17897
17898 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 Use mipsel- rather than mips- in directories involving mipsel ports to
17901 allow both endiannesses coexist.
17902
17903 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17904 mips. All conditions adjusted.
17905 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17906 variable.
17907 * util/grub-install.in: Adjust conditions to take renaming into account.
17908 * util/grub-mkimage.c (image_targets): Likewise. New target
17909 mips-qemu_mips-elf for bigendian mips.
17910
17911 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 Avoid unnecessary copying on MIPS.
17914
17915 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17916 early if src == dest.
17917 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17918 compression is none.
17919
17920 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 Reduce memory footprint on SGI by putting modules before the kernel
17923 as opposed to after.
17924
17925 * grub-core/Makefile.core.def (kernel): Increase linking address.
17926 (none_decompress): Likewise.
17927 (xz_decompress): Likewise.
17928 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17929 address.
17930 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17931 layout change.
17932 (grub_arch_modules_addr): New function.
17933 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17934 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17935 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17936 here.
17937 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17938 (grub_total_modules_size): ... this. Make global.
17939 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17940 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17941 New definition.
17942 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17943 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17944 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17945 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17946 * util/grub-mkimage.c (image_target_desc): New flag
17947 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17948 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17949 (generate_image): Handle images with modules before kernel.
17950
17951 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17952
17953 Prevent potential loss of memory map by overwrite on qemu-mips.
17954
17955 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17956 Save ram size in $s4.
17957 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17958 All users changed to grub_arch_memsize.
17959 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17960 Loongson.
17961 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17962 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17963 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17964 external variable.
17965
17966 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17967
17968 * .bzrignore: Remove grub-dumpbios.
17969
17970 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17971
17972 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17973 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17974 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17975 existing options which append).
17976 * docs/grub.texi (Simple configuration): Document new options.
17977 Reported by: Ian Jackson. Fixes Debian bug #617538.
17978
17979 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17980
17981 * util/grub-fstest.c (cmd_cat): New function.
17982 (fstest): Handle CMD_CAT.
17983 (options): Add cat.
17984 (argp_parser): Handle cat.
17985
17986 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17987
17988 * Makefile.util.def (grub-bin2h): Don't install.
17989 * docs/man/grub-bin2h.h2m: Remove.
17990
17991 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17994 place.
17995
17996 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 Reenable qemu-mips port.
17999
18000 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18001 Fix small arc bug while on it.
18002 * gentpl.py: Handle qemu_mips.
18003 * grub-core/Makefile.am: Likewise.
18004 * grub-core/Makefile.core.def: Likewise.
18005 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18006 inappropriate includes.
18007 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18008 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18009 * grub-core/kern/main.c (grub_modules_get_end)
18010 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18011 * grub-core/kern/mips/qemu-mips: Moved to ..
18012 * grub-core/kern/mips/qemu_mips: ... this.
18013 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18014 (grub_machine_init): Call terminfo_init and serial_init.
18015 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18016 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18017 New variable.
18018 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18019 parameter passing.
18020 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18021 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18022 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18023 * include/grub/mips/qemu_mips/cmos.h: New file.
18024 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18025 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18026 Removed.
18027 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18028 Use correct mips-style address.
18029 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18030 (GRUB_TICKS_PER_SECOND): Removed.
18031 (grub_get_rtc): Likewise.
18032 (grub_cpu_idle): Likewise.
18033 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18034 New definition.
18035 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18036 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18037 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18038 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18039 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18040 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18041 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18042 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18043
18044 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18045
18046 SGI ARCS port.
18047
18048 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18049 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18050 platforms.
18051 * configure.ac: New target mips-arc.
18052 * gentpl.py: Likewise.
18053 * grub-core/Makefile.am: Likewise.
18054 * grub-core/Makefile.core.def: Likewise.
18055 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18056 (none_decompress): Likewise.
18057 (lsdev): New module.
18058 (datetime): Use lib/arc/datetime.c on ARC.
18059 (part_dvh): New module.
18060 * grub-core/commands/arc/lsdev.c: New file.
18061 * grub-core/disk/arc/arcdisk.c: Likewise.
18062 * grub-core/kern/mips/arc/init.c: Likewise.
18063 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18064 aligned addresses.
18065 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18066 support.
18067 (grub_arch_dl_relocate_symbols): Likewise.
18068 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18069 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18070 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18071 platforms.
18072 * grub-core/lib/arc/datetime.c: New file.
18073 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18074 pci.h on non-loongson.
18075 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18076 (grub_linux_boot): Set unused registers to 0.
18077 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18078 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18079 * grub-core/mmap/mips/uppermem.c: ...here.
18080 * grub-core/partmap/dvh.c: New file.
18081 * grub-core/term/arc/console.c: Likewise.
18082 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18083 (grub_terminfo_set_current): Add terminal "arc".
18084 (grub_terminfo_readkey): Support ARC sequences.
18085 * include/grub/arc/arc.h: New file.
18086 * include/grub/arc/console.h: Likewise.
18087 * include/grub/disk.h (grub_disk_dev_id): Add
18088 GRUB_DISK_DEVICE_ARCDISK_ID.
18089 * include/grub/mips/arc/kernel.h: New file.
18090 * include/grub/mips/arc/memory.h: Likewise.
18091 * include/grub/mips/arc/time.h: Likewise.
18092 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18093 * include/grub/mips/kernel.h (grub_halt): ... here.
18094 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18095 here...
18096 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18097 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18098 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18099 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18100 proto.
18101 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18102 from here ...
18103 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18104 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18105 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18106 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18107 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18108 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18109 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18110 (grub_phys_addr_t): Moved from here ...
18111 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18112 (grub_vtop): Moved from here ...
18113 * include/grub/mips/memory.h (grub_vtop): ... here.
18114 (grub_map_memory): Moved from here ...
18115 * include/grub/mips/memory.h (grub_map_memory): ... here.
18116 (grub_unmap_memory): Moved from here ...
18117 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18118 (grub_machine_mmap_iterate): Moved from here ...
18119 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18120 (grub_mmap_get_lower): Moved from here ...
18121 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18122 (grub_mmap_get_upper): Moved from here ...
18123 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18124 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18125 here ...
18126 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18127 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18128 here ...
18129 * include/grub/mips/time.h (grub_get_rtc): ... here.
18130 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18131 here ...
18132 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18133 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18134 here ...
18135 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18136 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18137 definition.
18138 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18139 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18140 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18141 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18142 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18143 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18144 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18145 (GRUB_MACHINE_LINK_ADDR): Likewise.
18146 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18147 to 6.
18148 * util/grub-install.in: Run dvhtool on ARC.
18149 * util/grub-mkimage.c (image_targets): Add mips-arc.
18150 (generate_image): Handle ECOFF output for mips-arc.
18151
18152 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18155 blocks.
18156
18157 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18160 after enabling port.
18161
18162 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 Skip incorrect USB devices.
18165
18166 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18167 configcnt == 0.
18168 * include/grub/usb.h (grub_usb_err_t): New enum value
18169 GRUB_USB_ERR_BADDEVICE.
18170
18171 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 Fuloong video init support.
18174
18175 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18176 well.
18177 (grub_vga_read_arx): New function.
18178 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18179 definition.
18180 (framebuffer): New members io, mmioptr and mmiobase.
18181 (read_sis_cmd): New function.
18182 (write_sis_cmd): Likewise.
18183 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18184 rather than 640x400.
18185 * grub-core/video/sis315_init.c: New file.
18186
18187 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18190 non-loongson.
18191 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18192 to grub_dl_register_symbol.
18193
18194 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 Fix compilation errors.
18197
18198 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18199 potentially unused.
18200 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18201 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18202 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18203 to loongson machines.
18204
18205 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 Several FS mtime support.
18208
18209 * grub-core/fs/affs.c (grub_affs_time): New struct.
18210 (grub_affs_file): New field mtime.
18211 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18212 type. Removed 'size'. New field 'di'. All users updated.
18213 (grub_affs_mount): Simplify checsum checking.
18214 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18215 (grub_affs_dir): Handle mtime.
18216 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18217 (grub_cpio_dir): Likewise.
18218 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18219 (grub_hfs_filerec): New field mtime.
18220 (grub_hfs_dir): Handle mtime.
18221 (grub_hfs_mtime): New function.
18222 (grub_hfs_fs): Register grub_hfs_mtime.
18223 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18224 (grub_iso9660_dir): New field mtime.
18225 (grub_fshelp_node): New field dirent.
18226 (iso9660_to_unixtime): New function.
18227 (iso9660_to_unixtime2): Likewise.
18228 (grub_iso9660_read_symlink): Use node->dirent.
18229 (grub_iso9660_iterate_dir): Likewise.
18230 (grub_iso9660_dir): Set mtime.
18231 (grub_iso9660_mtime): New function.
18232 (grub_iso9660_fs): Register grub_iso9660_mtime.
18233 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18234 (grub_jfs_inode): New fields atime, ctime and mtime.
18235 (grub_jfs_dir): Set mtime.
18236 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18237 * grub-core/fs/ntfs.c (list_file): Set mtime.
18238 (grub_ntfs_dir): Likewise.
18239 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18240 (grub_reiserfs_iterate_dir): Set mtime.
18241 (grub_reiserfs_dir): Likewise.
18242 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18243 (grub_fshelp_node): Likewise.
18244 (grub_sfs_iterate_dir): Set mtime.
18245 (grub_sfs_dir): Likewise.
18246 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18247 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18248 (grub_xfs_inode): New fields atime, mtime, ctime.
18249 (grub_xfs_dir): Set mtime.
18250 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18251 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18252 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18253
18254 Support UDF symlinks.
18255
18256 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18257 (grub_ufs_read_symlink): New function. All users updated.
18258
18259 Check amiga partmap checksum.
18260
18261 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18262 (grub_amiga_partition): Likewise.
18263 (amiga_partition_map_checksum): New function.
18264 (amiga_partition_map_iterate): Check checksum.
18265
18266 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18267
18268 ROMFS support.
18269
18270 * Makefile.util.def (libgrubmods.a): Add romfs.
18271 * grub-core/Makefile.core.def (romfs): New module.
18272 * grub-core/fs/romfs.c: New file.
18273
18274 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 Squashfs v4 support.
18277
18278 * Makefile.util.def (libgrubmods.a): Add squash4.
18279 * grub-core/Makefile.core.def (squash4): New module.
18280 * grub-core/fs/squash4.c: New file.
18281 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18282 disk_input_start, disk_input.
18283 (get_byte): Handle disk_input.
18284 (grub_zlib_disk_read): New function.
18285 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18286
18287 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18288 2011-05-15 Feiran Zheng <famcool@gmail.com>
18289
18290 * Makefile.util.def (libgrubmods.a): Add minix3.
18291 * grub-core/Makefile.core.def (minix3): New module.
18292 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18293 (GRUB_MINIX_BSIZE): Removed.
18294 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18295 (grub_minix_ino_t): New type.
18296 (grub_minix_le_to_cpu_ino): New macro.
18297 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18298 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18299 (grub_minix_data): New field block_size.
18300 (grub_minix_read_file): Handle 64-bit correctly.
18301 * grub-core/fs/minix3.c: New file.
18302
18303 2011-05-15 Tristan Gingold <gingold@free.fr>
18304 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
18305 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 IA64 support.
18308
18309 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18310 * configure.ac: Add ia64-efi target.
18311 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18312 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18313 * gentpl.py: Add ia64_efi platform.
18314 Rename x86_efi to efi and Add ia64-efi. All users updated.
18315 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18316 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18317 Remove kern/generic/rtc_get_time_ms.c on EFI.
18318 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18319 kern/ia64/dl_helper.c on ia64-efi.
18320 Add kern/emu/cache.c on emu.
18321 (linux): Use on loader/ia64/efi/linux.c on ia64.
18322 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18323 whether symbol is a function.
18324 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18325 (grub_symbol): New field 'isfunc'.
18326 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18327 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18328 (grub_dl_load_segments): Place all sections into the same region.
18329 [__ia64__]: Create trampolines and got.
18330 [GRUB_MACHINE_EMU]: Call mprotect.
18331 (grub_dl_resolve_symbols): Resolve symbol type as well.
18332 [__ia64__]: Create function descriptors.
18333 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18334 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18335 (grub_get_rtc): New function.
18336 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18337 * grub-core/kern/emu/cache.S: Renamed to ...
18338 * grub-core/kern/emu/cache_s.S: ... this.
18339 [__ia64__]: Add a nop.
18340 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18341 [__ia64__]: New function.
18342 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18343 * grub-core/kern/ia64/dl.c: New file.
18344 * grub-core/kern/ia64/dl_helper.c: Likewise.
18345 * grub-core/kern/ia64/efi/init.c: New file.
18346 * grub-core/kern/ia64/efi/startup.S: Likewise.
18347 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18348 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18349 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18350 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18351 * grub-core/loader/ia64/efi/linux.c: New file.
18352 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18353 (GRUB_MOD_DEP): Likewise.
18354 (grub_dl) [__ia64__]: New fields got and tramp.
18355 (grub_dl): New field 'base'.
18356 (grub_dl_register_symbol): New argument isfunc. All users updated.
18357 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18358 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18359 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18360 (grub_ia64_dl_get_tramp_got_size): New proto.
18361 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18362 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18363 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18364 * include/grub/efi/api.h: Skip call wrappers on ia64.
18365 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18366 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18367 * include/grub/elf.h (ELF_ST_INFO): New definition.
18368 * include/grub/ia64/efi/kernel.h: New file.
18369 * include/grub/ia64/efi/memory.h: Likewise.
18370 * include/grub/ia64/efi/time.h: Likewise.
18371 * include/grub/ia64/kernel.h: Likewise.
18372 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18373 * include/grub/ia64/time.h: New file.
18374 * include/grub/ia64/types.h: Likewise.
18375 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18376 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18377 New protos.
18378 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18379 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18380 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18381 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18382 All users updated.
18383 (EFI64_HEADER_SIZE): New definition. All users updated.
18384 (image_targets): Add ia64-efi.
18385 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18386 jumpers_addr. All users updated.
18387 Create function descriptors.
18388 (count_funcs): New function.
18389 (unaligned_uint32): New struct.
18390 (MASK20): New definition.
18391 (MASK19): Likewise.
18392 (MASKF21): Likewise.
18393 (add_value_to_slot_20b): New function.
18394 (add_value_to_slot_21_real): Likewise.
18395 (add_value_to_slot_21): Likewise.
18396 (ia64_kernel_trampoline): New struct.
18397 (nopm): New variable.
18398 (jump): Likewise.
18399 (make_trampoline): New function.
18400 (relocate_addresses): Handle ia64.
18401 (make_reloc_section): Likewise.
18402 (load_image): Likewise.
18403
18404 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18407 warning. Move variables before code while on it.
18408
18409 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 Fuloong support.
18412
18413 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18414 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18415 * grub-core/boot/mips/loongson/fuloong.S: New file.
18416 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18417 Explicitly init CS5536.
18418 [FULOONG]: Don't use serial until CS5536 is available.
18419 Set GPIO based on dumps.
18420 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18421 [FULOONG]: Handle GPIO and memory controller differences.
18422 Parse machine type in $a2.
18423 * grub-core/boot/mips/startup_raw.S: Determine and save the
18424 architecture.
18425 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18426 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18427 init on architecture type.
18428 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18429 SIS315E. Don't init at_keyboard on fuloong.
18430 (grub_halt): Support Fuloong.
18431 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18432 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18433 (loongson_machtypes): New array.
18434 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18435 type.
18436 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18437 config. All users updated. Handle CS5536 serial.
18438 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18439 default port on machine type. Register serial as inactive.
18440 * grub-core/video/sis315pro.c: New file.
18441 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18442 definition.
18443 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18444 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18445 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18446 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18447 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18448 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18449 to ...
18450 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18451 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18452 definition.
18453 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18454 (grub_arch_machine): New extern var.
18455 * include/grub/mips/loongson/serial.h
18456 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18457 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18458 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18459 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18460 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18461 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18462 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18463 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18464 * include/grub/term.h (grub_term_register_input_inactive): New inline
18465 function.
18466 (grub_term_register_output_inactive): Likewise.
18467 * include/grub/video.h (grub_video_driver_id): New value
18468 GRUB_VIDEO_DRIVER_SIS315PRO.
18469 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18470 New field "names". All users updated.
18471 New field value IMAGE_FULOONG_FLASH.
18472 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18473
18474 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18475
18476 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18477 and add some clarification.
18478
18479 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18482 platforms if kernel is compressed.
18483
18484 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18487 unused modules since currently referrence counter isn't reliable and
18488 there isn't much memory to recover there anyway.
18489
18490 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18493 rather than resetting it to allow modules to reference themselves
18494 in init.
18495
18496 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18499 counter on dependencies since grub_dl_unref already handles this.
18500
18501 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18504 on error if not already done.
18505
18506 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 Fix few potential memory misusage.
18509
18510 * grub-core/font/font.c (load_font_index): Don't free char_index to
18511 avoid double free.
18512 (grub_font_load): Zero-fill font at alloc for safety.
18513 Close file on error.
18514 (free_font): Free bmp_idx.
18515
18516 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * docs/grub.texi (Installation): Fix several outdated claims.
18519
18520 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18521
18522 Handle module_license on windows.
18523
18524 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18525 sections shifted.
18526 (insert_string): Make argument const char * instead of char *.
18527 (write_section_data): Handle long section names.
18528 Handle module_license.
18529
18530 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18531
18532 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18533 handle class-free menuentries.
18534 (grub_normal_add_menu_entry): Add a check to be sure.
18535
18536 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18539 PgUp and PgDown.
18540
18541 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 * configure.ac: Bump version to 1.99.
18544
18545 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18546
18547 Give ATA device a bit more time on first try in order to allow disks
18548 to spin up.
18549
18550 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18551 if dev->present is 1. Reset dev->present on failure.
18552 (grub_ata_device_initialize): Set dev->present to 1.
18553 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18554 (grub_ata_device): New member 'present'.
18555
18556 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * util/grub-mkimage.c (generate_image): Update hash.
18559
18560 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 Flush caches on DMA memory.
18563
18564 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18565 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18566 (grub_dma_free): Likewise.
18567 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18568
18569 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18572 to avoid asm treating ld and sd as macros.
18573
18574 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18577 decompressor.
18578
18579 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18582 grub_decompress_core since later would fail if grub_decompress_core
18583 is too far.
18584
18585 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18588 R_MIPS_JALR since it's used by newer compiler.
18589
18590 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18593
18594 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18595
18596 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18597 file_path to 0 for surety.
18598 (grub_chainloader_boot): Set exit_data to NULL.
18599 Unset the loader once done.
18600 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18601
18602 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18605 unknown key into a dprintf.
18606
18607 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18610 on first non-existant partition.
18611
18612 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18613
18614 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18615 openning fails.
18616 Reported by: Mark Korenberg.
18617
18618 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18621 overflow.
18622
18623 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18626 before closing to ensure that it will be readable by grub-setup.
18627
18628 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18631 (devpath_1): Use MAKE_PIWG_PATH.
18632 (devpath_2): Likewise.
18633 (devpath_3): Likewise.
18634 (devpath_4): Likewise.
18635 (devpath_5): Likewise.
18636 (devpath_6): Likewise.
18637
18638 The appleldr.mod was checked that to be binary identical to previous
18639 version.
18640
18641 2011-05-05 Zach <mikezackles>
18642
18643 Support 2010 Macbooks.
18644
18645 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18646 (devs): Add devpath_6.
18647
18648 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18651 /dev/random. /dev/urandom is good enough for our purposes (salting).
18652
18653 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18656
18657 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18658
18659 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18660 hexadecimal.
18661
18662 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18665 and not 0 on failure.
18666
18667 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18668
18669 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18670 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18671 disk; otherwise grub_fs_probe will not fall back to the next
18672 filesystem.
18673 (grub_pxefs_open): Likewise, for consistency.
18674 Reported and tested by: Ezekiel Grave.
18675
18676 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18677
18678 * tests/partmap_test.in: Don't hardcode path to parted.
18679 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18680
18681 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
18682
18683 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18684 of `ls' to find out which devices are available.
18685
18686 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18689 than source address for efi mmap buffer.
18690
18691 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18694 wrong action on non-detecting the magic.
18695
18696 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18699 already supplied by another part of the module (fixes compilation on
18700 FreeBSD).
18701
18702 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18705 match the one used by mdadm.
18706
18707 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18708
18709 * po/README: Add instructions for creating po/LINGUAS.
18710
18711 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18712
18713 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18714 #551428.
18715
18716 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18717 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18718 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18719 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18720 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18721 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18722 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18723 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18724 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18725 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18726 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18727 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18728 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18729 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18730 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18731 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18732 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18733 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18734 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18735 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18736 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18737 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18738
18739 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18740
18741 * grub-core/kern/emu/getroot.c
18742 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18743 test that was incorrectly reintroduced in r3214.
18744 Reported by: Ian Dall. Fixes Savannah bug #33133.
18745
18746 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18747
18748 Fix stack pointer handling in 16-bit relocator.
18749
18750 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18751 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18752 Fixes Ubuntu bug #683904.
18753
18754 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * configure.ac: Bump version to 1.99~rc2.
18757
18758 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18761 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18762 * grub-core/lib/x86_64/setjmp.S: Likewise.
18763 * grub-core/lib/mips/setjmp.S: Likewise.
18764 * grub-core/lib/powerpc/setjmp.S: Likewise.
18765 * grub-core/lib/sparc64/setjmp.S: Likewise.
18766
18767 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18770 * grub-core/lib/efi/datetime.c: Likewise.
18771
18772 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18775 New function.
18776 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18777 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18778 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18779
18780 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18783 bitmap.
18784 (grub_gfxterm_term_init): Likewise.
18785
18786 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 Take into account the decorations the computing menu entry width.
18789
18790 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18791 (grub_gfxmenu_create_box): Register get_border_width.
18792 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18793 if available.
18794 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18795 get_border_width.
18796
18797 2011-04-18 Endres Puschner <code@e7p.de>
18798
18799 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18800 Don't skip first class.
18801
18802 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18805 chunks.
18806 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18807
18808 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18809
18810 Complete 64-bit division support.
18811
18812 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18813 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18814 * include/grub/misc.h (grub_divmod64): Rename to ...
18815 (grub_divmod64_full): ... this.
18816 (grub_divmod64): New inline function.
18817
18818 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18821
18822 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18825 performing the necessary test.
18826
18827 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18830 (kfreebsd.elf): Likewise.
18831 (pc-chainloader.elf): Likewise.
18832 (ntldr.elf): Likewise.
18833
18834 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 Identify RAID by its UUID rather than (guessed) name.
18837
18838 * grub-core/disk/raid.c (ascii2hex): New function.
18839 (grub_raid_open): Accept mduuid/%s specification.
18840 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18841 (get_mdadm_uuid): ... this.
18842 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18843
18844 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18847 to negative size.
18848
18849 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18850
18851 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18852 btrfs subvolume.
18853 * util/grub.d/20_linux_xen.in: Likewise.
18854
18855 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18856
18857 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18858 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18859
18860 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18861 Build a list of relevant visible mounts using the mnt_id and
18862 parent_mnt_id fields, and then scan that list at the end.
18863
18864 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18865
18866 * docs/grub.texi (normal): New section.
18867 (normal_exit): New section.
18868 (Embedded configuration): Add reference to normal.
18869 (GRUB only offers a rescue shell): Likewise.
18870 * docs/grub-dev.texi (Error Handling): Fix typo.
18871
18872 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18873
18874 * NEWS: Drop obsolete entry about probe-only btrfs support.
18875
18876 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18877
18878 * util/import_gcry.py: Fix typo.
18879
18880 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * NEWS: Add btrfs support.
18883
18884 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18885 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18886
18887 BtrFS support. Written by me (Vladimir) with important bugfixes and
18888 even more important testing by Colin.
18889
18890 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18891 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18892 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18893 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18894 mem_input_off and mem_input. All users updated to accept in-RAM input.
18895 (gzio_seek): New function.
18896 (test_zlib_header): Likewise.
18897 (grub_gzio_read): Likewise.
18898 (grub_zlib_decompress): Likewise.
18899 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18900 Accept partial and non-virtual mounts.
18901 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18902 avoid receiving /dev/dm-X as device.
18903 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18904 Handle bind and partial mounts.
18905 * grub-core/lib/crc.c: New file.
18906 * include/grub/deflate.h: Likewise.
18907 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18908 proto.
18909 * include/grub/lib/crc.h: New file.
18910
18911 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 Implement automatic module license checking according to new GNU
18914 guidelines.
18915
18916 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18917 (grub_dl_load_core): Use grub_dl_check_license.
18918 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18919 (GRUB_MOD_LICENSE): Likewise.
18920 (GRUB_MOD_DUAL_LICENSE): Likewise.
18921 All modules updated.
18922
18923 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18924
18925 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18926 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18927 loaders.
18928 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18929
18930 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18933
18934 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18937 failed.
18938
18939 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18942 parenthesis in the middle of the filename.
18943
18944 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18947 rather than trying to put initrd way too high.
18948 Reported by: Ryan Lortie <desrt@desrt.ca>
18949
18950 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18953 improperly removed string.
18954
18955 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18958 is_disk.
18959 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18960 (open_device) Likewise.
18961 (grub_util_biosdisk_close): Likewise.
18962 Reported by: Mark Korenberg.
18963
18964 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18965
18966 * util/grub-mkconfig_lib.in: Add missing quotes.
18967
18968 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
18969
18970 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18971 is NULL.
18972
18973 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 Dynamically count the number of lines for the lower banner.
18976
18977 * grub-core/normal/menu_entry.c (per_term_screen): New member
18978 num_entries.
18979 (print_down): Use num_entries.
18980 (update_screen): Likewise.
18981 (grub_menu_entry_run): Set num_entries.
18982 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18983 num_entries.
18984 (grub_print_message_indented): Move real part to ...
18985 (grub_print_message_indented_real): ... here. Additional argument
18986 dry_run.
18987 (draw_border): Additional argument num_entries.
18988 (print_message): Additional argument dry_run.
18989 (print_entries): Receive menu viewer data.
18990 (grub_menu_init_page): New argment num_entries.
18991 (menu_text_set_chosen_entry): Use num_entries.
18992 (grub_menu_try_text): Likewise.
18993 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18994 All users updated.
18995 (grub_ucs4_count_lines): New function.
18996 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18997 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18998 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18999 (grub_term_border_height): Likewise.
19000 (grub_term_num_entries): Likewise.
19001
19002 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19005 Remove now unused string.
19006
19007 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19010 build system.
19011 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19012
19013 (Comment): Fix typo.
19014 (Getting started): General copy-editing.
19015 (Typical Development Experience): Likewise.
19016 (Error Handling): Likewise.
19017 (Video API): Likewise.
19018
19019 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
19020
19021 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19022 throughout.
19023
19024 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19027 directory.
19028
19029 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
19030
19031 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19032 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19033 "development".
19034
19035 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19038 grub_strcpy since the lines aren't necessarily 0-terminated.
19039
19040 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19043 root on legacy.
19044
19045 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19048 (GRUB_MOD_INIT): DEVICE isn't optional.
19049
19050 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19053 word on new line if it's too long anyway. Fixes a hang.
19054
19055 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19058 const.
19059 * util/grub-setup.c (main): Reuse md device name if available.
19060 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19061 not GRUB name as argument.
19062 Based on patch by: Florian Wagner <fwagner>.
19063
19064 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19067 Place mbi on low memory for better compatibility.
19068
19069 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19072
19073 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19074 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
19075
19076 * autogen.sh: Ensure that collate and ctype locale is C.
19077 * conf/Makefile.common: Likewise.
19078
19079 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * grub-core/normal/menu.c: Add missing include.
19082
19083 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
19086
19087 2011-04-08 Martin Zuther <mzuther@mzuther.de>
19088
19089 * util/grub-mkconfig.in: Ignore emacsen backup.
19090
19091 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19094 on open.
19095 (grub_util_biosdisk_close): Likewise.
19096
19097 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19100 const attribute and use grub_isdigit.
19101
19102 2011-04-06 Andrey <dev_null@ukr.net>
19103
19104 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19105 gcc warning.
19106
19107 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19110 useful grub_dprintf's.
19111
19112 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19115
19116 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19119
19120 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 Output errors if theme loading failed.
19123
19124 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19125 grub_gfxterm_fullscreen on error paths to ...
19126 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19127 theme loading error.
19128
19129 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19132 space for older compilers.
19133 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19134
19135 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19138 and report them as not RAID members since they are useless for GRUB.
19139 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19140
19141 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 Increase LVM implementation robustness in order not to crash on
19144 configurations like pvmove. Previously code assumed that in some places
19145 only lvs or only pvs are used whereas it seems that they are used
19146 interchangeably.
19147
19148 * grub-core/disk/lvm.c (read_node): New function.
19149 (read_lv): Use read_node.
19150 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19151 Match volumes only at the end when all lvs are found. Take both
19152 pvs (first) and lvs (second) into account.
19153 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19154 mirror_* into node_*. All users updated.
19155 (grub_lvm_stripe): Merge this ...
19156 (grub_lvm_mirror): ... and this ...
19157 (grub_lvm_node): ... into this. All users updated.
19158
19159 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19162 of function to allow further scanning for LVMs.
19163
19164 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19167 on failed seek as it breaks open fd reusage.
19168
19169 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * util/grub-install.in: Add a recommendation to use --recheck before
19172 reporting bugs.
19173
19174 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19177 are obtained.
19178
19179 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 GRUB developper manual based on existing Internals section and
19182 contributions by the various authors with active copyright assignment.
19183
19184 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19185 * docs/font_char_metrics.png: New file.
19186 * docs/font_char_metrics.txt: Likewise.
19187 * docs/grub-dev.texi: Likewise.
19188 * docs/grub.texi (Internals): Move from here ...
19189 * docs/grub-dev.texi: ... here.
19190
19191 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
19192
19193 Store the loopback device as data on loopback grub_disk structures,
19194 rather than the file it points to. This fixes use of freed memory
19195 if an existing loopback device is replaced.
19196
19197 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19198 disk->data, not dev->file.
19199 (grub_loopback_read): Adjust file assignment to match.
19200 Fixes Ubuntu bug #742967.
19201
19202 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
19203
19204 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19205 when replacing an existing device.
19206
19207 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19210 memory corruptions.
19211
19212 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19213 unsigned.
19214 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19215 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19216 (grub_jfs_read_inode): Likewise.
19217 (grub_jfs_opendir): Likewise. Remove now useless casts.
19218 (grub_jfs_getent): Likewise.
19219 Make ino a grub_uint32_t rather than int.
19220 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19221 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19222 division and module with bit operations.
19223 (grub_jfs_find_file): Make ino a grub_uint32_t.
19224 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19225
19226 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
19227
19228 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19229 warning. (This was in fact always initialised before use, but GCC
19230 wasn't smart enough to prove that.)
19231 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19232
19233 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19236 stack alignment.
19237 (efi_wrap_1): Likewise.
19238 (efi_wrap_2): Likewise.
19239 (efi_wrap_3): Likewise.
19240 (efi_wrap_4): Likewise.
19241 (efi_wrap_5): Likewise.
19242 (efi_wrap_6): Likewise.
19243 (efi_wrap_10): Likewise.
19244 Based on information by: Red Hat/Peter Jones.
19245
19246 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
19247
19248 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19249 set-but-not-used variable.
19250
19251 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
19252
19253 * docs/grub.texi (Simple configuration): Be more explicit about
19254 GRUB_DEFAULT, and add an example.
19255 Reported by: Leslie Rhorer.
19256
19257 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19258
19259 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19260 shell".
19261
19262 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19263
19264 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19265 * util/grub.d/20_linux_xen.in: Likewise.
19266
19267 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * util/grub.d/10_linux.in: Try alternative config filenames where
19270 we parse config file.
19271 * util/grub.d/20_linux_xen.in: Likewise.
19272
19273 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19274
19275 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19276 * util/grub.d/20_linux_xen.in: Likewise.
19277
19278 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 * grub-core/disk/raid.c (insert_array): Add few potentially
19281 useful grub_util_info.
19282 (grub_raid_register): Likewise.
19283
19284 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19285
19286 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19287 Preserve partition number in mdadm code path.
19288
19289 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19292 few potentially useful grub_util_info.
19293
19294 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19297
19298 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19299
19300 * docs/grub.texi (default): Use @example rather than nested
19301 itemized lists to avoid breaking gendocs.
19302
19303 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19304
19305 * docs/grub.texi (Future): Update.
19306
19307 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19308
19309 * docs/grub.texi (Environment): New chapter.
19310 (Changes from GRUB Legacy): Link to "Environment block" section for
19311 details of limitations.
19312 (Simple configuration): Likewise. Link to documentation of gfxmode
19313 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19314 respectively.
19315 (Shell-like scripting): Note that normal variables are stored in the
19316 environment.
19317 (gettext): Link to documentation of lang and locale_dir.
19318 (list_env): New section.
19319 (load_env): New section.
19320 (save_env): New section.
19321
19322 (Reporting bugs): Fix typo.
19323
19324 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19327 the example.
19328
19329 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 * grub-core/term/at_keyboard.c (set_scancodes)
19332 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19333
19334 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19335
19336 * docs/grub.texi (Menu-specific commands): Remove some semantics
19337 that were true in GRUB Legacy but not in GRUB 2.
19338 (submenu): New section.
19339 (false): New section.
19340 (read): New section.
19341 (true): New section.
19342
19343 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19344
19345 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19346
19347 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
19348
19349 * docs/grub.texi (Simple configuration): Explain some of the
19350 current limitations of grub-mkconfig.
19351 Reported by: Leslie Rhorer.
19352
19353 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 Old macs search for boot.efi rather than for bootia32.efi.
19356
19357 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19358 * util/grub-mkrescue.in: Likewise.
19359 Suggested by: Peter Jones.
19360
19361 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19364
19365 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19366
19367 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19368 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19369 (grub_lvm_mirror): New struct.
19370 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19371 (grub_lvm_iterate): Iterate only visible volumes.
19372 (grub_lvm_read): Factor out to ..
19373 (read_lv): ... this. Support mirrors.
19374 (grub_lvm_read): New wrapper function.
19375 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19376 stripped or mirrored.
19377
19378 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19381
19382 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * docs/grub.texi (loopback): New section.
19385
19386 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19387
19388 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19389 removed -p option.
19390
19391 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19392
19393 * docs/grub.texi (BIOS installation): New section, partly based on
19394 previous text in other sections.
19395 (Installing GRUB using grub-install): Replace BIOS discussion with a
19396 cross-reference.
19397 (Images): Likewise.
19398
19399 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19402 [HAVE_DIOCGDINFO]: Add safety checks.
19403
19404 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19405
19406 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19407 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19408
19409 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19412 real_sb->size is zero (e.g. RAID-0), get the disk size from
19413 real_sb->data_size instead.
19414 Fixes Ubuntu bug #743136.
19415
19416 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19419 printf clauses for printing size and start.
19420
19421 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19424 Reported and tested by: Timothy Nikkel.
19425
19426 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19429 (dirty_region_add_real): ... this.
19430 (dirty_region_add): Don't discard margin refresh when performing
19431 scheduled repaint.
19432
19433 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * grub-core/lib/relocator.c (allocate_regstart)
19436 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19437 terminals are capabple of malloc-free operation.
19438 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19439 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19440
19441 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19442
19443 * util/grub-setup.c: Copy the partition table zone if floppy support
19444 is disabled, even if no partition table is found.
19445
19446 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19447 during POST if an invalid partition table is contained in the PBR
19448 of the active partition when GRUB is installed to a partition.
19449
19450 2011-03-28 Colin Watson <cjwatson@debian.org>
19451
19452 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19453 comment.
19454
19455 2011-03-28 Colin Watson <cjwatson@debian.org>
19456
19457 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19458 to be specific about what kind of RAID device we're scanning for.
19459
19460 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19461
19462 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19463 return freed string.
19464
19465 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19468
19469 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 Use libgeom on FreeBSD to detect partitions.
19472
19473 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19474 (grub-mkrelpath): Likewise.
19475 (grub-script-check): Likewise.
19476 (grub-editenv): Likewise.
19477 (grub-mkpasswd-pbkdf2): Likewise.
19478 (grub-fstest): Likewise.
19479 (grub-mkfont): Likewise.
19480 (grub-mkdevicemap): Likewise.
19481 (grub-probe): Likewise.
19482 (grub-setup): Likewise.
19483 (grub-ofpathname): Likewise.
19484 (grub-mklayout): Likewise.
19485 (example_unit_test): Likewise.
19486 (grub-menulst2cfg): Likewise.
19487 * grub-core/Makefile.core.def (grub-emu): Likewise.
19488 (grub-emu-lite): Likewise.
19489 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19490 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19491 define HAVE_DIOCGDINFO.
19492 (follow_geom_up) [FreeBSD]: New function.
19493 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19494 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19495 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19496 unconditionally of HAVE_DIOCGDINFO.
19497
19498 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 Fix FreeBSD compilation problem.
19501
19502 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19503 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19504
19505 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
19506
19507 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19508 Switch back to page zero before loading a kernel, since some kernel
19509 drivers expect that.
19510 Thanks to: Felix Kuehling.
19511
19512 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19515 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19516 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19517
19518 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19521 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19522
19523 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19526 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19527 malloc is disabled.
19528
19529 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19530
19531 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19532 for modules headers when counting the needed allocation size.
19533
19534 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19537 if no ASCII character is found to prevent crash.
19538
19539 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19540
19541 * grub-core/video/bitmap.c (match_extension): Ignore case.
19542
19543 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19546
19547 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * grub-core/script/parser.y: Declare "time" as valid argument.
19550
19551 2011-03-23 Peter Jones <pjones@redhat.com>
19552
19553 Fix incorrect assert failure reporting.
19554
19555 * grub-core/tests/example_functional_test.c (example_test): Add
19556 a failure comment.
19557 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19558 (failure_start): ...this. Check that malloc succeeded.
19559 Don't call xvasprintf. Return failure struct.
19560 (failure_append_vtext): New function.
19561 (failure_append_text): Likewise.
19562 (add_failure): Likewise.
19563 (grub_test_assert_helper): Likewise.
19564 * include/grub/test.h (grub_test_assert_helper): New declaration.
19565 (grub_test_assert): Macro rewritten.
19566
19567 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19570
19571 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19572
19573 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19574
19575 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19576
19577 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19578 into GRUB-style one.
19579
19580 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19581
19582 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19583 error and not grub_errno.
19584 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19585
19586 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19589 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19590
19591 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * grub-core/efiemu/i386/pc/cfgtables.c
19594 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19595 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19596 (grub_xnu_unlock): Likewise.
19597 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19598
19599 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19602 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19603 * grub-core/commands/hashsum.c (aliases): Likewise.
19604 * grub-core/commands/setpci.c (pci_registers): Likewise.
19605 * grub-core/disk/usbms.c (attach_hook): Likewise.
19606 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19607 (zio_checksum_table): Likewise.
19608 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19609 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19610 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19611 * grub-core/lib/relocator.c (leftovers): Likewise.
19612 (extra_blocks): Likewise.
19613 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19614 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19615 (modules_last): Likewise.
19616 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19617 (devices): Likewise.
19618 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19619 (modules_last): Likewise.
19620 * grub-core/normal/auth.c (users): Likewise.
19621 * grub-core/normal/context.c (initial_menu): Likewise.
19622 (current_menu): Likewise.
19623 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19624 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19625 (grub_serial_terminfo_input_template): Likewise.
19626 (grub_serial_terminfo_output_template): Likewise.
19627 (grub_serial_terminfo_input): Likewise.
19628 (grub_serial_terminfo_output): Likewise.
19629 (registered): Likewise.
19630 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19631
19632 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19635 grub_video_mode_type_t.
19636 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19637 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19638 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19639
19640 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 * util/grub-install.in: Correct the x86-64 name as x86_64.
19643
19644 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
19645
19646 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19647 initial chunk read from the kernel always includes GRUB's multiboot
19648 header, which is now outside the first sector.
19649
19650 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19651
19652 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19653 cached mmap_size, so that this works correctly when called multiple
19654 times.
19655 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19656
19657 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19658
19659 * docs/grub.texi (Simple configuration): Tidy up formatting.
19660
19661 2011-03-07 Szymon Janc <szymon@janc.net.pl>
19662
19663 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19664 Set-but-not-used variable removed.
19665
19666 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19667
19668 Workaround yet another IEEE1275 bug.
19669
19670 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19671 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19672 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19673 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19674 is set.
19675 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19676 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19677
19678 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19681 error.
19682
19683 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
19684
19685 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19686 empty, since in that case we can only generate either nothing or a
19687 syntactically invalid configuration file.
19688 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19689
19690 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19691
19692 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19693 (Making a GRUB bootable CD-ROM): Likewise.
19694 (Invoking grub-mkrescue): New section.
19695 Reported by: Yann Dirson. Fixes Debian bug #612585.
19696
19697 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19698
19699 * util/grub-install.in: Remove unnecessary brackets from tr
19700 arguments.
19701 * util/grub.d/10_hurd.in: Likewise.
19702 * util/grub.d/10_kfreebsd.in: Likewise.
19703 * util/grub.d/10_linux.in: Likewise.
19704 * util/grub.d/20_linux_xen.in: Likewise.
19705 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19706
19707 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
19708
19709 * include/grub/file.h (not_easly_seekable): Rename to ...
19710 (not_easily_seekable): ... this. Update all users.
19711
19712 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
19713
19714 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19715 grub-mkrescue.
19716
19717 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 * util/grub-mkimage.c (generate_image): Refuse to create the images
19720 bigger than the actual flash (512K) in Loongson machines. 512K is also
19721 the biggest chip supported by them.
19722
19723 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19726
19727 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
19728
19729 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19730 super_offset field.
19731
19732 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 * util/grub-install.in: Ignore install device on platforms
19735 where it doesn't make sense. Always use UUIDs except on pc, efi and
19736 sparc64.
19737 Reported by: Daniel Kahn Gillmor.
19738
19739 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19742
19743 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19746 (iterate_real): Don't rely on partition being non-NULL.
19747
19748 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19749
19750 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19751 supported platforms. Put a compile time assert for this rather than
19752 generate a warning with 32-bit shift.
19753
19754 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19757 logical expression more readable.
19758
19759 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19762 even if some elements have a name.
19763 Reported by: Alexander GQ Gerasiov.
19764
19765 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19766
19767 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19768 path unreadable if `grub-probe -t abstraction' fails, for example if
19769 memberlist fails on an LVM volume group.
19770 Reported by: Darius Jahandarie.
19771
19772 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19773
19774 * docs/grub.texi (Simple configuration): Document
19775 GRUB_PRELOAD_MODULES.
19776
19777 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
19778
19779 * .bzrignore: Remove nonexistent grub-pbkdf2.
19780
19781 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19782
19783 * configure.ac: Bump version to 1.99~rc1.
19784
19785 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19788 for safety.
19789
19790 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19793 module.
19794
19795 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19798
19799 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19802 diskdevid.
19803
19804 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 Fix compilation on cygwin.
19807
19808 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19809 -R .drectve on cygwin.
19810 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19811 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19812 (COND_CYGWIN): New condition.
19813 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19814 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19815 not @TARGET_OBJ2ELF@.
19816 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19817 type to determine whether aux is to be used.
19818
19819 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19822 realpath'ed device string.
19823 Handle floppy (somewhat).
19824 Issue error in unknown case rather than garbage.
19825 Reported by: Axel Beckert.
19826
19827 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * util/grub.d/00_header.in (load_video): Handle the case when no video
19830 drivers available.
19831 Thanks to: Axel Beckert.
19832
19833 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19834
19835 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19836 variable. Fixes problem on big endian platforms.
19837
19838 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19839
19840 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19841 It doesn't work well there.
19842
19843 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19846 warning.
19847 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19848 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19849 counter.
19850
19851 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 Use alias->path rather than buggy "canon".
19854
19855 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19856 (ofdisk_hash_add): New argument curcan. All users updated.
19857
19858 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19859
19860 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19861
19862 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19865 loadmask before doing any calculations. Use correct type for offset.
19866 (grub_linux_load64): Likewise.
19867
19868 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19871 with NULL.
19872 (console_grub_equivalences_unshift): Likewise.
19873 Reported by: Daniel Dehennin.
19874
19875 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19878 (set_env_limn_ro): Likewise.
19879 (GRUB_MOD_INIT): Likewise.
19880 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19881 ARRAY_SIZE while on it.
19882 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19883 * grub-core/normal/context.c (grub_env_export): Move from here ...
19884 * grub-core/kern/env.c (grub_env_export): ... here.
19885 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19886 prefix.
19887 * grub-core/kern/main.c (grub_main): Export root and prefix.
19888 * include/grub/env.h (grub_env_export): Export.
19889 Reported by: Seth Goldberg.
19890
19891 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19894 Take into account space used by ELF sections and multiboot palette.
19895 Reported by: Grégoire Sutre.
19896
19897 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * BUGS: New file.
19900
19901 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 Pass more appropriate video id to Linux.
19904
19905 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19906 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19907 fill have_vga.
19908 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19909 shift params->lfb_size.
19910 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19911
19912 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19915
19916 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19919 separator and pass bootpath/devid even if only one of them is available.
19920 Reported by: Seth Goldberg.
19921
19922 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19925 implementations bug on them.
19926
19927 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19928 memory.
19929 (filter_memory_map): Likewise.
19930
19931 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19934 Reported by: nebuchadnezzar.
19935
19936 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19939 Reported by: nebuchadnezzar.
19940
19941 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 Submenu default support.
19944
19945 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19946 auto_boot. All users updated.
19947 Declared static.
19948 Handle chosen and default with submenus.
19949 (grub_menu_execute_with_fallback): Declared static.
19950 Don't notify failure if autobooted. Upper level does it.
19951 (menuentry_eq): New function.
19952 (get_entry_number): Use menuentry_eq.
19953 (show_menu): New parameter "autobooted". All users updated.
19954 (grub_show_menu): Likewise.
19955 * include/grub/normal.h (grub_show_menu): Likewise.
19956 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19957 (grub_menu_execute_with_fallback): Likewise.
19958
19959 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * util/grub-mklayout.c (usage): Update help text.
19962
19963 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19964
19965 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19966
19967 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * util/grub-menulst2cfg.c (main): Trim the line.
19970
19971 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19974 (grub_machine_init): Don't check amount of low memory as reportedly
19975 INT 12h can be broken and if low memory is too low we wouldn't have
19976 gotten into grub_machine_init anyway.
19977
19978 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19981 (grub_machine_mmap_iterate): Take low memory into account
19982
19983 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19986 badfs.
19987 Reported by: TiCPU.
19988
19989 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19992 members errors.
19993
19994 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19995
19996 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19997 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19998
19999 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20000
20001 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20002 openbsd and netbsd types being in part_bsd module.
20003
20004 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20007 (_FILE_OFFSET_BITS): Likewise.
20008 Reported by: Seth Goldberg.
20009
20010 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20011
20012 * configure.ac: Check for libdevmapper header.
20013
20014 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20017 avoid aliasing.
20018 (fzap_lookup): Likewise.
20019 (dnode_get): Likewise.
20020 (make_mdn): Likewise.
20021 (zfs_mount): Likewise.
20022 (fzap_iterate): Use temporary pointer to avoid aliasing.
20023 (grub_zfs_read): Likewise.
20024 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20025 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20026 pointers to avoid aliasing.
20027 (grub_cmd_xnu_kernel64): Likewise.
20028 (grub_xnu_load_driver): Likewise.
20029
20030 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20033 aliasing warning.
20034 (grub_cmd_terminal_output): Likewise.
20035 Reported and tested by: Grégoire Sutre.
20036
20037 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20038
20039 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20040 warning.
20041 Reported and tested by: Grégoire Sutre.
20042
20043 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * configure.ac: Do CPU substitution even if it's specified explicitly.
20046 Reported and tested by: Alain Greppin.
20047
20048 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20051 Reported and tested by: Alain Greppin.
20052
20053 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20054
20055 Satisfy some bison versions need for inttypes.h.
20056
20057 * grub-core/lib/posix_wrap/inttypes.h: New file.
20058 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20059 (int16_t): Likewise.
20060 (int32_t): Likewise.
20061 (int64_t): Likewise.
20062 Reported and tested by: Alain Greppin.
20063
20064 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20065
20066 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20067 Silence spurious warning.
20068 Reported and tested by: Alain Greppin.
20069
20070 2011-01-07 Szymon Janc <szymon@janc.net.pl>
20071
20072 * docs/grub.texi (Support automatic decompression): Update with xz
20073 decompression support.
20074
20075 2011-01-07 Szymon Janc <szymon@janc.net.pl>
20076
20077 Improve loaders' kernel command line handling.
20078
20079 * grub-core/lib/cmdline.c: New file.
20080 * include/grub/lib/cmdline.h: Likewise.
20081 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20082 grub_create_loader_cmdline to create kernel command line.
20083 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20084 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20085 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20086 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20087 (linux): Add lib/cmdline.c on common.
20088
20089 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20092 inopos might be unaligned.
20093
20094 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20097 endian transformations.
20098 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20099 Based on report by: Doug Nazar.
20100
20101 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
20102
20103 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20104 array->members[i].start_sector.
20105 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20106
20107 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20110 Reported and tested by: Grégoire Sutre.
20111
20112 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
20113
20114 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20115 avoid causing test failures by clearing the screen.
20116
20117 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
20118
20119 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20120 Fix prefix check to handle the case where dir ends with a slash
20121 (most significantly, "/" itself).
20122 Reported by: Michael Vogt.
20123
20124 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 Run terminfo_cls on initing terminfo output to clear the screen and
20127 move the cursor to (0,0).
20128
20129 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20130 Call grub_terminfo_output_init.
20131 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20132 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20133 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20134
20135 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20138 only when needed.
20139
20140 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20143 CTRL.
20144
20145 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20146
20147 The E820 type 5 is BADRAM, not EXEC_CODE.
20148
20149 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20150 (GRUB_E820_BADRAM): New define.
20151 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20152 into reserved. Propagate BADRAM.
20153 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20154 (GRUB_E820_BADRAM): New define.
20155
20156 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20159 Ignore the memory post-4G.
20160 (grub_relocator_firmware_alloc_region): Additional debug statement.
20161
20162 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20165 names.
20166 Reported by: David Pravec.
20167
20168 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20171 BIOSes.
20172
20173 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20174
20175 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20176 Prevent overflow.
20177 (grub_reed_solomon_recover): Likewise.
20178
20179 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20182
20183 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20186 variable.
20187
20188 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
20189
20190 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20191 descriptions of extract_legacy_entries_source and
20192 extract_legacy_entries_configfile.
20193 Reported by: Seung Soo, Ha.
20194
20195 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
20196
20197 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20198 on devices that do not implement function 0.
20199
20200 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20201
20202 * grub-core/fs/hfsplus.c: Make parent unsigned.
20203 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20204 overflows.
20205 (grub_hfsplus_cmp_extkey): Likewise
20206
20207 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20208
20209 * util/grub-install.in: Correctly use bootloader_id and not
20210 GRUB_DISTRIBUTOR on efibootmgr line.
20211
20212 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20215
20216 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
20217
20218 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20219 Xen and reorder menu item wording to make it clearer that this entry
20220 will launch Xen. Print separate messages when loading Xen and
20221 Linux.
20222
20223 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20226 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20227 loop in case of incorrect amiga partmap.
20228
20229 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20232 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20233 Reported by:EHeM.
20234
20235 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20238 spurious warning.
20239 Reported by: crocket
20240
20241 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20244 Preload EFIemu.
20245 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20246
20247 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20250 is loaded
20251 (grub_cmd_xnu_kextdir): Likewise.
20252 (grub_cmd_xnu_splash): Likewise.
20253
20254 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 Avoid using Reed-Solomon with 0 redundancy.
20257
20258 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20259 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20260 or 0 redundancy.
20261 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20262 (grub_reed_solomon_recover): Likewise.
20263
20264 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 Don't use disk subsystem in freebsd_boot.
20267
20268 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20269 (freebsd_biosdev): Likewise.
20270 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20271 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20272
20273 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Handling of files of unknown size is currently limited. They can't be
20276 used e.g. for initrd or modules. Moreover gzip handling of not
20277 easily seekable files is buggy. Disable unknown file size for now. May
20278 be inefficient but works.
20279
20280 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20281 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20282
20283 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20284
20285 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20286 floppy probe.
20287
20288 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20289
20290 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20291
20292 2010-12-25 Shea Levy <shlevy>
20293
20294 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20295
20296 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20299 Windows Server 2008.
20300 Reported by: Devin Giddings.
20301
20302 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20303
20304 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20305 writing an error message because of async power management.
20306 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20307 (grub_reboot): Likewise.
20308
20309 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20310
20311 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20312 keep unit tests from failing when they shouldn't.
20313
20314 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
20315
20316 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20317 previous patch increased the size of the RS code by 20 bytes (at
20318 least with gcc-4.4), so increase this by 20 bytes to match.
20319 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20320
20321 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20324 scratch area. Make sure to initialise chosen in standalone mode as
20325 well as non-standalone.
20326 Reported by: Robert Hooker and Andy Whitcroft.
20327 Tested by: Andy Whitcroft.
20328
20329 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
20330
20331 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20332 constructing a new unescaped string and passing it to grub_xputs in
20333 one go, rather than passing characters to grub_printf one at a time.
20334
20335 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
20336
20337 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20338 initialising utf16.
20339
20340 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
20341
20342 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20343 comment. Add an extra layer of quotation, requiring the output of
20344 this function to be used in a printf format string.
20345 (gettext_printf): New function.
20346 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20347 Extract translatable strings from here-documents and use a temporary
20348 variable instead, so that xgettext can find them.
20349 * util/grub.d/10_kfreebsd.in: Likewise.
20350 * util/grub.d/10_linux.in: Likewise.
20351 * util/grub.d/20_linux_xen.in: Likewise.
20352
20353 * po/grub.d.sed: New file.
20354 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20355 arguments. Set c-format flags on all strings extracted from
20356 util/grub.d/ (xgettext refuses to include these itself for strings
20357 it extracted from a shell file, but these really are c-format).
20358
20359 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20362 Avoid next pointing to nowhere.
20363
20364 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20367 rather than assuming than rootblock is exactly in the middle.
20368 (grub_affs_label): Likewise.
20369
20370 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20371
20372 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20373 reserved_first_sector to 0.
20374 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20375 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20376 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20377
20378 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 Fix handling of UTF-16 UDF labels.
20381
20382 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20383 (read_string): .. here.
20384 (grub_udf_label): Use read_string.
20385
20386 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20387
20388 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20389 editor under argument scope.
20390 Reported by: Jordan Uggla
20391
20392 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20395
20396 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
20397
20398 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20399 line, and other keys scroll an entire page (previous handling was
20400 for \r and \n to scroll a page and other keys to scroll two lines).
20401
20402 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20403
20404 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20405 Set ptrdest to correct get_physical_target_address rather than
20406 incorrect get_virtual_current_address.
20407
20408 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20409
20410 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20411 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20412
20413 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
20414
20415 * .bzrignore: Ignore grub-core/rs_decoder.S.
20416
20417 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
20418
20419 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20420 .mo/.mo.gz opening sequence to ...
20421 (grub_mofile_open_lang): ... here.
20422 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20423 * util/grub.d/00_header.in (grub_lang): Include country part of
20424 locale.
20425 Reported by: Mario Limonciello.
20426
20427 2010-12-09 Robert Millan <rmh@gnu.org>
20428
20429 * NEWS: Document addition of ZFS support.
20430
20431 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
20432
20433 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20434 rather than `/ 2', as the latter requires -Wa,--divide which would
20435 require bumping our minimum binutils version.
20436
20437 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20438
20439 * util/grub-script-check.c (main): Print script line number on
20440 error.
20441
20442 2010-12-01 Robert Millan <rmh@gnu.org>
20443
20444 * grub-core/fs/zfs/zfs.c: New file.
20445 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20446 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20447 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20448 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20449
20450 * include/grub/zfs/dmu.h: Likewise.
20451 * include/grub/zfs/dmu_objset.h: Likewise.
20452 * include/grub/zfs/dnode.h: Likewise.
20453 * include/grub/zfs/dsl_dataset.h: Likewise.
20454 * include/grub/zfs/dsl_dir.h: Likewise.
20455 * include/grub/zfs/sa_impl.h: Likewise.
20456 * include/grub/zfs/spa.h: Likewise.
20457 * include/grub/zfs/uberblock_impl.h: Likewise.
20458 * include/grub/zfs/vdev_impl.h: Likewise.
20459 * include/grub/zfs/zap_impl.h: Likewise.
20460 * include/grub/zfs/zap_leaf.h: Likewise.
20461 * include/grub/zfs/zfs.h: Likewise.
20462 * include/grub/zfs/zfs_acl.h: Likewise.
20463 * include/grub/zfs/zfs_znode.h: Likewise.
20464 * include/grub/zfs/zil.h: Likewise.
20465 * include/grub/zfs/zio.h: Likewise.
20466 * include/grub/zfs/zio_checksum.h: Likewise.
20467
20468 * Makefile.util.def: Build ZFS into libgrubmods.
20469 * grub-core/Makefile.core.def: Build zfs.mod.
20470
20471 2010-11-30 Szymon Janc <szymon@janc.net.pl>
20472
20473 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20474 variable.
20475 * grub-core/commands/wildcard.c (match_files): Likewise.
20476
20477 2010-11-30 Robert Millan <rmh@gnu.org>
20478
20479 * grub-core/loader/i386/bsd.c
20480 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20481 whether kernel is loaded using grub_loader_is_loaded(), rather
20482 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20483 certain error conditions.
20484
20485 2010-11-30 Robert Millan <rmh@gnu.org>
20486
20487 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20488 (grub_cmd_echo): Call grub_refresh() after printing a message.
20489
20490 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 Avoid using tricks for initialising endian variables.
20493
20494 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20495 Make const.
20496 (GRUB_MOD_INIT): Don't byte-swap.
20497 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20498 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20499 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20500 (grub_swap_bytes32_compile_time): Likewise.
20501 (grub_cpu_to_le32_compile_time): Likewise.
20502 (grub_cpu_to_le16_compile_time): Likewise.
20503
20504 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * util/grub-setup.c (setup): Stop recommending --force. People who
20507 understand the dangers of blocklists are able to find this option
20508 anyway and the ones who don't shouldn't use it anyway.
20509
20510 2010-11-26 Robert Millan <rmh@gnu.org>
20511
20512 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20513 Update all users.
20514
20515 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
20516
20517 Fix LVM-on-RAID probing.
20518
20519 * util/grub-probe.c (probe): Remember which disk was detected as
20520 RAID (perhaps an LVM physical volume). Use that disk's raidname
20521 rather than that of the top-level disk.
20522
20523 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
20524
20525 Fix cmdline argument quotes for setparams command of menuentry
20526 definitions.
20527
20528 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20529 quotes for arguments.
20530 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
20531 grub_strchrsub function instead.
20532
20533 * include/grub/misc.h (grub_strchrsub): New function.
20534
20535 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20536
20537 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20538 effort by skipping "." and ".." entries up-front.
20539 Suggested by: Michael Lazarev.
20540
20541 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20542
20543 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20544 ldflags to ldadd, to fix link line ordering.
20545 (none_decompress): Likewise.
20546
20547 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20548
20549 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20550 platforms.
20551 (grub-emu-lite): Remove kern/emu/cache.S.
20552
20553 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20554
20555 * util/deviceiter.c (compare_devices): If the by-id link for a
20556 device couldn't be resolved, fall back to sorting by the by-id link
20557 rather than segfaulting.
20558 Reported and tested by: Daniel Mierswa.
20559
20560 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20561
20562 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20563 ldflags, to fix link line ordering.
20564
20565 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20566
20567 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20568 linkers are picky about this.
20569
20570 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20571
20572 * grub-core/Makefile.am (command.lst): Adjust sed expression
20573 ordering so that extended and priority commands aren't treated as
20574 ordinary commands.
20575
20576 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20577
20578 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20579 Remove byte-swapping function calls, which are not valid in
20580 structure initialisers.
20581 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20582 non-const.
20583 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20584 grub_gpt_partition_type_bios_boot.
20585
20586 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20587
20588 Fix test program build on GNU/kFreeBSD.
20589
20590 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20591 $(LIBNVPAIR)' library dependencies.
20592
20593 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20594
20595 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20596
20597 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20598
20599 * util/grub-install.in: Remove excessive quoting that broke
20600 installations to RAID devices.
20601
20602 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20605 bootloader version instead of 0.
20606
20607 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20608
20609 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20610 warning.
20611
20612 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20613
20614 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20615 retrieve the metadat sector if size isn't known.
20616 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20617
20618 2010-11-18 Robert Millan <rmh@gnu.org>
20619
20620 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20621 with grub_memcmp().
20622
20623 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20626 arrow.
20627 Reported by: Jordan Uggla.
20628
20629 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 Make better UTF compliant.
20632
20633 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20634 sequences as incorrect.
20635 (grub_is_valid_utf8): Likewise.
20636 (grub_utf8_to_ucs4): Likewise.
20637 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20638 (grub_ucs4_to_utf8_alloc): Likewise.
20639 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20640
20641 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20642
20643 Make legacy_source behave like source.
20644
20645 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20646 grub_show_menu.
20647 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20648
20649 2010-11-16 Colin Watson <cjwatson@debian.org>
20650
20651 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20652 (-Wunused implies -Wunused-parameter, but not vice versa).
20653
20654 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
20655
20656 * configure.ac: Make error messages less confusing by testing for
20657 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20658 accepted, but produces a diagnostic if something else is wrong).
20659
20660 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20663 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20664 (now unused).
20665 (grub_keyboard_controller_init)
20666 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20667 read the initial state since controller isn't inited yet.
20668
20669 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20672 allocate_regbeg may need to create new chunk header.
20673
20674 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20675
20676 Fix quoting in legacy parser.
20677
20678 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20679 single quotes.
20680 (grub_legacy_parse): Likewise.
20681 Reported by: Jordan Uggla.
20682 Tested by: Jordan Uggla.
20683
20684 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20685
20686 Don't add -lgcc on i386 and x86_64.
20687
20688 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20689 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20690 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20691
20692 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * configure.ac: Add -Wno-trampolines when supported.
20695
20696 2010-11-14 Modestas Vainius <modax@debian.org>
20697
20698 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20699 fakeraid.
20700
20701 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20702
20703 Add generic logical block size support for UDF.
20704
20705 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20706 (GRUB_UDF_BLKSZ): Removed.
20707 (struct grub_udf_data): New field "lbshift" to hold the logical block
20708 size of the file system in log2 format. All users updated.
20709 (sblocklist): Change type to unsigned.
20710 (grub_udf_mount): Change type of "sblklist" to unsigned.
20711 Move AVDP search before VRS recognition, because the latter requires
20712 knowledge of the logical block size, which is detected during the
20713 former.
20714 Detect and validate logical block size during AVDP search, adding
20715 support for block sizes 512, 1024 and 4096.
20716 Make VRS recognition independent of block size.
20717
20718 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20719
20720 Properly handle deleted files on UDF.
20721
20722 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20723 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20724 set.
20725
20726 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20727
20728 Support reading files larger than 2 GiB.
20729
20730 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20731 "offset" to grub_off_t.
20732 (grub_udf_read_file): Likewise for parameter "pos".
20733
20734 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20737 unavailable.
20738 (Simple configuration): Refer to Changes from GRUB Legacy about
20739 save_env availability.
20740
20741 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 * util/grub-install.in: Ignore empty partition table detection
20744 instead of trying to include part_ module.
20745
20746 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20749 LVM on RAID support.
20750
20751 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 Properly define WORDS_BIGENDIAN in wrapped environments.
20754
20755 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20756 definition.
20757 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20758
20759 Reported by: Manoel Rebelo Abranches.
20760 Tested by: Manoel Rebelo Abranches.
20761
20762 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 * util/grub-mkconfig.in: Fix quoting.
20765
20766 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 Support big ext2 files.
20769
20770 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20771 (grub_ext2_read_block): Support triple indirect blocks.
20772 (grub_ext2_read_file): Use 64-bit types and read size_high.
20773 (grub_ext2_open): Read size_high.
20774 Reported by: Ximin Luo.
20775 Tested by: Manoel Rebelo Abranches.
20776
20777 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 * util/grub-install.in: Handle filenames containing spaces.
20780 Reported by: Jordan Uggla.
20781 Tested by: Jordan Uggla.
20782
20783 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 * util/grub-mkconfig.in (grub_script_check): New variable.
20786 Use grub_script_check instead of grub-script-check.
20787 Reported by: Barry Jackson.
20788
20789 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 * docs/grub.texi (menu): Correct the order.
20792 Reported by: D. Hugh Redelmeier.
20793
20794 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20797 jump.
20798
20799 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20800
20801 * include/grub/elfload.h (grub_elf32_size): New parameter.
20802 All users updated.
20803 Return maximum segments alignment.
20804 (grub_elf64_size): Likewise.
20805 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20806 Return maximum segments alignment.
20807 (grub_elf64_size): Likewise.
20808 * grub-core/loader/powerpc/ieee1275/linux.c:
20809 (grub_linux_claimmap_iterate): New function. Uses the
20810 "available" property in the "memory" node for memory allocation
20811 for kernel in the PowerPC loader.
20812 (grub_linux_load32): Correctly find linux entry point offset.
20813 (grub_linux_load64): Likewise.
20814
20815 2010-11-07 Robert Millan <rmh@gnu.org>
20816
20817 On mips-yeeloong, build with -march=loongson2f when this flag is
20818 available (GCC >= 4.4).
20819 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20820 `-march=mips3'.
20821 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20822 or otherwise add -march=mips3.
20823
20824 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20825
20826 Suppress shell expansion on echo '*' and echo "*" like cases.
20827 Reported by: Jordan Uggla.
20828
20829 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20830 string arguments before shell expansion.
20831 * tests/grub_cmd_echo.in: New testcases.
20832
20833 2010-11-07 Robert Millan <rmh@gnu.org>
20834
20835 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20836 transition.
20837
20838 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20839
20840 * grub-core/kern/emu/hostdisk.c
20841 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20842
20843 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20844
20845 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20846 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20847 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20848
20849 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20852
20853 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20854
20855 * util/grub-install.in: Replace useless recomendation to pass
20856 --modules with a recomendation to report a bug.
20857
20858 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 Properly register serial terminfo.
20861 Reported by: Jordan Uggla
20862
20863 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20864 const.
20865 (grub_serial_terminfo_output_template): Likewise.
20866 (grub_cmd_serial): Register "serial" with terminfo.
20867 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20868 grub_serial_terminfo_output.
20869
20870 2010-11-05 Robert Millan <rmh@gnu.org>
20871
20872 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20873 needed).
20874
20875 2010-11-05 Robert Millan <rmh@gnu.org>
20876
20877 On Yeeloong, pass machine type information to Linux.
20878
20879 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20880 (LOONGSON_MACHTYPE): New macro, set to
20881 "machtype=lemote-yeeloong-2f-8.9inches".
20882 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20883 additional argument to Linux.
20884
20885 2010-11-04 Robert Millan <rmh@gnu.org>
20886
20887 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20888 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20889 (its SATA disks are detected as slaveless IDE master drives on
20890 kFreeBSD).
20891 Reported by Carsten Aulbert.
20892
20893 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * util/bin2h.c (main): Fix spelling error in generated output.
20896
20897 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20898
20899 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20900
20901 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20904 vga= option is supplied.
20905
20906 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20909 * util/grub.d/10_kfreebsd.in: Likewise.
20910 * util/grub.d/10_linux.in: Likewise.
20911 * util/grub.d/20_linux_xen.in: Likewise.
20912
20913 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20914
20915 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20916 argument as an argument to no-argument option.
20917
20918 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20919
20920 * util/grub.d/10_linux.in: Add missing load_video with explicit
20921 GRUB_GFXPAYLOAD_LINUX.
20922
20923 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20926
20927 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20930 elements with invlid index.
20931 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20932 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20933 members.
20934 * include/grub/raid.h (grub_raid_member): New struct.
20935 (grub_raid_array): Transform devices and start_sector into usage of
20936 grub_raid_member. All users updated
20937 (allocated_devs): New member.
20938
20939 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20942 is modified
20943
20944 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20945
20946 NetBSD build fix for getline function conflict from gnulib.
20947
20948 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20949 components that depend on gnulib headers.
20950 (libgrubmods.a): Renamed from earlier libgrub.a.
20951 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20952
20953 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20956 install rather than creating a broken install.
20957
20958 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20959
20960 * util/grub-setup.c (argp): Remove misleading example of installing to
20961 a partition.
20962
20963 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 * util/grub-setup.c (setup): Clarify the error message.
20966
20967 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20970
20971 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * grub-core/kern/emu/misc.c
20974 (grub_make_system_path_relative_to_its_root)
20975 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20976
20977 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * grub-core/kern/emu/misc.c
20980 (grub_make_system_path_relative_to_its_root): Revert r2882.
20981
20982 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20985 useless field head. All users updated.
20986 (free_subchunk): Correct handling of IN_REGION subchunk.
20987
20988 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
20989
20990 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20991 (Supported kernels): Likewise.
20992
20993 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20994
20995 Make mktemp invocations portable.
20996
20997 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20998 exit if mktemp fails.
20999 * tests/grub_script_blockarg.in: Likewise.
21000 * tests/partmap_test.in: Likewise.
21001 * tests/util/grub-shell-tester.in: Likewise.
21002 * tests/util/grub-shell.in: Likewise.
21003 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21004 * Makefile.am: Likewise, and chain shell commands with `&&'
21005 instead of ';'.
21006 * util/grub-mkrescue.in: Use the same explicit template as above, and
21007 exit if mktemp fails.
21008
21009 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21010
21011 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21012 Linux kernel, reported by Dennis Schridde.
21013
21014 2010-10-17 Szymon Janc <szymon@janc.net.pl>
21015
21016 * grub-core/normal/auth.c (grub_auth_check_authentication):
21017 Set-but-not-used variable removed.
21018
21019 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21022 32-bit linux protocol.
21023
21024 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21025
21026 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21027 cursor shape for sanity.
21028
21029 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21030
21031 * docs/grub.texi (Installation): Document buggy BIOS install.
21032
21033 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21034
21035 * docs/grub.texi (Installation): Indent.
21036
21037 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21038
21039 * util/grub-setup.c (setup): New parameter allow_floppy.
21040 (arguments): New member allow_floppy.
21041 (argp_parser): Handle --allow-floppy.
21042 (main): Pass allow_floppy.
21043 * util/grub-install.in: New option --allow-floppy passed though to
21044 grub-setup.
21045
21046 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 * util/grub-install.in: Handle partitionless disks.
21049
21050 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * util/grub-setup.c (setup): Don't clean blocklists before readability
21053 verfification.
21054
21055 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 * docs/grub.texi (Installation): Document embedding zone. Remove
21058 obsolete grub-install example.
21059
21060 2010-10-16 Szymon Janc <szymon@janc.net.pl>
21061
21062 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21063 Set-but-not-used variable ifdef'ed.
21064 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21065 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21066 variable removed.
21067 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21068 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21069 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21070 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21071 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21072 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21073 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21074 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21075 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21076 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21077 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21078 Likewise.
21079
21080 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21083 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21084 enum value.
21085
21086 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21089 synonym to _S5_. Needed for some DSDTs.
21090
21091 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21092
21093 Userspace ACPI parser debugging.
21094
21095 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21096 headers and add relevant defines. Don't include standard headers.
21097 (main) [GRUB_DSDT_TEST]: New function.
21098 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21099 Don't declare functions.
21100
21101 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21102
21103 Remove dead grub_efi_mm_fini.
21104
21105 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21106 (ALLOCATED_PAGES_SIZE): Likewise.
21107 (MAX_ALLOCATED_PAGES): Likewise.
21108 (allocated_pages): Likewise.
21109 (grub_efi_allocate_pages): Don't record allocated pages.
21110 (grub_efi_free_pages): Likewise.
21111 (grub_efi_mm_init): Likewise.
21112 (grub_efi_mm_fini): Removed.
21113
21114 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21117 (grub_efi_mm_init): Take into account the memory map size increase.
21118
21119 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21122 (serial_hw_put): Wait based on real time rather than port reads. Don't
21123 roken ports.
21124 * include/grub/serial.h (grub_serial_port): New field broken.
21125
21126 2010-10-16 Robert Millan <rmh@gnu.org>
21127
21128 * grub-core/kern/emu/misc.c
21129 (grub_make_system_path_relative_to_its_root): Fix premature return
21130 when processing non-root ZFS filesystems.
21131 Reported by Sergio Talens-Oliag.
21132
21133 2010-10-15 Robert Millan <rmh@gnu.org>
21134
21135 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21136 guarantee compressed ones are processed first.
21137
21138 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21141 grub_efiemu_autocore.
21142
21143 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21146 rather than 0x1b.
21147 (grub_console_getkey): Use correct jae opcode rather than ja.
21148
21149 2010-10-12 Robert Millan <rmh@gnu.org>
21150
21151 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21152 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21153 variable. All references updated.
21154
21155 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21156
21157 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 Correctly distinguish mdraid flavours.
21160
21161 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21162 (insert_array): New argument raid.
21163 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21164 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21165 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21166
21167 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21168
21169 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21170 handling of special keys.
21171
21172 2010-10-02 Aleš Nesrsta <starous@volny.cz>
21173
21174 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21175 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
21176
21177 2010-10-02 Aleš Nesrsta <starous@volny.cz>
21178
21179 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21180 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21181 users updated.
21182 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
21183 Use right endpoint when querying descriptor.
21184
21185 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 Clear out 0x80 color bit on EFI.
21188 Tested by: decoder
21189 Reported by: decoder and meta tech.
21190
21191 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21192 (grub_console_setcolorstate): Clear out 0x80 bit.
21193 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21194 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21195 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21196
21197 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21200 Set to "auto".
21201
21202 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21205 mo_file after freeing.
21206
21207 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21208
21209 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21210
21211 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21214 flags.
21215
21216 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21219 usage.
21220
21221 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21224
21225 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21226 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21227 and terminfo.h when needed.
21228 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21229 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21230 (terminfo): Enable only on terminfokernel.
21231 (extcmd): Likewise.
21232 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21233 * include/grub/lib/arg.h: Likewise.
21234 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21235 incorrect usage of ->.
21236
21237 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21238
21239 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21240 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21241
21242 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21243
21244 Fix coreboot compilation.
21245
21246 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21247 Take VBE info into account even if only text is supported.
21248 (fill_vbe_info): Take into account the case when only VGA text
21249 is supported.
21250 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21251 on coreboot, multiboot and qemu.
21252
21253 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21254
21255 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21256 debug messages.
21257 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21258
21259 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21262 parameters.
21263
21264 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21267 if they were BSD-style.
21268
21269 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 * grub-core/boot/i386/pc/lnxboot.S: Replace
21272 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21273 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21274
21275 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 Write embedding zone using Reed-Solomon.
21278
21279 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21280 * grub-core/Makefile.am (rs_decoder.S): New target.
21281 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21282 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21283 (multiboot): Move to RS part.
21284 (post_reed_solomon): New label.
21285 (grub_boot_drive): Move to non-RS part since it's modified in memory
21286 on boot.
21287 Include rs_decoder.S.
21288 * grub-core/lib/reed_solomon.c: New file.
21289 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21290 New definition.
21291 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21292 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21293 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21294 * include/grub/partition.h (grub_partition_map): Change prototype of
21295 embed to allow returning additional sectors.
21296 * include/grub/reed_solomon.h: New file.
21297 * util/grub-setup.c (setup): Handle Reed-Solomon.
21298
21299 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
21300
21301 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21302 i386 and x86-64 definedness tests.
21303
21304 2010-09-27 Yves Blusseau <blusseau@zetam.org>
21305
21306 Fix generation of kernel_syms.lst
21307
21308 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21309 ASM_PREFIX
21310
21311 2010-09-26 Robert Millan <rmh@gnu.org>
21312
21313 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21314
21315 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21316 the pool is an array of devices, iterate through it and return the
21317 first device that passes a stat() test (instead of blindly returning
21318 the first one).
21319
21320 2010-09-26 Robert Millan <rmh@gnu.org>
21321
21322 Build fixes for GNU/kFreeBSD.
21323
21324 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21325 to programs that require ZFS conversion.
21326 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21327 kernels that don't have FLOPPY_MAJOR.
21328
21329 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21330
21331 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21332
21333 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21334
21335 Fix grub-emu build.
21336
21337 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21338 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21339 mdraid09 and mdraid1x.
21340
21341 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
21342
21343 Re-enable grub-extras.
21344
21345 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21346 avoid confusing Automake. Run autogen only twice, once for the top
21347 level and once for grub-core. Add Makefile.util.def and
21348 Makefile.core.def from extra modules to the appropriate autogen
21349 invocations. If Makefile.common exists in an extra module, include
21350 it in both Makefile.util.am and grub-core/Makefile.core.am;
21351 similarly, include any Makefile.util.common file in Makefile.util.am
21352 and any Makefile.core.common file in grub-core/Makefile.core.am.
21353 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21354 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21355 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21356 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21357
21358 * gentpl.py (gvar_add): Turn GVARS into a set.
21359 (global_variable_initializers): Sort global variables on output.
21360 (vars_init): New function.
21361 (first_time): Likewise.
21362 (library): Ensure that non-global variable initialisations are
21363 emitted before the first time we emit code for a library block.
21364 Append to variables rather than setting them. Only emit
21365 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21366 each conditional path.
21367 (program): installdir() emits an Autogen macro, so must be passed to
21368 var_add rather than gvar_add.
21369 (data): Likewise.
21370 (script): Likewise.
21371 (rules): New function, centralising handling for different target
21372 types. Set up Guile association lists for first_time and vars_init,
21373 and send most output to a diversion so that variable initialisations
21374 can be emitted first.
21375 (module_rules): Use new rules function.
21376 (kernel_rules): Likewise.
21377 (image_rules): Likewise.
21378 (library_rules): Likewise.
21379 (program_rules): Likewise.
21380 (script_rules): Likewise.
21381 (data_rules): Likewise.
21382
21383 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21384
21385 * .bzrignore: Add contrib and grub-core/contrib. Remove
21386 grub-core/Makefile.gcry.am.
21387
21388 2010-09-24 Yves Blusseau <blusseau@zetam.org>
21389
21390 * grub-core/lib/LzFind.c: Add missing include.
21391 * grub-core/lib/LzmaEnc.c: Likewise.
21392 * grub-core/script/lexer.c: Likewise.
21393 * grub-core/script/yylex.l: Likewise.
21394 * util/grub-macho2img.c: Likewise.
21395 * util/grub-menulst2cfg.c: Likewise.
21396 * util/grub-mklayout.c: Likewise.
21397 * util/grub-mkpasswd-pbkdf2.c
21398 * util/grub-mkrelpath.c: Likewise.
21399 * util/resolve.c: Likewise.
21400
21401 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21402
21403 * Makefile.util.def (example_unit_test): Add
21404 grub-core/gnulib/libgnu.a.
21405
21406 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21407
21408 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21409
21410 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 Support xz compression on yeeloong.
21413
21414 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21415 * configure.ac: Check for LZMA.
21416 * grub-core/Makefile.core.def (xz_decompress): New target.
21417 (none_decompress): Likewise.
21418 * grub-core/boot/decompressor/minilib.c: New file.
21419 * grub-core/boot/decompressor/none.c: Likewise.
21420 * grub-core/boot/decompressor/xz.c: Likewise.
21421 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21422 * grub-core/kern/mips/cache_flush.S: Likewise.
21423 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21424 * grub-core/kern/mips/startup.S: Move first stage to ...
21425 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21426 nomacro.
21427 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21428 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21429 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21430 Allocate statically.
21431 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21432 Allocate statically or use scratch. Don't check CRC32.
21433 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21434 Allocate statically. Don't check CRC32.
21435 * include/grub/decompressor.h: New file.
21436 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21437 Removed.
21438 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21439 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21440 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21441 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21442 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21443 * util/grub-mkimage.c (grub_compression_t): New type.
21444 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21445 (image_target_desc): New field default_compression.
21446 (image_targets): Adjust yeeloong targets.
21447 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21448 (compress_kernel): New parameter comp.
21449 (generate_image): Likewise. Handle new compression case.
21450 (options): New option --compression
21451 (help): Likewise.
21452 (main): Handle new option.
21453
21454 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21455
21456 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21457
21458 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
21459
21460 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21461 typo in __i386__ conditional.
21462
21463 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21466 include.
21467
21468 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 Implement EFI and ACPI multiboot2 extensions.
21471
21472 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21473 new tags as supported.
21474 (acpiv2_size): New function.
21475 (grub_multiboot_get_mbi_size): Take new tags into account.
21476 (grub_multiboot_make_mbi): Add new tags.
21477 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
21478
21479 2010-09-21 Aleš Nesrsta <starous@volny.cz>
21480
21481 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21482 Added missing configuration of USB device.
21483
21484 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21485
21486 * grub-core/normal/menu_entry.c (run): Make sure we always return
21487 a value.
21488
21489 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21490
21491 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21492 NumberOfPages is UINT64 according to the UEFI specification, not
21493 UINTN. Fix printf format.
21494
21495 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21496
21497 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21498 `err' to grub_usb_err_t.
21499 Reported and tested by: KESHAV P.R.
21500
21501 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21502
21503 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21504 tpart non-const, so that we can assign to it. (Since this is a
21505 typedef, the constness refers to the pointer rather than what it
21506 points to.)
21507
21508 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21509
21510 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21511 $(top_srcdir)/grub-core/gnulib as well as
21512 $(top_builddir)/grub-core/gnulib.
21513 Reported by: KESHAV P.R.
21514
21515 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21516
21517 * util/grub-install.in: Fix the bootloader ID option to be
21518 consistently --bootloader-id, not --bootloader_id.
21519 Reported by: KESHAV P.R.
21520
21521 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21522
21523 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21524 check hash checksum." consistently translatable.
21525
21526 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21527
21528 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21529 $(top_builddir).
21530
21531 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21532
21533 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21534 (GRUB_MOD_INIT): Register sha1sum command.
21535 (GRUB_MOD_FINI): Unregister sha1sum command.
21536
21537 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21538
21539 Keep boot and grub directory names in sync with utils scripts
21540
21541 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21542 * config.h.in: Add previous macros.
21543 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21544 * util/grub-install.in: Use $bootdir and $grubdir variables.
21545
21546 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21547
21548 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21549 convert partition names to disk names if the new `convert' parameter
21550 is set.
21551 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21552 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21553 disk in its own right. This can happen with Xen disk images.
21554
21555 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21556
21557 * util/grub-editenv.c: Update strings to avoid warnings when generating
21558 grub.pot file.
21559 * util/grub-setup.c: Likewise.
21560
21561 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * configure.ac: Change version to 1.99~beta0.
21564
21565 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21568 Add BADRAM.
21569 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21570 Likewise.
21571 * include/multiboot.h: Resynced with specification.
21572 * include/multiboot2.h: Likewise.
21573
21574 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21575
21576 Fix po directory handling.
21577
21578 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21579 * grub-core/gnulib/Makefile.am: Import gettext module.
21580 * m4/gnulib-cache.m4: Likewise.
21581 * m4/gnulib-comp.m4: Likewise.
21582 * m4/gettext.m4: New file, from gnulib.
21583 * m4/glibc2.m4: Likewise.
21584 * m4/iconv.m4: Likewise.
21585 * m4/intdiv0.m4: Likewise.
21586 * m4/intl.m4: Likewise.
21587 * m4/intldir.m4: Likewise.
21588 * m4/intlmacosx.m4: Likewise.
21589 * m4/intmax.m4: Likewise.
21590 * m4/inttypes-pri.m4: Likewise.
21591 * m4/lcmessage.m4: Likewise.
21592 * m4/lib-ld.m4: Likewise.
21593 * m4/lib-link.m4: Likewise.
21594 * m4/lib-prefix.m4: Likewise.
21595 * m4/lock.m4: Likewise.
21596 * m4/nls.m4: Likewise.
21597 * m4/po.m4: Likewise.
21598 * m4/printf-posix.m4: Likewise.
21599 * m4/progtest.m4: Likewise.
21600 * m4/threadlib.m4: Likewise.
21601 * m4/uintmax_t.m4: Likewise.
21602 * m4/visibility.m4: Likewise.
21603 * po/Makefile.am: Remove.
21604 * po/Makefile.in.in: New file, from gettext.
21605 ($(DOMAIN).pot-update): Support POTFILES-shell.
21606 * po/Makevars: New file.
21607 * po/POTFILES-shell: Rename to ...
21608 * po/POTFILES-shell.in: ... this. Update.
21609 * po/POTFILES: Rename to ...
21610 * po/POTFILES.in: ... this. Update.
21611 * po/Rules-quot: New file, from gettext.
21612 * po/boldquot.sed: Likewise.
21613 * po/en@boldquot.header: Likewise.
21614 * po/en@quot.header: Likewise.
21615 * po/insert-header.sin: Likewise.
21616 * po/quot.sed: Likewise.
21617 * po/remove-potcdate.sin: Likewise.
21618
21619 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21622
21623 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 * util/grub.d/20_linux_xen.in: Use submenus.
21626
21627 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 Support submenus.
21630
21631 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21632 parameter submenu. All users updated.
21633 * grub-core/normal/main.c (free_menu): Rename to ...
21634 (grub_normal_free_menu): ... this. Made global.
21635 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21636 if requested.
21637 * grub-core/normal/menu_entry.c (screen): New field submenu.
21638 (make_screen): Set submenu.
21639 (run): Open new context if requested.
21640 * include/grub/menu.h (grub_menu_entry): New field submenu.
21641 * include/grub/normal.h (grub_normal_free_menu): New proto.
21642
21643 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 Menu entries extractor.
21646
21647 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21648 variants.
21649 (GRUB_MOD_INIT): Register new variants.
21650 (GRUB_MOD_FINI): Unregister new variants.
21651 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21652 into grub_cmd_legacy_source.
21653 (grub_cmd_legacy_source): Implement extractor variants.
21654 (GRUB_MOD_INIT): Register new variants.
21655 (GRUB_MOD_FINI): Unregister new variants.
21656 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21657 as an extractor.
21658 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21659 search as an extractor.
21660 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21661 test as an extractor.
21662 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21663 as an extractor.
21664 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21665 (grub_env_new_context): New function.
21666 (grub_env_context_open): Likewise.
21667 (grub_env_extractor_open): Likewise.
21668 (grub_env_extractor_close): Likewise.
21669 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21670 grub_extractor_level.
21671 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21672 * include/grub/env.h (grub_env_extractor_open): New proto.
21673 (grub_env_extractor_close): Likewise.
21674 * include/grub/normal.h (grub_extractor_level): New external variable.
21675
21676 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 Make cutmem accept a region specification.
21679 Suggested by: Samuel Thibault
21680
21681 * grub-core/mmap/mmap.c (parsemem): New function.
21682 (grub_cmd_cutmem): Handle new arguments.
21683
21684 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 New command cutmem.
21687
21688 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21689 (GRUB_MOD_INIT): Register new command.
21690 (GRUB_MOD_FINI): Unregister new command.
21691
21692 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 Support some annoying BSD and Minix subpartitions.
21695
21696 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21697 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21698 Properly handle concatenation.
21699 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21700 * grub-core/normal/completion.c (iterate_partition): Likewise.
21701 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21702 contain partition. All users updated.
21703 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21704 struct.
21705 (grub_openbsdlabel_partition_map): Likewise.
21706 (bsdlabel_partition_map_iterate): Rename to ..
21707 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21708 (bsdlabel_partition_map_iterate): New function.
21709 (netopenbsdlabel_partition_map_iterate): Likewise.
21710 (netbsdlabel_partition_map_iterate): Likewise.
21711 (openbsdlabel_partition_map_iterate): Likewise.
21712 (GRUB_MOD_INIT): Register new partmaps.
21713 (GRUB_MOD_FINI): Unregister new partmaps.
21714 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21715 (grub_partition_msdos_iterate): ... this. All users updated.
21716 Don't support embedding other than in a minix partition.
21717 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21718 proto.
21719 * include/grub/partition.h (grub_partition): New field msdostype.
21720 * util/grub-install.in: Handle openbsd and netbsd types being in
21721 part_bsd module.
21722
21723 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21724
21725 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21726
21727 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21728 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21729 (mdraid09): ... this.
21730 (mdraid1x): New module.
21731 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21732 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21733
21734 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21737 vsprintf.
21738
21739 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21740
21741 * grub-core/commands/efi/lsefimmap.c: Correct header.
21742 * NEWS: Update.
21743
21744 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21745
21746 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21747 as printf format strings; the translations might contain '%' which
21748 could cause a crash.
21749 (main): Likewise.
21750 * util/grub-fstest.c (argp_parser): Likewise.
21751 * util/grub-setup.c (argp_parser): Likewise.
21752 (main): Likewise.
21753
21754 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 Use argp in grub-fstest.
21757
21758 * util/grub-fstest.c: Don't include getopt.h.
21759 Include argp.h.
21760 (root): New variable.
21761 (args_count): Likewise.
21762 (nparm): Likewise.
21763 (num_disks): Likewise.
21764 (images): Likewise.
21765 (cmd): Likewise.
21766 (debug_str): Likewise.
21767 (args): Likewise.
21768 (options): Transformed to argp.
21769 (usage): Removed.
21770 (main): Split argument parsing into ...
21771 (argp_parser): ... this. Changed to argp format.
21772 (argp): New variable.
21773 (main): Use argp_parse.
21774
21775 2010-09-20 Tristan Gingold <gingold@free.fr>
21776 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
21777 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * grub-core/commands/efi/lsefimmap.c: New file.
21780 * grub-core/Makefile.core.def (lsefimmap): New module.
21781 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21782
21783 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 Pause the execution (10s max) if any errors are displayed so the user
21786 has a chance to see them.
21787
21788 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21789 (grub_print_error): Increment grub_err_printed_errors.
21790 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21791 execution if any errors were displayed.
21792 (show_menu): Remove old code for pause.
21793 * grub-core/normal/menu_entry.c (run): Likewise.
21794 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21795 users updated.
21796 (grub_normal_get_char_counter): Likewise.
21797 * include/grub/err.h (grub_err_printed_errors): New external variable.
21798 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21799
21800 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 Support multiboot VBE info.
21803
21804 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21805 Take VBE info into account.
21806 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21807 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21808 Call fill_vbe_info when appropriate.
21809 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21810 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21811 as supported.
21812 (grub_multiboot_get_mbi_size): Take new tags into account.
21813 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21814 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21815 Call fill_vbe_tag when appropriate.
21816 (grub_multiboot_make_mbi): Properly align tags.
21817 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21818 function.
21819 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21820 proto.
21821 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21822
21823 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21824
21825 Suport manual terminal geometry specification.
21826
21827 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21828 Save state in grub_ofconsole_terminfo_output.
21829 (grub_ofconsole_term): Use grub_terminfo_getwh.
21830 (grub_ofconsole_getwh): Removed.
21831 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21832 (grub_serial_term): Use grub_terminfo_getwh.
21833 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21834 (options): New struct.
21835 (OPTION_*): New enum.
21836 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21837 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21838 width and height.
21839 (grub_terminfo_getwh): New proto.
21840 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21841
21842 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21843
21844 Handle legacy "terminal" command.
21845
21846 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21847 and FLAG_TERMINAL.
21848 (legacy_commands): Add terminal and title.
21849 (grub_legacy_parse): Handle terminal. Simplify title handling.
21850
21851 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21852
21853 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21854 parameters overflow.
21855
21856 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21857
21858 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21859 widthspec.h.
21860
21861 * docs/grub.texi (Shell-like scripting): Document `!'.
21862 (Network): Simplify using new i386-pc-pxe format. Mention
21863 grub-mknetdir.
21864
21865 * NEWS: Update.
21866
21867 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21868
21869 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21870 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21871 when needed.
21872
21873 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21874
21875 * grub-core/commands/efi/lsefisystab.c: Correct header.
21876 * grub-core/commands/efi/lssal.c: Likewise.
21877 * grub-core/commands/testload.c: Likewise.
21878
21879 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21880
21881 * util/grub-mkrescue.in: Add explicit root argument to --set to
21882 prevent the UUID being interpreted as an argument to --set (matches
21883 previous change to prepare_grub_to_access_device).
21884
21885 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21886
21887 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21888 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21889 the verbosity of later #ifs.
21890 (find_partition_start): Define this function on FreeBSD too.
21891 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21892 function.
21893 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21894 on FreeBSD.
21895
21896 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21897
21898 * util/grub-editenv.c: Use argp instead of getopt.
21899
21900 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21901
21902 * util/grub-setup.c: Use argp instead of getopt.
21903
21904 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21905
21906 Use gnulib-tool to create gnulib source files.
21907
21908 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21909 grub-core/gnulib directories
21910 * .bzignore: Add **/.deps and autogenerated gnulib files
21911 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21912 of gnulib macros, add grub-core/gnulib/Makefile
21913 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21914 include m4 directory to aclocal.
21915 * Makefile.util.def: Remove direct compilation of gnulib source files
21916 and use the new grub-core/gnulib/libgnu.a.
21917 * build-aux/config.rpath: move config.rpath from top directory to
21918 build-aux
21919 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21920 in gnulib headers
21921 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21922 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21923 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21924 header.
21925 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21926 string.
21927
21928 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21929
21930 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21931 grub-core/genmod.sh and grub-core/gensyminfo.sh
21932
21933 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21934
21935 Add a test for echo command options.
21936
21937 * tests/grub_cmd_echo.in: New test.
21938 * Makefile.util.def: Rules for new test.
21939
21940 2010-09-20 Szymon Janc <szymon@janc.net.pl>
21941
21942 Remove crc.mod and move crc command to hashsum.mod.
21943 Remove lib/crc.c - users updated to use gcrypt implementation.
21944
21945 * grub-core/commands/crc.c: Removed.
21946 * grub-core/Makefile.core.def (crc): Module removed.
21947 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21948 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21949 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21950 * grub-core/lib/crc.c: Removed.
21951 * include/grub/lib/crc.h: Removed.
21952 * Makefile.util.def (crc): Remove lib/crc.c
21953 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21954 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21955 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21956 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21957 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21958 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21959
21960 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21963
21964 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 Split config.h for util and core.
21967
21968 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21969 (ADDR32): Likewise.
21970 (DATA32): Likewise.
21971 (BSS_START_SYMBOL): Likewise.
21972 (END_SYMBOL): Likewise.
21973 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21974 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21975 * config.h.in: New file.
21976 * configure.ac: Use config-util.h as config define file.
21977 Rename MACHINE into GRUB_MACHINE. All users updated.
21978 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21979 updated.
21980 (NESTED_FUNC_ATTR): Likewise.
21981 Substitue new variables.
21982 (COND_HAVE_ASM_USCORE): New conditional.
21983 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21984 (kernel_syms.lst): Use ASM_PREFIX.
21985 * grub-core/kern/emu/console.c: Include config-util.h.
21986 * grub-core/kern/emu/misc.c: Likewise.
21987 * grub-core/kern/emu/mm.c: Likewise.
21988 * include/grub/emu/misc.h: Likewise.
21989 * include/grub/libgcc.h: Likewise.
21990
21991 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21992
21993 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21994 constants usage.
21995 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21996 Fix GRUB_TERM_KEY_* constants usage.
21997 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21998
21999 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22002 print pointer.
22003 * grub-core/bus/usb/uhci.c: Remove empty define.
22004 (grub_uhci_check_transfer): Add missing cast.
22005 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22006 print pointer.
22007 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22008 PRIuGRUB_SIZE.
22009 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22010
22011 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22012
22013 * grub-core/Makefile.core.def (legacycfg): Add
22014 lib/i386/pc/vesa_modes_table.c on emu.
22015
22016 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22017
22018 Reduce number of temporary files generated by build system.
22019
22020 * grub-core/gencmdlist.sh: Removed.
22021 * grub-core/genfslist.sh: Removed.
22022 * grub-core/genhandlerlist.sh: Removed.
22023 * grub-core/genmodsrc.sh: Removed.
22024 * grub-core/genpartmaplist.sh: Removed.
22025 * grub-core/genparttoollist.sh: Removed.
22026 * grub-core/gentermiinallist.sh: Removed.
22027 * grub-core/genvideolist.sh: Removed.
22028
22029 * grub-core/genmod.sh.in: New file.
22030 * grub-core/gensyminfo.sh.in: New file.
22031
22032 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22033 * conf/Makefile.extra-dist: Update with new files.
22034 * gentpl.py: Remove rules related to unnecessary temporary files.
22035 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22036 and und-* files.
22037 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22038 genmod.sh scripts.
22039 * grub-core/bus/usb/uhci.c: Remove empty #define.
22040 * grub-core/genmoddep.awk: Updated with new syminfo format.
22041 * util/bash-completion.d/Makefile.am: Add config.log to
22042 CLEANFILES.
22043
22044 2010-09-19 Yves Blusseau <blusseau@zetam.org>
22045
22046 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22047
22048 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22049
22050 * util/grub-mkconfig.in: Check the config script for syntax errors
22051 before saving.
22052
22053 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
22054 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22055
22056 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22057 platforms.
22058 * util/grub-install.in: Add EFI and IEEE1275 support.
22059 * util/i386/efi/grub-install.in: Removed.
22060 * util/ieee1275/grub-install.in: Likewise.
22061
22062 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22065 (grub_cmd_cmosclean): Likewise.
22066 (GRUB_MOD_INIT): Register command cmosclean.
22067 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22068 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22069
22070 2010-09-18 Carles Pina i Estany <carles@pina.cat>
22071 2010-09-18 Aleš Nesrsta <starous@volny.cz>
22072 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 Add keyboard layouts support.
22075
22076 * Makefile.util.def (grub-mklayout): New file.
22077 (grub-kbdcomp): New script.
22078 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22079 Add keyboard_layouts.h.
22080 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22081 commands/boot.c on yeeloong.
22082 (keylayouts): New module.
22083 * grub-core/bus/usb/ohci.c
22084 * grub-core/bus/usb/uhci.c
22085 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22086 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22087 (attach_root_port): Likewise.
22088 (poll_nonroot_hub): Likewise.
22089 (grub_usb_poll_devices): Likewise.
22090 (detach_device): Close transfer.
22091 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22092 function.
22093 (grub_usb_bulk_setup_readwrite): Likewise.
22094 (grub_usb_bulk_finish_readwrite): Likewise.
22095 * grub-core/commands/keylayouts.c: New file.
22096 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22097 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22098 aliases.
22099 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22100 support scancode 2.
22101 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22102 * include/grub/keyboard_layouts.h: New file.
22103 * util/grub-mklayout.c: New file.
22104 * util/grub-kbdcomp.in: Likewise.
22105
22106 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 Unify memory types.
22109
22110 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22111 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22112 types.
22113 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22114 (grub_upper_mem): Likewise.
22115 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22116 * include/grub/memory.h (grub_memory_type_t): New enum.
22117 All users updated.
22118
22119 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * grub-core/Makefile.core.def (lsapm): New module.
22122 * grub-core/commands/i386/pc/lsapm.c: New file.
22123 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22124 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22125 Likewise.
22126 * include/grub/i386/pc/apm.h: New file.
22127 * include/multiboot.h (multiboot_apm_info): New struct.
22128
22129 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 GRUB-legacy configuration file support.
22132
22133 * Makefile.util.def (grub-menulst2cfg): New util.
22134 * docs/man/grub-menulst2cfg.h2m: New file.
22135 * grub-core/Makefile.core.def (legacycfg): New module.
22136 * grub-core/commands/legacycfg.c: New file.
22137 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22138 (grub_normal_add_menu_entry): ... this.
22139 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22140 (grub_normal_set_password): ...this.
22141 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22142 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22143 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22144 * grub-core/lib/legacy_parse.c: New file.
22145 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22146 * include/grub/i386/pc/vesa_modes_table.h: New file.
22147 * include/grub/legacy_parse.h: Likewise.
22148 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22149 * util/grub-menulst2cfg.c: New file.
22150
22151 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
22152
22153 * grub-core/kern/emu/hostdisk.c
22154 (convert_system_partition_to_system_disk): Initialise node.
22155
22156 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
22157
22158 * grub-core/kern/emu/hostdisk.c
22159 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22160 leak.
22161 Reported and based on patch by: Modestas Vainius.
22162
22163 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
22164
22165 Fix DM-RAID probing with recent versions of device-mapper udev
22166 rules.
22167
22168 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22169 canonicalise device paths under /dev/mapper/.
22170 (convert_system_partition_to_system_disk): Compare the
22171 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22172 path, since device nodes under /dev/mapper/ are often symlinks.
22173
22174 2010-09-17 Yves Blusseau <blusseau@zetam.org>
22175
22176 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22177
22178 2010-09-16 Yves Blusseau <blusseau@zetam.org>
22179
22180 * configure.ac: Avoid some annoying error messages if freetype-config
22181 program is not found.
22182
22183 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
22184
22185 Support RAID on virtio devices, and others.
22186
22187 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22188 Rename to ...
22189 [__MINGW32__] (grub_find_device): ... this.
22190 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22191 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22192 reasonable default if dir is NULL.
22193 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22194 ...
22195 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22196 (grub_guess_root_device): Update callers.
22197 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22198
22199 * util/raid.c (grub_util_getdiskname): Remove.
22200 (grub_util_raid_getmembers): Use grub_find_device rather than
22201 grub_util_getdiskname.
22202
22203 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
22204
22205 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22206 needing to be compiled with serial support.
22207 (ls): Indicate that multiple files are accepted.
22208 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22209 indicate that multiple files are accepted.
22210
22211 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
22212
22213 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22214 libgrub_a_init.c, and util/bash-completion.d/grub.
22215
22216 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 * util/grub-setup.c (setup): Fix incorrect container semantics.
22219
22220 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22223 misusage.
22224 Reported by: J. Nick Terry
22225
22226 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22227
22228 Move embedding routines to partmap sources files.
22229
22230 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22231 [GRUB_UTIL]: New variable.
22232 (gpt_partition_map_iterate): Set part.parent.
22233 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22234 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22235 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22236 New function.
22237 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22238 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22239 (grub_partition_map) [GRUB_UTIL]: New field embed.
22240 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22241 (setup): Use ->embed.
22242
22243 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22244
22245 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22246 function.
22247 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22248 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22249
22250 2010-09-15 Yves Blusseau <blusseau@zetam.org>
22251
22252 Add function to get completions from usage.
22253
22254 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22255 completions from usage. Use LC_ALL=C to get options properly.
22256
22257 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 * grub-core/gnulib/basename-lgpl.c: Imported.
22260 * grub-core/gnulib/basename.c: Likewise.
22261 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22262 * grub-core/gnulib/dirname.c: Likewise.
22263 * grub-core/gnulib/dirname.h: Likewise.
22264 * grub-core/gnulib/stripslash.c: Likewise.
22265
22266 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22267
22268 * grub-core/gnulib/error.c: Resynced.
22269 * grub-core/gnulib/getopt.c: Likewise.
22270 * grub-core/gnulib/getopt_int.h: Likewise.
22271 * grub-core/gnulib/regex.h: Likewise.
22272 * grub-core/gnulib/regex_internal.c: Likewise.
22273 * grub-core/gnulib/regex_internal.h: Likewise.
22274
22275 2010-09-15 Szymon Janc <szymon@janc.net.pl>
22276
22277 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22278 CRC calculations and validity checks.
22279 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22280 calculations.
22281
22282 2010-09-15 Szymon Janc <szymon@janc.net.pl>
22283
22284 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22285
22286 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22287
22288 Fix incorrect echo options handling.
22289 Reported by: Yves Blusseau.
22290
22291 * include/grub/command.h (grub_command_flags_t): New flags
22292 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22293 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22294 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22295
22296 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22299 users updated.
22300 (GRUB_COMMAND_FLAG_MENU): Likewise.
22301 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22302 (GRUB_COMMAND_FLAG_TITLE): Removed.
22303 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22304 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22305 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22306 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22307 (grub_command_flags_t): New enum. All users updated.
22308
22309 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22310
22311 Fix solaris compilation.
22312
22313 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22314 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22315 (grub-emu-list): Likewise.
22316
22317 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22318
22319 Remove deprecated root command.
22320
22321 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22322 updated.
22323
22324 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 * util/i386/pc/grub-setup.c: Merge this ...
22327 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22328 * util/grub-setup.c: ... into this.
22329 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22330 New struct.
22331
22332 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22335 possible.
22336
22337 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22338
22339 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22340 allocate p.
22341
22342 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22343
22344 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22345 explicit root argument to set to prevent UUID to be interpreted as
22346 argument to set.
22347
22348 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22349
22350 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22351
22352 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 Don't export grub_gate_a20.
22355
22356 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22357 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22358 to ...
22359 (grub_gate_a20): ... this. All users updated.
22360 * include/grub/i386/pc/init.h: Removed. All users updated.
22361
22362 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 Create euro.pf2 which supports most European languages.
22365
22366 * Makefile.am (grubdata_DATA): Add euro.pf2.
22367 (euro.pf2): New target.
22368 (CLEANFILES): Add euro.pf2.
22369
22370 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * configure.ac: Disable emu-usb by default to prevent inadvertent
22373 device takeover.
22374
22375 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 Disable usbserial on grub-emu since our libusb code isn't good enough
22378 yet.
22379
22380 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22381 (usbserial_pl2303): Likewise.
22382 (usbserial_ftdi): Likewise.
22383
22384 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 * include/grub/disk.h (grub_disk): Remove has_partitions.
22387 All users updated.
22388 * disk/loopback.c (grub_loopback): Remove has_partitions.
22389 All users updated.
22390 (options): Remove partitions. All users updated.
22391 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22392 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22393 actual partition table is found.
22394
22395 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 Remove readability checks (too many false negatives).
22398
22399 * util/grub-install.in: Remove readability checks.
22400 * util/grub-mkconfig.in: Likewise.
22401 * util/grub.d/10_hurd.in: Likewise.
22402 * util/grub.d/10_kfreebsd.in: Likewise.
22403 * util/grub.d/10_linux.in: Likewise.
22404 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22405 way.
22406
22407 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22408
22409 Enable acpi shutdown on all ACPI platforms.
22410
22411 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22412 on coreboo, multiboot and EFI.
22413 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22414 (grub_acpi_halt): Likewise.
22415 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22416 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22417 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22418 * grub-core/lib/i386/halt.c (grub_halt)
22419 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22420
22421 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22424 context.
22425
22426 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22429 * grub-core/video/efi_uga.c: Likewise.
22430
22431 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 Filter devaliases and never open same device twice.
22434
22435 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22436 (last_ihandle): Likewise.
22437 (ofdisk_hash_ent): New member shortest.
22438 (ofdisk_hash_add): Add canonical path too.
22439 (scan): New function.
22440 (grub_ofdisk_iterate): Iterate over hashed entries.
22441 (compute_dev_path): Don't add :0.
22442 (grub_ofdisk_open): Don't really open the disk.
22443 (grub_ofdisk_close): Avoid closing unrelated disk.
22444 (grub_ofdisk_read): Implement reopen logic.
22445 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22446 New function.
22447 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22448 New proto.
22449
22450 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22451
22452 Fix sparc64.
22453
22454 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22455 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22456 right address. Add sparc64_ieee1275_ldflags.
22457 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22458 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22459 to grub_host_to_target_addr
22460 (load_image): Likewise.
22461
22462 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 * grub-core/normal/completion.c (complete_file): Handle device
22465 containing slash.
22466 Fix based on patch by Doug Nazar.
22467
22468 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22469
22470 grub-mknetdir script.
22471
22472 * Makefile.util.def (grub-mknetdir): New module.
22473 * tests/util/grub-shell.in: Support boot=net
22474 * util/grub-mknetdir.in: New file.
22475
22476 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 videoinfo on non-vbe.
22479
22480 * grub-core/Makefile.core.def (vbeinfo): Removed.
22481 (vbetest): Removed.
22482 (videoinfo): New module.
22483 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22484 * grub-core/commands/i386/pc/vbetest.c: Removed.
22485 * grub-core/commands/videoinfo.c: New file.
22486 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22487 specification.
22488 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22489 as vbetest.
22490 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22491 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22492 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22493 mode_number. New parameter mode. All users updated.
22494 (grub_video_gop_iterate): New function.
22495 (grub_video_efi_gop): New member iterate.
22496 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22497 (grub_vbe_set_video_mode): Remove setting useless fields.
22498 (vbe2videoinfo): New function.
22499 (grub_video_vbe_iterate): Likewise.
22500 (grub_video_vbe_setup): Use vbe2videoinfo.
22501 (grub_video_vbe_print_adapter_specific_info): New function.
22502 (grub_video_vbe_adapter): New fields iterate and
22503 print_adapter_specific_info.
22504 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22505 All users updated.
22506 (grub_video_mode_info): New field mode_number.
22507 (grub_video_adapter): New fields iterate and
22508 print_adapter_specific_info.
22509
22510 2010-09-13 Tristan Gingold <gingold@free.fr>
22511 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
22512 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22513
22514 * grub-core/commands/efi/lsefisystab.c: New file.
22515 * grub-core/commands/efi/lssal.c: Likewise.
22516 * grub-core/Makefile.core.def (lsacpi): New module.
22517 (lsefisystab): Likewise.
22518 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22519 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22520 (grub_efi_sal_system_table): New struct.
22521 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22522 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22523 (grub_efi_sal_system_table_platform_features): Likewise.
22524 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22525 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22526 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22527 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22528
22529 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22530
22531 Support explicit user claim that a device is BIOS-visible.
22532
22533 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22534 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22535 * grub-core/kern/emu/hostdisk.c
22536 (convert_system_partition_to_system_disk): Support mdX.
22537 (find_system_device): New parameter add. All users updated.
22538 (grub_util_biosdisk_is_present): New function.
22539 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22540 proto.
22541
22542 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22543
22544 Search hints support.
22545
22546 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22547 All users updated.
22548
22549 2010-09-13 Yves Blusseau <blusseau@zetam.org>
22550
22551 Bash completion script for util commands
22552
22553 * Makefile.am: Add util/bash-completion.d directory
22554 * configure.ac: Likewise.
22555 * util/bash-completion.d/Makefile.am: New file.
22556 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22557
22558 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22561 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22562 Reported by: Yves Blusseau.
22563
22564 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22567 partition size and offset.
22568
22569 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22572
22573 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22574
22575 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22576
22577 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22580 (grub_xvasprintf): Likewise.
22581
22582 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22585
22586 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22587
22588 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22589 args ending with NULL.
22590
22591 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22592
22593 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22594 pointer.
22595
22596 2010-09-11 Szymon Janc <szymon@janc.net.pl>
22597
22598 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22599
22600 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 Shutdown using ACPI.
22603
22604 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22605 * grub-core/commands/acpihalt.c: New file.
22606 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22607 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22608 (grub_acpi_halt): New proto.
22609 (GRUB_ACPI_SLP_EN): New const.
22610 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22611 (GRUB_ACPI_OPCODE_*): New enum.
22612 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22613
22614 2010-09-11 Tristan Gingold <gingold@free.fr>
22615 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
22616 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * commands/lsacpi.c: New file.
22619 * grub-core/Makefile.core.def (lsacpi): New module.
22620 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22621 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22622 (grub_acpi_madt_entry_header): New struct.
22623 (grub_acpi_madt): Likewise.
22624 (grub_acpi_madt_entry_interrupt_override): Likewise.
22625 (grub_acpi_madt_entry_sapic): Likewise.
22626 (grub_acpi_madt_entry_lsapic): Likewise.
22627 (grub_acpi_madt_entry_platform_int_source): Likewise.
22628 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22629 (PRIuGRUB_UINT32_T): Likewise.
22630 (PRIxGRUB_UINT64_T): Likewise.
22631
22632 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 Implement loading palette on ieee1275_fb.
22635
22636 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22637 (have_setcolors): Likewise.
22638 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22639 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22640 (grub_video_ieee1275_set_palette): Implement.
22641
22642 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22643 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
22644
22645 * util/grub-install.in (grub_partition): New variable.
22646 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22647 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22648 Fixes a bug reported by Yves Blusseau.
22649
22650 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 Fix emu on mipsel.
22653
22654 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22655 =grub_cpu_flush_cache on all mips and not only yeeloong.
22656 * configure.ac (COND_mips): New conditional.
22657 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22658 platforms.
22659 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22660 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22661 [GRUB_LINKER_HAVE_INIT]: New function.
22662 (grub_emu_post_init): Likewise.
22663 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22664 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22665 * include/grub/cache.h (_mips): Include mips/cache.h.
22666 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22667 LVM and RAID prototypes.
22668 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22669 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22670 function.
22671
22672 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * util/grub-install.in: Don't try to verify core.img until after
22675 running grub-mkimage to create it.
22676
22677 2010-09-10 Robert Millan <rmh@gnu.org>
22678
22679 * util/grub.d/10_hurd.in: Add misc readability checks.
22680 * util/grub.d/10_kfreebsd.in: Likewise.
22681 * util/grub.d/10_linux.in: Likewise.
22682
22683 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22684
22685 * util/grub-install.in: ${imgext} won't be defined here until the
22686 install branch is merged. For the meantime, only verify core.img on
22687 i386-pc and sparc64-ieee1275 platforms.
22688
22689 2010-09-10 Robert Millan <rmh@gnu.org>
22690
22691 Solaris support in grub_find_zpool_from_dir(). Thanks
22692 Seth Goldberg for referring to getextmntent() facility.
22693
22694 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22695 `sys/mkdev.h'.
22696 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22697 `<sys/mnttab.h>'.
22698 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22699 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22700 method for finding zpool name.
22701
22702 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22703
22704 grub-fstest needs the host and hostfs modules while other utilities
22705 actively require those modules to be absent, so grub-fstest needs
22706 its own initialisation and finalisation code.
22707
22708 * Makefile.am (grub_fstest.pp): New target.
22709 (grub_fstest_init.lst): Likewise.
22710 (grub_fstest_init.c): Likewise.
22711 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22712
22713 2010-09-10 Robert Millan <rmh@gnu.org>
22714
22715 * configure.ac: Check for `struct statfs.f_fstypename' and
22716 `struct statfs.f_mntfromname'.
22717
22718 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22719 kFreeBSD-specific code.
22720
22721 2010-09-10 Robert Millan <rmh@gnu.org>
22722
22723 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22724 on ZFS. Now non-main filesystems are supported as / too.
22725
22726 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
22727
22728 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22729 and grub-core/disk/host.c to ...
22730 (grub-fstest): ... here. Having the host disk implementation
22731 present confuses grub-probe and other utility programs.
22732
22733 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22734 when writing to a file, not when writing to stdout.
22735
22736 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22737
22738 * tests/partmap_test.in: New test for partitions.
22739 * Makefile.util.def: Rules for new test.
22740
22741 2010-09-09 Robert Millan <rmh@gnu.org>
22742
22743 * util/grub-probe.c (probe): Fix a pair of unhandled error
22744 conditions.
22745
22746 2010-09-09 Robert Millan <rmh@gnu.org>
22747
22748 Basic Btrfs support (detection and UUID).
22749
22750 * grub-core/fs/btrfs.c: New file.
22751 * Makefile.util.def (library): Register btrfs.c.
22752 * grub-core/Makefile.core.def: Likewise.
22753
22754 2010-09-08 Robert Millan <rmh@gnu.org>
22755
22756 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22757 with (optional) parameters to specify device and relative path.
22758 * util/grub-install.in: Use is_path_readable_by_grub() to
22759 verify readability of a few critical files.
22760 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22761 verify readability of grub.cfg.new.
22762
22763 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 Split minix.mod into minix.mod and minix2.mod.
22766
22767 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22768 * grub-core/Makefile.core.def (minix2): New module.
22769 * grub-core/fs/minix.c: Use definitions instead of runtime version
22770 checking.
22771 * grub-core/fs/minix2.c: New file.
22772
22773 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22774
22775 Add new --boot-directory option to replace --root-directory
22776
22777 * util/grub-install.in: Add new --boot-directory option
22778 * util/grub-reboot.in: Likewise.
22779 * util/grub-set-default.in: Likewise.
22780
22781 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22782
22783 * util/grub-mkconfig.in: Use new variable.
22784
22785 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22786
22787 * configure.ac: Define some useful variables.
22788
22789 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22790
22791 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22792 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22793 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22794 Use terminfo and don't use cursor-on/cursor-off unless it's known
22795 to work.
22796 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22797 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22798
22799 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
22800
22801 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22802 starts with "(,", fill the drive containing the loaded image in
22803 between those two characters, but expect that a full partition
22804 specification including partition map names will follow.
22805
22806 2010-09-08 Robert Millan <rmh@gnu.org>
22807
22808 * configure.ac: Remove `--enable-grub-fstest' option.
22809 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22810
22811 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22812 `grub-fstest' instead of `grub-probe' for readability verification.
22813 * util/grub-probe.c (probe): Remove readability verification kludge.
22814
22815 2010-09-08 Robert Millan <rmh@gnu.org>
22816
22817 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22818 initializing `GRUB_FS'.
22819
22820 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22821
22822 Not command (!) support to GRUB script.
22823
22824 * tests/grub_script_not.in: New test.
22825 * Makefile.util.def: Rules for new test.
22826
22827 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22828 ! command as a special case.
22829 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22830
22831 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22832
22833 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22834 grub_free.
22835
22836 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22837
22838 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22839
22840 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22841
22842 * docs/grub.texi (Shell-like scripting): Documentation for break,
22843 continue, shift and return commands.
22844
22845 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 Rename CD-ROM to cd on BIOS.
22848
22849 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22850 "cd".
22851 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22852
22853 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22856 * util/grub-probe.c (main): Likewise.
22857 * util/i386/pc/grub-setup.c (main): Likewise.
22858 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22859 Reported and debugged by: alexxy
22860
22861 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22862
22863 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22864 diagnostic info.
22865
22866 2010-09-05 Jo Shields <directhex@apebox.org>
22867
22868 * util/grub.d/30_os-prober.in: Add missing classes.
22869
22870 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22871
22872 * docs/grub.texi (Theme file format): Document new position format.
22873
22874 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22875
22876 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22877 a table. Use @code instead of @verbatim.
22878
22879 2010-09-05 Colin D Bennett <colin@gibibit.com>
22880
22881 Gfxmenu documentation.
22882
22883 * docs/grub.texi (Theme file format): New chapter.
22884
22885 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22886
22887 * grub-core/Makefile.core.def (xzio): New module.
22888 * grub-core/io/xzio.c: New file.
22889 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22890 * grub-core/lib/xzembed/xz_config.h: Likewise.
22891 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22892 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22893 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22894 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22895 * grub-core/lib/xzembed/xz_private.h: Likewise.
22896 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22897 * include/grub/file.h (grub_file_filter_id): New compression filter
22898 GRUB_FILE_FILTER_XZIO.
22899
22900 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22901
22902 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22903 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22904 size.
22905
22906 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22909 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22910
22911 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22912
22913 Uncompressed checksum support.
22914
22915 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22916 (check_list): New parameter uncompress.
22917 (grub_cmd_hashsum): Handle --uncompress.
22918
22919 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 Reintroduce testload.
22922
22923 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22924 from here ...
22925 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22926 (GRUB_MOD_INIT): New function.
22927 (GRUB_MOD_FINI): Likewise.
22928 * grub-core/Makefile.core.def (testload): New module.
22929
22930 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22931
22932 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22933 (uint8_t): New type.
22934 (uint16_t): Likewise.
22935 (uint32_t): Likewise.
22936 (uint64_t): Likewise.
22937
22938 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22939
22940 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22941
22942 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22943
22944 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22945 Made static.
22946 (grub_gzfile_open): Removed. All users updated.
22947 (GRUB_MOD_INIT): New function.
22948 (GRUB_MOD_FINI): Likewise.
22949 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22950 (grub_file_filters_enabled): Likewise.
22951 (grub_file_open): Handle filters.
22952 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22953 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22954 * include/grub/file.h (grub_file_filter_id_t): New type.
22955 (grub_file_filter_t): Likewise.
22956 (grub_file_filters_all): New extern variable.
22957 (grub_file_filters_enabled): Likewise.
22958 (grub_file_filter_register): New inline function.
22959 (grub_file_filter_unregister): Likewise.
22960 (grub_file_filter_disable): Likewise.
22961 (grub_file_filter_disable_compression): Likewise.
22962 * include/grub/gzio.h: Removed.
22963
22964 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22965
22966 Filename expansion support for wildcards in GRUB script.
22967
22968 * tests/grub_script_expansion.in: New test.
22969 * Makefile.util.def: Rule for new test.
22970
22971 * grub-core/commands/wildcard.c: New file, implements filename
22972 expansion support for GRUB script.
22973 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22974 * grub-core/script/argv.c: Cosmetic changes.
22975 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22976 Refactored to perform wildcard expansion on arguments.
22977 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22978 struct.
22979
22980 * tests/util/grub-shell.in: Fix quoting for read input.
22981
22982 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22983
22984 Support for updating environment variables with matched substrings
22985 of regexp.
22986
22987 * tests/grub_cmd_regexp.in: New test.
22988 * Makefile.util.def: Rule for new test.
22989
22990 * grub-core/commands/regexp.c: New option -s to update environment
22991 variables with regexp matches.
22992
22993 2010-09-04 Szymon Janc <szymon@janc.net.pl>
22994
22995 * include/grub/file.h (grub_file): New member not_easly_seekable.
22996 (grub_file_seekable): New inline function.
22997 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22998 easily seekable.
22999 (grub_gzio_open): Set not_easly_seekable.
23000 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23001 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23002
23003 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23004
23005 Support for options to appear multiple times on cmdline.
23006
23007 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23008 * grub-core/commands/extcmd.c: Support for repeatable option.
23009 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23010 repeatable option support.
23011
23012 Refactor menuentry into a regular command.
23013
23014 * grub-core/commands/menuentry.c: New file, menuentry command
23015 implementation.
23016 * grub-core/Makefile.core.def: Rule update for normal.mod.
23017 * grub-core/normal/main.c: Moved menuentry creation to
23018 grub-core/commands/menuentry.c.
23019 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23020 (grub_menu_execute_entry_real): Removed.
23021 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23022 function.
23023 (grub_script_execute_menuentry): Removed.
23024 * grub-core/script/parser.y (menuentry): Removed.
23025 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23026 * grub-core/script/yylex.l (menuentry): Removed.
23027 * include/grub/menu.h (grub_menu_init): New prototype.
23028 (grub_menu_fini): New prototype.
23029 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23030 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23031 (grub_script_execute_sourcecode): New prototype.
23032
23033 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23034
23035 "return" command for GRUB script functions.
23036
23037 * tests/grub_script_return.in: New test.
23038 * Makefile.util.def: Rules for new test.
23039
23040 * grub-core/script/execute.c (grub_script_return): New function.
23041 * grub-core/script/main.c: Register/unregister return commaond.
23042 * include/grub/script_sh.h (grub_script_return): New prototype.
23043
23044 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23045
23046 "setparams" command to update positional parameters.
23047
23048 * tests/grub_script_setparams.in: New test.
23049 * Makefile.util.def: Rules for new test.
23050
23051 * grub-core/script/argv.c (grub_script_argv_make): New function.
23052 * grub-core/script/execute.c (replace_scope): New function.
23053 (grub_script_setparams): New function.
23054 * grub-core/script/lexer.c: Remove unused variables.
23055 * grub-core/script/main.c: Register/unregister setparams command.
23056 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23057 (grub_script_setparams): New prototype.
23058
23059 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23060
23061 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23062 grub_free order.
23063
23064 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23065
23066 Support for passing block of commands as an argument to extcmds.
23067
23068 * Makefile.util.def: Rules for new test.
23069 * tests/grub_script_blockarg.in: New test.
23070 * grub-core/tests/test_blockarg.c: New file, block argument
23071 command used in the test.
23072
23073 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23074 (grub_register_extcmd_prio): New function prototype.
23075 (grub_extcmd_dispatcher): New function prototype.
23076 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23077 type.
23078 * include/grub/script_sh.h (struct grub_script): New members
23079 `children', `next_siblings' and `refcnt' for block arguments and
23080 reference counting.
23081 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23082 (grub_script_arg): New member `script' for block argument.
23083 (grub_script_argv): New member `script' for block argument.
23084 (grub_parser_param): New member `scripts' for block argument.
23085 (grub_script_mem_free): New extern function prototype.
23086 (grub_script_ref): New function prototype.
23087 (grub_script_unref): New function prototype.
23088
23089 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23090 extcmd form to support block arguments.
23091 * grub-core/script/argv.c: Block arguments support.
23092 * grub-core/script/execute.c: Likewise.
23093 * grub-core/script/lexer.c: Likewise.
23094 * grub-core/script/main.c: Likewise.
23095 * grub-core/script/script.c: Likewise.
23096 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23097 non-terminals.
23098
23099 * grub-core/commands/acpi.c: Update extcmd implementations with
23100 grub_extcmd_context_t.
23101 * grub-core/commands/cat.c: Likewise.
23102 * grub-core/commands/echo.c: Likewise.
23103 * grub-core/commands/extcmd.c: Likewise.
23104 * grub-core/commands/hashsum.c: Likewise.
23105 * grub-core/commands/hdparm.c: Likewise.
23106 * grub-core/commands/help.c: Likewise.
23107 * grub-core/commands/hexdump.c: Likewise.
23108 * grub-core/commands/i386/cpuid.c: Likewise.
23109 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23110 * grub-core/commands/i386/pc/halt.c: Likewise.
23111 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23112 * grub-core/commands/iorw.c: Likewise.
23113 * grub-core/commands/keystatus.c: Likewise.
23114 * grub-core/commands/loadenv.c: Likewise.
23115 * grub-core/commands/ls.c: Likewise.
23116 * grub-core/commands/lspci.c: Likewise.
23117 * grub-core/commands/memrw.c: Likewise.
23118 * grub-core/commands/probe.c: Likewise.
23119 * grub-core/commands/search_wrap.c: Likewise.
23120 * grub-core/commands/setpci.c: Likewise.
23121 * grub-core/commands/sleep.c: Likewise.
23122 * grub-core/disk/loopback.c: Likewise.
23123 * grub-core/hello/hello.c: Likewise.
23124 * grub-core/loader/i386/bsd.c: Likewise.
23125 * grub-core/loader/xnu.c: Likewise.
23126 * grub-core/term/gfxterm.c: Likewise.
23127 * grub-core/term/serial.c: Likewise.
23128 * grub-core/tests/lib/functional_test.c: Likewise.
23129
23130 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23131
23132 Multi-line quoted strings support.
23133
23134 * grub-core/script/lexer.c (append_newline): Removed.
23135 (grub_script_lexer_yywrap): Refactored.
23136 (grub_script_lexer_init): Refactored.
23137 * grub-core/script/yylex.l (yywrap): New function.
23138 (grub_lexer_resplit): New function.
23139 (grub_lexer_unput): New function.
23140 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23141 and resplit.
23142 * tests/grub_script_echo1.in: Added few more testcases.
23143
23144 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23145
23146 * grub-core/kern/misc.c: Don't add abort alias in utils.
23147 Reported by: echoline.
23148
23149 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23150
23151 Add missing files into "make dist" tarball for other platforms.
23152
23153 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23154 * conf/Makefile.common (dist_noinst_DATA): New variable.
23155 * conf/Makefile.extra-dist: Added missing make dist files.
23156 * grub-core/Makefile.core.def: Likewise.
23157
23158 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Compress grub_prefix.
23161
23162 * grub-core/boot/i386/pc/lnxboot.S: Use
23163 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23164 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23165 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23166 GRUB_MACHINE_PREFIX_END. All users updated.
23167 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23168 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23169 + 0x40.
23170 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23171 * util/grub-mkimage.c (image_target_desc): Change data_end to
23172 prefix_end. All users updated.
23173
23174 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23175
23176 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23177 value.
23178 (grub_openbsd_boot): Likewise.
23179 (grub_netbsd_boot): Likewise.
23180 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23181 (grub_xnu_boot): Likewise.
23182
23183 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 * configure.ac: Clean LIBS variable after tests.
23186
23187 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
23188
23189 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23190
23191 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23194 echo if libdevmapper will be used.
23195
23196 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23197
23198 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23199 constant for the same file.
23200
23201 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23204
23205 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
23206
23207 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23208 grub-core/*.pp.
23209
23210 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
23211
23212 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23213 required by the boot protocol.
23214
23215 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23216 ebp and edi members.
23217 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23218 state.ebp and state.edi.
23219 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23220 %ebp and %edi according to grub_relocator32_ebp and
23221 grub_relocator32_edi respectively.
23222 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23223 and state.edi.
23224
23225 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23226
23227 Add i386-pc-pxe image target.
23228
23229 * util/grub-mkimage.c (image_target_desc): New enum value
23230 IMAGE_I386_PC_PXE.
23231 (image_targets): New target i386-pc-pxe.
23232 (generate_image): Handle i386-pc-pxe image.
23233
23234 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23235
23236 Fix grub_pxe_scan.
23237
23238 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23239 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23240 All users updated.
23241 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23242 (grub_pxe_pxenv): Correct type.
23243
23244 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
23245
23246 * NEWS: Document most of the important changes since 1.98.
23247
23248 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
23249
23250 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23251 generated manual page) a little.
23252
23253 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
23254
23255 * docs/grub.texi: Add myself as an author.
23256
23257 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23258
23259 * Makefile.util.def (libgrub.a): Add missing sunpc.
23260 Reported by: Seth Goldberg.
23261
23262 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 Interrupt wrapping and code simplifications.
23265
23266 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23267 x86_noieee1275 which are functionaly equivalent in this case.
23268 (grub-install): Make source on each platform explicit. Enable on
23269 all noemu.
23270 * gentpl.py (x86_efi_pc): Removed group.
23271 (x86_noefi): Likewise.
23272 (i386_noefi): Likewise.
23273 (x86_noieee1275): Likewise.
23274 (i386_noieee1275): Likewise.
23275 (i386_noefi_noieee1275): Likewise.
23276 (i386_pc_qemu_coreboot): Likewise.
23277 (i386_coreboot_multiboot): Likewise.
23278 (i386_pc_coreboot_multiboot_qemu): Likewise.
23279 (x86_noefi_mips): Likewise.
23280 (noieee1275): Likewise.
23281 (ieee1275_mips): Likewise.
23282 (noemu_noieee1275): Likewise.
23283 (cmos): New group.
23284 (usb): Likewise.
23285 (videoinkernel): Likewise.
23286 (videomodules): Likewise.
23287 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
23288 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23289 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23290 include/grub/loader.h, include/grub/msdos_partition.h,
23291 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23292 include/grub/machine/console.h, include/grub/machine/vga.h,
23293 include/grub/machine/vbe.h, include/grub/machine/init.h,
23294 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23295 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
23296 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
23297 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23298 * grub-core/Makefile.core.def (kernel): Explicit the source for
23299 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23300 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23301 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23302 Use videoinkernel tag.
23303 (usb): Enable on all usb.
23304 (usbserial_common): Likewise.
23305 (usbserial_pl2303): Likewise.
23306 (usbserial_ftdi): Likewise.
23307 (uhci): Enable on all x86.
23308 (ohci): Enable on all pci.
23309 (cmostest): Enable on all CMOS.
23310 (acpi): Include commands/acpi.c on all platforms.
23311 (halt): Add relevant lib/*/halt.c.
23312 (hdparm): Enable on all pci.
23313 (lspci): Likewise.
23314 (usbtest): Enable on all usb.
23315 (ata): Enable on all pci.
23316 (ata_pthru): Likewise.
23317 (usbms): Enable on all usb.
23318 (usb_keyboard): Likewise.
23319 (font): Use tag videomodules.
23320 (bufio): Likewise.
23321 (datetime): Use tag cmos. Enable on all noemu.
23322 (mmap): Use tags common and x86.
23323 (gfxterm): Use tag videomodules.
23324 (bitmap): Likewise.
23325 (bitmap_scale): Likewise.
23326 (video_fb): Likewise.
23327 (video): Likewise.
23328 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23329 adjust padding accordingly. All users updated.
23330 (grub_ohci_transaction): Fix bad format specification.
23331 (GRUB_MOD_INIT): Add asserts for struct size.
23332 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23333 (grub_alloc_td): Likewise.
23334 (grub_free_queue): Likewise.
23335 (grub_uhci_transfer): Likewise.
23336 (grub_uhci_transaction): Fix bad format specification.
23337 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23338 (grub_usb_bulk_readwrite): Likewise.
23339 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23340 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23341 Made static.
23342 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23343 Made static.
23344 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23345 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23346 Transformed into C.
23347 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23348 Moved from here ...
23349 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23350 ... here. Transformed into C. Made static.
23351 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23352 Moved from here ...
23353 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23354 ... here. Transformed into C. Made static.
23355 * grub-core/kern/i386/pc/startup.S
23356 (grub_biosdisk_check_int13_extensions): Moved from here ...
23357 * grub-core/disk/i386/pc/biosdisk.c
23358 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23359 Made static.
23360 * grub-core/kern/i386/pc/startup.S
23361 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23362 * grub-core/disk/i386/pc/biosdisk.c
23363 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23364 Transformed into C. Made static.
23365 * grub-core/kern/i386/pc/startup.S
23366 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23367 * grub-core/disk/i386/pc/biosdisk.c
23368 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23369 Transformed into C. Made static.
23370 * grub-core/kern/i386/pc/startup.S
23371 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23372 * grub-core/disk/i386/pc/biosdisk.c
23373 (grub_biosdisk_get_diskinfo_standard): ... here.
23374 Transformed into C. Made static.
23375 * grub-core/kern/i386/pc/startup.S
23376 (grub_biosdisk_get_num_floppies): Moved from here ...
23377 * grub-core/disk/i386/pc/biosdisk.c
23378 (grub_biosdisk_get_num_floppies): ... here.
23379 Transformed into C. Made static.
23380 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23381 New function.
23382 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23383 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23384 Transformed into C. Made static.
23385 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23386 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23387 Transformed into C. Made static.
23388 * grub-core/kern/i386/ieee1275/init.c: Removed.
23389 * grub-core/kern/i386/misc.S: Likewise.
23390 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23391 Splitted from here ...
23392 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23393 Transformed into C. Made static. All users updated.
23394 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23395 Transformed into C. Made static. All users updated.
23396 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23397 Moved from here...
23398 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23399 Transformed into C. Made static. All users updated.
23400 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23401 Moved from here...
23402 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23403 Transformed into C. Made static. All users updated.
23404 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23405 Removed (replaced by C version).
23406 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23407 Moved from here...
23408 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23409 Transformed into C. Made static.
23410 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23411 Moved from here...
23412 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23413 ... here. Transformed into C.
23414 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23415 Moved from here...
23416 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23417 ... here. Transformed into C.
23418 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23419 Moved from here...
23420 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23421 ... here. Transformed into C. Made static.
23422 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23423 Moved from here...
23424 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23425 ... here. Transformed into C.
23426 * grub-core/kern/i386/pc/startup.S
23427 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23428 * grub-core/video/i386/pc/vbe.c
23429 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
23430 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23431 Moved from here...
23432 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23433 ... here. Transformed into C.
23434 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23435 Moved from here...
23436 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23437 ... here. Transformed into C.
23438 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23439 Moved from here...
23440 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23441 ... here. Transformed into C.
23442 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23443 Moved from here...
23444 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23445 ... here. Transformed into C.
23446 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23447 Moved from here...
23448 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23449 ... here. Transformed into C. Made static.
23450 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23451 Moved from here...
23452 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23453 ... here. Transformed into C. Made static.
23454 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23455 Moved from here...
23456 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23457 ... here. Transformed into C. Made static.
23458 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23459 pxe_rm_entry as third argument.
23460 (grub_bios_interrupt): New function.
23461 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23462 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23463 of calling grub_stop.
23464 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23465 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23466 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23467 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23468 * grub-core/lib/i386/halt.c: Moved from here ...
23469 * grub-core/lib/i386/halt.c: ... here.
23470 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23471 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23472 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23473 grub_stop_floppy.
23474 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23475 * include/grub/i386/coreboot/init.h: Removed.
23476 * include/grub/i386/multiboot/init.h: Likewise.
23477 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23478 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23479 * include/grub/i386/pc/int.h: New file.
23480 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23481 (grub_pxe_scan): Removed.
23482 (grub_pxe_call): Update prototype.
23483 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23484 prototypes.
23485 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23486 * include/grub/i386/qemu/init.h: Removed.
23487 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23488 noreturn.
23489 (grub_halt): Likewise.
23490 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23491 (grub_reboot): Likewise.
23492 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23493 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
23494 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23495
23496 2010-08-30 Robert Millan <rmh@gnu.org>
23497
23498 * NEWS: Document addition of ZFS support in `grub-install' and
23499 `grub-mkconfig'.
23500
23501 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23502
23503 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23504 dprintf output.
23505
23506 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23507
23508 Remove leftover embedding of font objects.
23509
23510 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23511 * util/grub-install.in (font): Removed.
23512 * util/grub-mkimage.c (generate_image): Remove font support. All users
23513 updated.
23514
23515 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 Remove leftover embedding of font objects.
23518
23519 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23520 * util/grub-install.in (font): Removed.
23521 * util/grub-mkimage.c (generate_image): Remove font support. All users
23522 updated.
23523
23524 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23525
23526 * docs/grub.texi (Network): Fix reference to pxe_blksize.
23527 Reported by: Ian Turner
23528
23529 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23532 timeout to avoid indefinite boot stalling.
23533
23534 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23535
23536 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23537 (grub_env_write_color_highlight): Likewise.
23538
23539 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 * grub-core/normal/term.c (print_more): Return to normal and not
23542 to standard state after printing "---MORE---".
23543
23544 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23545
23546 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23547 Mask out the bit 0x80 since it has other meaning that specifiing color.
23548
23549 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 New relocator. Allows for more kernel support and more straightforward
23552 loader writing.
23553
23554 * Makefile.am (BOOTTARGET): New variable.
23555 (QEMU32): Likewise.
23556 (linux.init.x86_64): New target.
23557 (linux.init.i386): Likewise.
23558 (multiboot.elf): Likewise.
23559 (kfreebsd.elf): Likewise.
23560 (kfreebsd.aout): Likewise.
23561 (pc-chainloader.elf): Likewise.
23562 (pc-chainloader.bin): Likewise.
23563 (ntldr.elf): Likewise.
23564 (ntldr.bin): Likewise.
23565 (multiboot2.elf): Likewise.
23566 (kfreebsd.init.x86_64): Likewise.
23567 (kfreebsd.init.i386): Likewise.
23568 (knetbsd.init.i386): Likewise.
23569 (kopenbsd.init.i386): Likewise.
23570 (knetbsd.init.x86_64): Likewise.
23571 (kopenbsd.init.x86_64): Likewise.
23572 (linux-initramfs.i386): Likewise.
23573 (linux-initramfs.x86_64): Likewise.
23574 (kfreebsd-mfsroot.i386.img): Likewise.
23575 (knetbsd.image.i386): Likewise.
23576 (kopenbsd.image.i386): Likewise.
23577 (kopenbsd.image.x86_64): Likewise.
23578 (knetbsd.miniroot-image.i386.img): Likewise.
23579 (kfreebsd-mfsroot.x86_64.img): Likewise.
23580 (knetbsd.image.x86_64): Likewise.
23581 (knetbsd.miniroot-image.x86_64.img): Likewise.
23582 (kfreebsd-mfsroot.i386.gz): Likewise.
23583 (bootcheck-kfreebsd-i386): Likewise.
23584 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23585 (bootcheck-kfreebsd-x86_64): Likewise.
23586 (knetbsd.miniroot-image.i386.gz): Likewise.
23587 (bootcheck-knetbsd-i386): Likewise.
23588 (bootcheck-kopenbsd-i386): Likewise.
23589 (bootcheck-kopenbsd-x86_64): Likewise.
23590 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23591 (bootcheck-knetbsd-x86_64): Likewise.
23592 (bootcheck-linux-i386): Likewise.
23593 (bootcheck-linux-x86_64): Likewise.
23594 (bootcheck-linux16-i386): Likewise.
23595 (bootcheck-linux16-x86_64): Likewise.
23596 (bootcheck-multiboot): Likewise.
23597 (bootcheck-multiboot2): Likewise.
23598 (bootcheck-kfreebsd-aout): Likewise.
23599 (bootcheck-pc-chainloader): Likewise.
23600 (bootcheck-ntldr): Likewise.
23601 (CLEANFILES): Add new targets.
23602 (BOOTCHECKS): New variable.
23603 (.PHONY): Add bootchecks.
23604 (SUCCESSFUL_BOOT_STRING): New variable.
23605 (BOOTCHECK_TIMEOUT): Likewise.
23606 (bootcheck): New target
23607 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23608 * configure.ac: Correct efiemu excuse.
23609 * docs/grub.texi (Supported kernels): New chapter.
23610 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23611 include/grub/mm_private.h. Simplify inclusion of
23612 include/grub/boot.h, include/grub/loader.h
23613 and include/grub/msdos_partition.h
23614 (KERNEL_HEADER_FILES) [i386_coreboot]:
23615 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23616 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23617 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23618 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23619 include/grub/machine/loader.h.
23620 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23621 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23622 extra_dist.
23623 (pci.mod): Enable on i386-multiboot.
23624 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23625 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23626 i386-qemu.
23627 (relocator.mod): Rewritten.
23628 (aout.mod): Enable on all x86.
23629 (bsd.mod): Likewise.
23630 (ntldr.mod): New module.
23631 (linux.mod): Use loader/i386/linux.c on all x86.
23632 (xnu.mod): Enable on all x86.
23633 (vga_text.mod): disable on EFI and QEMU.
23634 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23635 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23636 * grub-core/efiemu/loadcore.c: Likewise.
23637 * grub-core/efiemu/main.c: Likewise.
23638 (grub_efiemu_exit_boot_services): Removed.
23639 (grub_efiemu_finish_boot_services): Likewise.
23640 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23641 function.
23642 * grub-core/efiemu/i386/nocfgtables.c: New file.
23643 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23644 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23645 (grub_efi_finish_boot_services): Moved from here ...
23646 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23647 Fille finish memory map and related data.
23648 (finish_mmap_buf): New variable.
23649 (grub_efi_uintn_t finish_mmap_size): Likewise.
23650 (grub_efi_uintn_t finish_key): Likewise.
23651 (grub_efi_uintn_t finish_desc_size): Likewise.
23652 (grub_efi_uint32_t finish_desc_version): Likewise.
23653 (grub_efi_is_finished): Likewise.
23654 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23655 finished.
23656 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23657 (grub_elf64_phdr_iterate): Likewise.
23658 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23659 (grub_os_area_size): Likewise.
23660 (grub_machine_init): Don't reserve os area.
23661 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23662 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23663 * grub-core/kern/i386/loader.S: Removed.
23664 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23665 (grub_os_area_size): Likewise.
23666 (grub_machine_init): Don't reserve os area.
23667 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23668 Don't call grub_dl_unload_all.
23669 Don't include loader.S.
23670 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23671 Declare the memory after _end as available.
23672 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
23673 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
23674 (GRUB_MM_ALLOC_MAGIC): Moved from here...
23675 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23676 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23677 * include/grub/mm_private.h (grub_mm_header): ... here.
23678 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23679 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
23680 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23681 (grub_mm_region): ..here. Removed addr. Added pre_size.
23682 All users updated.
23683 * grub-core/kern/mm.c (base): Renamed to ...
23684 (grub_mm_base): ... this. Made global.
23685 (grub_real_malloc): Alloc from end of region.
23686 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23687 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23688 * grub-core/kern/powerpc/cache_flush.S: ... here.
23689 * grub-core/lib/efi/relocator.c: New file.
23690 * grub-core/lib/i386/relocator.c: Rewritten.
23691 * grub-core/lib/i386/relocator16.S: New file.
23692 * grub-core/lib/i386/relocator32.S: Likewise.
23693 * grub-core/lib/i386/relocator64.S: Likewise.
23694 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23695 * grub-core/lib/i386/relocator_common.S: New file.
23696 * grub-core/lib/ieee1275/relocator.c: Likewise.
23697 * grub-core/lib/mips/relocator.c: Rewritten.
23698 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23699 stylistic adjustments.
23700 * grub-core/lib/powerpc/relocator.c: New file.
23701 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23702 * grub-core/lib/relocator.c: Rewritten.
23703 * grub-core/lib/x86_64/relocator_asm.S: New file.
23704 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23705 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23706 (bsd_tag): New struct.
23707 (tags): New variable.
23708 (tags_last): Likewise.
23709 (netbsd_module): New struct.
23710 (netbsd_mods): New variable.
23711 (netbsd_mods_last): Likewise.
23712 (openbsd_opts): New parameter "serial".
23713 (OPENBSD_SERIAL_ARG): New definition.
23714 (netbsd_opts): New parameter "serial".
23715 (NETBSD_SERIAL_ARG): New definition.
23716 (grub_freebsd_add_meta): Reorganised into ...
23717 (grub_bsd_add_meta): ...this. All users updated.
23718 (grub_freebsd_add_mmap): Reorganised into ...
23719 (generate_e820_mmap): ...this...
23720 (grub_bsd_add_mmap): ...and this. All users updated.
23721 (grub_freebsd_list_modules): Use tags.
23722 (grub_netbsd_add_meta_module): New function.
23723 (grub_netbsd_list_modules): Likewise.
23724 (grub_freebsd_boot): Use relocator and finish EFI.
23725 (grub_openbsd_boot): Likewise.
23726 (grub_netbsd_setup_video): New function.
23727 (grub_netbsd_add_modules): Likewise.
23728 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23729 and finish EFI.
23730 (grub_bsd_unload): Unload tags.
23731 (grub_bsd_load_aout): Use relocator.
23732 (grub_bsd_elf32_size_hook): New function.
23733 (grub_bsd_elf32_hook): Use relocator.
23734 (grub_bsd_elf64_size_hook): New function.
23735 (grub_bsd_elf64_hook): Use relocator.
23736 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23737 (grub_bsd_load): Zero-out openbsd_ramdisk.
23738 (grub_bsd_load): Use relocator.
23739 (grub_cmd_openbsd): Support serial.
23740 (grub_cmd_netbsd): Support modules.
23741 (grub_cmd_freebsd_module): Use relocator.
23742 (grub_netbsd_module_load): New function.
23743 (grub_cmd_netbsd_module): Likewise.
23744 (grub_cmd_openbsd_ramdisk): Likewise.
23745 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23746 kopenbsd_ramdisk.
23747 (GRUB_MOD_FINI): Unregister new commands.
23748 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23749 (grub_freebsd_load_elfmodule_obj): Use relocator.
23750 (grub_freebsd_load_elfmodule): Likewise.
23751 (grub_freebsd_load_elf_meta): Likewise.
23752 (grub_netbsd_load_elf_meta): New function.
23753 (grub_openbsd_find_ramdisk): Likewise.
23754 * grub-core/loader/i386/bsd_helper.S: Removed.
23755 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23756 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23757 * grub-core/loader/i386/efi/linux.c: Likewise.
23758 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23759 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23760 (DEFAULT_VIDEO_MODE): Likewise.
23761 (real_mode_target): New variable.
23762 (prot_mode_target): Likewise.
23763 (initrd_mem_target): Likewise.
23764 (relocator): Likewise.
23765 (efi_mmap_buf): Likewise.
23766 (efi_mmap_size): Likewise.
23767 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23768 (free_pages): Use relocator.
23769 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23770 (grub_linux_setup_video): Return error.
23771 (grub_linux_trampoline_start): Removed.
23772 (grub_linux_trampoline_end): Likewise.
23773 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23774 andd video parameters depending on firmware.
23775 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23776 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23777 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23778 (grub_cmd_initrd): Use relocator.
23779 * grub-core/loader/i386/linux_trampoline.S: Removed.
23780 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23781 (elf_sec_entsize): Likewise.
23782 (elf_sec_shstrndx): Likewise.
23783 (elf_sections): Likewise.
23784 (grub_multiboot_load): Use relocator.
23785 (grub_multiboot_get_mbi_size): Account for sections.
23786 (grub_multiboot_make_mbi): Use relocator and support sections.
23787 (grub_multiboot_add_elfsyms): New function.
23788 (grub_multiboot_free_mbi): Free sections.
23789 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23790 (grub_linux_real_target): Likewise.
23791 (grub_linux_real_chunk): Likewise.
23792 (grub_linux16_prot_size): Likewise.
23793 (grub_linux16_boot): Use relocator.
23794 (grub_linux_unload): Unload relocator.
23795 (grub_cmd_linux): Use relocator.
23796 (grub_cmd_initrd): Likewise.
23797 * grub-core/loader/i386/pc/ntldr.c: New file.
23798 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23799 Don't try to guess CPU frequency.
23800 (grub_xnu_set_video): Stretch bitmap.
23801 (grub_xnu_boot): Use relocator.
23802 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23803 (grub_linux_unload): Free relocator.
23804 (grub_linux_load32): Use relocator.
23805 (grub_linux_load64): Likewise.
23806 (grub_cmd_initrd): Likewise.
23807 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23808 (grub_multiboot_unload): Unload relocator.
23809 (grub_cmd_multiboot): Use relocator.
23810 (grub_cmd_module): Likewise.
23811 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23812 Use relocator and support sections.
23813 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23814 (elf_sec_entsize): Likewise.
23815 (elf_sec_shstrndx): Likewise.
23816 (elf_sections): Likewise.
23817 (grub_multiboot_load): Use relocator.
23818 (grub_multiboot_get_mbi_size): Account for sections.
23819 (grub_multiboot_make_mbi): Use relocator and support sections.
23820 (grub_multiboot_add_elfsyms): New function.
23821 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23822 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23823 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23824 Prototype changed. All users updated.
23825 (grub_xnu_align_heap): Simplified.
23826 (grub_xnu_writetree_toheap): Likewise.
23827 (grub_xnu_unload): Unload relocator.
23828 (grub_cmd_xnu_kernel): Use relocator.
23829 (grub_cmd_xnu_kernel64): Likewise.
23830 (grub_xnu_register_memory): Simplified.
23831 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
23832 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23833 EFI is finished.
23834 (grub_console_checkkey): Likewise.
23835 (grub_console_getkey): Likewise.
23836 (grub_console_getwh): Likewise.
23837 (grub_console_getxy): Likewise.
23838 (grub_console_gotoxy): Likewise.
23839 (grub_console_cls): Likewise.
23840 (grub_console_setcolorstate): Likewise.
23841 (grub_console_setcursor): Likewise.
23842 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23843 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23844 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23845 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23846 * grub-core/tests/boot/kernel-8086.S: Likewise.
23847 * grub-core/tests/boot/kernel-i386.S: Likewise.
23848 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23849 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23850 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23851 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23852 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23853 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23854 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23855 * grub-core/tests/boot/linux.cfg: Likewise.
23856 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23857 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23858 * grub-core/tests/boot/linux16.cfg: Likewise.
23859 * grub-core/tests/boot/multiboot.cfg: Likewise.
23860 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23861 * grub-core/tests/boot/ntldr.cfg: Likewise.
23862 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23863 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23864 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23865 New definition.
23866 * include/grub/dl.h (grub_dl_unload_all): Removed.
23867 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23868 (grub_efi_finish_boot_services): Change prototype.
23869 (grub_efi_is_finished): New variable.
23870 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23871 Changed prototype.
23872 (grub_efiemu_finish_boot_services): Removed.
23873 (grub_machine_efiemu_init_tables): New prototype.
23874 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23875 (grub_elf64_phdr_iterate): Likewise.
23876 * include/grub/i386/bsd.h: Include relocator.h.
23877 (freebsd_tag_header): New struct.
23878 (grub_openbsd_bios_mmap): Removed.
23879 (grub_unix_real_boot): Removed.
23880 (grub_freebsd_load_elfmodule32): Changed prototype.
23881 (grub_freebsd_load_elfmodule_obj64): Likewise.
23882 (grub_freebsd_load_elf_meta32): Likewise.
23883 (grub_freebsd_load_elf_meta64): Likewise.
23884 (grub_freebsd_add_meta): Removed.
23885 (grub_netbsd_load_elf_meta32): New prototype.
23886 (grub_netbsd_load_elf_meta64): Likewise.
23887 (grub_bsd_add_meta): Likewise.
23888 (grub_openbsd_ramdisk_descriptor): New struct.
23889 (grub_openbsd_find_ramdisk32): New prototype.
23890 (grub_openbsd_find_ramdisk64): Likewise.
23891 * include/grub/i386/coreboot/loader.h: Removed.
23892 * include/grub/i386/efi/loader.h: Likewise.
23893 * include/grub/i386/ieee1275/loader.h: Likewise.
23894 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23895 to grub_uint32_t.
23896 * include/grub/i386/loader.h: Removed.
23897 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23898 value.
23899 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23900 (grub_phys_addr_t): New type.
23901 (grub_vtop): New inline function.
23902 (grub_map_memory): Likewise.
23903 (grub_unmap_memory): Likewise.
23904 * include/grub/i386/multiboot/loader.h: Removed.
23905 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23906 (NETBSD_BTINFO_CONSOLE): New definition.
23907 (NETBSD_BTINFO_SYMTAB): Likewise.
23908 (NETBSD_BTINFO_MODULES): Likewise.
23909 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23910 (grub_netbsd_bootinfo): New struct.
23911 (grub_netbsd_btinfo_common): Use explicit bitsize.
23912 (grub_netbsd_btinfo_mmap_entry): Removed.
23913 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23914 (grub_netbsd_btinfo_bootdisk): New struct.
23915 (grub_netbsd_btinfo_symtab): Likewise.
23916 (grub_netbsd_btinfo_serial): Likewise.
23917 (grub_netbsd_btinfo_modules): Likewise.
23918 (grub_netbsd_btinfo_framebuf): Likewise.
23919 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23920 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23921 Likewise.
23922 (grub_openbsd_bootargs): Use explicit bitsize.
23923 (grub_openbsd_bootarg_console): New struct.
23924 (GRUB_OPENBSD_COM_MAJOR): New definition.
23925 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23926 * include/grub/i386/pc/efiemu.h: Removed.
23927 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23928 * include/grub/i386/qemu/loader.h: Removed.
23929 * include/grub/i386/relocator.h: Rewritten.
23930 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23931 * include/grub/mips/memory.h: New file.
23932 * include/grub/mips/multiboot.h: Rewritten.
23933 * include/grub/mips/relocator.h: Rewritten.
23934 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23935 (grub_vtop): New function.
23936 (grub_map_memory): Likewise.
23937 (grub_unmap_memory): Likewise.
23938 * include/grub/misc.h (ALIGN_DOWN): New definition.
23939 * include/grub/mm.h (grub_mm_check_real): New proto.
23940 (GRUB_MM_CHECK): New definition.
23941 * include/grub/mm_private.h: New file.
23942 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23943 (grub_multiboot_get_mbi_size): Removed.
23944 (grub_multiboot_make_mbi): Change prottype.
23945 (grub_multiboot_set_accepts_video): New proto.
23946 (grub_multiboot_add_elfsyms): Likewise.
23947 (grub_multiboot_payload_eip): New variable.
23948 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23949 New prototype.
23950 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23951 New definition.
23952 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23953 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23954 * include/grub/powerpc/ieee1275/loader.h: Removed.
23955 * include/grub/powerpc/memory.h: New file.
23956 * include/grub/powerpc/relocator.h: Likewise.
23957 * include/grub/relocator.h: Likewise.
23958 * include/grub/relocator_private.h: Likewise.
23959 * include/grub/sparc64/ieee1275/loader.h: Removed.
23960 * include/grub/x86_64/memory.h: New file.
23961 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23962 (grub_xnu_heap_malloc): Likewise.
23963 (grub_xnu_heap_real_start): Removed.
23964 (grub_xnu_heap_start): Likewise.
23965 (grub_xnu_relocator): New variable.
23966 (grub_xnu_heap_target_start): Likewise.
23967 * tests/util/grub-shell.in: Support non-pc.
23968 * util/grub-mkimage.c (image_targets): Fix multiboot target.
23969
23970 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23971
23972 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23973 on malloc error.
23974 (grub_bidi_logical_to_visual): Check that malloc succeded.
23975 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23976 puts.
23977 (grub_xputs_normal): Likewise.
23978
23979 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23980
23981 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23982 extra_dist.
23983
23984 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23987
23988 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23989
23990 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23991
23992 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23993
23994 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23995 dprintf.
23996
23997 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23998
23999 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24000
24001 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24002
24003 * grub-core/normal/term.c (print_more): Fix a memory leak.
24004 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24005 (grub_xputs_normal): Likewise.
24006
24007 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24008
24009 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24010 the begining of the string
24011
24012 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * grub-core/script/script.c (grub_script_parse): Free parsed on
24015 failure.
24016
24017 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24020 on failure.
24021
24022 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24023
24024 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24025 return.
24026
24027 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24028
24029 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24030 (scroll_up): Fix a memory leak.
24031
24032 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24035 errors.
24036
24037 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24038
24039 Handle USB pendrives exposed as floppies.
24040
24041 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24042 floppy.
24043 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24044 Check for partitions on all devices.
24045
24046 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24047
24048 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24049 (readkey): Likewise.
24050
24051 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24052
24053 Multiple variable names support to "export" command.
24054
24055 * normal/context.c (grub_cmd_export): "export" command supports
24056 multiple variable names.
24057
24058 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24059
24060 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24061 --target=drive output to Mach device name.
24062
24063 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24064
24065 New Automake based build system for GRUB.
24066
24067 * ABOUT-NLS: New file.
24068 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24069 in Makefile.util.def file.
24070 * Makefile.util.def: New file. Autogen build definitions file for
24071 GRUB host utils.
24072 * conf/Makefile.common: New file. Common variables for GRUB host
24073 utils and target modules.
24074 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24075 * docs/Makefile.am: New file. Automake file for docs.
24076 * gentpl.py: New file. Python script to generate Autogen
24077 template.
24078 * grub-core/Makefile.am: New file. GRUB target modules' rules
24079 that doesn't fit in Makefile.core.def file.
24080 * grub-core/Makefile.core.def: New file. Autogen build
24081 definitions file for GRUB target modules.
24082 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24083 specific setjmp.S file.
24084 * po/Makefile.am: New file.
24085
24086 * .bzrignore: New ignores.
24087 * INSTALL: New requirements, without Ruby.
24088 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24089 * autogen.sh: Updated to invoke autogen as necessary.
24090 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24091 and defines for Automake conditionals.
24092 * geninit.sh: Refactoring.
24093
24094 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24095 necessary.
24096 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24097 New prototype.
24098
24099 * include/grub/test.h: Fix functional test modules' naming.
24100 * grub-core/tests/example_functional_test.c: Fix test module name.
24101
24102 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24103 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24104 * util/grub-editenv.c: Likewise.
24105 * util/grub-fstest.c: Likewise.
24106 * util/grub-mkdevicemap.c: Likewise.
24107 * util/grub-mkfont.c: Likewise.
24108 * util/grub-mkimage.c: Likewise.
24109 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24110 * util/grub-probe.c: Likewise.
24111 * util/grub-script-check.c: Likewise.
24112 * util/i386/pc/grub-setup.c: Likewise.
24113 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24114
24115 * tests/util/grub-shell.in: Fix override directory path.
24116 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24117 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24118
24119 * util/lvm.c: Update #includes.
24120 * util/raid.c: Likewise.
24121 * util/resolve.c: Likewise.
24122 * grub-core/bus/emu/pci.c: Likewise.
24123 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24124 * grub-core/lib/posix_wrap/string.h: Likewise.
24125 * grub-core/kern/emu/main.c: Likewise.
24126
24127 * grub-core/gensymlist.sh: New file. Script for generating kernel
24128 symbols file.
24129 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24130
24131 * grub-core/gentrigtables.c: Fix unused variable warnings.
24132
24133 * Makefile.in: Removed.
24134 * conf/any-emu.rmk: Removed.
24135 * conf/common.rmk: Removed.
24136 * conf/i386-coreboot.rmk: Removed.
24137 * conf/i386-efi.rmk: Removed.
24138 * conf/i386-ieee1275.rmk: Removed.
24139 * conf/i386-multiboot.rmk: Removed.
24140 * conf/i386-pc.rmk: Removed.
24141 * conf/i386-qemu.rmk: Removed.
24142 * conf/i386.rmk: Removed.
24143 * conf/mips-yeeloong.rmk: Removed.
24144 * conf/mips.rmk: Removed.
24145 * conf/powerpc-ieee1275.rmk: Removed.
24146 * conf/sparc64-ieee1275.rmk: Removed.
24147 * conf/tests.rmk: Removed.
24148 * conf/x86-efi.rmk: Removed.
24149 * conf/x86_64-efi.rmk: Removed.
24150 * gendistlist.sh: Removed.
24151 * geninitheader.sh: Removed.
24152 * genkernsyms.sh.in: Removed.
24153 * genmk.rb: Removed.
24154 * gensymlist.sh.in: Removed.
24155 * mkinstalldirs: Removed.
24156 * boot: Moved ...
24157 * grub-core/boot: ... to here.
24158 * bus: Moved ...
24159 * grub-core/bus: ... to here.
24160 * commands: Moved ...
24161 * grub-core/commands: ... to here.
24162 * disk: Moved ...
24163 * grub-core/disk: ... to here.
24164 * efiemu: Moved ...
24165 * grub-core/efiemu: ... to here.
24166 * font: Moved ...
24167 * grub-core/font: ... to here.
24168 * fs: Moved ...
24169 * grub-core/fs: ... to here.
24170 * gencmdlist.sh: Moved ...
24171 * grub-core/gencmdlist.sh: ... to here.
24172 * genemuinit.sh: Moved ...
24173 * grub-core/genemuinit.sh: ... to here.
24174 * genemuinitheader.sh: Moved ...
24175 * grub-core/genemuinitheader.sh: ... to here.
24176 * genfslist.sh: Moved ...
24177 * grub-core/genfslist.sh: ... to here.
24178 * genhandlerlist.sh: Moved ...
24179 * grub-core/genhandlerlist.sh: ... to here.
24180 * genmoddep.awk: Moved ...
24181 * grub-core/genmoddep.awk: ... to here.
24182 * genmodsrc.sh: Moved ...
24183 * grub-core/genmodsrc.sh: ... to here.
24184 * genpartmaplist.sh: Moved ...
24185 * grub-core/genpartmaplist.sh: ... to here.
24186 * genparttoollist.sh: Moved ...
24187 * grub-core/genparttoollist.sh: ... to here.
24188 * genterminallist.sh: Moved ...
24189 * grub-core/genterminallist.sh: ... to here.
24190 * gentrigtables.c: Moved ...
24191 * grub-core/gentrigtables.c: ... to here.
24192 * genvideolist.sh: Moved ...
24193 * grub-core/genvideolist.sh: ... to here.
24194 * gettext: Moved ...
24195 * grub-core/gettext: ... to here.
24196 * gfxmenu: Moved ...
24197 * grub-core/gfxmenu: ... to here.
24198 * gnulib: Moved ...
24199 * grub-core/gnulib: ... to here.
24200 * hello: Moved ...
24201 * grub-core/hello: ... to here.
24202 * hook: Moved ...
24203 * grub-core/hook: ... to here.
24204 * io: Moved ...
24205 * grub-core/io: ... to here.
24206 * kern: Moved ...
24207 * grub-core/kern: ... to here.
24208 * lib: Moved ...
24209 * grub-core/lib: ... to here.
24210 * loader: Moved ...
24211 * grub-core/loader: ... to here.
24212 * mmap: Moved ...
24213 * grub-core/mmap: ... to here.
24214 * normal: Moved ...
24215 * grub-core/normal: ... to here.
24216 * partmap: Moved ...
24217 * grub-core/partmap: ... to here.
24218 * parttool: Moved ...
24219 * grub-core/parttool: ... to here.
24220 * script: Moved ...
24221 * grub-core/script: ... to here.
24222 * term: Moved ...
24223 * grub-core/term: ... to here
24224 * tests/example_functional_test.c: Moved ...
24225 * grub-core/tests/example_functional_test.c: ... to here.
24226 * tests/lib/functional_test.c: Moved ...
24227 * grub-core/tests/lib/functional_test.c: ... to here.
24228 * tests/lib/test.c: Moved ...
24229 * grub-core/tests/lib/test.c: ... to here.
24230 * video: Moved ...
24231 * grub-core/video: ... to here.
24232
24233 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24234
24235 Replace --enable-grub-emu-modules with grub-emu-lite.
24236
24237 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24238 cache.S.
24239
24240 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24241 * kern/emu/full.c: New file. For grub-emu specific initialization.
24242 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24243 * kern/emu/main.c: Call initialization function grub_emu_init.
24244
24245 * Makefile.in: Include grub-emu-lite in install.
24246 * commands/parttool.c: Use grub_no_autoload to differentiate
24247 between grub-emu and grub-emu-lite.
24248 * include/grub/misc.h: New variable grub_no_autoload.
24249
24250 * conf/any-emu.rmk: New rules for grub-emu-lite.
24251 * configure.ac: Remove --enable-grub-emu-modules.
24252 * genmk.rb: Cleanup unnecessary rules.
24253 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24254
24255 * normal/main.c: Don't load list files on grub-emu-lite.
24256 * util/misc.c (grub_arch_sync_caches): Removed.
24257
24258 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
24259
24260 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24261 grub-mkimage rather than grub-mkelfimage.
24262 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24263
24264 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24265
24266 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24267 a key after CapsLock or NumLock. It's just a qemu bug.
24268
24269 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24270
24271 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24272 needed by libusb wrapper.
24273
24274 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24275
24276 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24277
24278 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24279
24280 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24281 --nounzip is passed.
24282
24283 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24284
24285 USB hotunplugging and USB serial support.
24286
24287 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24288 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24289 (grub_uhci_transfer): Respect timeout and set *actual.
24290 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24291 non-standard length.
24292 (grub_usb_device_attach): Autoload modules.
24293 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24294 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24295 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24296 users updated.
24297 (grub_usb_add_hub): Fill nports and children.
24298 (attach_root_port): Receive hub instead of controller.
24299 All users updated. Fill hub->devices.
24300 (grub_usb_root_hub): Allocate hub->devices.
24301 (detach_device): New function.
24302 (poll_nonroot_hub): Fill children and detach devices.
24303 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24304 actual arguments. All users updated.
24305 (grub_usb_bulk_read_extended): New function.
24306 * bus/usb/serial/common.c: New file.
24307 * bus/usb/serial/ftdi.c: Likewise.
24308 * bus/usb/serial/pl2303.c: Likewise.
24309 * commands/terminal.c (handle_command): Support wildcard.
24310 * commands/usbtest.c: Output "Unknown" instead of empty string.
24311 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24312 (usbserial_common_mod_SOURCES): New variable.
24313 (usbserial_common_mod_CFLAGS): Likewise.
24314 (usbserial_common_mod_LDFLAGS): Likewise.
24315 (pkglib_MODULES): Add usbserial_pl2303.mod.
24316 (usbserial_pl2303_mod_SOURCES): New variable.
24317 (usbserial_pl2303_mod_CFLAGS): Likewise.
24318 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24319 (pkglib_MODULES): Add usbserial_ftdi.mod.
24320 (usbserial_ftdi_mod_SOURCES): New variable.
24321 (usbserial_ftdi_mod_CFLAGS): Likewise.
24322 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24323 (pkglib_MODULES): Add serial.mod.
24324 (serial_mod_SOURCES): New variable.
24325 (serial_mod_CFLAGS): Likewise.
24326 (serial_mod_LDFLAGS): Likewise.
24327 * conf/i386-pc.rmk: Likewise.
24328 * conf/mips-yeeloong.rmk: Likewise.
24329 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24330 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24331 * disk/usbms.c (first_available_slot): New variable.
24332 (grub_usbms_attach): Don't reuse free slots due to potential cache
24333 problems.
24334 * include/grub/serial.h: Moved to ..
24335 * include/grub/ns8250.h: ...this.
24336 * include/grub/serial.h: New file.
24337 * include/grub/term.h (grub_term_poll_usb): New variable.
24338 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24339 readkey. All users updated.
24340 (grub_terminfo_output_state): Pass term to put.
24341 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24342 (grub_usb_controller_dev): Add timeout and actual arguments to
24343 transfer. All users updated.
24344 (grub_usb_interface): New field detach_data.
24345 (grub_usb_device): New fields children and nports.
24346 (grub_usb_ep_type_t): New type.
24347 (grub_usb_get_ep_type): New function.
24348 (grub_usb_bulk_read_extended): Likewise.
24349 * include/grub/usbdesc.h (grub_usb_desc): New type.
24350 * include/grub/usbserial.h: New file.
24351 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24352 * kern/term.c (grub_term_poll_usb): New variable.
24353 (grub_getkey): Call grub_term_poll_usb if set.
24354 (grub_checkkey): Likewise.
24355 (grub_getkeystatus): Likewise.
24356 * term/serial.c: Moved controller-specific parts to ...
24357 * term/ns8250.c: ... here.
24358 * term/serial.c: Mostly rewritten.
24359 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24360 according to spec.
24361
24362 2010-08-20 Robert Millan <rmh@gnu.org>
24363
24364 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24365 a separate module and maybe other interesting combinations.
24366
24367 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24368 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24369 (kfreebsd_entry): Add generic filesystem module load routine.
24370 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24371
24372 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
24373
24374 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24375 "numcenter" (I misunderstood the purpose of this entry).
24376 * docs/grub.texi (sendkey): Likewise.
24377
24378 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
24379
24380 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24381 status flag options; simply omitting the option is equivalent and
24382 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24383 (keysym_table): Rename "num5numlock" to "numlock".
24384 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24385 can uniformly say that only the last of multiple `sendkey'
24386 invocations has any effect.
24387 * docs/grub.texi (sendkey): New section.
24388
24389 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
24390
24391 * commands/i386/pc/sendkey.c (options): Fix three typos.
24392
24393 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 Implement sendkey support.
24396
24397 * commands/i386/pc/sendkey.c: New file.
24398 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24399 (sendkey_mod_SOURCES): New variable.
24400 (sendkey_mod_CFLAGS): Likewise.
24401 (sendkey_mod_LDFLAGS): Likewise.
24402
24403 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
24404
24405 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24406 fix warnings from Autoconf.
24407
24408 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
24409
24410 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24411 to avoid false positives with some assemblers that output things
24412 like "someprefix_func" as part of their output.
24413
24414 2010-08-15 Robert Millan <rmh@gnu.org>
24415
24416 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24417 errors.
24418 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24419 grub_get_libzfs_handle() errors.
24420
24421 2010-08-14 Robert Millan <rmh@gnu.org>
24422
24423 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24424 filesystem is not ZFS.
24425
24426 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24427
24428 Fix for misspelled color names defaulting to black/black (bug
24429 reported by Doug Nazar)
24430
24431 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24432 status to prototype.
24433 * normal/color.c (grub_parse_color_name_pair): Return failure
24434 status.
24435 (grub_env_write_color_normal): Ignore bad color names.
24436 (grub_env_write_color_highlight): Likewise.
24437 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24438
24439 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24440
24441 "shift" command support to GRUB script.
24442
24443 * include/grub/script_sh.h (grub_script_shift): New prototype.
24444 * script/execute.c (grub_script_shift): New function.
24445 * script/main.c (grub_script_init): Register shift command.
24446 (grub_script_fini): Unregister shift command.
24447 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24448
24449 * tests/grub_script_shift.in: New testcase.
24450 * conf/tests.rmk: Rules for new testcase.
24451
24452 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24453
24454 "continue" command support to GRUB script.
24455
24456 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24457 (grub_script_break): Continue support.
24458 * script/main.c (grub_script_init): Register continue command.
24459 (grub_script_fini): Unregister continue command.
24460
24461 * tests/grub_script_continue.in: New testcase.
24462 * conf/tests.rmk: Rules for new testcase.
24463
24464 2010-08-12 BVK Chaitanya <bvk@dbook>
24465
24466 "break" command support to GRUB script.
24467
24468 * conf/common.rmk: Rule updates to grub-script-check.
24469 * include/grub/misc.h (grub_min): New function.
24470 * include/grub/script_sh.h (grub_script_init): New prototype.
24471 (grub_script_fini): New prototype.
24472 (grub_script_break): New prototype.
24473 * script/main.c (grub_script_init): New function.
24474 (grub_script_fini): New function.
24475 * script/execute.c (grub_script_break): New function.
24476 * normal/main.c: Calls to grub_script_{init,fini}.
24477 * util/grub-script-check.c (grub_script_break): New function.
24478
24479 * tests/grub_script_break.in: New testcase.
24480 * conf/tests.rmk: Rules for new test case.
24481
24482 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24483
24484 Function parameters support to GRUB script.
24485
24486 * script/yylex.l (VARIABLE): Regular expression update.
24487 * script/function.c (grub_script_function_call): Moved ...
24488 * script/execute.c (grub_script_function_call): ... to here.
24489 (grub_script_execute_arglist_to_argv): Removed.
24490 (grub_script_arglist_to_argv): New function.
24491 * script/argv.c: New file.
24492 (grub_script_argv_free): New function.
24493 (grub_script_argv_next): Likewise.
24494 (grub_script_argv_append): Likewise.
24495 (grub_script_argv_split_append): Likewise.
24496 * include/grub/script_sh.h (grub_script_argv): New struct.
24497 (grub_script_argv_free): New function.
24498 (grub_script_argv_next): Likewise.
24499 (grub_script_argv_append): Likewise.
24500 (grub_script_argv_split_append): Likewise.
24501
24502 * conf/common.rmk (normal.mod): New source script/argv.c.
24503
24504 * tests/grub_script_echo1.in: More tests.
24505 * tests/grub_script_vars1.in: Likewise.
24506 * tests/grub_script_functions.in: New test case.
24507 * conf/tests.rmk: Rules for new testcase.
24508
24509 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24510
24511 Remove grub_script_cmdblock struct.
24512
24513 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24514 * script/parser.y: Likewise.
24515 * script/execute.c: Rename cmdblock suffix to cmdlist.
24516 * script/script.c: Likewise.
24517 * util/grub-script-check.c: Likewise.
24518
24519 2010-08-11 Yves Blusseau <blusseau@zetam.org>
24520
24521 * .bzrignore: add grub-macho2img
24522
24523 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24524
24525 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24526
24527 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 Remove the dump of sm712 initialisation sequence.
24530
24531 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24532 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24533 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24534 (GRUB_VGA_CR_*): Added many registers.
24535 (GRUB_VGA_SR_*): Likewise.
24536 (GRUB_VGA_GR_*): Likewise.
24537 (grub_vga_write_arx): New function.
24538 (grub_video_hw_config): New struct.
24539 (grub_vga_set_geometry): New function.
24540 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24541 GRUB_PCI_CLASS_SUBCLASS_VGA.
24542 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24543 * video/sm712.c (grub_sm712_write_reg): New function
24544 (grub_sm712_read_reg): Likewise.
24545 (grub_sm712_sr_write): Likewise.
24546 (grub_sm712_gr_write): Likewise.
24547 (grub_sm712_cr_write): Likewise.
24548 (grub_sm712_write_arx): Likewise.
24549 (grub_sm712_cr_shadow_write): Likewise.
24550 (grub_sm712_write_dda_lookup): Likewise.
24551 (grub_video_sm712_setup): Initialise the video rather then
24552 blindly replay the dump.
24553 (main) [TEST]: Add a routine to be able to compile as standalone for
24554 tests.
24555 * video/sm712_init.c (sm712_init): Removed.
24556 (sm712_sr_seq1): New array.
24557 (sm712_sr_seq2): Likewise.
24558
24559 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24560
24561 * include/grub/vga.h: Add missing grub/pci.h include.
24562
24563 2010-08-10 Yves Blusseau <blusseau@zetam.org>
24564
24565 * util/grub-macho2img.c (main): fix typo
24566
24567 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24568
24569 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24570 (grub_vga_gr_read): Likewise.
24571 (grub_vga_cr_write): Likewise.
24572 (grub_vga_cr_read): Likewise.
24573 (grub_vga_sr_write): Likewise.
24574 (grub_vga_sr_read): Likewise.
24575 (grub_vga_palette_read): Likewise.
24576 (grub_vga_palette_write): Likewise.
24577 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24578 (grub_sm712_sr_read): New function.
24579 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24580 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24581
24582 2010-08-09 Robert Millan <rmh@gnu.org>
24583
24584 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24585 out unused variables on non-ZFS build.
24586
24587 2010-08-08 Robert Millan <rmh@gnu.org>
24588
24589 Fix path generation for sub-filesystems in ZFS.
24590
24591 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24592 missing slash.
24593
24594 2010-08-08 Robert Millan <rmh@gnu.org>
24595
24596 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24597
24598 2010-08-08 Robert Millan <rmh@gnu.org>
24599
24600 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24601 exist, issue a proper error message (rely on `ls' for translated
24602 strings).
24603
24604 2010-08-08 Robert Millan <rmh@gnu.org>
24605
24606 Fix grub-probe invocation.
24607
24608 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24609
24610 2010-08-04 Robert Millan <rmh@gnu.org>
24611
24612 * configure.ac: Remove checks for getfsstat() and getmntany().
24613 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24614 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24615 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24616 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24617 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24618 function.
24619 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24620 via find_mount_point_from_dir() and getfsstat() / getmntany().
24621
24622 2010-08-04 Robert Millan <rmh@gnu.org>
24623
24624 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24625 (grub_find_zpool_from_mount_point): Merge into ...
24626 (grub_find_zpool_from_dir): ... this.
24627 * kern/emu/misc.c: Likewise.
24628
24629 * kern/emu/misc.c
24630 (grub_make_system_path_relative_to_its_root): Replace
24631 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24632 with grub_find_zpool_from_dir().
24633 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24634
24635 2010-08-04 Robert Millan <rmh@gnu.org>
24636
24637 Support OpenSolaris in ZFS device resolution.
24638
24639 * configure.ac: Check for getmntany().
24640 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24641 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24642 support.
24643
24644 2010-08-03 Robert Millan <rmh@gnu.org>
24645
24646 Fix grub-emu build.
24647
24648 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24649 * include/grub/emu/misc.h: ... here.
24650
24651 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24652 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24653
24654 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24655 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24656 (grub_get_libzfs_handle): Move to ...
24657 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24658 (grub_get_libzfs_handle): ... here.
24659
24660 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24661
24662 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24663 as command name case.
24664
24665 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
24666
24667 * disk/raid.c (insert_array): Select unique numbers for named arrays
24668 as well, for use as keys in the disk cache.
24669
24670 2010-08-01 Robert Millan <rmh@gnu.org>
24671
24672 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24673 kFreeBSD device name, except on ZFS where the filesystem label is
24674 used.
24675 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24676 `/boot/zfs/zpool.cache'.
24677 Set mountfrom kernel variable using ${kfreebsd_device}.
24678
24679 2010-08-01 Robert Millan <rmh@gnu.org>
24680
24681 Make it even harder to use uninitialized `libzfs_handle' (and
24682 make the interface a bit simpler).
24683
24684 * include/grub/util/misc.h (grub_util_init_libzfs)
24685 (libzfs_handle): Remove.
24686 (grub_get_libzfs_handle): New prototype.
24687
24688 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24689 attribute.
24690 (grub_util_init_libzfs): Remove.
24691 (grub_get_libzfs_handle): New function.
24692
24693 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24694 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24695 accessing `libzfs_handle' directly.
24696
24697 2010-08-01 Robert Millan <rmh@gnu.org>
24698
24699 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24700 (grub_find_zpool_from_mount_point): New function prototypes.
24701
24702 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24703 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24704
24705 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24706 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24707 `static' attribute.
24708
24709 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24710 finding zpool from mount point into ...
24711 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24712
24713 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24714 requested path is part of a ZFS pool, use
24715 grub_find_zpool_from_mount_point() to detect its filesystem name,
24716 and generate a path with `/fsname@path' syntax.
24717
24718 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24719
24720 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24721 (void) rather than () so that this is a proper prototype.
24722
24723 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24724
24725 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24726
24727 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24728
24729 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24730 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24731
24732 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24733
24734 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24735
24736 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24737
24738 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24739
24740 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24741
24742 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24743 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24744 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24745 disable gfxpayload.
24746 (Shell-like scripting): Add real content.
24747 (Serial terminal): Suggest `terminal_input serial; terminal_output
24748 serial' rather than putting the two commands on separate lines,
24749 since console input will be inoperative after the first command.
24750 (menuentry): Document --class, --users, and --hotkey options.
24751 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24752 Vladimir Serbinenko).
24753
24754 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24755 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24756
24757 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24758
24759 2010-08-01 Robert Millan <rmh@gnu.org>
24760
24761 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24762 (grub_find_zpool_from_mount_point): New function prototypes.
24763
24764 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24765 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24766
24767 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24768 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24769 `static' attribute.
24770
24771 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24772 finding zpool from mount point into ...
24773 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24774
24775 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24776 requested path is part of a ZFS pool, use
24777 grub_find_zpool_from_mount_point() to detect its filesystem name,
24778 and generate a path with `/fsname@path' syntax.
24779
24780 2010-08-01 Robert Millan <rmh@gnu.org>
24781
24782 Prevent accidental use of uninitialized libzfs_handle.
24783
24784 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24785 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24786 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24787
24788 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24789
24790 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24791 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24792
24793 2010-08-01 Robert Millan <rmh@gnu.org>
24794
24795 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
24796
24797 2010-07-31 Robert Millan <rmh@gnu.org>
24798
24799 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24800
24801 2010-07-31 Robert Millan <rmh@gnu.org>
24802
24803 * kern/emu/misc.c: Add missing license header.
24804
24805 2010-07-31 Robert Millan <rmh@gnu.org>
24806
24807 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24808
24809 * include/grub/util/libnvpair.h: Include `<config.h>'.
24810 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24811 declaring libnvpair prototypes ourselves.
24812 * include/grub/util/libzfs.h: Include `<config.h>'.
24813 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24814 declaring libzfs prototypes ourselves.
24815
24816 (libzfs_handle): Moved to ...
24817 * include/grub/util/misc.h (libzfs_handle): ... here.
24818 Include `<grub/util/libzfs.h>'.
24819
24820 2010-07-30 Robert Millan <rmh@gnu.org>
24821
24822 * include/grub/emu/misc.h: Add missing license header.
24823
24824 2010-07-30 Robert Millan <rmh@gnu.org>
24825
24826 Enable `grub-probe -t device' resolution on ZFS.
24827
24828 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24829 * include/grub/util/libnvpair.h: New file.
24830 * include/grub/util/libzfs.h: New file.
24831
24832 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24833 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24834 `<grub/util/libnvpair.h>'.
24835 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24836
24837 (find_mount_point_from_dir): New static function.
24838 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24839 function.
24840 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24841 find_root_device_from_libzfs() before ressorting to find_root_device().
24842
24843 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24844 prototype.
24845 * util/misc.c: Include `<grub/util/libzfs.h>'.
24846 (grub_util_init_libzfs): New function.
24847 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24848 [HAVE_LIBZFS] (fini_libzfs): New static function.
24849 (grub_util_init_libzfs): New function.
24850 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24851
24852 2010-07-30 Robert Millan <rmh@gnu.org>
24853
24854 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24855 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24856 `warn_unused_result' attribute.
24857 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24858 (grub_xasprintf, grub_xvasprintf): Likewise.
24859 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24860
24861 2010-07-29 Robert Millan <rmh@gnu.org>
24862
24863 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24864 (probe): Handle `PRINT_FS_LABEL'.
24865 (main): Handle `-t fs_label'.
24866
24867 2010-07-29 Robert Millan <rmh@gnu.org>
24868
24869 * configure.ac: Remove grub-mkisofs checks.
24870
24871 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24872
24873 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24874 Reported by: Lennart Sorensen.
24875
24876 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24877
24878 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24879 prior to terminal_input/terminal_output separation. It's been over 1.5
24880 years and those versions weren't widely deployed.
24881
24882 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
24883
24884 * disk/raid.c (insert_array): Don't count named arrays when looking
24885 for unused array numbers.
24886 Reported and tested by: Michael Guntsche.
24887
24888 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24889
24890 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24891 implementation of this so that grub-emu links again, with a note
24892 that this should support hotplugging in the future.
24893
24894 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24895
24896 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24897
24898 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24899
24900 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24901 handle on failure.
24902 (grub_loopback_close): Remove empty function.
24903 (grub_loopback_dev): Remove close method.
24904
24905 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24906
24907 Disable EFI cursor when the EFI console becomes inactive.
24908
24909 * term/efi/console.c (grub_efi_console_init): New function.
24910 (grub_efi_console_fini): New function.
24911 (grub_console_term_output): Register init and fini methods.
24912
24913 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24914
24915 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24916 sh script.
24917
24918 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24919
24920 * disk/loopback.c (grub_loopback): Replace filename with file.
24921 (delete_loopback): Handle new semantics.
24922 (grub_cmd_loopback): Likewise.
24923 (grub_loopback_iterate): Likewise.
24924 (grub_loopback_close): Likewise.
24925
24926 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24927
24928 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24929 with -p "".
24930 Reported by: Tito Keitel.
24931
24932 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 * docs/grub.texi (Naming convention): Document new naming convention.
24935
24936 2010-07-20 Vadim Solomin <vadic052@gmail.com>
24937 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24938
24939 Generate device.map in something closer to the old ordering.
24940
24941 * util/deviceiter.c (struct device): New declaration.
24942 (compare_file_names): Rename to ...
24943 (compare_devices): ... this. Sort by kernel name in preference to
24944 the stable by-id name, but keep the latter as a fallback comparison.
24945 Update header comment.
24946 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24947 of `struct device' rather than of plain file names.
24948
24949 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24950
24951 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24952 on i386.
24953
24954 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24955
24956 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24957 hardcoding size.
24958 (setv1table): Likewise.
24959
24960 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24961
24962 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24963 removing the homehost if present.
24964 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24965 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24966 removing the homehost if present.
24967 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24968 if possible.
24969 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24970
24971 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24972 parameter. Set its pointer target to 0.
24973 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24974 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24975 `data_offset' value from the superblock for 1.x metadata.
24976 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24977 data on the device.
24978 (insert_array): Record the start sector of data on the device.
24979 (grub_raid_register): Pass start_sector parameters to
24980 grub_raid_list->detect and insert_array.
24981 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24982 member.
24983 (struct grub_raid): Add start_sector parameter to `detect'.
24984
24985 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24986 __attribute__ ((packed)), leaving a comment.
24987 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24988 (grub_mdraid_detect_09): ... here and ...
24989 (grub_mdraid_detect_1x): ... here.
24990
24991 2010-07-20 Peter Henn <peter.henn@web.de>
24992
24993 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24994 chunk size and disk size, which are already given as sector counts
24995 as distinct from the 0.90 units. Fetch the correct device number
24996 from the role table instead of using the table index.
24997
24998 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
24999
25000 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25001 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25002 (WriteMostly1): New macro.
25003 Set array->name to NULL for metadata format 0.90. Add support for
25004 metadata 1.x. Fix some comments.
25005 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25006 few comments.
25007 * util/getroot.c (grub_util_get_grub_dev): Add support for
25008 /dev/md/name style devices.
25009
25010 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25011
25012 * .bzrignore: Ignore 20_linux_xen.
25013
25014 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
25015
25016 * util/import_unicode.py: Remove unnecessary imports.
25017
25018 2010-07-17 Aleš Nesrsta <starous@volny.cz>
25019
25020 Hotplugging and USB hub support.
25021
25022 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25023 (grub_ohci): Likewise.
25024 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25025 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25026 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25027 (GRUB_OHCI_CTRL_EDS): Likewise.
25028 (GRUB_OHCI_BULK_EDS): Likewise.
25029 (GRUB_OHCI_TDS): Likewise.
25030 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25031 (grub_ohci_ed_phys2virt): New function.
25032 (grub_ohci_virt_to_phys): Likewise.
25033 (grub_ohci_td_phys2virt): Likewise.
25034 (grub_ohci_td_virt2phys): Likewise.
25035 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25036 attachment.
25037 (grub_ohci_find_ed): New function.
25038 (grub_ohci_alloc_td): Likewise.
25039 (grub_ohci_free_td): Likewise.
25040 (grub_ohci_free_tds): Likewise.
25041 (grub_ohci_transfer): Use previously allocated memory.
25042 (grub_ohci_portstatus): Reset status changed bit.
25043 (grub_ohci_detect_dev): Supply status changed.
25044 (grub_ohci_fini_hw): Free memory.
25045 (grub_ohci_restore_hw): Reallocate memory.
25046 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25047 Reset status change.
25048 (grub_uhci_detect_dev): Supply status_change.
25049 * bus/usb/usb.c (attach_hooks): New var.
25050 (grub_usb_device_attach): New function.
25051 (grub_usb_register_attach_hook_class): Likewise.
25052 (grub_usb_unregister_attach_hook_class): Likewise.
25053 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25054 (grub_usb_add_hub): Reset connection changed bit.
25055 (attach_root_port): New function.
25056 (grub_usb_root_hub): Likewise.
25057 (poll_nonroot_hub): Likewise.
25058 (grub_usb_poll_devices): Likewise.
25059 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25060 * disk/usbms.c (grub_usbms_open): Use device hooks.
25061 (grub_usbms_iterate) :Poll devices.
25062 (grub_usbms_finddevs): Split into ...
25063 (grub_usbms_attach): ... this ...
25064 (grub_usbms_attach): ... and this.
25065 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25066 in detect_dev.
25067 (grub_usb_interface): New fields attached and detach_hook.
25068 (grub_usb_attach_hook_class): New type.
25069 (grub_usb_attach_desc): New struct.
25070 (grub_usb_register_attach_hook_class): New function.
25071 (grub_usb_unregister_attach_hook_class): Likewise.
25072 (grub_usb_poll_devices): Likewise.
25073 (grub_usb_device_attach): Likewise.
25074 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25075 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25076
25077 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25078
25079 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25080 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25081 delta determination style. Works with most NetBSD partitions too.
25082
25083 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25084
25085 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25086 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25087
25088 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25089
25090 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25091
25092 2010-07-14 Anton Blanchard <anton@samba.org>
25093
25094 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25095 ET_DYN files.
25096
25097 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25098
25099 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25100
25101 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25102
25103 * kern/partition.c (grub_partition_check_containment): New function to
25104 check that a partition is physically contained in a parent. Since
25105 offsets are relative (and non-negative), this reduces to checking that
25106 the partition ends before its parent.
25107 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25108 (grub_partition_iterate): Likewise.
25109 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25110 comments.
25111 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25112 partitions that start before their parent, and add debug printfs.
25113
25114 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
25115
25116 * Makefile.in (.SUFFIX): Spell correctly, as ...
25117 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25118 bare module name without `.mod', e.g. `test') tried to invoke a
25119 Modula-2 compiler.
25120
25121 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
25122
25123 * README: Point to the Info manual.
25124
25125 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
25126
25127 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25128 2nd superblock position from partition size.
25129
25130 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
25131
25132 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25133 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25134 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25135 outputs.
25136
25137 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25138
25139 Restructure SCSI .id handling.
25140 Reported and tested by: Aleš Nesrsta.
25141
25142 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25143 (grub_atapi_dev): Changed .name to "ata". New field .id.
25144 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25145 (grub_usbms_dev): New field .id.
25146 * disk/scsi.c (grub_scsi_iterate): Generate name.
25147 (grub_scsi_open): Parse name.
25148 * include/grub/scsi.h (grub_make_scsi_id): New function.
25149 (grub_scsi_dev): Change iterate and open to number instead of naming
25150 busses. All users updated.
25151 (grub_scsi): Remove name. Add .bus.
25152
25153 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25154
25155 * commands/help.c (grub_cmd_help): Fix a typo.
25156
25157 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25158
25159 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25160 Reported and tested by: Colin Watson.
25161
25162 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25163
25164 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25165 in this context.
25166
25167 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25168
25169 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25170
25171 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
25172
25173 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25174 indentation.
25175
25176 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25177
25178 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25179 and disk/raid6_recover.c.
25180 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25181 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25182
25183 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25184
25185 * term/gfxterm.c (repaint_schedulded): Rename to ...
25186 (repaint_scheduled): ... this. Update all callers.
25187 (repaint_was_schedulded): Rename to ...
25188 (repaint_was_scheduled): ... this. Update all callers.
25189
25190 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25191
25192 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25193 which we expect to be handled by upper layers.
25194
25195 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25196
25197 * bus/usb/usbhub.c: #include time.h header.
25198
25199 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25200
25201 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25202 entry_name also for entries without stat blocks (e.g. ".."); fixes
25203 corruption of the first entry in a directory.
25204
25205 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25206
25207 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25208 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25209 doesn't work otherwise.
25210
25211 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
25212
25213 * docs/grub.texi (Features): Update list of supported file systems.
25214 (GNU/Linux): Update for GRUB 2.
25215 (Serial terminal): Remove mention of --disable-serial, which was a
25216 GRUB Legacy configure option. Update instructions to use
25217 `terminal_input' and `terminal_output' rather than `terminal'.
25218 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25219 configuration' and `Installing GRUB using grub-install'.
25220 (Menu entry editor): Update for GRUB 2.
25221 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25222 Document new -a, -u, and -v options.
25223 (initrd): New section.
25224 (initrd16): New section.
25225 (linux): New section.
25226 (linux16): New section.
25227 (search): The `var' argument to `--set' is optional.
25228 (GRUB only offers a rescue shell): Go into a little more detail on
25229 drive ordering.
25230
25231 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
25232
25233 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25234
25235 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
25236
25237 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25238 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25239
25240 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
25241
25242 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25243 install_prefix, in line with install_dos_part and install_bsd_part.
25244 Add new prefix variable, which is copied to install_prefix after
25245 comparing core.img in memory with the one read from disk in the
25246 no-embedding case, and use that rather than overwriting
25247 install_prefix immediately when installing to a partition.
25248 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25249 Bicakci.
25250
25251 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25252
25253 * configure.ac: Avoid == in test command, it's not portable.
25254 * util/grub.d/30_os-prober.in: Likewise.
25255
25256 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
25257
25258 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25259
25260 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25261
25262 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25263 multiple (top-level) partmaps.
25264
25265 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 * util/i386/efi/grub-install.in: Don't use empty grub_device.
25268 Reported by: Tino Keitel.
25269
25270 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25271
25272 Bidi and diacritics support.
25273
25274 * Makefile.in (widthspec.bin): New target.
25275 (widthspec.h): Likewise.
25276 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25277 * autogen.sh: Generate unidata.c.
25278 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25279 * commands/ls.c (grub_ls_list_devices): Likewise.
25280 (grub_ls_list_files): Likewise.
25281 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25282 (grub_mini_cmd_lsmod): Likewise.
25283 * commands/read.c: Likewise.
25284 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25285 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25286 * lib/arg.c (grub_arg_show_help): Likewise.
25287 * lib/crypto.c (grub_password_get): Likewise.
25288 * normal/auth.c (grub_username_get): Likewise.
25289 * normal/misc.c (grub_normal_print_device_info): Likewise.
25290 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25291 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25292 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25293 (normal/charset.c_DEPENDENCIES): New variable.
25294 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25295 (pkglib_MODULES): Remove charset.mod.
25296 (charset_mod_SOURCES): Removed.
25297 (charset_mod_CFLAGS): Likewise.
25298 (charset_mod_LDFLAGS): Likewise.
25299 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25300 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25301 and term/tparm.c.
25302 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25303 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25304 (kernel_img_HEADERS): Add terminfo.h.
25305 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25306 Fill ->font. Reverse ascii bitmaps.
25307 (grub_font_get_xheight): New function.
25308 * font/font.c (grub_font_get_string_width): Moved from here ...
25309 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25310 * font/font.c (grub_font_draw_string): Moved from here ...
25311 * gfxmenu/font.c (grub_font_draw_string): ... here.
25312 * font/font.c (grub_font_dup_glyph): New function.
25313 (grub_font_blit_glyph): Likewise.
25314 (grub_font_blit_glyph_mirror): Likewise.
25315 (blit_comb): Likewise.
25316 (grub_font_construct_dry_run): Likewise.
25317 (grub_font_get_constructed_device_width): Likewise.
25318 (grub_font_construct_glyph): Likewise.
25319 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25320 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25321 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25322 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25323 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25324 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25325 (grub_font_get_xheight): New proto.
25326 (grub_font_get_constructed_device_width): Likewise.
25327 (grub_font_construct_glyph): Likewise.
25328 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25329 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25330 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25331 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25332 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25333 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25334 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25335 (grub_console_getcharwidth): Likewise.
25336 * include/grub/misc.h (grub_xputs): New proto.
25337 (grub_puts): Inlined.
25338 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25339 (grub_normal_get_line_counter): Removed.
25340 (grub_install_newline_hook): Likewise.
25341 (grub_normal_get_char_counter): New proto.
25342 (grub_normal_reset_more): Likewise.
25343 (grub_xputs_normal): Likewise.
25344 * include/grub/powerpc/ieee1275/console.h: Removed.
25345 * include/grub/sparc64/ieee1275/console.h: Likewise.
25346 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25347 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25348 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25349 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25350 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25351 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25352 (grub_term_input): Pass reference to self. All users updated.
25353 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25354 Pass reference to self. New fields normal_color, highlight_color and
25355 data. All users updated.
25356 (grub_putchar): Removed.
25357 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25358 (grub_unicode_estimate_width): New function.
25359 (grub_term_getcharwidth): Add defaults.
25360 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25361 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25362 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25363 (grub_cls): Remove EXPORT_FUNC.
25364 (grub_setcolorstate): Inline.
25365 (grub_newline_hook): Removed.
25366 * include/grub/terminfo.h: Rewritten. All users updated.
25367 * include/grub/unicode.h: New file.
25368 * include/grub/video.h (grub_video_signed_rect): New type.
25369 * kern/emu/console.c (grub_console_highlight_color): Removed.
25370 (grub_console_normal_color): Likewise.
25371 (grub_console_standard_color): Made static.
25372 (grub_ncurses_putchar): Remove mapping.
25373 (grub_ncurses_getcharwidth): Removed.
25374 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25375 (grub_ncurses_setcolor): Removed.
25376 (grub_ncurses_getcolor): Likewise.
25377 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25378 (grub_console_putchar): ... this.
25379 (grub_console_putchar): Handle argument difference.
25380 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25381 console_init_early and console_init_lately.
25382 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25383 * kern/misc.c (grub_puts): Removed.
25384 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25385 (grub_vsnprintf_real): Remove str = NULL support.
25386 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25387 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25388 * kern/term.c (grub_putcode): Renamed to ...
25389 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25390 (grub_putchar): Removed.
25391 (grub_xputs_dumb): New function.
25392 (grub_xputs): New variable.
25393 * lib/charset.c: Move from here ...
25394 * normal/charset.c: ... to here.
25395 (grub_ucs4_to_utf8): New function.
25396 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25397 (join_types): New variable.
25398 (unpack_join): New function.
25399 (bidi_types): New variable.
25400 (unpack_bidi): New function.
25401 (get_bidi_type): Likewise.
25402 (get_join_type): Likewise.
25403 (is_mirrored): Likewise.
25404 (grub_unicode_get_comb_type): Likewise.
25405 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25406 (is_type_after): Likewise.
25407 (grub_unicode_aglomerate_comb): Likewise.
25408 (bidi_line_wrap): Likewise.
25409 (grub_bidi_line_logical_to_visual): Likewise.
25410 (grub_bidi_logical_to_visual): Likewise.
25411 (grub_unicode_mirror_code): Likewise.
25412 (grub_unicode_shape_code): Likewise.
25413 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25414 Don't use grub_putchar.
25415 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25416 (grub_normal_reader_init): Likewise.
25417 (grub_xputs_saved): New variable.
25418 (GRUB_MOD_INIT): Set grub_xputs.
25419 (GRUB_MOD_FINI): Restore grub_xputs.
25420 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25421 (menu_init): Avoid printing gfxmenu error.
25422 (show_menu): Use grub_normal_get_char_counter.
25423 * normal/menu_entry.c (update_screen): Fix out-of-array.
25424 (complete): Avoid NULL dereferencing.
25425 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25426 * normal/menu_text.c (print_spaces): Removed.
25427 (grub_print_ucs4): Likewise.
25428 (grub_print_message_indented): Use grub_print_ucs4.
25429 (print_message): Use grub_putcode.
25430 (print_entry): Hanlde diacritics.
25431 * normal/term.c (term_state): New type.
25432 (grub_more_lines): Removed.
25433 (term_states): New variable.
25434 (grub_normal_line_counter): Renamed to ..
25435 (grub_normal_char_counter): ...this. All users updated.
25436 (grub_normal_get_line_counter): Renamed to ...
25437 (grub_normal_get_char_counter): ... this.
25438 (grub_normal_reset_more): New function.
25439 (process_newline): Removed.
25440 (print_more): New function.
25441 (grub_install_newline_hook): Removed.
25442 (map_code): New function.
25443 (grub_puts_terminal): Use grub_print_ucs4.
25444 (putglyph): New function.
25445 (putcode_real): Likewise.
25446 (grub_putcode): Use putcode_real.
25447 (get_maxwidth): New function.
25448 (get_startwidth): Likewise.
25449 (print_ucs4_terminal): Likewise.
25450 (find_term_state): Likewise.
25451 (put_glyphs_terminal): Likewise.
25452 (print_backlog): Likewise.
25453 (print_ucs4_real): Likewise.
25454 (grub_print_ucs4): Likewise.
25455 (grub_xputs_normal): Likewise.
25456 * term/efi/console.c (grub_console_putchar): Output diacritics.
25457 (grub_console_getcharwidth): Removed.
25458 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25459 * term/gfxterm.c (clear_char): Free chars.
25460 (scroll_up): Avoid leaking memory.
25461 (grub_gfxterm_putchar): Support diacritics.
25462 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25463 * term/i386/pc/console.c (grub_console_term_output): Declare as
25464 GRUB_TERM_CODE_TYPE_VGA.
25465 * term/i386/pc/vga.c (grub_vga_term): Declare as
25466 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25467 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25468 GRUB_TERM_CODE_TYPE_VGA.
25469 * term/i386/vga_common.c (map_char): Removed.
25470 (grub_console_putchar): Likewise.
25471 (grub_console_getcharwidth): Likewise.
25472 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25473 (colors): Reordered to match terminfo.
25474 (grub_ofconsole_normal_color): Removed.
25475 (grub_ofconsole_writeesc): Likewise.
25476 (grub_ofconsole_highlight_color): Likewise.
25477 (grub_ofconsole_getcharwidth): Likewise.
25478 (grub_ofconsole_setcolorstate): Likewise.
25479 (grub_ofconsole_setcolor): Likewise.
25480 (grub_ofconsole_getcolor): Likewise.
25481 (grub_ofconsole_readkey): Renamed to ...
25482 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25483 key.
25484 (grub_ofconsole_checkkey): Removed.
25485 (grub_ofconsole_getkey): Likewise.
25486 (grub_ofconsole_getxy): Likewise.
25487 (grub_ofconsole_gotoxy): Likewise.
25488 (grub_ofconsole_cls): Likewise.
25489 (grub_ofconsole_refresh): Likewise.
25490 (grub_ofconsole_terminfo_input): New struct.
25491 (grub_ofconsole_terminfo_output): Likewise.
25492 (grub_ofconsole_term_input): Use terminfo.
25493 (grub_ofconsole_term_output): Likewise.
25494 (grub_console_init): Split into ...
25495 (grub_console_init_early): ...this and ...
25496 (grub_console_init_lately): ...this. Use terminfo.
25497 (grub_ofconsole_putchar): Renamed to ...
25498 (put): ... this. Remove mapping.
25499 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25500 * term/serial.c: Simplify using terminfo.
25501 (xpos): Removed.
25502 (ypos): Likewise.
25503 (keep_track): Likewise.
25504 (registered): Likewise.
25505 (input_buf): Likewise.
25506 (npending): Likewise.
25507 (serial_translate_key_sequence): Likewise.
25508 (fill_input_buf): Likewise.
25509 (grub_serial_checkkey): Likewise.
25510 (grub_serial_getkey): Likewise.
25511 (grub_serial_getxy): Likewise.
25512 (grub_serial_gotoxy): Likewise.
25513 (grub_serial_putchar): Likewise.
25514 (grub_serial_cls): Likewise.
25515 (grub_serial_setcolorstate): Likewise.
25516 (grub_serial_setcursor): Likewise.
25517 (serial_hw_init): Use serial_hw_fetch.
25518 (grub_serial_terminfo_input): New variable.
25519 (grub_serial_terminfo_output): Likewise.
25520 (grub_serial_term_input): Use terminfo.
25521 (grub_serial_term_output): Likewise.
25522 * term/terminfo.c (putstr): Use put.
25523 (grub_terminfo_all_free): New function
25524 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25525 (grub_terminfo_output_register): New function.
25526 (grub_terminfo_output_unregister): Likewise.
25527 (grub_terminfo_getxy): Likewise.
25528 (grub_terminfo_readkey): Likewise.
25529 (grub_terminfo_checkkey): Likewise.
25530 (grub_terminfo_getkey): Likewise.
25531 (grub_terminfo_input_init): Likewise.
25532 (print_terminfo): Likewise.
25533 (grub_cmd_terminfo): Handle encoding.
25534 (grub_terminfo_gotoxy): Track position.
25535 (grub_terminfo_cls): Likewise.
25536 (grub_terminfo_putchar): Likewise.
25537 (grub_terminfo_setcolorstate): Handle colors
25538 (grub_terminfo_cursor_on): This ...
25539 (grub_terminfo_cursor_off): ... and this merged into ...
25540 (grub_terminfo_setcursor): ... this.
25541 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25542 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25543 * unicode/BidiMirroring.txt: Likewise.
25544 * unicode/UnicodeData.txt: Likewise.
25545 * unicode/COPYING: Likewise.
25546 * util/grub-editenv.c (grub_putchar): Removed.
25547 (grub_xputs_real): New function.
25548 (grub_xputs): New variable.
25549 * util/grub-fstest.c (grub_putchar): Removed.
25550 (grub_xputs_real): New function.
25551 (grub_xputs): New variable.
25552 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25553 (grub_xputs_real): New function.
25554 (grub_xputs): New variable.
25555 * util/grub-probe.c (grub_putchar): Removed.
25556 (grub_xputs_real): New function.
25557 (grub_xputs): New variable.
25558 * util/grub-script-check.c (grub_putchar): Removed.
25559 (grub_xputs_real): New function.
25560 (grub_xputs): New variable.
25561 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25562 (grub_xputs_real): New function.
25563 (grub_xputs): New variable.
25564 * util/import_unicode.py: New file.
25565 * util/grub-mkfont.c (ft_errmsgs): New array.
25566 (grub_glyph_info): Make bitmap a pointer.
25567 (file_formats): New type WIDTH_SPEC.
25568 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25569 (options): Add width-spec.
25570 (help): Likewise.
25571 (add_char): Renamed to ...
25572 (add_glyph): ... this.
25573 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25574 (glyph_replace): New type.
25575 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25576 (add_char): New function.
25577 (add_subst): Likewise.
25578 (process_cursive): Likewise.
25579 (add_font): Handle GSUB.
25580 (write_font_width_spec): New function.
25581 (main): Sort glyphs.
25582 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25583 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25584 * kern/term.c (grub_cls): Moved from here...
25585 * normal/term.c (grub_cls): ... here.
25586
25587 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25588
25589 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25590 suitable for using within the format argument of printf when
25591 converting grub_size_t.
25592 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25593 "x" to convert grub_size_t arguments.
25594
25595 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25596
25597 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25598 too long captions.
25599 (list_get_minimal_size): Take selection box into account.
25600
25601 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25602
25603 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25604 NULL font.
25605
25606 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25607
25608 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25609 devices when iterating over /dev/disk/by-id; they will be handled
25610 later if appropriate, which they aren't always (e.g. LVM).
25611
25612 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25613
25614 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25615 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25616 fails.
25617 (grub_halt): Likewise.
25618 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25619 reset-all fails.
25620 (grub_halt): Don't return, even if all of shut-down, power-off, and
25621 poweroff fail.
25622
25623 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25624
25625 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25626 arguments, not three.
25627
25628 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25629
25630 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25631 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25632 LVM-on-RAID is handled correctly.
25633
25634 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25635
25636 * docs/grub.texi (Changes from GRUB Legacy): New section.
25637 (Future): Fix typo.
25638
25639 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25640
25641 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25642 grub.d/README accidentally ends up executable for one reason or
25643 another. Ignore it.
25644
25645 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25646
25647 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25648 (gpt_partition_map_iterate): Support non-512B sectors.
25649
25650 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25651
25652 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25653 Tested by: Seth Goldberg.
25654
25655 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25656
25657 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25658 Properly align mbi.
25659 Reported by: Seth Goldberg.
25660
25661 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25662
25663 * util/grub-mkrescue.in: Avoid module duplication.
25664
25665 2010-07-01 Sean Finney <seanius@seanius.net>
25666
25667 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25668
25669 2010-07-01 Sean Finney <seanius@seanius.net>
25670
25671 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25672
25673 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25674
25675 * disk/lvm.c (grub_lvm_checkvalue): New function.
25676 (grub_lvm_check_flag): Likewise.
25677
25678 2010-07-01 Robert Millan <rmh@gnu.org>
25679
25680 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25681 Support 'p' as partition separator on kernel of FreeBSD (used
25682 with GPT labels).
25683 (grub_util_biosdisk_get_grub_dev): Likewise.
25684
25685 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 Yeeloong firmware port.
25688
25689 * boot/mips/yeeloong/fwstart.S: New file.
25690 * bus/cs5536.c (gpiodump): New const.
25691 (set_io_space): New function.
25692 (set_iod): Likewise.
25693 (set_p2d): Likewise.
25694 (grub_cs5536_init_geode): Likewise.
25695 * commands/mips/yeeloong/lsspd.c: New file.
25696 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25697 (serial_mod_SOURCES): New variable.
25698 (serial_mod_CFLAGS): Likewise.
25699 (serial_mod_LDFLAGS): Likewise.
25700 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25701 term/terminfo.c and term/tparm.c.
25702 (pkglib_IMAGES): Add fwstart.img.
25703 (fwstart_img_SOURCES): New variable.
25704 (fwstart_img_CFLAGS): Likewise.
25705 (fwstart_img_ASFLAGS): Likewise.
25706 (fwstart_img_LDFLAGS): Likewise.
25707 (fwstart_img_FORMAT): Likewise.
25708 (pkglib_MODULES): Add lsspd.mod.
25709 (lsspd_mod_SOURCES): New variable.
25710 (lsspd_mod_CFLAGS): Likewise.
25711 (lsspd_mod_LDFLAGS): Likewise.
25712 (pkglib_MODULES): Add halt.mod.
25713 (halt_mod_SOURCES): New variable.
25714 (halt_mod_CFLAGS): Likewise.
25715 (halt_mod_LDFLAGS): Likewise.
25716 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25717 (serial_mod_SOURCES): Removed.
25718 (serial_mod_CFLAGS): Likewise.
25719 (serial_mod_LDFLAGS): Likewise.
25720 * disk/ata.c (check_device): New function.
25721 (grub_ata_device_initialize): Use check_device.
25722 (grub_ata_iterate): Recheck devices.
25723 (grub_ata_open): Likewise.
25724 (grub_atapi_iterate): Likewise.
25725 (grub_atapi_open): Likewise.
25726 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25727 (GRUB_ATA_CH1_PORT1): Likewise.
25728 (GRUB_ATA_CH0_PORT2): Likewise.
25729 (GRUB_ATA_CH1_PORT2): Likewise.
25730 * include/grub/mips/loongson.h: New file.
25731 * include/grub/mips/yeeloong/ec.h: Likewise.
25732 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25733 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25734 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25735 * include/grub/misc.h (grub_halt): Declare as noreturn.
25736 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25737 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25738 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25739 (UART_ENABLE_DTRRTS): Likewise.
25740 (UART_ENABLE_MODEM): Removed.
25741 (UART_ENABLE_OUT2): New const.
25742 * include/grub/term.h (grub_term_register_input_active): New function.
25743 (grub_term_register_output_active): Likewise.
25744 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25745 argument.
25746 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25747 (init_pci): New function.
25748 (grub_machine_init): Execute platform init when firmware. Init serial.
25749 (grub_halt): Implement.
25750 (grub_exit): Likewise.
25751 (grub_reboot): Likewise.
25752 * term/serial.c (serial_hw_init): Update macros.
25753 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25754 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25755 (image_targets): New target mipsel-yeeloong-flash.
25756 (generate_image): Support IMAGE_YEELOONG_FLASH.
25757 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25758 (grub_video_sm712_setup): Init card.
25759 (grub_video_sm712_set_palette): Removed.
25760 * video/sm712_init.c: New file.
25761
25762 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
25763
25764 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25765 PATH when running help2man and then run it on the unadorned
25766 executable names, rather than passing $(builddir)/* paths to
25767 help2man. This avoids the build directory ending up in generated
25768 manual pages.
25769
25770 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25771
25772 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25773 to avoid accidents when debugging with 'sh -x'.
25774 * util/grub-mkrescue.in: Likewise.
25775 * util/grub.d/00_header.in: Likewise.
25776 * util/grub.d/10_hurd.in: Likewise.
25777 * util/grub.d/10_kfreebsd.in: Likewise.
25778 * util/grub.d/10_linux.in: Likewise.
25779 * util/grub.d/10_netbsd.in: Likewise.
25780 * util/grub.d/10_windows.in: Likewise.
25781 * util/grub.d/20_linux_xen.in: Likewise.
25782 * util/grub.d/30_os-prober.in: Likewise.
25783 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25784
25785 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25786
25787 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25788 last character in the buffer.
25789 Reported by: Vladimir Serbinenko.
25790
25791 2010-06-29 Robert Millan <rmh@gnu.org>
25792
25793 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25794 (Command-line and menu entry commands): Document `badram' command.
25795
25796 2010-06-28 Robert Millan <rmh@gnu.org>
25797
25798 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25799 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25800 command using ${GRUB_BADRAM} as parameter.
25801
25802 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25803
25804 * docs/grub.texi (Device map): New section.
25805 (Themes): New section (stub).
25806 * Makefile.in (docs/grub.info): The info documentation now builds
25807 without errors. Make sure it stays that way.
25808
25809 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 Use normal parser for menu entries.
25812 Reported by: Thomas Frauendorfer
25813
25814 * include/grub/parser.h (grub_parser_execute): Don't export.
25815 * normal/menu.c (grub_menu_execute_entry_real): New function.
25816 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25817
25818 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25819
25820 * docs/grub.texi (Embedded configuration): New section (replacing
25821 old "Preset Menu" stub).
25822 (Images): New section.
25823 (configfile): Note that any menu entries defined in `file' are shown
25824 immediately.
25825
25826 2010-06-28 Josh Triplett <josh@joshtriplett.org>
25827
25828 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25829
25830 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25831
25832 * util/grub-install.in: Add --debug-image= option.
25833
25834 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25835
25836 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25837 possible on Linux.
25838
25839 * util/deviceiter.c (check_device): Rename to ...
25840 (check_device_readable_unique): ... this. Update all callers.
25841 Maintain and check a list of which devices (by canonicalized name)
25842 have already been seen.
25843 (clear_seen_devices): New function.
25844 (compare_file_names) [__linux__]: New function.
25845 (grub_util_iterate_devices): Clear the list of seen devices on exit
25846 and (just in case) on entry.
25847 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25848 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25849 seen-devices list, superseded by general code in check_device.
25850
25851 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25852
25853 * commands/cat.c (options): New variable.
25854 (grub_cmd_cat): Parse options. If the --dos option is given, print
25855 DOS-style "\r\n" line endings as simple newlines (Debian bug
25856 #586358).
25857 (GRUB_MOD_INIT): Use extcmd.
25858 (GRUB_MOD_FINI): Likewise.
25859 * docs/grub.texi (cat): Document --dos.
25860
25861 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 XEN with Linux grub-mkconfig support.
25864
25865 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25866 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25867 GRUB_CMDLINE_XEN_DEFAULT.
25868 * util/grub.d/20_linux_xen.in: New file.
25869
25870 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 Initialise VGA video on qemu ourselves.
25873
25874 * boot/i386/qemu/boot.S: Don't call 0xc000.
25875 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25876 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25877 (kernel_img_HEADERS): Add pci.h.
25878 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25879 * configure.ac: Force unifont on qemu and yeeloong.
25880 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25881 (grub_vga_palette_write): Use correct register.
25882 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25883 Call grub_qemu_init_cirrus.
25884 * kern/i386/qemu/init.c: New file.
25885 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25886
25887 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25888
25889 2010-06-26 Pavel Roskin <proski@gnu.org>
25890
25891 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25892 13.
25893
25894 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25895
25896 * docs/grub.texi (Simple configuration): Explain that
25897 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25898 set to `true' to disable their respective recovery entries, not
25899 merely set.
25900
25901 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25902
25903 Make the `source' command slightly faster.
25904
25905 * normal/main.c (grub_normal_execute): Don't re-read list files when
25906 nested.
25907
25908 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25909
25910 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25911 field position and mask size to red fields from mode_info, not
25912 green.
25913 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25914 Remove redundant tag->common.framebuffer_type assignment.
25915 Reported by: Seth Goldberg.
25916
25917 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25918
25919 Sync up other versions of the Linux loader with Robert Millan's
25920 change of 2010-01-09, "Make loader output a bit more user-friendly".
25921
25922 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25923 grub_dprintf().
25924 (grub_cmd_linux): Likewise.
25925 (grub_cmd_initrd): Likewise.
25926 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25927 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25928
25929 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
25930
25931 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25932 larger than MEMORY_MAP_SIZE.
25933
25934 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25935
25936 Fix parallel build.
25937
25938 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25939 dependency.
25940 * script/parser.y: #include grub_script.tab.h header.
25941
25942 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25943
25944 Support >3GiB and <16MiB RAM in i386-qemu.
25945
25946 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25947 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25948 (grub_lower_mem): Removed.
25949 (grub_upper_mem): Likewise.
25950 (mem_size): Made static.
25951 (above_4g): New variable.
25952 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25953 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25954 support.
25955
25956 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 Cirrus 5446 and Bochs video cards support.
25959
25960 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25961 video_bochs.mod
25962 (video_cirrus_mod_SOURCES): New variable.
25963 (video_cirrus_mod_CFLAGS): Likewise.
25964 (video_cirrus_mod_LDFLAGS): Likewise.
25965 (video_bochs_mod_SOURCES): Likewise.
25966 (video_bochs_mod_CFLAGS): Likewise.
25967 (video_bochs_mod_LDFLAGS): Likewise.
25968 * include/grub/vga.h: New file.
25969 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25970 (grub_video_fb_set_page_t): New type.
25971 (grub_video_fb_setup): New prototype.
25972 (grub_video_fb_swap_buffers): Likewise.
25973 (grub_video_fb_get_info_and_fini): Likewise.
25974 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25975 (CRTC_DATA_PORT): Likewise.
25976 (CRTC_CURSOR): Likewise.
25977 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25978 (CRTC_CURSOR_ADDR_LOW): Likewise.
25979 (CRTC_CURSOR_DISABLE): Likewise.
25980 (update_cursor): Use grub_vga_cr_write.
25981 (grub_vga_text_setcursor): Likewise.
25982 * video/bochs.c: New file.
25983 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25984 (palette): Likewise.
25985 (palette_size): Likewise.
25986 (framebuffer): New variable.
25987 (grub_video_fb_init): Use 'framebuffer'.
25988 (grub_video_fb_fini): Likewise.
25989 (grub_video_fb_get_info): Likewise.
25990 (grub_video_fb_get_palette): Likewise.
25991 (grub_video_fb_set_palette): Likewise.
25992 (grub_video_fb_set_viewport): Likewise.
25993 (grub_video_fb_get_viewport): Likewise.
25994 (grub_video_fb_map_color): Likewise.
25995 (grub_video_fb_map_rgb): Likewise.
25996 (grub_video_fb_map_rgba): Likewise.
25997 (grub_video_fb_unmap_color): Likewise.
25998 (grub_video_fb_unmap_color_int): Likewise.
25999 (grub_video_fb_fill_rect): Likewise.
26000 (grub_video_fb_blit_bitmap): Likewise.
26001 (grub_video_fb_blit_render_target): Likewise.
26002 (grub_video_fb_scroll): Likewise.
26003 (grub_video_fb_create_render_target): Likewise.
26004 (grub_video_fb_doublebuf_blit_init): Likewise.
26005 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26006 (doublebuf_pageflipping_update_screen): New function.
26007 (doublebuf_pageflipping_init): Likewise.
26008 (grub_video_fb_setup): Likewise.
26009 (grub_video_fb_swap_buffers): Likewise.
26010 (grub_video_fb_get_info_and_fini): Likewise.
26011 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26012 All users updated.
26013 (doublebuf_pageflipping_commit): Restructured into ...
26014 (doublebuf_pageflipping_set_page): ... this.
26015 (doublebuf_pageflipping_update_screen): Removed.
26016 (doublebuf_pageflipping_init): Likewise.
26017 (double_buffering_init): Likewise.
26018 (grub_video_vbe_setup): Use grub_video_fb_setup.
26019 (grub_video_vbe_swap_buffers): Removed.
26020 (grub_video_vbe_set_active_render_target): Likewise.
26021 (grub_video_vbe_get_active_render_target): Likewise.
26022 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26023 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26024 grub_video_fb_set_active_render_target and
26025 grub_video_fb_get_active_render_target.
26026 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26027 (SEQUENCER_DATA_PORT): Likewise.
26028 (MAP_MASK_REGISTER): Likewise.
26029 (CRTC_ADDR_PORT): Likewise.
26030 (CRTC_DATA_PORT): Likewise.
26031 (START_ADDR_HIGH_REGISTER): Likewise.
26032 (START_ADDR_LOW_REGISTER): Likewise.
26033 (GRAPHICS_ADDR_PORT): Likewise.
26034 (GRAPHICS_DATA_PORT): Likewise.
26035 (READ_MAP_REGISTER): Likewise.
26036 (INPUT_STATUS1_REGISTER): Likewise.
26037 (INPUT_STATUS1_VERTR_BIT): Likewise.
26038 (get_map_mask): Use grub_vga_sr_read.
26039 (set_map_mask): Use grub_vga_sr_write.
26040 (set_read_map): Use grub_vga_gr_write.
26041 (set_start_address): Use grub_vga_cr_write.
26042 * video/sm712.c (framebuffer): Remove leftover fields.
26043
26044 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
26045
26046 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26047 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26048 instead. Replace the gfxterm backend check with a check that
26049 ${GRUB_PREFIX}/video.lst is non-empty.
26050 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26051 again.
26052 (load_video): New generated function. Call it before loading
26053 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26054 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26055 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26056 * docs/grub.texi (Simple configuration): Document
26057 GRUB_VIDEO_BACKEND.
26058
26059 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 Use video functions in linux and xnu loaders.
26062
26063 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26064 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26065 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26066 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26067 loader/i386/pc/linux.c.
26068 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26069 (find_line_len): Removed.
26070 (find_framebuf): Likewise.
26071 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26072 * loader/i386/efi/xnu.c: Removed.
26073 * loader/i386/pc/xnu.c: Moved from here...
26074 * loader/i386/xnu.c: ...here.
26075
26076 Enable priorities in video drivers.
26077
26078 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26079 (grub_video_adapter): New field prio.
26080 (grub_video_register): Respect prio when inserting.
26081 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26082 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26083 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26084 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26085 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26086 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26087 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26088
26089 Fix SDL driver ID.
26090
26091 * include/grub/video.h (grub_video_driver_id_t): New value
26092 GRUB_VIDEO_DRIVER_SDL.
26093 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26094
26095 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26096
26097 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26098 argument to printf.
26099 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26100
26101 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26102
26103 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26104 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26105
26106 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26107
26108 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26109 directly, and recommend grub-install instead.
26110 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26111
26112 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26113
26114 Fix i386-pc prefix handling with nested partitions (Debian bug
26115 #585068). Note that the case where the core image is booted using
26116 multiboot and relocated from its original location still requires
26117 more work.
26118
26119 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26120 with "(,", fill the boot drive in between those two characters, but
26121 expect that a full partition specification including partition map
26122 names will follow.
26123 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26124 specified, write a prefix without the drive name but including a
26125 full partition specification.
26126
26127 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
26128
26129 * util/grub-mkconfig.in: Ignore non-option arguments, for
26130 compatibility with older versions (before 2010-06-12) which did the
26131 same. In particular, this makes it easier to ship an update-grub
26132 wrapper which is compatible with that used with GRUB Legacy (Debian
26133 bug #586056).
26134
26135 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26136
26137 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26138 for manual page generation.
26139
26140 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26141
26142 * po/POTFILES: Remove leftover commands/handler.c.
26143
26144 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
26145
26146 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26147 left this script non-functional.
26148
26149 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
26150
26151 * docs/man/grub-emu.h2m: New file.
26152
26153 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
26154
26155 * docs/grub.texi (Commands): Document reduced command set in rescue
26156 mode.
26157 (cpuid): New section.
26158
26159 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26160
26161 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26162 new partition naming style.
26163 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26164
26165 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26166
26167 Add "-o grub.iso" like cmdline options support.
26168
26169 * util/grub-install.in: Improve cmdline option parsing.
26170 * util/grub-mkconfig.in: Likewise.
26171 * util/grub-mkrescue.in: Likewise.
26172 * util/grub-reboot.in: Likewise.
26173 * util/grub-set-default.in: Likewise.
26174 * util/i386/efi/grub-install.in: Likewise.
26175 * util/ieee1275/grub-install.in: Likewise.
26176 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26177
26178 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
26179
26180 * .bzrignore: Ignore 41_custom.
26181
26182 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26183
26184 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26185
26186 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
26187
26188 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26189 prototype declarations.
26190
26191 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26192 generating fs, partmap, and video lists.
26193 * include/grub/fs.h (grub_fs_register): Omit prototype if
26194 GRUB_LST_GENERATOR is defined.
26195 * include/grub/partition.h (grub_partition_map_register): Likewise.
26196 * include/grub/video.h (grub_video_register): Likewise.
26197
26198 2010-06-12 Javier Martín <lordhabbit@gmail.com>
26199
26200 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26201
26202 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26203
26204 * util/grub-mkrescue.in: Support --xorriso argument.
26205
26206 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26207
26208 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26209 Suggested by: Thomas Schmitt.
26210
26211 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26212
26213 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26214 Suggested by: Thomas Schmitt.
26215
26216 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 custom.cfg support.
26219
26220 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26221 * util/grub.d/41_custom.in: New file.
26222
26223 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
26224
26225 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26226 been merged back into normal.
26227
26228 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
26229
26230 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26231 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26232
26233 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
26234
26235 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26236 when generating manual pages.
26237 * docs/man/grub-bin2h.h2m: New file.
26238 * docs/man/grub-editenv.h2m: New file.
26239 * docs/man/grub-fstest.h2m: New file.
26240 * docs/man/grub-install.h2m: New file.
26241 * docs/man/grub-macho2img.h2m: New file.
26242 * docs/man/grub-mkconfig.h2m: New file.
26243 * docs/man/grub-mkdevicemap.h2m: New file.
26244 * docs/man/grub-mkfont.h2m: New file.
26245 * docs/man/grub-mkimage.h2m: New file.
26246 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26247 * docs/man/grub-mkrelpath.h2m: New file.
26248 * docs/man/grub-mkrescue.h2m: New file.
26249 * docs/man/grub-ofpathname.h2m: New file.
26250 * docs/man/grub-pe2elf.h2m: New file.
26251 * docs/man/grub-probe.h2m: New file.
26252 * docs/man/grub-reboot.h2m: New file.
26253 * docs/man/grub-script-check.h2m: New file.
26254 * docs/man/grub-set-default.h2m: New file.
26255 * docs/man/grub-setup.h2m: New file.
26256
26257 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 Use FOR_* macros instead of *_iterate whenever possible.
26260
26261 * commands/handler.c: Removed.
26262 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26263 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26264 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26265 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26266 (grub_probe_SOURCES): Remove kern/parser.c.
26267 (util/grub-script-check.c_DEPENDENCIES): Removed.
26268 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26269 and grub_script_check_init.c.
26270 (grub_script_check_init.lst): Removed.
26271 (grub_script_check_init.h): Likewise.
26272 (grub_script_check_init.c): Likewise.
26273 (pkglib_MODULES): Remove handler.mod and sh.mod.
26274 (handler_mod_SOURCES): Removed.
26275 (handler_mod_CFLAGS): Likewise.
26276 (handler_mod_LDFLAGS): Likewise.
26277 (normal_mod_SOURCES): Remove normal/handler.c.
26278 Add script/main.c, script/script.c, script/execute.c,
26279 script/function.c, script/lexer.c, grub_script.tab.c
26280 and grub_script.yy.c.
26281 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26282 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26283 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26284 (grub_setup_SOURCES): Remove kern/parser.c.
26285 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26286 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26287 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26288 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26289 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26290 (grub_setup_SOURCES): Remove kern/parser.c.
26291 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26292 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26293 * include/grub/command.h (grub_command_iterate): Removed.
26294 (FOR_COMMANDS): New macro.
26295 * include/grub/dl.h (grub_dl): New member next.
26296 (grub_dl_iterate): Removed.
26297 (grub_dl_head): New variable declaration.
26298 (FOR_DL_MODULES): New macro.
26299 * include/grub/fs.h: Include list.h.
26300 (grub_fs): Make next first element.
26301 (grub_fs_list): New variable declaration.
26302 (grub_fs_register): Make inline.
26303 (grub_fs_unregister): Likewise.
26304 (grub_fs_iterate): Removed.
26305 (FOR_FILESYSTEMS): New macro.
26306 * include/grub/handler.h: Removed.
26307 * include/grub/list.h (grub_list_hook_t): Removed.
26308 (grub_list_test_t): Likewise.
26309 (grub_list_pop): Likewise.
26310 (grub_list_iterate): Likewise.
26311 (grub_list_insert): Likewise.
26312 (FOR_LIST_ELEMENTS): New macro.
26313 * include/grub/parser.h (grub_parser_class): Removed.
26314 (grub_parser_register): Likewise.
26315 (grub_parser_unregister): Likewise.
26316 (grub_parser_get_current): Likewise.
26317 (grub_parser_set_current): Likewise.
26318 (grub_register_rescue_parser): Likewise.
26319 (grub_rescue_parse_line): New function.
26320 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26321 * include/grub/script_sh.h (grub_script_function_list): New variable
26322 declaration.
26323 (FOR_SCRIPT_FUNCTIONS): New macro.
26324 (grub_script_function_iterate): Removed.
26325 (grub_normal_parse_line): New prototype.
26326 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26327 (FOR_DISABLED_TERM_INPUTS): Likewise.
26328 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26329 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26330 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26331 element.
26332 (grub_video_register): Inline.
26333 (grub_video_unregister): Likewise.
26334 (grub_video_adapter_list): New variable declaration.
26335 (grub_video_iterate): Removed.
26336 (FOR_VIDEO_ADAPTERS): New macro.
26337 * kern/dl.c (grub_dl_list): Removed. All users updated.
26338 (grub_dl_iterate): Removed.
26339 * kern/fs.c (grub_fs_list): Make global.
26340 (grub_fs_register): Removed.
26341 (grub_fs_unregister): Likewise.
26342 (grub_fs_iterate): Likewise.
26343 * kern/handler.c: Removed.
26344 * kern/list.c (grub_list_pop): Removed.
26345 (grub_list_iterate): Likewise.
26346 (grub_list_insert): Likewise.
26347 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26348 (grub_prio_list_insert): Don't use grub_list_insert.
26349 * kern/main.c (grub_register_rescue_parser): Don't call
26350 grub_register_rescue_parser.
26351 * kern/parser.c (grub_parser_class): Removed.
26352 (grub_parser_execute): Use grub_rescue_parse_line.
26353 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26354 (grub_rescue_parser): Removed.
26355 (grub_register_rescue_parser): Likewise.
26356 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26357 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26358 (grub_auth_check_authentication): Likewise.
26359 * normal/completion.c (iterate_command): Removed.
26360 (grub_normal_do_completion): Use FOR_COMMANDS.
26361 * normal/handler.c: Removed.
26362 * normal/main.c (read_config_file): Remove parser changing.
26363 (grub_normal_execute): Don't call read_handler_list.
26364 (grub_normal_read_line_real): Statically allocate prompt.
26365 (grub_cmdline_run): Use grub_normal_parse_line.
26366 (GRUB_MOD_FINI): Don't call free_handler_list.
26367 * normal/menu_entry.c (run): Likewise.
26368 * script/function.c (grub_script_function_list): Make global.
26369 (grub_script_function_iterate): Removed.
26370 * script/main.c (grub_normal_parse_line): Make global.
26371 (grub_sh_parser): Removed.
26372 (GRUB_MOD_INIT): Likewise.
26373 (GRUB_MOD_FINI): Likewise.
26374 * tests/lib/functional_test.c (grub_functional_test): Use
26375 FOR_LIST_ELEMENTS.
26376 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26377 (grub_test_run): Use FOR_LIST_ELEMENTS.
26378 * tests/lib/unit_test.c (main): Likewise.
26379 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26380 grub_list_pop.
26381 * util/grub-fstest.c (grub_term_input_class): Removed.
26382 (grub_term_output_class): Likewise.
26383 * util/grub-probe.c: Likewise.
26384 * util/i386/pc/grub-setup.c: Likewise.
26385 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26386 * util/grub-script-check.c (main): Don't call grub_init_all and
26387 grub_fini_all.
26388 * video/video.c (grub_video_adapter_list): Make global.
26389 (grub_video_register): Removed.
26390 (grub_video_unregister): Likewise.
26391 (grub_video_iterate): Likewise.
26392
26393 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26396 reported by Henrique Ferreiro.
26397
26398 2010-06-09 Robert Millan <rmh@gnu.org>
26399
26400 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26401 ones, when both are available.
26402
26403 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26404
26405 Make --version uniform and avoid hard-coded program name.
26406
26407 * util/grub-mkimage.c (main): Use `program_name' instead of
26408 hard-coded string.
26409 * util/i386/pc/grub-setup.c (main): Likewise.
26410 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26411 * util/grub-install.in: Save the basename of $0 in $self, and use the
26412 latter in informational messages. Use the same format for --version
26413 as the binary programs.
26414 * util/grub-mkconfig.in: Likewise.
26415 * util/grub-mkrescue.in: Likewise.
26416 * util/grub-reboot.in: Likewise.
26417 * util/grub-set-default.in: Likewise.
26418 * util/i386/efi/grub-install.in: Likewise.
26419 * util/ieee1275/grub-install.in: Likewise.
26420 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26421
26422 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26423
26424 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26425 embedding area. Use <= instead of == when checking for non-emptiness.
26426
26427 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26428
26429 * configure.ac: Add `.' to the directories searched for unifont.
26430
26431 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
26432
26433 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26434 grub_script.yy.h.
26435
26436 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
26437
26438 * docs/grub.texi (History): Expand to cover GRUB 2.
26439 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26440 commands, not `terminal'.
26441 (serial): Likewise.
26442 (terminal_input): New section.
26443 (terminal_output): New section.
26444 (uppermem): New section (stub).
26445 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26446
26447 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
26448
26449 * docs/grub.texi (Security): Menu entries are unrestricted by
26450 default, not restricted to superusers as I had previously thought.
26451 Reword to account for this.
26452
26453 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26454
26455 * kern/emu/misc.c (device_mapper_null_log): New function.
26456 (grub_device_mapper_supported): New function.
26457 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26458 prototype.
26459 * kern/emu/hostdisk.c (find_partition_start): Check whether
26460 device-mapper is supported before trying to use it.
26461 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26462
26463 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26464
26465 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26466 (File name syntax): Likewise.
26467 (help): --all is no longer supported in GRUB 2. Be more precise
26468 about pattern matching.
26469
26470 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26471
26472 * normal/completion.c (grub_normal_do_completion): When completing
26473 arguments to "set" and the current word contains an equals sign,
26474 skip to after the equals sign before starting completion.
26475
26476 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26477
26478 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26479
26480 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26481
26482 * docs/grub.texi (Network): New section.
26483 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26484 `(nd)' as in GRUB Legacy.
26485 (pxe_unload): New section.
26486
26487 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26488
26489 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26490 in the rescue shell, so recommend using `set' instead. Thanks,
26491 Jordan Uggla.
26492
26493 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26494
26495 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26496 (password): New section.
26497 (password_pbkdf2): New section.
26498 (search): New section.
26499 (Security): New section.
26500 (Troubleshooting): New section, currently very incomplete.
26501 (Invoking grub-mkpasswd-pbkdf2): New section.
26502 (Internals): New section, currently very incomplete.
26503
26504 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26505
26506 * util/grub.d/00_header.in: Add some more quoting (of
26507 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26508 work again.
26509 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26510
26511 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26512
26513 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26514 to `count', fixing variable shadowing that broke the -c option.
26515
26516 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
26517
26518 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26519 in case they contain spaces.
26520
26521 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26522
26523 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26524 "part_" to partmap module names, in line with grub-install.
26525 Reported by: Jindřich Makovička (Debian bug #584426).
26526
26527 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26528
26529 * util/grub-mkimage.c: Make target-related error messages slightly
26530 more helpful; -O talks about "format". Explicitly point to the use
26531 of -O if no target is specified.
26532 Reported by: Didier Raboud (Debian bug #584415).
26533
26534 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
26535
26536 * INSTALL: Document several build requirements for optional features
26537 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26538
26539 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26540
26541 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26542 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26543 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26544
26545 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26546
26547 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26548 Thanks to Jordan Uggla for spotting this.
26549
26550 2010-06-02 Aleš Nesrsta <starous@volny.cz>
26551
26552 Finally make USB usable.
26553
26554 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26555 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26556 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26557 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26558 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26559 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26560 (GRUB_OHCI_FSMPS): Likewise.
26561 (GRUB_OHCI_PERIODIC_START): Likewise.
26562 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26563 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26564 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26565 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26566 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26567 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26568 (grub_ohci_transaction): Likewise.
26569 (grub_ohci_transfer): Improve condition detection algorithms.
26570 Handle toggle property. Program the transactions correctly.
26571 Improve error handling. Various important fixups.
26572 (grub_ohci_portstatus): Put register writes in right order.
26573 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26574 (grub_uhci_transfer): Don't show "failed" message on success.
26575 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26576 array.
26577 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26578 determine its size.
26579 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26580 before initialization is completed. Use IN direction for empty
26581 transfers. Use last_trans and compute toggle.
26582 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26583 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26584 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26585 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26586 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26587 (grub_usb_device): Increase toggle to 256.
26588 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26589 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26590 GRUB_USBMS_SUBCLASS_SFF8070.
26591 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26592 (grub_scsi_inquiry): New member page and alloc_length.
26593 (grub_scsi_request_sense): New structure.
26594 (grub_scsi_request_sense_data): Likewise.
26595 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26596 control.
26597 * disk/scsi.c (grub_scsi_request_sense): New function.
26598 (grub_scsi_test_unit_ready): Likewise.
26599 (grub_scsi_inquiry): Fill new fields.
26600 (grub_scsi_read_capacity): Likewise.
26601 (grub_scsi_read10): Add request sense at the end.
26602 (grub_scsi_read12): Likewise.
26603 (grub_scsi_write10): Likewise.
26604 (grub_scsi_write12): Likewise.
26605 (grub_scsi_open): Add Test Unit Ready.
26606 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26607 Support additional subclasses. Con't clear halt yet. Activate the
26608 proper config. Calculate LUNs correctly.
26609 (grub_usbms_transfer): Various important fixups.
26610
26611 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26614 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26615 (grub_ohci_fini_hw): New function.
26616 (grub_ohci_restore_hw): Likewise.
26617 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26618 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26619 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26620
26621 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 Dedicated DMA allocations.
26624
26625 * bus/pci.c (grub_memalign_dma32): New function
26626 (grub_dma_free): Likewise.
26627 (grub_dma_get_virt): Likewise.
26628 (grub_dma_get_phys): Likewise.
26629 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26630 (grub_ohci_pci_iter): Use dma32_alloc.
26631 (grub_ohci_transfer): Likewise.
26632 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26633 (grub_usb_bulk_readwrite): Likewise.
26634 * include/grub/pci.h: Add declarations.
26635
26636 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26637
26638 CS5536 support.
26639
26640 * bus/cs5536.c: New file.
26641 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26642 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26643 (cs5536_mod_SOURCES): New variable.
26644 (cs5536_mod_CFLAGS): Likewise.
26645 (cs5536_mod_LDFLAGS): Likewise.
26646 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26647 machine/pci.h.
26648 (kernel_img_SOURCES): Add bus/cs5536.c.
26649 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26650 usb_keyboard.mod.
26651 (usb_mod_SOURCES): New variable.
26652 (usb_mod_CFLAGS): New variable.
26653 (usb_mod_LDFLAGS): New variable.
26654 (usbtest_mod_SOURCES): New variable.
26655 (usbtest_mod_CFLAGS): New variable.
26656 (usbtest_mod_LDFLAGS): New variable.
26657 (ohci_mod_SOURCES): New variable.
26658 (ohci_mod_CFLAGS): New variable.
26659 (ohci_mod_LDFLAGS): New variable.
26660 (usbms_mod_SOURCES): New variable.
26661 (usbms_mod_CFLAGS): New variable.
26662 (usbms_mod_LDFLAGS): New variable.
26663 (usb_keyboard_mod_SOURCES): New variable.
26664 (usb_keyboard_mod_CFLAGS): New variable.
26665 (usb_keyboard_mod_LDFLAGS): New variable.
26666 * include/grub/smbus.h: New file.
26667 * include/grub/cs5536.h: New file.
26668
26669 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26670
26671 * util/grub.d/00_header.in: Add safety check to make sure that
26672 ${locale_dir} exists before trying to probe it.
26673
26674 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26675
26676 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26677 per the GNU Coding Standards; this is now too obscure to be worth
26678 documenting.
26679 (QNX): Likewise.
26680 (chainloader): Remove cross-reference to `SCO UnixWare'.
26681
26682 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26683
26684 * docs/grub.texi (Chain-loading): New section.
26685 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26686 adjusted for GRUB 2.
26687 (SCO UnixWare): Likewise.
26688 (QNX): Likewise.
26689 (chainloader): Add reference to `Block list syntax'.
26690 (drivemap): New section.
26691 (parttool): New section.
26692
26693 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26694
26695 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26696 the grub shell'.
26697 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26698 (Installing GRUB using grub-install): Remove reference to the grub
26699 shell; mention `grub-mkimage' and `grub-setup' instead.
26700 (Invoking grub-install): Likewise.
26701 (Interface): Add reference to `Menu entry editor'.
26702 (serial): Remove `--device' option.
26703
26704 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26705
26706 * docs/grub.texi (Configuration): New section, documenting
26707 configuration file generation using grub-mkconfig. I've left a slot
26708 for documenting the full shell scripting format but have not yet
26709 started on writing that up.
26710 (Invoking grub-mkconfig): New section.
26711
26712 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26713
26714 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26715 (GNU GRUB manual): Likewise.
26716 (General commands): Update description of `terminfo' for GRUB 2.
26717
26718 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26719
26720 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26721 (GRUB_MOD_INIT): Fix capitalisation.
26722 * docs/grub.texi (Command-line and menu entry commands): Document
26723 gettext and gptsync commands.
26724
26725 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26726
26727 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26728 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26729
26730 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
26731
26732 Add btrfs probing support, currently only in the single-device case.
26733
26734 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26735 function.
26736 (grub_guess_root_device): Call find_root_device_from_mountinfo
26737 before looking in /dev.
26738
26739 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26740
26741 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26742 GRUB_DISK_SIZE_UNKNOWN.
26743 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26744
26745 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
26746
26747 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26748 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26749 corrupted or not synced properly.
26750
26751 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26752
26753 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26754 Reported by: Seth Goldberg.
26755
26756 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26757
26758 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26759 addition of dest.
26760 Reported by: Seth Goldberg.
26761
26762 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26763
26764 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26765 Reported by: Seth Goldberg.
26766
26767 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26770 64-bit address as signed on MIPS.
26771
26772 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26773
26774 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26775 to the empty string.
26776
26777 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26778
26779 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26780
26781 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26782 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26783 * kern/misc.c (__enable_execute_stack): Disable on
26784 GRUB_MACHINE_EMU.
26785
26786 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26787
26788 Make grub-probe work with symbolic links under /dev/mapper as well
26789 as with real block devices. The Linux world seems to be (at best)
26790 in transition here, and GRUB shouldn't get caught in the middle.
26791
26792 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26793 /dev/mapper.
26794
26795 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26796
26797 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26798 input files (in which case exit zero).
26799
26800 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26801
26802 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26803 return NULL for various reasons even if it has a maximum-length
26804 buffer: for example, there might be a symlink loop, or the path
26805 might exceed PATH_MAX. If this happens, return NULL.
26806
26807 2010-05-27 Robert Millan <rmh@gnu.org>
26808
26809 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26810 partmap module to handle cross-partmap setups.
26811 Reported by Orestes Mas. Gràcies!
26812
26813 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26814
26815 * util/grub-mkrescue.in: Initialise override_dir rather than
26816 assuming that it's unset or empty in the environment.
26817
26818 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26819
26820 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26821 variable index into p_index to suppress a warning with -Wshadow.
26822
26823 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26824
26825 * INSTALL: Added flex >= 2.5.35 requirement.
26826
26827 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26828
26829 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26830
26831 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26832
26833 cmostest support.
26834
26835 * commands/i386/cmostest.c: New file.
26836 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26837 (cmostest_mod_SOURCES): New variable.
26838 (cmostest_mod_CFLAGS): Likewise.
26839 (cmostest_mod_LDFLAGS): Likewise.
26840 * conf/i386-pc.rmk: Likewise.
26841 * docs/grub.texi (Vendor power-on keys): New section.
26842 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26843 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26844 and GRUB_BUTTON_CMOS_ADDRESS.
26845 * util/grub.d/00_header.in: Handle powering-on by separate button.
26846
26847 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26848
26849 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26850 Removed drawing_scrollbar argument. All users updated
26851 Fixes #29792.
26852 Reported by Jo Shields
26853
26854 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26857 buffer since gfxterm handles double repaint.
26858
26859 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26860
26861 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26862 * term/gfxterm.c (real_scroll): Likewise.
26863
26864 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26865
26866 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26867 before calling BIOS.
26868
26869 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26870
26871 * include/grub/i18n.h: Always enable grub_gettext.
26872
26873 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26874
26875 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26876 partition naming style.
26877
26878 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
26879
26880 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26881 not the first option.
26882
26883 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26884
26885 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26886
26887 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26888
26889 * util/misc.c: Move inclusion of <limits.h> to ...
26890 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26891
26892 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26893
26894 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26895 Fix merge error in NetBSD code.
26896 (find_partition_start) [__NetBSD__]: Likewise.
26897
26898 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26899
26900 Fix grub-mkrescue usage unit testing.
26901
26902 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26903
26904 2010-05-18 Christian Franke <franke@computer.org>
26905
26906 * util/grub.d/10_windows.in: Use path names instead of
26907 drive letters to prevent warning from Cygwin 1.7.
26908 Add drivemap command to menuentry if needed.
26909
26910 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26911
26912 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26913 gnumach and gnumach.gz.
26914
26915 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26916
26917 * include/grub/i18n.h (gettext): Inline instead of using #define.
26918 (grub_gettext): Likewise.
26919 (_): Likewise.
26920
26921 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26924 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26925 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26926 (main): Add a slash after pkglibdirroot.
26927
26928 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26929
26930 * util/grub-install.in: Add missing "in" keyword.
26931
26932 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26933
26934 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26935 Reported by: Seth Goldberg.
26936
26937 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26940
26941 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26942
26943 * configure.ac: Check for Linux device-mapper support.
26944
26945 * util/hostdisk.c (device_is_mapped): New function.
26946 (find_partition_start): New function, partly broken out from
26947 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26948 device-mapper support added.
26949 (linux_find_partition): Use find_partition_start.
26950 (convert_system_partition_to_system_disk): Add `st' argument.
26951 Support Linux /dev/mapper/* devices if device-mapper support is
26952 available; only DM-RAID devices are understood at present.
26953 (find_system_device): Add `st' argument. Pass it to
26954 convert_system_partition_to_system_disk.
26955 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26956 find_system_device and convert_system_partition_to_system_disk. Use
26957 find_partition_start.
26958
26959 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26960 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26961 * util/deviceiter.c [__linux__]: Define MINOR.
26962 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26963 * util/mkdevicemap.c (grub_putchar): New function.
26964 (grub_getkey): New function.
26965 (grub_refresh): New function.
26966 (main): Set debug=all if -v -v is used.
26967
26968 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26969
26970 Fix build with non-GNU libcs.
26971
26972 * util/misc.c (canonicalize_file_name): Move to ...
26973 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26974 grub_make_system_path_relative_to_its_root.
26975
26976 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26977
26978 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26979 we handle finding grub-mkimage. Default to finding grub-mkimage in
26980 ${bindir} with program_transform_name applied, and provide a
26981 --grub-mkimage option to override this.
26982
26983 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26984
26985 Remove grub-mkisofs.
26986
26987 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26988 (grub_mkisofs_SOURCES): Removed.
26989 (grub_mkisofs_CFLAGS): Removed.
26990 * util/mkisofs/defaults.h: Removed.
26991 * util/mkisofs/eltorito.c: Likewise.
26992 * util/mkisofs/exclude.h: Likewise.
26993 * util/mkisofs/hash.c: Likewise.
26994 * util/mkisofs/include/: Likewise.
26995 * util/mkisofs/include/fctldefs.h: Likewise.
26996 * util/mkisofs/include/mconfig.h: Likewise.
26997 * util/mkisofs/include/prototyp.h: Likewise.
26998 * util/mkisofs/include/statdefs.h: Likewise.
26999 * util/mkisofs/iso9660.h: Likewise.
27000 * util/mkisofs/joliet.c: Likewise.
27001 * util/mkisofs/match.c: Likewise.
27002 * util/mkisofs/match.h: Likewise.
27003 * util/mkisofs/mkisofs.c: Likewise.
27004 * util/mkisofs/mkisofs.h: Likewise.
27005 * util/mkisofs/msdos_partition.h: Likewise.
27006 * util/mkisofs/multi.c: Likewise.
27007 * util/mkisofs/name.c: Likewise.
27008 * util/mkisofs/rock.c: Likewise.
27009 * util/mkisofs/tree.c: Likewise.
27010 * util/mkisofs/write.c: Likewise.
27011
27012 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27013
27014 Unify grub-mkimage accross platforms.
27015
27016 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27017 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27018 (grub_mkelfimage_SOURCES): Removed.
27019 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27020 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27021 (bin_UTILITIES): Add grub-mkimage.
27022 (grub_mkimage_SOURCES): New variable.
27023 (kernel_img_HEADERS): Remove machine/kernel.h.
27024 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27025 (pkglib_PROGRAMS): Add kernel.img.
27026 (kernel_img_HEADERS): Add machine/kernel.h.
27027 (kernel_img_FORMAT): Removed.
27028 (bin_UTILITIES): Remove grub-mkimage.
27029 (grub_mkimage_SOURCES): Removed.
27030 (grub_mkimage_CFLAGS): Likewise.
27031 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27032 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27033 (pkglib_PROGRAMS): Add kernel.img.
27034 (bin_UTILITIES): Remove grub-mkimage.
27035 (grub_mkimage_SOURCES): Removed.
27036 (grub_mkimage_CFLAGS): Likewise.
27037 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27038 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27039 (pkglib_PROGRAMS): Add kernel.img.
27040 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27041 (pkglib_PROGRAMS): Add kernel.img.
27042 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27043 (grub_mkimage_SOURCES): Removed.
27044 (grub_mkimage_CFLAGS): Likewise.
27045 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27046 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27047 (pkglib_PROGRAMS): Add kernel.img.
27048 (bin_UTILITIES): Remove grub-mkimage.
27049 (grub_mkimage_SOURCES): Removed.
27050 (grub_mkimage_CFLAGS): Likewise.
27051 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27052 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27053 (grub_mkimage_SOURCES): Removed.
27054 (grub_mkimage_CFLAGS): Likewise.
27055 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27056 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27057 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27058 (grub_pe32_optional_header): ... this.
27059 (grub_pe64_optional_header): ... and this. All users updated.
27060 (GRUB_PE32_PE32_MAGIC): Split into ..
27061 (GRUB_PE32_PE32_MAGIC): .. this.
27062 (GRUB_PE32_PE64_MAGIC): .. and this.
27063 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27064 * include/grub/elf.h (PT_GNU_STACK): New definition.
27065 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27066 * include/grub/i386/efi/kernel.h: Likewise.
27067 * include/grub/i386/kernel.h: Likewise.
27068 * include/grub/i386/pc/kernel.h: Likewise.
27069 * include/grub/i386/qemu/boot.h: Likewise.
27070 * include/grub/mips/kernel.h: Likewise.
27071 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27072 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27073 * include/grub/powerpc/kernel.h: Likewise.
27074 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27075 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27076 * include/grub/sparc64/kernel.h: Likewise.
27077 * include/grub/x86_64/efi/kernel.h: Likewise.
27078 * include/grub/x86_64/kernel.h: Likewise.
27079 * include/grub/offsets.h: New file.
27080 * include/grub/kernel.h (grub_module_info): Split into ...
27081 (grub_module_info32): ... this.
27082 (grub_module_info64): ... and this.
27083 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27084 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27085 (grub_boot_blocklist): Moved from here ...
27086 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27087 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27088 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27089 * include/grub/types.h (grub_target_to_host16): Removed.
27090 (grub_target_to_host32): Likewise.
27091 (grub_target_to_host64): Likewise.
27092 (grub_host_to_target16): Likewise.
27093 (grub_host_to_target32): Likewise.
27094 (grub_host_to_target64): Likewise.
27095 (grub_host_to_target_addr): Likewise.
27096
27097 Support grub-mkrescue for efi, coreboot and qemu.
27098
27099 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27100 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27101 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27102 * util/grub-mkrawimage.c: Moved from here ...
27103 * util/grub-mkimage.c: ... here. All users updated.
27104 (ALIGN_ADDR): Use image_target.
27105 (TARGET_NO_FIELD): New const.
27106 (image_target_desc): New type.
27107 (image_targets): New array.
27108 (grub_target_to_host64): Use image_target.
27109 (grub_target_to_host32): Likewise.
27110 (grub_target_to_host16): Likewise.
27111 (grub_host_to_target64): Likewise.
27112 (grub_host_to_target32): Likewise.
27113 (grub_host_to_target16): Likewise.
27114 (grub_host_to_target_addr): Likewise.
27115 (generate_image): Handle multiimage.
27116 (main): Require -O parameter. All users updated.
27117 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27118 util/efi/grub-mkimage.c
27119 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27120 New option --rom-directory.
27121 Use xorriso.
27122 * util/i386/efi/grub-mkimage.c: Removed.
27123 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27124 (grub_target_to_host32): Likewise.
27125 (grub_target_to_host64): Likewise.
27126 (grub_host_to_target16): Likewise.
27127 (grub_host_to_target32): Likewise.
27128 (grub_host_to_target64): Likewise.
27129 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27130 (grub_target_to_host32): Likewise.
27131 (grub_target_to_host64): Likewise.
27132 (grub_host_to_target16): Likewise.
27133 (grub_host_to_target32): Likewise.
27134 (grub_host_to_target64): Likewise.
27135
27136 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27137
27138 Source tree is reorganized for emu build.
27139
27140 * include/grub/util/console.h: Move from here...
27141 * include/grub/emu/console.h: ...to here.
27142 * include/grub/util/getroot.h: Move from here...
27143 * include/grub/emu/getroot.h: ...to here.
27144 * include/grub/util/hostdisk.h: Move from here...
27145 * include/grub/emu/hostdisk.h: ...to here.
27146 * util/console.c: Move from here...
27147 * kern/emu/console.c: ...to here.
27148 * util/getroot.c: Move from here...
27149 * kern/emu/getroot.c: ...to here.
27150 * util/grub-emu.c: Move from here...
27151 * kern/emu/main.c: ...to here.
27152 * util/hostdisk.c: Move from here...
27153 * kern/emu/hostdisk.c: ...to here.
27154 * util/hostfs.c: Move from here...
27155 * kern/emu/hostfs.c: ...to here.
27156 * util/mm.c: Move from here...
27157 * kern/emu/mm.c: ...to here.
27158 * util/pci.c: Move from here...
27159 * bus/emu/pci.c: ...to here.
27160 * util/sdl.c: Move from here...
27161 * video/emu/sdl.c: ...to here.
27162 * util/time.c: Move from here...
27163 * kern/emu/time.c: ...to here.
27164 * util/usb.c: Move from here...
27165 * bus/usb/emu/usb.c: ...to here.
27166
27167 * include/grub/emu/misc.h: New header for grub-emu functions.
27168 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27169
27170 * conf/any-emu.rmk: Rule updates for above renames.
27171 * conf/common.rmk: Likewise.
27172 * conf/i386-pc.rmk: Likewise.
27173 * conf/i386-qemu.rmk: Likewise.
27174 * conf/mips.rmk: Likewise.
27175 * conf/sparc64-ieee1275.rmk: Likewise.
27176 * conf/x86-efi.rmk: Likewise.
27177
27178 * disk/lvm.h: #include updates for above renames.
27179 * util/grub-mkrelpath.c: Likewise.
27180 * util/grub-probe.c: Likewise.
27181 * util/i386/pc/grub-setup.c: Likewise.
27182 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27183 * kern/emu/console.c: Likewise.
27184 * kern/emu/getroot.c: Likewise.
27185 * kern/emu/hostdisk.c: Likewise.
27186 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27187
27188 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27189 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27190 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27191 * util/misc.c: Remove grub-emu functions.
27192
27193 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 Fix gfxmenu crash.
27196 Reported by: Thorsten Grützmacher.
27197
27198 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27199 timeout hook.
27200 (circprog_set_property): Register and unregister timeout hook.
27201 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27202 (label_destroy): Free template. and unregister hook.
27203 (label_set_state): New function.
27204 (label_set_property): Handle templates and hooks.
27205 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27206 timeout hook.
27207 (progress_bar_set_property): Register and unregister timeout hook.
27208 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27209 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27210 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27211 (update_timeout_visit): Removed.
27212 (update_timeouts): New function.
27213 (redraw_timeouts): Likewise.
27214 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27215 (grub_gfxmenu_clear_timeout): Likewise.
27216 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27217 (grub_gfxmenu_timeout_notify): Likewise.
27218 (grub_gfxmenu_timeout_notifications): New external variable.
27219 (grub_gfxmenu_timeout_register): New function.
27220 (grub_gfxmenu_timeout_unregister): Likewise.
27221
27222 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 Transform (broken) vga terminal into (working) vga video driver.
27225
27226 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27227 video/i386/pc/vga.c.
27228 * include/grub/video.h (grub_video_driver_id):
27229 Add GRUB_VIDEO_DRIVER_VGA.
27230 * term/i386/pc/vga.c: Renamed to ...
27231 * video/i386/pc/vga.c: ...this
27232 (DEBUG_VGA): Removed.
27233 (CHAR_WIDTH): Likewise.
27234 (CHAR_HEIGHT): Likewise.
27235 (TEXT_WIDTH): Likewise.
27236 (TEXT_HEIGHT): Likewise.
27237 (DEFAULT_FG_COLOR): Likewise.
27238 (DEFAULT_BG_COLOR): Likewise.
27239 (colored_char): Likewise.
27240 (xpos): Likewise.
27241 (ypos): Likewise.
27242 (cursor_state): Likewise.
27243 (fg_color): Likewise.
27244 (bg_color): Likewise.
27245 (text_buf): Likewise.
27246 (page): Likewise.
27247 (font): Likewise.
27248 (framebuffer): New variable.
27249 (set_read_map): Disabled.
27250 (setup): New variable.
27251 (is_target): Likewise.
27252 (grub_vga_mod_init): Likewise.
27253 (grub_vga_mod_fini): Likewise.
27254 (check_vga_mem): Likewise.
27255 (write_char): Likewise.
27256 (write_cursor): Likewise.
27257 (scroll_up): Likewise.
27258 (grub_vga_putchar): Likewise.
27259 (grub_vga_getcharwidth): Likewise.
27260 (grub_vga_getwh): Likewise.
27261 (grub_vga_getxy): Likewise.
27262 (grub_vga_gotoxy): Likewise.
27263 (grub_vga_cls): Likewise.
27264 (grub_vga_setcolorstate): Likewise.
27265 (grub_vga_setcursor): Likewise.
27266 (grub_video_vga_init): New function.
27267 (grub_video_vga_setup): Likewise.
27268 (grub_video_vga_fini): Likewise.
27269 (update_target): Likewise.
27270 (grub_video_vga_blit_bitmap): Likewise.
27271 (grub_video_vga_blit_render_target): Likewise.
27272 (grub_video_vga_set_active_render_target): Likewise.
27273 (grub_video_vga_get_active_render_target): Likewise.
27274 (grub_video_vga_swap_buffers): Likewise.
27275 (grub_video_vga_set_palette): Likewise.
27276 (grub_video_vga_get_info_and_fini): Likewise.
27277 (grub_vga_term): Removed.
27278 (grub_video_vga_adapter): New variable.
27279 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27280 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27281
27282 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 * video/readers/jpeg.c: Indented.
27285
27286 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27287
27288 Various jpeg cleanups.
27289
27290 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27291 (grub_jpeg_decode_quan_table): Use sizeof.
27292 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27293
27294 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
27295
27296 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27297 tables. Ignore non-last ac bit.
27298 (grub_jpeg_decode_quan_table): Likewise.
27299
27300 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27303 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27304 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27305 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27306 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27307 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27308
27309 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27310
27311 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27312 error.
27313
27314 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27315
27316 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27317
27318 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27319
27320 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27321 condition.
27322
27323 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27324
27325 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27326 part.
27327
27328 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27331 pointers.
27332
27333 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27334
27335 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27336
27337 2010-05-01 Christian Franke <franke@computer.org>
27338
27339 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27340 Remove broken Cygwin path conversion.
27341 * util/misc.c: [__CYGWIN__] Add include and define.
27342 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27343 for Cygwin 1.7.
27344 (make_system_path_relative_to_its_root): Simplify loop, replace early
27345 return by break.
27346 [__CYGWIN__] Add conversion to win32 path.
27347 Include "/" case in trailing slash removal.
27348
27349 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27350
27351 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27352 Reported by: Seth Goldberg
27353
27354 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27355
27356 * commands/help.c (grub_cmd_help): Fix a typo.
27357 Reported by: Seth Goldberg
27358
27359 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27360
27361 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27362 name and add N_.
27363 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27364 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27365 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27366 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27367 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27368 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27369 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27370 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27371 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27372 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27373 * normal/context.c (GRUB_MOD_INIT): Likewise.
27374 * normal/main.c (GRUB_MOD_INIT): Likewise.
27375 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27376 * term/serial.c (GRUB_MOD_INIT): Likewise.
27377 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27378
27379 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27380
27381 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27382 extra == 0.
27383
27384 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27385
27386 * commands/iorw.c: New file.
27387 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27388 (iorw_mod_SOURCES): New variable.
27389 (iorw_mod_CFLAGS): Likewise.
27390 (iorw_mod_LDFLAGS): Likewise.
27391
27392 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 Hotkey support
27395
27396 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27397 * normal/main.c (hotkey_aliases): New variable.
27398 (grub_normal_add_menu_entry): Parse "--hotkey".
27399 * normal/menu_text.c (run_menu): Handle hotkeys.
27400
27401 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27402
27403 * kern/i386/coreboot/init.c (grub_machine_init): Call
27404 grub_machine_mmap_init on qemu.
27405
27406 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27407
27408 * boot/i386/qemu/boot.S: Add a missing .code16.
27409
27410 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27411
27412 Use LBIO on coreboot.
27413
27414 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27415 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27416 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27417 New declaration.
27418 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27419 grub_machine_mmap_init on coreboot.
27420 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27421 GRUB_LINUXBIOS_MEMBER_LINK.
27422 (grub_machine_mmap_iterate): Fix declaration.
27423 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27424
27425 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 Split coreboot and multiboot ports.
27428
27429 * conf/i386-multiboot.rmk: New file.
27430 * configure.ac: Add multiboot port.
27431 * include/grub/i386/multiboot/boot.h: New file.
27432 * include/grub/i386/multiboot/console.h: Likewise.
27433 * include/grub/i386/multiboot/init.h: Likewise.
27434 * include/grub/i386/multiboot/kernel.h: Likewise.
27435 * include/grub/i386/multiboot/loader.h: Likewise.
27436 * include/grub/i386/multiboot/memory.h: Likewise.
27437 * include/grub/i386/multiboot/serial.h: Likewise.
27438 * include/grub/i386/multiboot/time.h: Likewise.
27439 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27440 * loader/multiboot.c: Likewise.
27441 * loader/multiboot_mbi2.c: Likewise.
27442 * util/grub-mkrescue.in: Generate multiboot rescue.
27443
27444 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27445
27446 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27447
27448 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27449
27450 Merge handling of input and output terminals. Fix a hang.
27451
27452 * commands/terminal.c (abstract_terminal): New struct.
27453 (handle_command): New function. Based on grub_cmd_terminal_input.
27454 (grub_cmd_terminal_input): Use handle_command.
27455 (grub_cmd_terminal_output): Use handle_command.
27456
27457 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27458
27459 Fix comment handling.
27460
27461 * tests/grub_script_comments.in: New testcase.
27462 * conf/tests.rmk: Rules for new testcase.
27463 * script/yylex.l: Updated flex rules.
27464
27465 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27466
27467 * docs/grub.texi (play): Document that zero pitches produce rests.
27468 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27469 if argc is 1.
27470
27471 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27472
27473 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27474 autogen issues.
27475
27476 2010-04-26 Christian Franke <franke@computer.org>
27477
27478 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27479 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27480 (grub_get_prefix): Remove function.
27481 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27482 make_system_path_relative_to_its_root ().
27483 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27484
27485 2010-04-24 Christian Franke <franke@computer.org>
27486
27487 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27488 (kernel_img_LDFLAGS): Remove -static-libgcc.
27489
27490 2010-04-24 Christian Franke <franke@computer.org>
27491
27492 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27493 and CHECK_END_SYMBOL if grub-emu is built.
27494 Unset TARGET_OBJ2ELF if grub-emu is built
27495 without module support.
27496
27497 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
27498
27499 Nilfs2 support.
27500
27501 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27502 (grub_fstest_SOURCES): Likewise.
27503 (pkglib_MODULES): Add nilfs2.mod.
27504 (nilfs2_mod_SOURCES): New variable.
27505 (nilfs2_mod_CFLAGS): Likewise.
27506 (nilfs2_mod_LDFLAGS): Likewise.
27507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27508 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27509 * fs/nilfs2.c: New file.
27510
27511 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27512
27513 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27514 is not supported.
27515
27516 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27517
27518 Add grub-mkconfig support for NetBSD.
27519
27520 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27521 * util/grub-mkconfig.in: export new NetBSD specific variables.
27522 * po/POTFILES-shell: added 10_netbsd.in.
27523 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27524
27525 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27526
27527 Fix emu build with grub-emu-pci and grub-emu-modules.
27528
27529 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27530 functions.
27531 * include/grub/libpciaccess.h: New file.
27532 * conf/any-emu.rmk: Update kernel headers for emu build.
27533
27534 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27535
27536 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27537
27538 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27539
27540 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27541
27542 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27543
27544 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27545 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27546 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27547 util/ieee1275/ofpath.c.
27548 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27549 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27550 * include/grub/sparc64/ieee1275/boot.h
27551 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27552 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27553 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27554 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27555 const char *.
27556 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27557 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27558 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27559 install.
27560
27561 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27562
27563 * util/grub-mkconfig.in: Corrected two == equality tests.
27564 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27565 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27566 expect a number appended to it.
27567 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27568 expects a number appended to it.
27569
27570 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27571
27572 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27573
27574 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27575
27576 * util/hostdisk.c (make_device_name): Change to new partition naming.
27577
27578 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27579
27580 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27581
27582 2010-04-17 Christian Franke <franke@computer.org>
27583
27584 * Makefile.in: Add missing localedir setting.
27585
27586 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
27587
27588 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27589 mistake in r2156. Noticed by Anthony Fok.
27590
27591 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27592 @localedir@.
27593 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27594
27595 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27596
27597 Fix a spurious, uninitialized variable warning.
27598
27599 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27600 Initialize variable, shdr.
27601 (grub_freebsd_load_elfmodule): Likewise.
27602 (grub_freebsd_load_elf_meta): Likewise.
27603
27604 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27605
27606 Fix for escaped dollar in double quoted strings.
27607
27608 * script/yylex.l: Updated flex rules.
27609 * conf/tests.rmk: Rule for new testcase.
27610 * tests/grub_script_dollar.in: New testcase.
27611
27612 2010-04-13 Carles Pina i Estany <carles@pina.cat>
27613 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
27614
27615 Enclose all translated strings in grub.cfg in single quotes, and
27616 escape them appropriately (Ubuntu bug #552921).
27617
27618 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27619 * util/grub.d/10_hurd.in: Use it.
27620 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27621 * util/grub.d/10_linux.in (linux_entry): Likewise.
27622
27623 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27624
27625 Fix cygwin compilation.
27626
27627 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27628 * include/grub/misc.h (__register_frame_info)
27629 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27630 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27631 * kern/misc.c (__register_frame_info)
27632 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27633 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27634
27635 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27636
27637 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27638
27639 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27640
27641 Unify libgcc processing.
27642
27643 * Makefile.in (kernel_img_LDFLAGS): New variable.
27644 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27645 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27646 overwriting.
27647 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27648 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27649 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27650 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27651 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27652 overwriting. Remove -lgcc and -static-libgcc
27653 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27654 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27655 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27656 (kernel_img_LDFLAGS): Append instead of overwriting.
27657 Remove -lgcc and -static-libgcc
27658 * conf/sparc64-ieee1275.rmk: Likewise.
27659 * include/grub/powerpc/libgcc.h: Move to ...
27660 * include/grub/libgcc.h: .. this.
27661 * include/grub/libgcc.h: Don't export most of the function on x86.
27662 (__bswapsi2): New export.
27663 (__bswapdi2): Likewise.
27664 * include/grub/mips/libgcc.h: Removed.
27665 * include/grub/sparc64/libgcc.h: Likewise.
27666
27667 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27668
27669 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27670 disk_info_msg (conflicts with gettexting into languages with cases).
27671
27672 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27673
27674 Add grub-probe support for NetBSD.
27675
27676 * util/getroot.c (find_root_device): Convert block device to
27677 character device on NetBSD.
27678 * util/probe.c (probe): Require character device on NetBSD.
27679 * util/hostdisk.c: NetBSD specific headers.
27680 (configure_device_driver): new function to tune device driver
27681 parameters (currently only for NetBSD floppy driver).
27682 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27683 via disklabel ioctl).
27684 (open_device): call configure_device_driver on NetBSD.
27685 (convert_system_partition_to_system_disk): NetBSD specific code.
27686 (device_is_wholedisk): Likewise.
27687 (grub_util_biosdisk_get_grub_dev): Likewise.
27688 (make_device_name): Fixed a typo in bsd_part_str.
27689 * configure.ac: check for opendisk() and getrawpartition() on
27690 NetBSD and set LIBUTIL.
27691 * Makefile.in: add LIBUTIL to LIBS.
27692
27693 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27694
27695 Documentation fix.
27696
27697 * util/grub-script-check.c: Better help message.
27698
27699 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27700
27701 Fix FreeBSD build.
27702
27703 * configure.ac: Flex version check.
27704 * conf/common.rmk: Add -Wno-error to sh.mod.
27705 * script/yylex.l: Remove all #pragma.
27706
27707 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27708
27709 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27710 prototype.
27711 Reported by: Seth Goldberg.
27712
27713 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27714
27715 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27716 Rename "module" to "module2".
27717 Reported by: Seth Goldberg.
27718
27719 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27720
27721 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27722 EXPORT_FUNC.
27723 Reported by: Seth Goldberg.
27724
27725 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27726
27727 * lib/posix_wrap/locale.h: Add missing file.
27728 Reported by: Seth Goldberg.
27729
27730 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 grub-emu module load support.
27733
27734 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27735 NO_DYNAMIC_MODULES switched to this.
27736 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27737 (CFLAGS): Likewise.
27738 * conf/any-emu.rmk: Generate symlist.
27739 (kernel_img_HEADERS): Add util/datetime.h.
27740 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27741 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27742 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27743 kern/$(target_cpu)/cache.S.
27744 * configure.ac (grub-emu-modules): New option.
27745 * genmk.rb: Handle multiple source lists.
27746 * include/grub/sdl.h: New file.
27747 * include/grub/libusb.h: Likewise.
27748 * util/grub-emu.c (main): Hanle (host) root.
27749 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27750 GRUB_ERR_UNKNOWN_DEVICE.
27751 * util/misc.c: Move mm functions to ...
27752 * util/mm.c: ... here. All users updated.
27753
27754 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27757 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27758 missing files.
27759 (maintainer-clean): Remove libgcrypt-grub.
27760
27761 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27762
27763 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27764
27765 2010-04-09 EFI Coder <eficoder@hotmail.com>
27766
27767 * normal/menu_text.c (print_message): Clean up the message and show
27768 the Fn information when on EFI
27769 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27770
27771 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27772
27773 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27774 All users updated.
27775 * normal/crypto.c (read_crypto_list): Likewise.
27776 * normal/dyncmd.c (read_command_list): Likewise.
27777 * normal/term.c (read_terminal_list): Likewise.
27778 * normal/main.c (read_lists): Use explicit prefix.
27779 (read_lists_hook): Use read_lists.
27780 (grub_normal_execute): Likewise.
27781
27782 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27783
27784 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27785 Reported by: Thomas Schmitt.
27786 Add -no-emul-boot to grub-mkisofs parameters.
27787
27788 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27789
27790 * font/font.c: Indented.
27791
27792 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27793
27794 Elif support to GRUB script (by Deepak Vankadaru).
27795
27796 * tests/grub_script_if.in: New testcase.
27797 * conf/tests.rmk: Rule for new testcase.
27798 * script/parser.y: Grammar rules for elif.
27799
27800 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27801
27802 While and until loops support to GRUB script.
27803
27804 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27805 (grub_script_create_cmdwhile): New function prototype.
27806 (grub_script_execute_cmdwhile): New function prototype.
27807 * script/execute.c (grub_script_execute_cmdwhile): New function.
27808 * script/parser.y (command): New commands.
27809 (whilecmd): New grammar rule.
27810 (untilcmd): New grammar rule.
27811 * script/script.c (grub_script_create_cmdwhile): New function.
27812 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27813 function.
27814
27815 * tests/grub_script_while1.in: New testcase.
27816 * conf/tests.rmk: Rule for new testcase.
27817
27818 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27819
27820 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27821 as *.jpg.
27822
27823 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
27824
27825 GRUB_BACKGROUND support.
27826
27827 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27828 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27829
27830 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 Load fonts and modules for gfxmenu in grub-mkconfig.
27833 Idea by: Mario Vazquez
27834
27835 * util/grub.d/00_header.in: Load pf2 and image modules.
27836
27837 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 grub-mkconfig multiple terminal support.
27840
27841 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27842 * util/grub.d/00_header.in: Likewise.
27843
27844 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27847 we use cd $(srcdir).
27848
27849 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
27850
27851 * util/grub.d/10_linux.in: Only use the first word of
27852 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27853 spaces in GRUB_DISTRIBUTOR.
27854 * util/grub.d/10_kfreebsd.in: Likewise.
27855 * util/grub.d/10_hurd.in: Likewise.
27856
27857 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27858
27859 Fix unit testing framework for Qemu 0.12.
27860
27861 * tests/util/grub-shell.in: Remove -serial stdio option.
27862
27863 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27864
27865 POSIX header file wrappers.
27866
27867 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27868 equivalents.
27869 * lib/posix_wrap/ctype.h: Likewise.
27870 * lib/posix_wrap/errno.h: Likewise.
27871 * lib/posix_wrap/langinfo.h: Likewise.
27872 * lib/posix_wrap/limits.h: Likewise.
27873 * lib/posix_wrap/localcharset.h: Likewise.
27874 * lib/posix_wrap/stdint.h: Likewise.
27875 * lib/posix_wrap/stdio.h: Likewise.
27876 * lib/posix_wrap/stdlib.h: Likewise.
27877 * lib/posix_wrap/string.h: Likewise.
27878 * lib/posix_wrap/sys/types.h: Likewise.
27879 * lib/posix_wrap/unistd.h: Likewise.
27880 * lib/posix_wrap/wchar.h: Likewise.
27881 * lib/posix_wrap/wctype.h: Likewise.
27882 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27883 (grub_script.yy.h): Likewise.
27884 * script/yylex.l: Remove POSIX emulation #defines.
27885 * Makefile.in (POSIX_CFLAGS): New variable.
27886 (GNULIB_UTIL_CFLAGS): Likewise.
27887
27888 Regexp support.
27889
27890 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27891 (regexp_mod_SOURCES): New variable.
27892 (regexp_mod_CFLAGS): Likewise.
27893 (regexp_mod_LDFLAGS): Likewise.
27894 * commands/regexp.c: New file.
27895 * gnulib/regcomp.c: New file. Imported from gnulib.
27896 * gnulib/regex.c: Likewise.
27897 * gnulib/regex_internal.c: Likewise.
27898 * gnulib/regex_internal.h: Likewise.
27899 * gnulib/regexec.c: Likewise.
27900 * gnulib/regex.h: Likewise.
27901
27902 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27903
27904 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27905 unsupported video mode types.
27906
27907 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27908
27909 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27910
27911 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27912
27913 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27914 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27915
27916 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27917
27918 Remove unused grub_vga_get_font.
27919
27920 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27921 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27922
27923 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27924
27925 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27926 * include/grub/misc.h: Likewise.
27927
27928 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27929
27930 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27931 for which failure is fatal.
27932
27933 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27934
27935 * util/grub-install.in: Use mkdir -p to create grub directory.
27936 * util/i386/efi/grub-install.in: Likewise.
27937 * util/ieee1275/grub-install.in: Likewise.
27938
27939 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27940
27941 * Makefile.in (LEX): new variable.
27942
27943 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27944
27945 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27946 `=' and added double quotes on operands of this equality test.
27947
27948 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27949
27950 * Makefile.in (uninstall): Remove a leftover debug echo.
27951 Reported by: Grégoire Sutre
27952
27953 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27954
27955 MIPS multiboot2 support.
27956
27957 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27958 (multiboot2_mod_SOURCES): New variable.
27959 (multiboot2_mod_CFLAGS): Likewise.
27960 (multiboot2_mod_LDFLAGS): Likewise.
27961 (multiboot2_mod_ASFLAGS): Likewise.
27962 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27963 definition.
27964 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27965 (MULTIBOOT_MBI_REGISTER): Likewise.
27966 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27967 (MULTIBOOT_ELF32_MACHINE): Likewise.
27968 (MULTIBOOT_ELF64_MACHINE): Likewise.
27969 * include/grub/mips/multiboot.h: New file.
27970 * include/grub/video.h (grub_video_driver_id): New type
27971 GRUB_VIDEO_DRIVER_SM712.
27972 (grub_video_get_info_and_fini): Export.
27973 (grub_video_get_palette): Likewise.
27974 (grub_video_get_driver_id): Likewise.
27975 * include/multiboot2.h: Resynced with spec.
27976 * loader/i386/multiboot.c: Moved from here ...
27977 * loader/multiboot.c: ... here. All users updated.
27978 (grub_multiboot_boot): Use platform-specific macros.
27979 * loader/i386/multiboot_elfxx.c: Moved from here ...
27980 * loader/multiboot_elfxx.c: ... here. All users updated.
27981 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27982 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27983 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27984
27985 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 Import gnulib argp module.
27988
27989 * gnulib/argp-ba.c: New file.
27990 * gnulib/argp-eexst.c: Likewise.
27991 * gnulib/argp-fmtstream.c: Likewise.
27992 * gnulib/argp-fmtstream.h: Likewise.
27993 * gnulib/argp-fs-xinl.c: Likewise.
27994 * gnulib/argp-help.c: Likewise.
27995 * gnulib/argp-namefrob.h: Likewise.
27996 * gnulib/argp-parse.c: Likewise.
27997 * gnulib/argp-pin.c: Likewise.
27998 * gnulib/argp-pv.c: Likewise.
27999 * gnulib/argp-pvh.c: Likewise.
28000 * gnulib/argp-version-etc.c: Likewise.
28001 * gnulib/argp-version-etc.h: Likewise.
28002 * gnulib/argp-xinl.c: Likewise.
28003 * gnulib/argp.h: Likewise.
28004
28005 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28006
28007 * kern/device.c (grub_device_iterate): Clear errors after failed
28008 opening device.
28009
28010 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28013 returned by firmware.
28014
28015 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28016
28017 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28018 compilation on coreboot and qemu
28019
28020 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28021
28022 * include/multiboot2.h: Resync with spec.
28023
28024 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28025
28026 Multiboot2 tag support
28027
28028 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28029 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28030 Remove loader/multiboot_loader.c.
28031 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28032 (grub_multiboot2_real_boot): Likewise.
28033 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28034 (grub_get_multiboot_mmap_count): New proto.
28035 (grub_fill_multiboot_mmap): Likewise.
28036 (grub_multiboot_set_video_mode): Likewise.
28037 (grub_multiboot_set_console): Likewise.
28038 (grub_multiboot_load): Likewise.
28039 (grub_multiboot_load_elf): Likewise.
28040 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28041 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28042 * include/multiboot.h: Resynced with specification.
28043 * include/multiboot2.h: Resynced with specification.
28044 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28045 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28046 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28047 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28048 users updated.
28049 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28050 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28051 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28052 Removed.
28053 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28054 Moved from here...
28055 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28056 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28057 Moved from here...
28058 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28059 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28060 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28061 All users updated.
28062 * loader/i386/multiboot_mbi2.c: New file.
28063
28064 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28065
28066 Resync with gnulib.
28067
28068 * Makefile.in (GNULIB_CFLAGS): New variable.
28069 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28070 (grub_script_check_CFLAGS): New variable.
28071 * gnulib/alloca.h: Resync with gnulib.
28072 * gnulib/error.c: Likewise.
28073 * gnulib/error.h: Likewise.
28074 * gnulib/fnmatch.c: Likewise.
28075 * gnulib/fnmatch_loop.c: Likewise.
28076 * gnulib/getdelim.c: Likewise.
28077 * gnulib/getline.c: Likewise.
28078 * gnulib/getopt.c: Likewise.
28079 * gnulib/getopt1.c: Likewise.
28080 * gnulib/getopt_int.h: Likewise.
28081 * gnulib/gettext.h: Likewise.
28082 * gnulib/progname.c: Likewise.
28083 * gnulib/progname.h: Likewise.
28084
28085 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28086
28087 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28088 which is the case with --disabled-nls.
28089
28090 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28091 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28092 * util/misc.c: Likewise.
28093 * util/mkisofs/mkisofs.c: Likewise.
28094 * util/mkisofs/mkisofs.h: Likewise.
28095
28096 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 Simplify Apple CC support.
28099
28100 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28101 Add 0 byte at the end not to have a symbol with empty target.
28102 * mmap/i386/pc/mmap_helper.S: Likewise.
28103 * genmk.rb: Ignore errors 2030 and 2050.
28104 * kern/i386/pc/startup.S: Use LOCAL when possible.
28105
28106 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28107
28108 Testcase and the fix for final semicolon on cmdline.
28109
28110 * tests/grub_script_final_semicolon.in: New testcase.
28111 * conf/tests.rmk: Rules for the new testcase.
28112 * script/parser.y: Grammar fix.
28113
28114 2010-03-26 BVK Chaitanya <bvk@localhost>
28115
28116 Blank lines testcase for GRUB script.
28117
28118 * tests/grub_script_blanklines.in: New testcase.
28119 * conf/tests.rmk: Rules for the new testcase.
28120
28121 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 Don't use __FILE__.
28124
28125 * genmk.rb: Add -DGRUB_FILE to all C targets.
28126 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28127 * include/grub/list.h: Likewise.
28128 * include/grub/misc.h: Likewise.
28129 * include/grub/mm.h: Likewise.
28130 * include/grub/test.h: Likewise.
28131 * kern/mm.c: Likewise.
28132 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28133
28134 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 Sunpc partitions support.
28137
28138 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28139 (grub_fstest_SOURCES): Likewise.
28140 (pkglib_MODULES): Add part_sunpc.mod.
28141 (part_sunpc_mod_SOURCES): New variable.
28142 (part_sunpc_mod_CFLAGS): Likewise.
28143 (part_sunpc_mod_LDFLAGS): Likewise.
28144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28145 * partmap/sunpc.c: New file.
28146
28147 2010-03-26 BVK Chaitanya <bvk@localhost>
28148
28149 For loop support to GRUB script.
28150
28151 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28152 (grub_script_create_cmdfor): New function prototype.
28153 (grub_script_execute_cmdfor): New function prototype.
28154 * script/execute.c (grub_script_execute_cmdfor): New function.
28155 * script/parser.y (command): New for command.
28156 (forcmd): New grammar rule.
28157 * script/script.c (grub_script_create_cmdfor): New function.
28158 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28159 function.
28160 * tests/grub_script_for1.in: New testcase.
28161 * conf/tests.rmk: Rules for new testcase.
28162
28163 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28164
28165 Nested partitions
28166
28167 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28168 'partition' is NULL, grub_partition_get_start already does that.
28169 * commands/loadenv.c (check_blocklists): Likewise.
28170 (write_blocklists): Likewise.
28171 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28172 (grub_fstest_SOURCES): Likewise.
28173 (pkglib_MODULES): Add part_bsd.mod.
28174 (part_bsd_mod_SOURCES): New variable.
28175 (part_bsd_mod_CFLAGS): Likewise.
28176 (part_bsd_mod_LDFLAGS): Likewise.
28177 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28178 (grub_emu_SOURCES): Likewise.
28179 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28180 * include/grub/bsdlabel.h: New file.
28181 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28182 'get_name'.
28183 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28184 (grub_partition_map_list): New variable.
28185 (grub_partition_map_register): Inline.
28186 (grub_partition_map_unregister): Likewise.
28187 (FOR_PARTITION_MAPS): New macro.
28188 (grub_partition_map_iterate): Removed.
28189 (grub_partition_get_start): Handle nested partitions.
28190 * include/grub/msdos_partition.h: Remove bsd-related entries.
28191 (grub_pc_partition): Remove.
28192 * kern/disk.c (grub_disk_close): Free partition data.
28193 (grub_disk_adjust_range): Handle nested partitions.
28194 * kern/partition.c (grub_partition_map_probe): New function.
28195 (grub_partition_probe): Parse name to number, handle subpartitions.
28196 (get_partmap): New function.
28197 (grub_partition_iterate): Handle subpartitions.
28198 (grub_partition_get_name): Likewise.
28199 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28200 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28201 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28202 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28203 Set 'number'.
28204 (acorn_partition_map_probe): Remove.
28205 (acorn_partition_map_get_name): Likewise.
28206 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28207 Set 'number'.
28208 Set 'index' to 0 since there can be only one partition entry per sector.
28209 (amiga_partition_map_probe): Remove.
28210 (amiga_partition_map_get_name): Likewise.
28211 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28212 Set 'number'.
28213 Set 'offset' and 'index' to real positions of partitions.
28214 (apple_partition_map_probe): Remove.
28215 (apple_partition_map_get_name): Likewise.
28216 * partmap/bsdlabel.c: New file.
28217 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28218 Set 'number'.
28219 Allocate 'data' so it can be correctly freed.
28220 Set 'index' to offset inside sector.
28221 (gpt_partition_map_probe): Remove.
28222 (gpt_partition_map_get_name): Likewise.
28223 * partmap/msdos.c (grub_partition_parse): Remove.
28224 (pc_partition_map_iterate): Don't force raw access.
28225 Set 'number'.
28226 Make 'ext_offset' a local variable.
28227 (pc_partition_map_probe): Remove.
28228 (pc_partition_map_get_name): Remove.
28229 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28230 Set 'number'.
28231 (sun_partition_map_probe): Remove.
28232 (sun_partition_map_get_name): Likewise.
28233 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28234 (grub_pcpart_type): Likewise.
28235 * util/hostdisk.c (open_device): Handle new numbering scheme.
28236 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28237 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28238 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28239 * util/grub-install.in: Insert all subpartition modules.
28240 * util/ieee1275/grub-install.in: Likewise.
28241
28242 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28243
28244 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28245 grammar.
28246
28247 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
28248
28249 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28250
28251 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
28252
28253 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28254 match where 'make install' puts them.
28255 * util/i386/efi/grub-install.in: Likewise.
28256
28257 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
28258
28259 * .bzrignore: Add gentrigtables, grub-script-check,
28260 grub_script_check_init.c, grub_script_check_init.h, and
28261 trigtables.c.
28262
28263 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28264
28265 * kern/parser.c: Indented.
28266
28267 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28268
28269 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28270
28271 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28272
28273 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28274 alpha_mask_size == 0 case.
28275
28276 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28277
28278 GRUB shell lexer and parser improvements.
28279
28280 * conf/any-emu.rmk: Build rule updates.
28281 * conf/common.rmk: Likewise.
28282 * conf/i386-coreboot.rmk: Likewise.
28283 * conf/i386-efi.rmk: Likewise.
28284 * conf/i386-ieee1275.rmk: Likewise.
28285 * conf/i386-pc.rmk: Likewise.
28286 * conf/powerpc-ieee1275.rmk: Likewise.
28287 * conf/x86_64-efi.rmk: Likewise.
28288
28289 * configure.ac: Configure check for flex.
28290
28291 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28292 types.
28293 (grub_lexer_param): Struct member updates.
28294 (grub_parser_param): Likewise.
28295 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28296 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28297 (grub_script_lexer_init): Prototype update.
28298 (grub_script_lexer_record_start): Likewise.
28299 (grub_script_lexer_record_stop): Likewise.
28300 (grub_script_lexer_yywrap): New function prototype.
28301 (grub_script_lexer_fini): Likewise.
28302 (grub_script_execute_argument_to_string): Removed by...
28303 (grub_script_execute_argument_to_argv): ...better version.
28304
28305 * script/execute.c (ROUND_UPTO): New macro.
28306 (grub_script_execute_cmdline): Out of memory fixes.
28307 (grub_script_execute_menuentry): Likewise.
28308 (grub_script_execute_argument_to_string): Removed. Update all
28309 users by...
28310 (grub_script_execute_argument_to_argv): ...better version.
28311 * script/function.c (grub_script_function_create): Use
28312 grub_script_execute_argument_to_argv instead of
28313 grub_script_execute_argument_to_string.
28314
28315 * script/lexer.c (check_varstate): Removed.
28316 (check_textstate): Removed.
28317 (grub_script_lexer_record_start): Likewise.
28318 (grub_script_lexer_record_stop): Likewise.
28319 (recordchar): Replaced with...
28320 (grub_script_lexer_record): ...new function.
28321 (nextchar): Removed.
28322 (grub_script_lexer_init): Rewritten.
28323 (grub_script_yylex): Rewritten.
28324 (append_newline): New function.
28325 (grub_script_lexer_yywrap): New function.
28326 (grub_script_lexer_fini): New function.
28327 (grub_script_yyerror): Sets error flag.
28328
28329 * script/yylex.l: New file.
28330 (grub_lexer_yyfree): Wrapper for flex yyffre.
28331 (grub_lexer_yyalloc): Likewise.
28332 (grub_lexer_yyrealloc): Likewise.
28333 * script/parser.y: Refactored.
28334
28335 * script/script.c (grub_script_arg_add): Out of memory fixes.
28336 (grub_script_add_arglist): Likewise.
28337 (grub_script_create_cmdline): Likewise.
28338 (grub_script_create_cmdmenu): Likewise.
28339 (grub_script_add_cmd): Likewise.
28340 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28341 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28342 unnecessary code.
28343
28344 * tests/grub_script_echo1.in: New testcase.
28345 * tests/grub_script_vars1.in: New testcase.
28346 * tests/grub_script_echo_keywords.in: New testcase.
28347
28348 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 Remove some redundancy in build system.
28351
28352 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28353 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28354 (TARGET_LDFLAGS): Add -nostdlib.
28355 (TARGET_IMG_LDFLAGS): Likewise.
28356 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28357 anything since mmap isn't available.
28358 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28359 Add util/time.c.
28360 (pkglib_MODULES): Remove reboot.mod.
28361 (reboot_mod_SOURCES): Removed.
28362 (reboot_mod_CFLAGS): Likewise.
28363 (reboot_mod_LDFLAGS): Likewise.
28364 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28365 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28366 (DEFSYMFILES): Add kernel_syms.lst.
28367 (kernel_img_HEADERS): Add common headers.
28368 (symlist.c): New target.
28369 (kernel_syms.lst): Likewise.
28370 (pkglib_MODULES): Add memdisk.mod.
28371 (memdisk_mod_SOURCES): New variable.
28372 (memdisk_mod_CFLAGS): Likewise.
28373 (memdisk_mod_LDFLAGS): Likewise.
28374 (pkglib_MODULES): Add reboot.mod.
28375 (reboot_mod_SOURCES): New variable.
28376 (reboot_mod_CFLAGS): Likewise.
28377 (reboot_mod_LDFLAGS): Likewise.
28378 (pkglib_MODULES): Add date.mod.
28379 (date_mod_SOURCES): New variable.
28380 (date_mod_CFLAGS): Likewise.
28381 (date_mod_LDFLAGS): Likewise.
28382 (pkglib_MODULES): Add datehook.mod.
28383 (datehook_mod_SOURCES): New variable.
28384 (datehook_mod_CFLAGS): Likewise.
28385 (datehook_mod_LDFLAGS): Likewise.
28386 (pkglib_MODULES): Add lsmmap.mod.
28387 (lsmmap_mod_SOURCES): New variable.
28388 (lsmmap_mod_CFLAGS): Likewise.
28389 (lsmmap_mod_LDFLAGS): Likewise.
28390 (pkglib_MODULES): Add boot.mod.
28391 (boot_mod_SOURCES): New variable.
28392 (boot_mod_CFLAGS): Likewise.
28393 (boot_mod_LDFLAGS): Likewise.
28394 * conf/i386-coreboot.rmk: Removed redundant parts.
28395 * conf/i386-ieee1275.rmk: Likewise.
28396 * conf/i386-pc.rmk: Likewise.
28397 * conf/mips-yeeloong.rmk: Likewise.
28398 * conf/mips.rmk: Likewise.
28399 * conf/powerpc-ieee1275.rmk: Likewise.
28400 * conf/sparc64-ieee1275.rmk: Likewise.
28401 * conf/x86_64-efi.rmk: Likewise.
28402 * conf/i386-coreboot.rmk: Moved qemu parts ..
28403 * conf/i386-qemu.rmk: ... here
28404 * conf/i386-efi.rmk: Moved common parts to...
28405 * conf/x86-efi.rmk: ... here.
28406 * conf/i386.rmk: Added modules common to all x86 variants.
28407 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28408 * disk/memdisk.c: Remove grub/machine/kernel.h.
28409 * gensymlist.sh.in: Include symbol.h.
28410 * hook/datehook.c: Correct module name.
28411 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28412 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28413 * include/grub/i386/efi/serial.h: New file.
28414 * include/grub/x86_64/efi/serial.h: Likewise.
28415 * util/time.c: Likewise.
28416 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28417
28418 2010-03-14 Colin King <colin.king@ubuntu.com>
28419 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
28420
28421 Shrink the pre-partition-table part of boot.img by eight bytes.
28422
28423 * boot/i386/pc/boot.S (ERR): New macro.
28424 (chs_mode): Use ERR.
28425 (geometry_error): Likewise.
28426 (hd_probe_error): Remove. This is only used once, so we wrwite
28427 it inline instead.
28428 (read_error): Instead of printing read_error_string, just set up
28429 %si and fall through to ...
28430 (error_message): ... this new function, also used by ERR.
28431
28432 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
28433
28434 Speed up consecutive hostdisk operations on the same device.
28435
28436 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28437 (grub_util_biosdisk_open): Initialise disk->data.
28438 (struct linux_partition_cache): New structure.
28439 (linux_find_partition): Cache partition start positions; these are
28440 expensive to compute on every read and write.
28441 (open_device): Cache open file descriptor in disk->data, so that we
28442 don't have to reopen it and flush the buffer cache for consecutive
28443 operations on the same device.
28444 (grub_util_biosdisk_close): New function.
28445 (grub_util_biosdisk_dev): Set `close' member.
28446
28447 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28448 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28449 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28450 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28451 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28452
28453 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28454
28455 Compile parts of grub-emu as modules.
28456
28457 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28458 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28459 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28460 (all-local): Add $(GRUB_EMU).
28461 (install-local): Install $(GRUB_EMU).
28462 (uninstall): Uninstall $(GRUB_EMU).
28463 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28464 * kern/dl.c: Likewise.
28465 * commands/sleep.c: Not include machine/time.h.
28466 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28467 (COMMON_CFLAGS): Likewise.
28468 (sbin_UTILITIES): Remove grub-emu.
28469 (grub_emu_SOURCES): Removed.
28470 (kernel_img_RELOCATABLE): New variable.
28471 (pkglib_PROGRAMS): Add kernel.img.
28472 (kernel_img_SOURCES): New variable
28473 (kernel_img_CFLAGS): Likewise.
28474 (kernel_img_LDFLAGS): Likewise.
28475 (TARGET_NO_STRIP): Likewise.
28476 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28477 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28478 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28479 (grub-emu): New target.
28480 (GRUB_EMU): New variable.
28481 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28482 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28483 * loader/xnu.c: Likewise.
28484 * include/grub/pci.h: Likewise.
28485 * genemuinit.sh: New file.
28486 * genemuinitheader.sh: Likewise.
28487 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28488 Support TARGET_NO_DYNAMIC_MODULES.
28489 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28490 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28491 * disk/loopback.c: Likewise.
28492 * font/font_cmd.c: Likewise.
28493 * partmap/acorn.c: Likewise.
28494 * partmap/amiga.c: Likewise.
28495 * partmap/apple.c: Likewise.
28496 * partmap/gpt.c: Likewise.
28497 * partmap/msdos.c: Likewise.
28498 * partmap/sun.c: Likewise.
28499 * parttool/msdospart.c: Likewise.
28500 * term/gfxterm.c: Likewise.
28501 * video/bitmap.c: Likewise.
28502 * video/readers/jpeg.c: Likewise.
28503 * video/readers/png.c: Likewise.
28504 * video/readers/tga.c: Likewise.
28505 * video/video.c: Likewise.
28506 * util/grub-emu.c (read_command_list): Removed.
28507 (main): Don't call util_init_nls.
28508 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28509 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28510
28511 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28514 date.mod, datehook.mod.
28515 (datetime_mod_SOURCES): New variable.
28516 (datetime_mod_CFLAGS): Likewise.
28517 (datetime_mod_LDFLAGS): Likewise.
28518 (date_mod_SOURCES): Likewise.
28519 (date_mod_CFLAGS): Likewise.
28520 (date_mod_LDFLAGS): Likewise.
28521 (datehook_mod_SOURCES): Likewise.
28522 (datehook_mod_CFLAGS): Likewise.
28523 (datehook_mod_LDFLAGS): Likewise.
28524 * conf/sparc64-ieee1275.rmk: Likewise.
28525 * lib/ieee1275/datetime.c: New file.
28526
28527 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28528
28529 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28530 (ieee1275_fb_mod_SOURCES): New variable.
28531 (ieee1275_fb_mod_CFLAGS): Likewise.
28532 (ieee1275_fb_mod_LDFLAGS): Likewise.
28533 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28534 New proto.
28535 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28536 (HEAP_MAX_ADDR): Likewise.
28537 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28538 type.
28539 Correct stop condition.
28540 (grub_ieee1275_devices_iterate): New function.
28541 * video/ieee1275.c: New file.
28542
28543 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28544
28545 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28546
28547 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28548 as scratch.
28549 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28550 SCRATCH_PAD_DISKBOOT as scratch.
28551 (bootit): Pass Openfirmware pointer in %o4.
28552 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28553 of 0x200000.
28554 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28555 with util/grub-mkrawimage.c.
28556 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28557 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28558 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28559 (grub_aout_load) [GRUB_UTIL]: Likewise.
28560 * include/grub/kernel.h (grub_modules_get_end): New proto.
28561 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28562 (SCRATCH_PAD_BOOT): New definition.
28563 (SCRATCH_PAD_DISKBOOT): Likewise.
28564 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28565 * include/grub/sparc64/ieee1275/ieee1275.h
28566 (grub_ieee1275_original_stack): New variable
28567 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28568 New definition
28569 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28570 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28571 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28572 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28573 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28574 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28575 (grub_platform_image_format_t): New type.
28576 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28577 * kern/main.c (grub_modules_get_end)
28578 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28579 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28580 (codestart): Switch stacks.
28581 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28582 variable.
28583 (grub_heap_init): Use grub_modules_get_end.
28584 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28585 stack.
28586 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28587 (main): Likewise.
28588 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28589
28590 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
28591
28592 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28593
28594 2010-03-08 Matt Kraai <kraai@ftbfs.org>
28595
28596 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28597 bug #559005).
28598
28599 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28600
28601 * genmoddep.awk: Output all missing symbols and not only first.
28602
28603 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28604
28605 * NEWS: Put the date of 1.98 release.
28606
28607 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28608
28609 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28610 ft2build.h.
28611
28612 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28613
28614 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28615 completition in the middle of string.
28616
28617 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28618
28619 * util/grub-mkrescue.in: Use mktemp with explicit template.
28620
28621 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28622
28623 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28624
28625 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28626
28627 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28628 right pointer.
28629
28630 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28631
28632 Fix FreeBSD compilation.
28633
28634 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28635 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28636
28637 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28638
28639 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28640
28641 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28642
28643 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28644
28645 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28648
28649 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28650
28651 Support relative image path in theme file.
28652
28653 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28654 (image_set_property): Handle theme_dir and relative path.
28655
28656 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28657
28658 * configure.ac: Alias amd64 to x86_64.
28659
28660 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28661
28662 * NEWS: mention multiboot on EFI.
28663
28664 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28665
28666 * kern/main.c (grub_load_modules): Handle errors from init functions of
28667 embeded modules.
28668
28669 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28670
28671 * normal/autofs.c (autoload_fs_module): Handle errors.
28672
28673 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28674
28675 Disable linux.mod on qemu-mips since it's not functional and leads
28676 to compilation failure.
28677
28678 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28679 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28680 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28681 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28682 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28683 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28684 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28685 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28686 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28687 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28688 Reported by: BVK Chaitanya
28689
28690 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28691
28692 * INSTALL: Add gettext as a dependency and add qemu to a new section
28693 "Prerequisites for make-check".
28694
28695 2010-03-04 Christian Franke <franke@computer.org>
28696
28697 * util/grub-pe2elf.c: Add missing include "progname.h".
28698
28699 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28700
28701 * normal/crypto.c (read_crypto_list): Fix a typo.
28702 Reported by: Seth Goldberg.
28703
28704 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28705
28706 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
28707 Reported by: Seth Goldberg.
28708
28709 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28712 ascii.bitmaps.
28713
28714 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28715
28716 * genmk.rb: Remove terminal*.lst in make clean.
28717 Reported by: Seth Goldberg.
28718
28719 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28720
28721 * util/i386/efi/grub-install.in: Copy gettext files.
28722
28723 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28724
28725 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28726
28727 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28728
28729 Wait for user entry basing on presence of output rather than on errors.
28730
28731 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28732 (grub_install_newline_hook): Likewise.
28733 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28734 * normal/menu.c (show_menu): Check line_counter to determine presence
28735 of output.
28736 * normal/term.c (grub_normal_line_counter): New variable.
28737 (grub_normal_get_line_counter): New function.
28738 (grub_install_newline_hook): Likewise.
28739
28740 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28743
28744 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 * configure.ac: Update version to 1.98.
28747
28748 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 * util/grub.d/10_linux.in (linux_entry): Don't default to
28751 gfxpayload=keep if Linux doesn't support video handover.
28752
28753 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 Don't compile video modules on yeeloong since video subsystem is part
28756 of kernel.
28757
28758 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28759 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28760 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28761 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28762 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28763 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28764 * include/grub/bitmap_scale.h: Likewise.
28765 * include/grub/bufio.h: Likewise.
28766 * include/grub/font.h: Likewise.
28767 * include/grub/gfxterm.h: Likewise.
28768 * include/grub/video.h: Likewise.
28769 * include/grub/vbe.h: Don't include video_fb.h.
28770 * video/i386/pc/vbe.c: Include video_fb.h.
28771 * commands/i386/pc/vbetest.c: Include video.h.
28772
28773 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28774
28775 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28776 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28777 default entry if GRUB_SAVEDEFAULT=true. This allows using
28778 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28779 saving a new default on every boot.
28780
28781 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28782
28783 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28784 * normal/term.c (read_terminal_list): Likewise.
28785 * normal/main.c (grub_normal_init_page): Likewise.
28786 (grub_normal_read_line_real): Likewise.
28787
28788 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28789
28790 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28791 memory leak.
28792 Reported by: Seth Goldberg.
28793
28794 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28795
28796 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28797 duplicate declaration of `start'.
28798
28799 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28800
28801 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28802 filename.
28803 Reported by: Georgy Buranov
28804
28805 2010-02-20 Carles Pina i Estany <carles@pina.cat>
28806
28807 * util/grub-mkrawimage.c (usage): Change string formatting to
28808 improve gettext.
28809
28810 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28811
28812 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28813 backspace keys.
28814
28815 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28816
28817 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28818 Reported by: Michael Suchanek.
28819
28820 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
28821
28822 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28823 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28824
28825 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28826
28827 Remove any reference to non-free fonts.
28828
28829 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28830 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28831 uses non-free components.
28832 * font/font.c (grub_font_get_name): Remove example name.
28833 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28834 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28835 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28836 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28837
28838 2010-02-16 Georgy Buranov <gburanov@gmail.com>
28839
28840 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28841
28842 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28843
28844 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28845 Double divisor.
28846 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28847 features.
28848 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28849
28850 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28851
28852 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28853
28854 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28855
28856 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28857 * docs/grub.texi (Command-line and menu entry commands): Document play
28858 command.
28859
28860 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28861
28862 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28863 parse arguments as inline tempo and notes. Move code for playing notes
28864 to...
28865 (play): ... new function.
28866
28867 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28868
28869 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28870 grub_uint16_t instead of short.
28871 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28872 disk from little endian to cpu endianness.
28873
28874 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28875
28876 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28877 GRUB_TICKS_PER_SECOND instead of 120.
28878
28879 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28880
28881 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28882 escape sequence after \e.
28883
28884 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28885
28886 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28887 non-ASCII characters.
28888
28889 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28892 set root in single quotes to prevent \, from being unescaped.
28893
28894 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 Prevent unknown commands from stopping menuentry execution.
28897
28898 * script/execute.c (grub_script_execute_cmdline): Print error after
28899 unknown command.
28900
28901 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28902
28903 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28904 Reported by: Pavel Pisa.
28905
28906 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28907
28908 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28909
28910 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28911
28912 Merge grub_ieee1275_map_physical into grub_map and rename to
28913 grub_ieee1275_map
28914
28915 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28916 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28917 Remove.
28918 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28919 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28920 necessary.
28921 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28922
28923 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28924
28925 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28926 opening and not after.
28927
28928 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28931 constants.
28932
28933 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28934
28935 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28936 (alloc_phys): Use ALIGN_UP instead of align_addr.
28937
28938 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28939
28940 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28941
28942 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28943
28944 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28945
28946 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28947
28948 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28949 verbose dprintf.
28950
28951 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28952
28953 Fix over-4GiB seek on sparc64.
28954
28955 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28956 Replace pos_i and pos_lo with pos. All users updated.
28957 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28958 New constant.
28959 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28960 Likewise.
28961 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28962 and pos_lo.
28963
28964 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28965
28966 * util/grub-mkrawimage.c (main): Call set_program_name.
28967
28968 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28969
28970 Properly align 64-bit targets.
28971
28972 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28973 (generate_image): Use ALIGN_ADDR.
28974
28975 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28976
28977 Properly create cross-endian images.
28978
28979 * include/grub/types.h (grub_host_to_target_addr): New macro
28980 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28981
28982 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28983
28984 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28985
28986 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28989
28990 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28991 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28992 (grub_linux_boot): Divide by 64K when on VESA.
28993
28994 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28995
28996 Support GRUB_GFXPAYLOAD_LINUX.
28997
28998 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28999 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29000
29001 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29004 to show messages instead of discarding them.
29005 Process errors after executing command and not before. Keep old method
29006 too as precaution.
29007
29008 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29009
29010 * configure.ac: Check for ft2build.h.
29011
29012 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29013
29014 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29015
29016 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29017
29018 * genkernsyms.sh.in: Use TARGET_CC.
29019
29020 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
29021
29022 * NEWS: Update.
29023
29024 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29025
29026 * include/grub/multiboot2.h: Remove leftover file.
29027 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29028 * include/grub/partition.h [GRUB_UTIL]: Likewise.
29029
29030 2010-02-07 Yves Blusseau <blusseau@zetam.org>
29031
29032 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
29033
29034 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29035
29036 Fix warnings in grub-emu when compiling with maximum warning options.
29037
29038 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29039 (grub_arch_modules_addr): Return 0 and not NULL.
29040 * util/misc.c (ENABLE_RELOCATABLE): New definition.
29041 (xstrdup): Use newstr instead of dup.
29042 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29043 of disk to dsk to avoid shadowing.
29044 (find_free_slot): Fix prototype.
29045 * util/getroot.c (grub_util_is_dmraid): Make static.
29046 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29047 Add missing prototype.
29048 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
29049
29050 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29053 appropriately.
29054
29055 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29058 code out.
29059
29060 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29061
29062 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29063 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29064 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29065 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29066 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29067 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29068
29069 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29070
29071 * include/grub/err.h (grub_err_printf): Don't export.
29072
29073 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29074
29075 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29076
29077 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29078
29079 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29080 * kern/misc.c (grub_gettext_dummy): Make static.
29081
29082 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29083
29084 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29085 by non-valid ones.
29086 * kern/term.c (grub_putchar): Likewise.
29087
29088 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29089
29090 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29091 buggy hook call and memory leak.
29092
29093 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29094
29095 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29096
29097 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29098
29099 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29100
29101 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29102
29103 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29104 modevar.
29105 Return grub_errno on allocation error.
29106
29107 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29108
29109 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29110
29111 2010-02-06 Yves Blusseau <blusseau@zetam.org>
29112
29113 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29114 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29115
29116 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29117
29118 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29119 non-pxe disk.
29120 (grub_pxefs_open): Likewise.
29121
29122 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29123
29124 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29125 * util/grub.d/10_kfreebsd.in: Likewise.
29126 * util/grub.d/10_linux.in: Likewise.
29127
29128 2010-02-06 Colin D Bennett <colin@gibibit.com>
29129
29130 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29131 (gfxmenu_mod_SOURCES): New variable.
29132 (gfxmenu_mod_CFLAGS): Likewise.
29133 (gfxmenu_mod_LDFLAGS): Likewise.
29134 * include/grub/term.h (grub_term_set_current_output): Declare
29135 argument as const.
29136 * docs/gfxmenu-theme-example.txt: New file.
29137 * gfxmenu/gfxmenu.c: Likewise.
29138 * gfxmenu/gui_box.c: Likewise.
29139 * gfxmenu/gui_canvas.c: Likewise.
29140 * gfxmenu/gui_circular_progress.c: Likewise.
29141 * gfxmenu/gui_image.c: Likewise.
29142 * gfxmenu/gui_label.c: Likewise.
29143 * gfxmenu/gui_list.c: Likewise.
29144 * gfxmenu/gui_progress_bar.c: Likewise.
29145 * gfxmenu/gui_string_util.c: Likewise.
29146 * gfxmenu/gui_util.c: Likewise.
29147 * gfxmenu/icon_manager.c: Likewise.
29148 * gfxmenu/model.c: Likewise.
29149 * gfxmenu/named_colors.c: Likewise.
29150 * gfxmenu/theme_loader.c: Likewise.
29151 * gfxmenu/view.c: Likewise.
29152 * gfxmenu/widget-box.c: Likewise.
29153 * include/grub/gfxmenu_model.h: Likewise.
29154 * include/grub/gfxmenu_view.h: Likewise.
29155 * include/grub/gfxwidgets.h: Likewise.
29156 * include/grub/gui.h: Likewise.
29157 * include/grub/gui_string_util.h: Likewise.
29158 * include/grub/icon_manager.h: Likewise.
29159
29160 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 Agglomerate scrolling in gfxterm.
29163
29164 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29165 (grub_virtual_screen_setup): Initialise 'total_screen'.
29166 (write_char): Split to ...
29167 (paint_char): ... this ...
29168 (write_char): ... and this.
29169 (paint_char): Handle delayed scrolling.
29170 (draw_cursor): Likewise.
29171 (scroll_up): Split to ...
29172 (real_scroll): ... this ...
29173 (scroll_up): ... and this.
29174 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29175 characters.
29176 (grub_gfxterm_refresh): Call real_scroll.
29177
29178 2010-02-06 Colin D Bennett <colin@gibibit.com>
29179
29180 * include/grub/misc.h (grub_iscntrl): New inline function.
29181 (grub_isalnum): Likewise.
29182 (grub_strtol): Likewise.
29183
29184 2010-02-06 Colin D Bennett <colin@gibibit.com>
29185
29186 * normal/menu_text.c (get_entry_number): Move from here ...
29187 * normal/menu.c (get_entry_number): ... moved here.
29188 * include/grub/menu.h (grub_menu_get_default_entry_index):
29189 New prototype.
29190 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29191 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29192 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29193 (grub_menu_viewer_should_return): Likewise.
29194 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29195 * normal/menu_text.c (run_menu): Enable menu switching.
29196 * normal/menu_viewer.c (should_return): New variable.
29197 (menu_viewer_changed): Likewise.
29198 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29199 (grub_menu_viewer_should_return): New function.
29200 (menuviewer_write_hook): Likewise.
29201 (grub_menu_viewer_init): Likewise.
29202
29203 2010-02-06 Colin D Bennet <colin@gibibit.com>
29204 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29205
29206 Support for gfxterm in a window.
29207
29208 * include/grub/gfxterm.h: New file.
29209 * include/grub/video.h (struct grub_video_rect): New declaration.
29210 (grub_video_rect_t): Likewise.
29211 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29212 (refcount): New variable.
29213 (render_target): Likewise.
29214 (window): Likewise.
29215 (repaint_callback): Likewise.
29216 (grub_virtual_screen_setup): Use 'render_target'.
29217 (init_window): New function.
29218 (grub_gfxterm_init_window): Likewise.
29219 (grub_gfxterm_init): Check reference counter.
29220 Use init_window.
29221 (destroy_window): New function.
29222 (grub_gfxterm_destroy_window): Likewise.
29223 (grub_gfxterm_fini): Check reference counter.
29224 Use destroy_window.
29225 (redraw_screen_rect): Restore viewport.
29226 Use 'render_target' and 'window'.
29227 Call 'repaint_callback'.
29228 (write_char): Use 'render_target'.
29229 (draw_cursor): Likewise.
29230 (scroll_up): Restore viewport.
29231 Use 'render_target' and 'window'.
29232 Call 'repaint_callback'.
29233 (grub_gfxterm_cls): Likewise.
29234 (grub_gfxterm_refresh): Use 'window'.
29235 (grub_gfxterm_set_repaint_callback): New function.
29236 (grub_gfxterm_background_image_cmd): Use 'window'.
29237 (grub_gfxterm_get_term): New function.
29238 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29239
29240 2010-02-06 Colin D Bennett <colin@gibibit.com>
29241
29242 Bitmap scaling support.
29243
29244 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29245 (bitmap_scale_mod_SOURCES): New variable.
29246 (bitmap_scale_mod_CFLAGS): Likewise.
29247 (bitmap_scale_mod_LDFLAGS): Likewise.
29248 * include/grub/bitmap_scale.h: New file.
29249 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29250 (background_image_cmd_options): New variable.
29251 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29252 (cmd): Rename and change type to ...
29253 (background_image_cmd_handle): ... this. All users updated.
29254 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29255 * video/bitmap_scale.c: New file.
29256
29257 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29258
29259 SDL support.
29260
29261 * Makefile.in (LIBSDL): New variable.
29262 (enable_grub_emu_sdl): Likewise.
29263 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29264 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29265 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29266 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29267 * util/sdl.c: New file.
29268
29269 2010-02-06 Colin D Bennett <colin@gibibit.com>
29270 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29271
29272 Double buffering support.
29273
29274 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29275 * include/grub/video.h: Update comment.
29276 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29277 New type.
29278 (grub_video_fb_doublebuf_blit_init): New prototype.
29279 * term/gfxterm.c (scroll_up): Support double buffering.
29280 (grub_gfxterm_refresh): Likewise.
29281 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29282 (grub_video_fb_doublebuf_blit_init): Likewise.
29283 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29284 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29285 'displayed_page', 'render_page' and 'update_screen'.
29286 (grub_video_vbe_fini): Free offscreen buffer.
29287 (doublebuf_pageflipping_commit): New function.
29288 (doublebuf_pageflipping_update_screen): Likewise.
29289 (doublebuf_pageflipping_init): Likewise.
29290 (double_buffering_init): Likewise.
29291 (grub_video_vbe_setup): Enable doublebuffering.
29292 (grub_video_vbe_swap_buffers): Implement.
29293 (grub_video_vbe_set_active_render_target): Handle double buffering.
29294 (grub_video_vbe_get_active_render_target): Likewise.
29295 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29296 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29297 (grub_video_vbe_enable_double_buffering): Likewise.
29298 (grub_video_vbe_swap_buffers): Use update_screen.
29299 (grub_video_set_mode): Use double buffering.
29300
29301 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29302
29303 * maintainance/gentrigtables.py: Remove.
29304 * lib/trig.c: Likewise.
29305
29306 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29307
29308 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29309 `trigtables.c'.
29310 (trigtables.c): New rule.
29311 (gentrigtables): Likewise.
29312 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29313
29314 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29317 integer constants.
29318
29319 2010-02-06 Colin D Bennet <colin@gibibit.com>
29320
29321 Trigonometry support.
29322
29323 * include/grub/trig.h: New file.
29324 * lib/trig.c: Likewise.
29325 * maintainance/gentrigtables.py: Likewise.
29326 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29327 (trig_mod_SOURCES): New variable.
29328 (trig_mod_CFLAGS): Likewise.
29329 (trig_mod_LDFLAGS): Likewise.
29330
29331 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29332
29333 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29334 disk devices.
29335
29336 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29337
29338 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29339 error.
29340
29341 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29342
29343 * util/hostdisk.c (open_device): Don't use partition device when reading
29344 before the partition.
29345 (grub_util_biosdisk_read): Don't read from partition and before the
29346 partition in single operation.
29347 (grub_util_biosdisk_write): Don't write to partition and before the
29348 partition in single operation.
29349
29350 2010-02-03 Torsten Landschoff <torsten@debian.org>
29351
29352 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29353 last sectors.
29354
29355 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29356
29357 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29358 CDROM reads.
29359 (grub_biosdisk_write): Refuse to write to CDROM.
29360
29361 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29364
29365 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29366
29367 * font/font.c (find_glyph): Check that bmp_idx is available before
29368 using it.
29369 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29370 with (font == NULL).
29371
29372 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
29373
29374 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29375
29376 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29377
29378 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29379 * util/grub-script-check.c (getline): Fix empty lines case.
29380
29381 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29382
29383 * Makefile.in (check): Exit with fail status when one of the tests
29384 fails.
29385 * tests/example_functional_test.c (example_test): Fix reversed assert.
29386 * tests/example_unit_test.c (example_test): Likewise.
29387
29388 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
29389
29390 * util/grub.d/10_linux.in: This script does not use any of the
29391 contents of gettext.sh, only the external command `gettext', so stop
29392 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29393 the same prefix as GRUB.)
29394 * util/grub.d/10_kfreebsd.in: Likewise.
29395
29396 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29397
29398 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29399 of the line.
29400
29401 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29402
29403 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29404 last sectors.
29405
29406 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29407
29408 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29409 having a 4KiB and not 32KiB buffer size.
29410
29411 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29412
29413 * util/hostfs.c: Include `<errno.h>'.
29414 (grub_hostfs_read): Handle errors from fseeko() and fread().
29415
29416 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29417
29418 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29419 loop when using read hooks on files whose size isn't sector-aligned.
29420
29421 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 Remove unused parameter.
29424
29425 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29426 (grub_iso9660_open): Remove initialization of `data->length'.
29427
29428 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29429
29430 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29431 memleak conditions.
29432
29433 2010-01-27 Carles Pina i Estany <carles@pina.cat>
29434
29435 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29436 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29437
29438 2010-01-26 Carles Pina i Estany <carles@pina.cat>
29439
29440 * util/bin2h.c (usage): Fix warning (space after backslash).
29441
29442 2010-01-26 Carles Pina i Estany <carles@pina.cat>
29443
29444 * font/font.c: Include `grub/fontformat.h.
29445 Remove font file format constants.
29446 (grub_font_load): Use the new macros.
29447 * include/grub/fontformat.h: New file.
29448 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29449 (write_font_pf2): Use the new macros.
29450
29451 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29452
29453 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29454 does.
29455
29456 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29457
29458 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29459
29460 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29461 (_start): Macroify `0x7F'.
29462
29463 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29464 (make_install_device): Use "(pxe)" as fallback prefix when booting
29465 via PXE.
29466
29467 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29468
29469 * configure.ac: Reset LIBS after check for libgcc symbols.
29470
29471 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
29472
29473 * util/hostdisk.c (open_device): Add trailing newline to debug
29474 message.
29475
29476 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29477
29478 * configure.ac: Check for `limits.h'.
29479 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29480
29481 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29482
29483 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29484 capitalize error strings.
29485
29486 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29487
29488 * util/grub.d/10_hurd.in: Add a recovery mode.
29489
29490 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29491
29492 * configure.ac: Check for libgcc symbols with -nostdlib.
29493
29494 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29495
29496 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29497
29498 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29499
29500 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29501 stack since heap may be unavailable at that point.
29502 (grub_ofconsole_gotoxy): Likewise.
29503
29504 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29505
29506 * configure.ac: Check for _restgpr_14_x.
29507 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29508 and _savegpr_* prototypes.
29509
29510 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 Use generic grub_reboot() for i386-efi.
29513
29514 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29515 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29516 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29517
29518 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29519
29520 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29521 presence of "prefix" variable as it breaks when normal.mod is
29522 embedded.
29523
29524 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29525
29526 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29527 stack since heap is unavailable at that point.
29528
29529 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29530
29531 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29532 (grub_freebsd_bootinfo): Rewritten.
29533 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29534
29535 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29536
29537 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29538
29539 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29542 domain now.
29543
29544 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
29545
29546 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29547 around for handling "/" to the correct fix. Fix a memory leak. Use
29548 xstrdup instead of strdup.
29549
29550 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29551
29552 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29553
29554 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29555
29556 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29557
29558 * font/font.c (struct grub_font): New member 'bmp_idx'.
29559 (font_init): Initialise 'bmp_idx'.
29560 (load_font_index): Fill 'bmp_idx'.
29561 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29562
29563 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29564
29565 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29566 unnecessary calls.
29567
29568 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29569
29570 Move context handling out of the kernel.
29571
29572 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29573 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29574 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29575 * conf/i386-efi.rmk: Likewise.
29576 * conf/i386-ieee1275.rmk: Likewise.
29577 * conf/i386-pc.rmk: Likewise.
29578 * conf/powerpc-ieee1275.rmk: Likewise.
29579 * conf/sparc64-ieee1275.rmk: Likewise.
29580 * conf/x86_64-efi.rmk: Likewise.
29581 * include/grub/env.h: Include grub/menu.h.
29582 (grub_env_var_type): Removed.
29583 (grub_env_var): Replaced field 'type' with 'global'.
29584 (grub_env_find): New prototype.
29585 (grub_env_context_open): Remove EXPORT_FUNC.
29586 (grub_env_context_close): Likewise.
29587 (grub_env_export): Likewise.
29588 (grub_env_set_data_slot): Removed.
29589 (grub_env_get_data_slot): Likewise.
29590 (grub_env_unset_data_slot): Likewise.
29591 (grub_env_unset_menu): New prototype.
29592 (grub_env_set_menu): Likewise.
29593 (grub_env_get_menu): Likewise.
29594 * include/grub/env_private.h: New file.
29595 * include/grub/normal.h (grub_context_init): New prototype.
29596 (grub_context_fini): Likewise.
29597 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29598 * normal/context.c (grub_cmd_export): ... to here.
29599 * kern/env.c: Include env_private.h.
29600 (HASHSZ): Moved to include/grub/env_private.h.
29601 (grub_env_context): Likewise.
29602 (grub_env_sorted_var): Likewise.
29603 (current_context): Renamed from this ...
29604 (grub_current_context): ...to this. 'static' removed. All users updated.
29605 (grub_env_find): Removed 'static'.
29606 (grub_env_context_open): Moved to normal/context.c.
29607 (grub_env_context_close): Likewise.
29608 (grub_env_export): Likewise.
29609 (mangle_data_slot_name): Removed.
29610 (grub_env_set_data_slot): Likewise.
29611 (grub_env_get_data_slot): Likewise.
29612 (grub_env_unset_data_slot): Likewise.
29613 * kern/main.c (grub_set_root_dev): Don't export root.
29614 It will be done later.
29615 (grub_main): Don't export prefix.
29616 It will be done later.
29617 * normal/context.c: New file.
29618 * normal/main.c (free_menu): Use grub_env_unset_menu.
29619 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29620 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29621 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29622 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29623
29624 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29625
29626 setpci support.
29627
29628 * commands/setpci.c: New file.
29629 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29630 (setpci_mod_SOURCES): New variable.
29631 (setpci_mod_CFLAGS): Likewise.
29632 (setpci_mod_LDFLAGS): Likewise.
29633
29634 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29635
29636 Byte-addressable PCI configuration space.
29637
29638 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29639 dword address.
29640 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29641 GRUB_PCI_REG_CACHELINE.
29642 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29643 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29644 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29645 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29646 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29647 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29648 grub_pci_make_address.
29649 (lock_rom_area): Likewise.
29650 * commands/lspci.c (grub_lspci_iter): Use macroses
29651 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29652 of grub_pci_make_address.
29653 * disk/ata.c (grub_ata_pciinit): Likewise.
29654 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29655 (GRUB_PCI_REG_VENDOR): Likewise.
29656 (GRUB_PCI_REG_DEVICE): Likewise.
29657 (GRUB_PCI_REG_COMMAND): Likewise.
29658 (GRUB_PCI_REG_STATUS): Likewise.
29659 (GRUB_PCI_REG_REVISION): Likewise.
29660 (GRUB_PCI_REG_CLASS): Likewise.
29661 (GRUB_PCI_REG_CACHELINE): Likewise.
29662 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29663 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29664 (GRUB_PCI_REG_BIST): Likewise.
29665 (GRUB_PCI_REG_ADDRESSES): Likewise.
29666 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29667 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29668 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29669 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29670 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29671 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29672 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29673 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29674 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29675 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29676 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29677 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29678 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29679 (GRUB_PCI_REG_MIN_GNT): Likewise.
29680 (GRUB_PCI_REG_MAX_LAT): Likewise.
29681 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29682 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29683 * video/efi_uga.c (find_framebuf): Likewise.
29684 * video/sm712.c (grub_video_sm712_setup): Likewise.
29685 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29686 space.
29687
29688 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29689
29690 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29691 can be reliably determined to be supported.
29692
29693 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29694
29695 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29696 that VESA is supported.
29697 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29698 supported.
29699
29700 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29701
29702 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29703
29704 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29705
29706 * util/misc.c (make_system_path_relative_to_its_root): Work around
29707 special-casing of "/", as previous incarnation of this routine did.
29708
29709 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29710
29711 Fix any-emu compilation.
29712
29713 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29714 * grub_bin2h_SOURCES: New variable.
29715
29716 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29717
29718 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29719
29720 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29721
29722 * util/grub.d/00_header.in: Fix handling of locale_dir.
29723
29724 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29725
29726 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29727 as possible unifont location (Gentoo).
29728 Reported by: Alexander Brüning
29729
29730 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29731
29732 Don't try to generate lists for kernel.img.
29733
29734 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29735 (pkglib_MODULES): Remove kernel.img.
29736 (kernel_img_EXPORTS): Removed.
29737 (kernel_img_RELOCATABLE): New variable.
29738 * conf/x86_64-efi.rmk: Likewise.
29739 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29740
29741 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29742
29743 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29744 grub_xasprintf or grub_snprintf.
29745 (grub_vsprintf): Likewise.
29746 (grub_snprintf): New proto.
29747 (grub_vsnprintf): Likewise.
29748 (grub_xasprintf): Likewise.
29749 (grub_xvasprintf): Likewise.
29750 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29751 (grub_sprintf): Removed.
29752 (grub_vsnprintf): New function.
29753 (grub_snprintf): Likewise.
29754 (grub_xvasprintf): Likewise.
29755 (grub_xasprintf): Likewise.
29756 (grub_vsprintf): Renamed to ...
29757 (grub_vsnprintf_real): ...this. New argument max_len.
29758
29759 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29760
29761 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29762 fix grub-script-check warning.
29763
29764 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29765
29766 * include/grub/font.h (grub_font_load): Fix prototype.
29767
29768 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29769
29770 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29771
29772 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29773
29774 * include/grub/x86_64/at_keyboard.h: New file.
29775
29776 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29777
29778 * loader/mips/linux.c: Include missing grub/i18n.h.
29779
29780 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29781
29782 * normal/menu.c (notify_execution_failure): Clarify error message.
29783
29784 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29785
29786 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29787 return value (and revert all return statements). Update users.
29788
29789 2010-01-20 Dan Merillat <debian@dan.merillat.org>
29790
29791 * kern/device.c (grub_device_iterate): Allocate new part_ent
29792 structure based on sizeof (*p) rather than sizeof (p->next), to
29793 account for structure padding.
29794
29795 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29796 disk is NULL, which might happen for LVM physical volumes with no
29797 LVM signature.
29798
29799 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29800
29801 * loader/mips/linux.c (grub_cmd_initrd)
29802 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29803
29804 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29805
29806 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29807 (grub_video_video_init, grub_video_bitmap_init)
29808 (grub_font_manager_init, grub_term_gfxterm_init)
29809 (grub_at_keyboard_init): New extern declarations.
29810 (grub_machine_init): Initialize gfxterm and at_keyboard.
29811
29812 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29813
29814 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29815 `gfxterm.mod' into core image.
29816
29817 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29818 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29819 (kernel_img_FORMAT): Copy to ...
29820
29821 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29822 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29823 (kernel_img_FORMAT): ... here, and ...
29824
29825 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29826 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29827 (kernel_img_FORMAT): ... here.
29828
29829 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29830 and input (at_keyboard) terminals in kernel.
29831 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29832
29833 (pkglib_MODULES): Remove `pci.mod'.
29834 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29835 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29836 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29837 (at_keyboard_mod_LDFLAGS): Remove variables.
29838
29839 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
29840
29841 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29842
29843 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29844
29845 * include/grub/mips/libgcc.h: Only export symbols for functions
29846 that libgcc provides.
29847
29848 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29849
29850 MIPS support.
29851
29852 * bus/bonito.c: New file.
29853 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29854 GRUB_PCI_NUM_DEVICES.
29855 * term/i386/pc/serial.c: Move to ...
29856 * term/serial.c: ... here. All users updated.
29857 * util/i386/pc/grub-mkimage.c: Move to ...
29858 * util/grub-mkrawimage.c: ... here. All users updated.
29859 * term/i386/pc/at_keyboard.c: Move to ...
29860 * term/at_keyboard.c: ... here. All users updated.
29861 * conf/mips-qemu-mips.rmk: New file.
29862 * conf/mips-yeeloong.rmk: Likewise.
29863 * conf/mips.rmk: Likewise.
29864 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29865 mipsel-qemu-mips.
29866 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29867 to port addresses.
29868 (grub_ata_pciinit): Support CS5536.
29869 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29870 * font/font_cmd.c (loadfont_command): Open file before passing it to
29871 grub_font_load.
29872 (pseudo_file_read): New function.
29873 (pseudo_file_close): Likewise.
29874 (pseudo_fs): New structure.
29875 (load_font_module): New function.
29876 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29877 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29878 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29879 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29880 * include/grub/i386/at_keyboard.h: Split into ...
29881 * include/grub/at_keyboard.h: ... this ...
29882 * include/grub/i386/at_keyboard.h: ... and this.
29883 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29884 New prototype.
29885 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29886 updated.
29887 (grub_elf64_size): Likewise.
29888 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29889 filename.
29890 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29891 * include/grub/i386/coreboot/serial.h: Rewritten.
29892 * include/grub/i386/ieee1275/serial.h: Include
29893 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29894 * include/grub/i386/pc/serial.h: Moved from here ...
29895 * include/grub/serial.h: ... to here. All users updated.
29896 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29897 (GRUB_PCI_NUM_BUS): Likewise.
29898 (GRUB_PCI_NUM_DEVICES): Likewise.
29899 (grub_pci_device_map_range): Add missing volatile keyword.
29900 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29901 * include/grub/mips/at_keyboard.h: New file.
29902 * include/grub/mips/cache.h: Likewise.
29903 * include/grub/mips/io.h: Likewise.
29904 * include/grub/mips/kernel.h: Likewise.
29905 * include/grub/mips/libgcc.h: Likewise.
29906 * include/grub/mips/pci.h: Likewise.
29907 * include/grub/mips/qemu-mips/boot.h: Likewise.
29908 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29909 * include/grub/mips/qemu-mips/loader.h: Likewise.
29910 * include/grub/mips/qemu-mips/memory.h: Likewise.
29911 * include/grub/mips/qemu-mips/serial.h: Likewise.
29912 * include/grub/mips/qemu-mips/time.h: Likewise.
29913 * include/grub/mips/relocator.h: Likewise.
29914 * include/grub/mips/time.h: Likewise.
29915 * include/grub/mips/types.h: Likewise.
29916 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29917 * include/grub/mips/yeeloong/boot.h: Likewise.
29918 * include/grub/mips/yeeloong/kernel.h: Likewise.
29919 * include/grub/mips/yeeloong/loader.h: Likewise.
29920 * include/grub/mips/yeeloong/memory.h: Likewise.
29921 * include/grub/mips/yeeloong/pci.h: Likewise.
29922 * include/grub/mips/yeeloong/serial.h: Likewise.
29923 * include/grub/mips/yeeloong/time.h: Likewise.
29924 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29925 * kern/elf.c (grub_elf32_size): New parameter. All users
29926 updated.
29927 (grub_elf64_size): Likewise.
29928 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29929 Load modules before saying "Welcome to GRUB!".
29930 Call grub_refresh after saying "Welcome to GRUB!".
29931 * kern/mips/cache.S: New file.
29932 * kern/mips/cache_flush.S: Likewise.
29933 * kern/mips/dl.c: Likewise.
29934 * kern/mips/init.c: Likewise.
29935 * kern/mips/qemu-mips/init.c: Likewise.
29936 * kern/mips/startup.S: Likewise.
29937 * kern/mips/yeeloong/init.c: Likewise.
29938 * kern/term.c (grub_putcode): Handle NULL terminal.
29939 (grub_getcharwidth): Likewise.
29940 (grub_getkey): Likewise.
29941 (grub_checkkey): Likewise.
29942 (grub_getkeystatus): Likewise.
29943 (grub_getxy): Likewise.
29944 (grub_getwh): Likewise.
29945 (grub_gotoxy): Likewise.
29946 (grub_cls): Likewise.
29947 (grub_setcolorstate): Likewise.
29948 (grub_setcolor): Likewise.
29949 (grub_getcolor): Likewise.
29950 (grub_refresh): Likewise.
29951 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29952 (write_jump): Add hatch nop.
29953 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29954 * lib/mips/setjmp.S: New file.
29955 * loader/mips/linux.c: Likewise.
29956 * term/i386/pc/at_keyboard.c: Move from here ...
29957 * term/at_keyboard.c: ... to here.
29958 * term/i386/pc/serial.c: Moved from here ...
29959 * term/serial.c: ... to here. All users updated.
29960 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29961 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29962 (serial_translate_key_sequence): Avoid deadlock.
29963 (grub_serial_getkey): Handle backspace.
29964 (grub_serial_putchar): Fix newline handling.
29965 * util/i386/pc/grub-mkimage.c: Move from here ...
29966 * util/grub-mkrawimage.c: ... to here. All users updated.
29967 (generate_image): New parameters 'font_path' and 'format'.
29968 Support embedding font.
29969 Use grub_host_to_target* instead of grub_cpu_to_le*.
29970 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29971 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29972 (options): New option "--font".
29973 (usage): Likewise.
29974 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29975 (main): Handle "--font".
29976 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29977 (grub_virtual_screen_setup): Set bg_color_display.
29978 (redraw_screen_rect): Use bg_color_display instead of incorrect
29979 bg_color.
29980 (grub_gfxterm_cls): Likewise.
29981 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29982 Support embedding config file.
29983 (add_segments): Likewise.
29984 (options): New option "--config".
29985 (main): Handle "--config".
29986 * video/sm712.c: New file.
29987
29988 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 Fix parallel builds.
29991
29992 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29993 font.c depend on ascii.h).
29994
29995 2010-01-12 Carles Pina i Estany <carles@pina.cat>
29996
29997 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29998
29999 2010-01-11 Carles Pina i Estany <carles@pina.cat>
30000
30001 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30002 By default: disabled.
30003 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30004 parameter.
30005
30006 2010-01-10 Carles Pina i Estany <carles@pina.cat>
30007
30008 * font/font.c: Update copyright years.
30009 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30010
30011 2010-01-10 Carles Pina i Estany <carles@pina.cat>
30012
30013 * font/font.c: Include `ascii.h'.
30014 (ASCII_BITMAP_SIZE): New macro.
30015 (ascii_font_glyph): Define.
30016 (ascii_glyph_lookup): New function.
30017 (grub_font_get_string_width): Change comment. If glyph not found, use
30018 ascii_glyph_lookup.
30019 (grub_font_get_glyph_with_fallback): If glyph not available returns
30020 ascii_glyph_lookup.
30021 * util/grub-mkfont.c (file_formats): New enum.
30022 (options): Add `ascii-bitmaps' new option.
30023 (usage): Add `asii-bitmaps' new option.
30024 (write_font_ascii_bitmap): New function.
30025 (write_font): Rename to ...
30026 (write_font_p2): ... this. Remove print_glyphs call.
30027 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30028 used. Call print_glyphs.
30029 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30030
30031 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30032
30033 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30034 (grub_bin2h_SOURCES): New variable.
30035 * util/bin2h.c: New file.
30036
30037 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 * include/multiboot.h: Resynced with spec.
30040 * include/multiboot2.h: Likewise.
30041 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30042 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30043
30044 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30045
30046 * include/grub/term.h (grub_term_register_input,
30047 grub_term_register_output): Check return of terminal init()
30048 routines, and abort if errors are raised.
30049
30050 * commands/terminal.c: Update copyright year.
30051
30052 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30053
30054 * commands/terminal.c (grub_cmd_terminal_input)
30055 (grub_cmd_terminal_output): Check return of terminal init()
30056 routines, and abort if errors are raised.
30057
30058 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30059
30060 * include/grub/i386/bsd.h: Fix include pathes.
30061
30062 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30063
30064 Add missing *BSD copyright headers.
30065
30066 * include/grub/aout.h: Add BSD licence.
30067 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30068 * include/grub/i386/freebsd_linker.h: ... here,
30069 * include/grub/i386/freebsd_reboot.h: ... here,
30070 * include/grub/i386/netbsd_bootinfo.h: ... here,
30071 * include/grub/i386/netbsd_reboot.h: ... here,
30072 * include/grub/i386/openbsd_bootarg.h: ... here,
30073 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30074 licence to each file.
30075
30076 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30077
30078 * acinclude.m4: Remove `nop' assembly instruction; it's not
30079 implemented by all architectures.
30080
30081 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30082
30083 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30084 ELILO. This is no longer necessary.
30085
30086 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30087
30088 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30089
30090 * util/grub-script-check.c: grub-script-check tool.
30091 * conf/common.rmk: Make rules for grub-script-check.
30092
30093 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30094
30095 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30096 spotting it back in 2008. Shame on me for forgetting he did.
30097
30098 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30099
30100 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30103 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30104 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30105 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30106 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30107 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30108
30109 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30110
30111 * include/grub/test.h: Add license header.
30112 * tests/example_functional_test.c: Likewise.
30113 * tests/example_unit_test.c: Likewise.
30114 * tests/lib/functional_test.c: Likewise.
30115 * tests/lib/test.c: Likewise.
30116 * tests/lib/unit_test.c: Likewise.
30117
30118 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30119
30120 Use flag-based instead of hook-based video mode selection and "auto"
30121 keyword.
30122
30123 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30124 (grub_video_set_mode): Changed prototype. All users updated.
30125 (grub_video_check_mode_flag): New inline function.
30126 * video/video.c (parse_modespec): New function.
30127 (grub_video_set_mode): Parse flags and keywords.
30128
30129 2010-01-17 Carles Pina i Estany <carles@pina.cat>
30130
30131 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30132 fprintf call.
30133
30134 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30135
30136 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30137
30138 2010-01-16 Carles Pina i Estany <carles@pina.cat>
30139
30140 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30141 string.
30142 * util/grub-emu.c (usage): Likewise.
30143 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30144 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30145 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30146 * util/i386/pc/grub-setup.c (usage): Likewise.
30147
30148 2010-01-16 Carles Pina i Estany <carles@pina.cat>
30149
30150 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30151 the message.
30152 (grub_util_info): Likewise.
30153 (grub_util_error): Likewise.
30154 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30155 and/or new lines in `grub_util_warna', `grub_util_info',
30156 `grub_util_error' calls.
30157 * util/getroot.c: Likewise.
30158 * util/grub-editenv.c: Likewise.
30159 * util/grub-emu.c: Likewise.
30160 * util/grub-fstest.c: Likewise.
30161 * util/grub-mkdevicemap.c: Likewise.
30162 * util/grub-mkfont.c: Likewise.
30163 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30164 * util/grub-mkrelpath.c: Likewise.
30165 * util/grub-pe2elf.c: Likewise.
30166 * util/grub-probe.c: Likewise.
30167 * util/hostdisk.c: Likewise.
30168 * util/i386/efi/grub-mkimage.c: Likewise.
30169 * util/i386/pc/grub-mkimage.c: Likewise.
30170 * util/i386/pc/grub-setup.c: Likewise.
30171 * util/ieee1275/ofpath.c: Likewise.
30172 * util/mkisofs/eltorito.c: Likewise.
30173 * util/mkisofs/rock.c: Likewise.
30174 * util/mkisofs/write.c: Likewise.
30175 * util/raid.c: Likewise.
30176 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30177 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30178
30179 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30180
30181 Enable multiboot on non-pc.
30182
30183 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30184 multiboot.mod and multiboot2.mod to ...
30185 * conf/i386.rmk (pkglib_MODULES): ... here.
30186 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30187 Moved to ...
30188 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30189 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30190 Moved to ...
30191 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30192 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30193 Moved to ...
30194 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30195 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30196 Moved to ...
30197 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30198 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30199 relocator.mod.
30200 (ata_mod_SOURCES): Removed.
30201 (ata_mod_CFLAGS): Likewise.
30202 (ata_mod_LDFLAGS): Likewise.
30203 (relocator_mod_SOURCES): Removed.
30204 (relocator_mod_CFLAGS): Likewise.
30205 (relocator_mod_ASFLAGS): Likewise.
30206 (relocator_mod_LDFLAGS): Likewise.
30207 Include i386.mk.
30208 * include/grub/x86_64/multiboot.h: New file.
30209 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30210 Terminate EFI.
30211
30212 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30213
30214 Video multiboot support.
30215
30216 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30217 New prototype.
30218 * include/multiboot.h: Resynced with multiboot specification.
30219 * include/multiboot2.h: Likewise.
30220 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30221 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30222 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30223 (HAS_VGA_TEXT): Likewise.
30224 (accepts_video): New variable.
30225 (grub_multiboot_set_accepts_video): New function.
30226 (grub_multiboot_get_mbi_size): Account for video structures.
30227 (set_video_mode): New function.
30228 (retrieve_video_parameters): Likewise.
30229 (grub_multiboot_make_mbi): Fill video fields.
30230
30231 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30232
30233 Video driver ids.
30234
30235 * include/grub/video.h (grub_video_driver_id): New type.
30236 (grub_video_adapter): New member 'id'. All users updated.
30237 (grub_video_get_driver_id): New proto.
30238 * video/video.c (grub_video_get_driver_id): New function.
30239
30240 2010-01-14 Carles Pina i Estany <carles@pina.cat>
30241
30242 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30243 `var=val'.
30244
30245 2010-01-14 Carles Pina i Estany <carles@pina.cat>
30246
30247 * normal/cmdline.c (print_completion): Gettextizze.
30248
30249 2001-01-14 Carles Pina i Estany <carles@pina.cat>
30250
30251 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30252
30253 2010-01-14 Carles Pina i Estany <carles@pina.cat>
30254
30255 * gettext/gettext.c (grub_gettext_translate): Push and pop
30256 grub_errno.
30257 (grub_gettext_delete_list): Change comment style.
30258 * kern/err.c (grub_error): Gettextizze.
30259 (grub_fatal): Gettextizze.
30260
30261 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30262
30263 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30264 (grub_linux16_real_boot): ... this.
30265 * kern/i386/loader.S: Likewise.
30266 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30267 (grub_linux16_boot): New function. Switches to text mode and calls
30268 grub_linux16_real_boot().
30269
30270 * loader/i386/bsd.c: Include `<grub/video.h>'.
30271 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30272 text mode before calling grub_unix_real_boot().
30273
30274 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30275 (grub_multiboot_boot): Switch to text mode before calling
30276 grub_relocator32_boot().
30277
30278 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30279 (grub_chainloader_boot): Switch to text mode before calling
30280 grub_chainloader_real_boot().
30281
30282 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
30283 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30284
30285 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30286 non-empty value.
30287
30288 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
30289 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30290
30291 * util/grub.d/00_header.in: Define a "savedefault" function for use
30292 in menu entries.
30293 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30294
30295 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
30296 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30297
30298 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30299 saved_entry if boot_once is unset.
30300 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30301 previous saved entry (i.e. grub-reboot).
30302
30303 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
30304
30305 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30306
30307 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
30308
30309 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30310 `var=val'.
30311 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30312
30313 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
30314
30315 * util/grub-reboot.in: Fix --version output.
30316 * util/grub-set-default.in: Likewise.
30317
30318 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
30319
30320 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30321 blocks.
30322
30323 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
30324
30325 * util/grub.d/00_header.in: Quote the value assigned to `default',
30326 in case it contains spaces.
30327
30328 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
30329
30330 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30331 `save_default_entry' call from the macosx case to the linux case.
30332
30333 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
30334 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
30335
30336 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30337 in `chosen' environment variable.
30338 * normal/menu_text.c (get_entry_number): Check if the variable
30339 matches the title of a menu entry.
30340 (run_menu): Pass menu to get_entry_number.
30341
30342 * util/grub-reboot.in: New file.
30343 * util/grub-set-default.in: New file.
30344 * conf/common.rmk (grub-reboot): New utility.
30345 (grub-set-default): New utility.
30346
30347 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30348 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30349 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30350 move it to `saved_entry' for the next boot. Load environment on
30351 initialisation.
30352 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30353 * util/grub.d/10_hurd.in: Likewise.
30354 * util/grub.d/10_linux.in (linux_entry): Likewise.
30355 * util/grub.d/10_windows.in: Likewise.
30356 * util/grub.d/30_os-prober.in: Likewise.
30357
30358 * util/grub-install.in: Create environment block.
30359 * util/i386/efi/grub-install.in: Likewise.
30360 * util/ieee1275/grub-install.in: Likewise.
30361 * util/sparc64/ieee1275/grub-install.in: Likewise.
30362
30363 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30364
30365 Unit testing framework for GRUB.
30366
30367 * Makefile.in: Test framework build rules for 'make check'.
30368 * conf/tests.rmk: Build rules for individual tests and framework.
30369
30370 * include/grub/test.h: Header file for whitebox tests.
30371 * tests/lib/functional_test.c: Framework support for whitebox
30372 functional tests.
30373 * tests/lib/test.c: Common whitebox testing code for unit and
30374 functional tests.
30375 * tests/lib/unit_test.c: Framework support for whitebox unit
30376 tests.
30377
30378 * tests/util/grub-shell-tester.in: Support utility for grub-script
30379 tests.
30380 * tests/util/grub-shell.in: Utility to execute grub-script
30381 commands in a Qemu instance.
30382
30383 * tests/example_functional_test.c: Example whitebox functional
30384 test.
30385 * tests/example_grub_script_test.in: Example grub-script test.
30386 * tests/example_scripted_test.in: Example scripted test.
30387 * tests/example_unit_test.c: Example whitebox unit test.
30388
30389 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30390
30391 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30392 Add loader/i386/multiboot_mbi.c.
30393 (multiboot2_mod_SOURCES): Likewise.
30394 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30395 (multiboot2_mod_SOURCES): Likewise.
30396 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30397 (grub_multiboot_make_mbi): Likewise.
30398 (grub_multiboot_free_mbi): Likewise.
30399 (grub_multiboot_init_mbi): Likewise.
30400 (grub_multiboot_add_module): Likewise.
30401 (grub_multiboot_set_bootdev): Likewise.
30402 * loader/i386/multiboot.c (mbi): Removed.
30403 (mbi_dest): Likewise.
30404 (alloc_mbi): New variable.
30405 (grub_multiboot_payload_size): Removed. All users updated.
30406 (grub_multiboot_pure_size): New variable.
30407 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30408 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30409 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30410 (grub_fill_multiboot_mmap): Likewise.
30411 (grub_multiboot_get_bootdev): Likewise.
30412 (grub_multiboot): Use multiboot_mbi functions.
30413 * loader/i386/multiboot_mbi.c: New file.
30414
30415 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30416
30417 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30418 it would result in module crash.
30419
30420 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30423 (grub_ofconsole_getwh): Split to ...
30424 (grub_ofconsole_getwh): ... this.
30425 (grub_ofconsole_dimensions): ...and this.
30426 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30427
30428 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30429
30430 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30431
30432 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30433
30434 * loader/i386/pc/multiboot2.c: Removed stalled file.
30435
30436 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30437
30438 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30439 Reported by: Grégoire Sutre
30440
30441 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 * util/misc.c (canonicalize_file_name): New function.
30444 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30445 instead of realpath().
30446
30447 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
30448
30449 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30450 and make it clearer that it's optional. Based on confusion
30451 witnessed on IRC.
30452
30453 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30454
30455 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30456 in premature implicit newline.
30457
30458 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30459
30460 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30461 which resulted in garbled command line at the end of screen.
30462
30463 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30464
30465 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30466 initialization with similar approach as with other Linux loaders.
30467
30468 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30469
30470 Fix i386-ieee1275 build.
30471
30472 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30473 and grub_term_height() for video_{width,height} initialization.
30474
30475 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30476
30477 Fix grub-emu build.
30478
30479 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30480
30481 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30482 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30483
30484 Support for multiple terminals.
30485
30486 * Makefile.in (pkglib_DATA): terminal.lst.
30487 (terminal.lst): New target.
30488 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30489 (GRUB_MOD_INIT(handler)): Likewise.
30490 (GRUB_MOD_FINI(handler)): Likewise.
30491 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30492 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30493 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30494 (grub_cmd_sleep): Use grub_term_save_pos.
30495 * commands/terminal.c: New file.
30496 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30497 commands/terminal.c and lib/charset.c.
30498 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30499 (pkglib_MODULES): Add terminal.mod.
30500 (terminal_mod_SOURCES): New variable.
30501 (terminal_mod_CFLAGS): Likewise.
30502 (terminal_mod_LDFLAGS): Likewise.
30503 * genhandlerlist.sh: Don't handle terminals.
30504 * genmk.rb: Generate terminal-*.lst.
30505 * genterminallist.sh: New file.
30506 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30507 (grub_is_valid_utf8): Likewise.
30508 (grub_utf8_to_ucs4_alloc): Likewise.
30509 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30510 (grub_menu_register_viewer): Changed argument.
30511 (grub_menu_try_text): New proto.
30512 (grub_gfxmenu_try_hook): New declaration.
30513 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30514 (grub_menu_init_page): Additional argument term.
30515 (grub_normal_init_page): Likewise.
30516 (grub_cmdline_get): Arguments simplified.
30517 (grub_utf8_to_ucs4_alloc): Removed.
30518 (grub_print_ucs4): Additional argument term.
30519 (grub_getstringwidth): Likewise.
30520 (grub_print_message_indented): Likewise.
30521 (grub_menu_text_register_instances): New proto.
30522 (grub_show_menu): Likewise.
30523 (read_terminal_list): Likewise.
30524 (grub_set_more): Likewise.
30525 * include/grub/parser.h: Include handler.h.
30526 * include/grub/reader.h: Rewritten.
30527 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30528 (GRUB_TERM_WIDTH): Changed to function.
30529 (GRUB_TERM_HEIGHT): Likewise.
30530 (GRUB_TERM_BORDER_WIDTH): Likewise.
30531 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30532 (GRUB_TERM_NUM_ENTRIES): Likewise.
30533 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30534 (GRUB_TERM_CURSOR_X): Likewise.
30535 (grub_term_input_class): Likewise.
30536 (grub_term_output_class): Likewise.
30537 (grub_term_outputs_disabled): New declaration.
30538 (grub_term_inputs_disabled): Likewise.
30539 (grub_term_outputs): Likewise.
30540 (grub_term_inputs): Likewise.
30541 (grub_term_register_input): Rewritten.
30542 (grub_term_register_output): Likewise.
30543 (grub_term_unregister_input): Likewise.
30544 (grub_term_unregister_output): Likewise.
30545 (FOR_ACTIVE_TERM_INPUTS): New macro.
30546 (FOR_DISABLED_TERM_INPUTS): Likewise.
30547 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30548 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30549 * include/grub/terminfo.h: Add oterm argument to all protypes.
30550 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30551 Use grub_rescue_run.
30552 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30553 All users updated.
30554 * kern/reader.c: Removed. All users updated.
30555 * kern/rescue_reader.c (grub_rescue_init): Removed.
30556 (grub_rescue_reader): Likewise.
30557 (grub_register_rescue_reader): Likewise.
30558 (grub_rescue_run): New function based on kern/reader.c.
30559 * kern/term.c: Adapted for multiterm.
30560 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30561 (grub_is_valid_utf8): Likewise.
30562 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30563 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30564 right terminal.
30565 * loader/i386/linux.c (grub_linux_boot): Likewise.
30566 * normal/auth.c (grub_username_get): New function.
30567 (grub_auth_check_authentication): Use grub_username_get.
30568 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30569 * normal/color.c: Adapt for multiterm.
30570 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30571 (grub_normal_init_page): Additional argument term.
30572 (read_lists): Call read_terminal_lists.
30573 (grub_enter_normal_mode): Call grub_cmdline_run.
30574 Handle grub_normal_exit_level.
30575 (grub_cmd_normal): Make reentrant.
30576 (grub_cmd_normal_exit): New function.
30577 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30578 * normal/menu.c: Adapt for multiterm.
30579 * normal/menu_entry.c: Likewise.
30580 * normal/menu_text.c: Likewise.
30581 * normal/menu_viewer.c: Removed. All users updated.
30582 * normal/term.c: New file.
30583 * util/console.c: Change order of includes to workaround a bug in
30584 ncurses headers.
30585 * term/terminfo.c: New argument oterm on all exported functions.
30586 All users updated.
30587 * util/grub-editenv.c (grub_term_input_class): Removed.
30588 (grub_term_output_class): Likewise.
30589
30590 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30591
30592 Make loader output a bit more user-friendly.
30593
30594 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30595 is being loaded. Likewise for the Hurd.
30596
30597 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30598 that kernel of FreeBSD ${version} is being loaded.
30599
30600 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30601 grub_dprintf().
30602 (grub_cmd_initrd): Likewise.
30603 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30604 that Linux ${version} is being loaded. Likewise for initrd.
30605
30606 2010-01-09 Carles Pina i Estany <carles@pina.cat>
30607
30608 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30609
30610 2010-01-08 Carles Pina i Estany <carles@pina.cat>
30611
30612 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30613 (GRUB_MOD_INIT): Gettextizze.
30614 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30615 (GRUB_MOD_INIT): Gettextizze.
30616 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30617 (grub_cmd_linux): Capitalise Linux.
30618 (GRUB_MOD_INIT): Gettextizze.
30619 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30620 (grub_cmd_linux): Capitalise Linux.
30621 (GRUB_MOD_INIT): Gettextizze.
30622 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30623 (grub_cmd_linux): Capitalise Linux.
30624 (GRUB_MOD_INIT): Gettextizze.
30625 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30626 (GRUB_MOD_INIT): Gettextizze.
30627 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30628 (grub_cmd_linux): Capitalise Linux.
30629 (GRUB_MOD_INIT): Gettextizze.
30630 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30631 (grub_cpu_xnu_init): Gettextizze.
30632 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30633 (GRUB_MOD_INIT): Gettextizze.
30634 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30635 (GRUB_MOD_INIT): Gettextizze.
30636 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30637 (grub_linux_load64): Capitalise Linux.
30638 (GRUB_MOD_INIT): Gettextizze.
30639 * loader/xnu.c: Include `<grub/i18n.h>'.
30640 (GRUB_MOD_INIT): Gettextizze.
30641 * po/POTFILES: Add `loader/efi/appleloader.c',
30642 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30643 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30644 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30645 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30646 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30647 and `loader/xnu.c'.
30648
30649 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30650
30651 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30652
30653 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30654
30655 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30656 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30657 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30658
30659 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30660
30661 Reset Multiboot 2 support. New loader implements the draft in
30662 /branches/multiboot2 and shares as much code as possible with the
30663 production Multiboot 1 implementation.
30664
30665 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30666 * loader/multiboot2.c: Likewise.
30667 * loader/i386/multiboot_helper.S: Likewise.
30668 * include/multiboot2.h: Replace with latest version from the draft
30669 in /branches/multiboot2.
30670
30671 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30672 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30673 and `loader/multiboot2.c'.
30674 (pkglib_MODULES): Add `multiboot2.mod'.
30675 (multiboot2_mod_SOURCES): New variable.
30676 (multiboot2_mod_LDFLAGS): Likewise.
30677 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30678
30679 * conf/i386-pc.rmk: Likewise.
30680
30681 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30682 (multiboot_mod_SOURCES): Remove variable.
30683 (multiboot_mod_LDFLAGS): Likewise.
30684 (multiboot_mod_CFLAGS): Likewise.
30685
30686 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30687 `<multiboot2.h>' instead of `<multiboot.h>'.
30688 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30689 (MULTIBOOT_HEADER_MAGIC): New macros.
30690
30691 * loader/multiboot_loader.c (module_version_status): Remove variable.
30692 (find_multi_boot2_header): Remove function.
30693 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30694 logic. Always check for the Multiboot version we're compiling for.
30695 (grub_cmd_module_loader): Likewise.
30696 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30697 command instead of `multiboot'.
30698
30699 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30700
30701 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30702 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30703 all users.
30704
30705 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30706 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30707
30708 Fix breakage introduced with previous commit.
30709
30710 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30711 commands.
30712 * normal/handler.c (read_handler_list): Revert part of previous commit
30713 affecting this file.
30714 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30715 (grub_normal_execute): ... here.
30716
30717 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30718
30719 Merge prefix-redefinition-fix branch.
30720
30721 * normal/autofs.c (read_fs_list): Make function capable of being
30722 run multiple times, gracefuly replacing the previous data
30723 structures.
30724 * normal/dyncmd.c (read_command_list): Likewise.
30725 * normal/handler.c (read_handler_list): Likewise.
30726 * normal/main.c (read_lists): New function. Calls all the
30727 list reading functions.
30728 (grub_normal_execute): Use read_lists() instead of calling all
30729 list reading functions explicitly. Register read_lists() as a
30730 variable hook attached to ${prefix}.
30731
30732 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30733
30734 Merge crypto branch.
30735
30736 * Makefile.in (pkglib_DATA): Add crypto.lst.
30737 (crypto.lst): New target.
30738 * commands/hashsum.c: New file.
30739 * commands/password.c (check_password): Use grub_crypto_memcmp.
30740 * commands/password_pbkdf2.c: New file.
30741 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30742 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30743 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30744 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30745 -I$(srcdir)/lib/libgcrypt_wrap.
30746 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30747 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30748 password_pbkdf2.mod.
30749 (crypto_mod_SOURCES): New variable.
30750 (crypto_mod_CFLAGS): Likewise.
30751 (crypto_mod_LDFLAGS): Likewise.
30752 (hashsum_mod_SOURCES): New variable.
30753 (hashsum_mod_CFLAGS): Likewise.
30754 (hashsum_mod_LDFLAGS): Likewise.
30755 (pbkdf2_mod_SOURCES): New variable.
30756 (pbkdf2_mod_CFLAGS): Likewise.
30757 (pbkdf2_mod_LDFLAGS): Likewise.
30758 (password_pbkdf2_mod_SOURCES): New variable.
30759 (password_pbkdf2_mod_CFLAGS): Likewise.
30760 (password_pbkdf2_mod_LDFLAGS): Likewise.
30761 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30762 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30763 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30764 Include conf/gcry.rmk.
30765 * include/grub/auth.h: Rewritten.
30766 * include/grub/crypto.h: New file.
30767 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30768 * include/grub/normal.h (read_crypto_list): New prototype.
30769 * lib/crypto.c: New file.
30770 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30771 * lib/pbkdf2.c: Likewise.
30772 * normal/auth.c (grub_auth_strcmp): Removed.
30773 (grub_iswordseparator): Likewise.
30774 (grub_auth_strword): Likewise.
30775 (is_authenticated): Use grub_strword.
30776 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30777 and grub_strword. Pass entered password to authentication callback.
30778 * normal/crypto.c: New file.
30779 * normal/main.c: Call read_crypto_list.
30780 * util/grub-mkpasswd-pbkdf2.c: New file.
30781 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30782
30783 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30784
30785 Fix descent and ascent calculation.
30786
30787 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30788 (options): New option "asce".
30789 (usage): Likewise.
30790 (add_char): Ignore invalid glyphs for descent calculation.
30791 Calculate ascent from actual content.
30792 (print_glyphs): Use 'asce'.
30793 (write_font): Likewise. Allow ascent override.
30794 (main): Handle "asce" option.
30795
30796 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30797
30798 * kern/err.c: Include `<grub/i18n.h>'.
30799 (grub_print_error): Add full stop. Gettextizze.
30800 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30801 (grub_bsd_load_elf): Capitalise ELF.
30802 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30803 (grub_cmd_freebsd_module): Likewise.
30804 (grub_cmd_freebsd_module_elf): Likewise.
30805 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30806
30807 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30808
30809 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30810 * commands/search_file.c (HELP_MESSAGE): New macro.
30811 * commands/search_label.c (HELP_MESSAGE): Likewise.
30812 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30813 * po/POTFILES: Add `commands/search_file.c',
30814 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30815 `commands/search.c'.
30816
30817 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30818
30819 * config.rpath: Update from Gnulib.
30820
30821 2010-01-05 Yves Blusseau <blusseau@zetam.org>
30822
30823 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30824
30825 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30826
30827 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30828
30829 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30830
30831 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30832 arguments to fread so that we get a return value in bytes, rather
30833 than something that will normally be rounded down to 0.
30834 Adjust error handling to avoid producing garbage when size_t is not
30835 the same size as long long.
30836
30837 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30838
30839 * util/mkisofs/write.c (padblock_write): Check return value of
30840 fread.
30841
30842 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30843
30844 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30845 floppy images now.
30846
30847 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30848
30849 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30850
30851 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30852 instead of manual alignment.
30853 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30854 verbose). Avoid attempts to read past end of the device
30855 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30856 but GRUB_DISK_CACHE_SIZE may exceed that).
30857
30858 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30861 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30862 it to upper layer.
30863
30864 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30865
30866 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30867 New constant.
30868 (grub_efi_piwg_device_path): New structure
30869 (grub_efi_piwg_device_path_t): New type.
30870 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30871 (devpath_1): Transform to a structure. All users updated.
30872 (devpath_2): Likewise.
30873 (devpath_3): Likewise.
30874 (devpath_4): Likewise.
30875 (devpath_5): Likewise.
30876
30877 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30878
30879 * loader/efi/appleloader.c: Restored. Update all users.
30880
30881 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30882
30883 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30884
30885 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30886 (struct boot_blocklist): Move from here ...
30887 * include/grub/i386/pc/boot.h [ASM_FILE]
30888 (struct grub_boot_blocklist): ... to here. Update all users.
30889 (setup): Only initialize `start' member of `first_block'
30890 structure. Add assert() calls to verify the other members.
30891
30892 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30893 (generate_image): Fix broken blocklist length initialization.
30894 Add assert() call to verify blocklist `segment' field.
30895
30896 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30897
30898 * loader/efi/appleloader.c: Remove. Update all users.
30899
30900 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30901
30902 * boot/i386/pc/boot.S: Update copyright year.
30903 * boot/i386/pc/cdboot.S: Likewise.
30904 * boot/i386/pc/diskboot.S: Likewise.
30905 * boot/i386/pc/lnxboot.S: Likewise.
30906 * boot/i386/pc/pxeboot.S: Likewise.
30907 * bus/pci.c: Likewise.
30908 * commands/cmp.c: Likewise.
30909 * commands/help.c: Likewise.
30910 * commands/hexdump.c: Likewise.
30911 * commands/i386/pc/halt.c: Likewise.
30912 * commands/i386/pc/play.c: Likewise.
30913 * commands/i386/pc/vbeinfo.c: Likewise.
30914 * commands/ls.c: Likewise.
30915 * commands/test.c: Likewise.
30916 * disk/dmraid_nvidia.c: Likewise.
30917 * disk/i386/pc/biosdisk.c: Likewise.
30918 * disk/ieee1275/nand.c: Likewise.
30919 * disk/ieee1275/ofdisk.c: Likewise.
30920 * disk/lvm.c: Likewise.
30921 * disk/raid.c: Likewise.
30922 * disk/raid6_recover.c: Likewise.
30923 * disk/scsi.c: Likewise.
30924 * fs/affs.c: Likewise.
30925 * fs/cpio.c: Likewise.
30926 * fs/ext2.c: Likewise.
30927 * fs/hfs.c: Likewise.
30928 * fs/iso9660.c: Likewise.
30929 * fs/ntfs.c: Likewise.
30930 * fs/sfs.c: Likewise.
30931 * fs/udf.c: Likewise.
30932 * fs/ufs.c: Likewise.
30933 * fs/xfs.c: Likewise.
30934 * gencmdlist.sh: Likewise.
30935 * genmk.rb: Likewise.
30936 * include/grub/disk.h: Likewise.
30937 * include/grub/efi/api.h: Likewise.
30938 * include/grub/efi/efi.h: Likewise.
30939 * include/grub/efi/pe32.h: Likewise.
30940 * include/grub/elf.h: Likewise.
30941 * include/grub/fs.h: Likewise.
30942 * include/grub/i386/at_keyboard.h: Likewise.
30943 * include/grub/i386/pc/memory.h: Likewise.
30944 * include/grub/i386/pc/vbe.h: Likewise.
30945 * include/grub/i386/pci.h: Likewise.
30946 * include/grub/i386/tsc.h: Likewise.
30947 * include/grub/ieee1275/ieee1275.h: Likewise.
30948 * include/grub/ntfs.h: Likewise.
30949 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30950 * include/grub/sparc64/libgcc.h: Likewise.
30951 * include/grub/symbol.h: Likewise.
30952 * include/grub/types.h: Likewise.
30953 * include/multiboot2.h: Likewise.
30954 * io/gzio.c: Likewise.
30955 * kern/device.c: Likewise.
30956 * kern/disk.c: Likewise.
30957 * kern/efi/efi.c: Likewise.
30958 * kern/efi/mm.c: Likewise.
30959 * kern/elf.c: Likewise.
30960 * kern/file.c: Likewise.
30961 * kern/i386/dl.c: Likewise.
30962 * kern/i386/pc/init.c: Likewise.
30963 * kern/i386/pc/startup.S: Likewise.
30964 * kern/ieee1275/ieee1275.c: Likewise.
30965 * kern/ieee1275/init.c: Likewise.
30966 * kern/main.c: Likewise.
30967 * kern/mm.c: Likewise.
30968 * kern/powerpc/dl.c: Likewise.
30969 * kern/sparc64/dl.c: Likewise.
30970 * kern/x86_64/dl.c: Likewise.
30971 * lib/hexdump.c: Likewise.
30972 * loader/efi/appleloader.c: Likewise.
30973 * loader/i386/ieee1275/linux.c: Likewise.
30974 * loader/i386/pc/chainloader.c: Likewise.
30975 * loader/i386/pc/linux.c: Likewise.
30976 * loader/i386/pc/multiboot2.c: Likewise.
30977 * loader/ieee1275/multiboot2.c: Likewise.
30978 * loader/multiboot2.c: Likewise.
30979 * loader/multiboot_loader.c: Likewise.
30980 * loader/powerpc/ieee1275/linux.c: Likewise.
30981 * normal/completion.c: Likewise.
30982 * normal/menu_entry.c: Likewise.
30983 * partmap/apple.c: Likewise.
30984 * util/grub.d/10_hurd.in: Likewise.
30985 * util/hostfs.c: Likewise.
30986 * video/readers/png.c: Likewise.
30987
30988 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
30989
30990 * include/grub/misc.h (GNUC_PREREQ): New macro.
30991 (ATTRIBUTE_ERROR): New macro.
30992 * include/grub/list.h (grub_bad_type_cast_real): Use
30993 ATTRIBUTE_ERROR.
30994
30995 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30996
30997 * normal/menu_text.c (print_message): Change messages.
30998
30999 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31000
31001 * normal/menu_entry.c (store_completion): Gettextizze.
31002
31003 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31004
31005 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31006
31007 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31008
31009 * po/POTFILES: Sort correctly.
31010
31011 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31012
31013 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31014 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31015 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31016 full stop.
31017 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31018 summary. Gettextizze the strings.
31019 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31020 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31021 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31022 full stop.
31023 (GRUB_MOD_INIT): Remove command name from summary.
31024 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31025 summary.
31026 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31027 * term/i386/pc/serial.c (options): Add full stops.
31028 (GRUB_MOD_INIT): Remove command name from the summary.
31029
31030 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31031
31032 * commands/acpi.c: Gettextizze help strings and/or options. Include
31033 `grub/i18n.h' if needed.
31034 * commands/blocklist.c: Likewise.
31035 * commands/boot.c: Likewise.
31036 * commands/cat.c: Likewise.
31037 * commands/cmp.c: Likewise.
31038 * commands/configfile.c: Likewise.
31039 * commands/crc.c: Likewise.
31040 * commands/date.c: Likewise.
31041 * commands/echo.c: Likewise.
31042 * commands/efi/fixvideo.c: Likewise.
31043 * commands/efi/loadbios.c: Likewise.
31044 * commands/gptsync.c: Likewise.
31045 * commands/halt.c: Likewise.
31046 * commands/handler.c: Likewise.
31047 * commands/hdparm.c: Likewise.
31048 * commands/hexdump.c: Likewise.
31049 * commands/i386/cpuid.c: Likewise.
31050 * commands/i386/pc/drivemap.c: Likewise.
31051 * commands/i386/pc/halt.c: Likewise.
31052 * commands/i386/pc/pxecmd.c: Likewise.
31053 * commands/i386/pc/vbeinfo.c: Likewise.
31054 * commands/i386/pc/vbetest.c: Likewise.
31055 * commands/ieee1275/suspend.c: Likewise.
31056 * commands/keystatus.c: Likewise.
31057 * commands/loadenv.c: Likewise.
31058 * commands/ls.c: Likewise.
31059 * commands/lsmmap.c: Likewise.
31060 * commands/lspci.c: Likewise.
31061 * commands/memrw.c: Likewise.
31062 * commands/minicmd.c: Likewise.
31063 * commands/parttool.c: Likewise.
31064 * commands/password.c: Likewise.
31065 * commands/probe.c: Likewise.
31066 * commands/read.c: Likewise.
31067 * commands/reboot.c: Likewise.
31068 * commands/search.c: Likewise.
31069 * commands/sleep.c: Likewise.
31070 * commands/test.c: Likewise.
31071 * commands/true.c: Likewise.
31072 * commands/usbtest.c: Likewise.
31073 * commands/videotest.c: Likewise.
31074 * commands/xnu_uuid.c: Likewise.
31075 * disk/loopback.c: Likewise.
31076 * hello/hello.c: Likewise.
31077 * loader/i386/bsd.c: Likewise.
31078 * term/i386/pc/serial.c: Likewise.
31079 * po/POTFILES: Add new files.
31080
31081 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
31082
31083 * term/i386/pc/at_keyboard.c
31084 (keyboard_controller_wait_untill_ready): Rename to ...
31085 (keyboard_controller_wait_until_ready): ... this. Update all users.
31086
31087 2010-01-01 Carles Pina i Estany <carles@pina.cat>
31088
31089 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31090 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31091 string using string width.
31092 * normal/menu_text.c (grub_print_message_indented): Use
31093 grub_print_spaces and not print_spaces.
31094 (print_timeout): Likewise.
31095 (print_spaces): Move to...
31096 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31097
31098 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31099
31100 Import from Gnulib.
31101
31102 * gnulib/getdelim.c: New file.
31103 * gnulib/getline.c: Likewise.
31104
31105 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31106
31107 * include/grub/list.h (grub_assert_fail): Removed.
31108 (grub_bad_type_cast_real): New function.
31109 (grub_bad_type_cast): New macro.
31110 (GRUB_AS_LIST): Use grub_bad_type_cast.
31111 (GRUB_AS_LIST_P): Likewise.
31112 (GRUB_AS_NAMED_LIST): Likewise.
31113 (GRUB_AS_NAMED_LIST_P): Likewise.
31114 (GRUB_AS_PRIO_LIST): Likewise.
31115 (GRUB_AS_PRIO_LIST_P): Likewise.
31116 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
31117
31118 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31119
31120 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31121 Fix syntax error.
31122
31123 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31124
31125 * configure.ac: Check for TARGET_CFLAGS initialization before we
31126 initialize it ourselves (sigh).
31127 Move a few modifications to TARGET_CFLAGS to be unconditional
31128 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31129 eh_frame)
31130
31131 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31132 * term/i386/pc/at_keyboard.c
31133 (keyboard_controller_wait_untill_ready): Likewise.
31134 (keyboard_controller_led): Rename `led_status' paramter to avoid
31135 name conflict.
31136
31137 2009-12-28 Carles Pina i Estany <carles@pina.cat>
31138
31139 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31140 quotes.
31141
31142 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31143
31144 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31145
31146 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 * normal/menu_text.c (grub_print_message_indented): Prevent
31149 past-the-end-of-array dereference.
31150
31151 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31152
31153 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31154 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31155
31156 2009-12-27 Carles Pina i Estany <carles@pina.cat>
31157
31158 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31159 * normal/main.c (grub_normal_read_line): Remove a space from the
31160 default prompt.
31161
31162 2009-12-27 Carles Pina i Estany <carles@pina.cat>
31163
31164 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31165 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31166 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31167 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31168 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31169 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31170 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31171
31172 2009-12-26 Carles Pina i Estany <carles@pina.cat>
31173
31174 * video/readers/jpeg.c (cmd): Declare.
31175 (grub_cmd_jpegtest): Use `grub_command_t' type.
31176 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31177 Assign to `cmd'.
31178 (GRUB_MOD_FINI): Use `cmd' to unregister.
31179 * video/readers/png.c (cmd): Declare.
31180 (grub_cmd_pngtest): Use `grub_command_t' type.
31181 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31182 Assign to `cmd'.
31183 (GRUB_MOD_FINI): Use `cmd' to unregister.
31184 * video/readers/tga.c (cmd): Declare.
31185 (grub_cmd_tgatest): Use `grub_command_t' type.
31186 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31187 Assign to `cmd'.
31188 (GRUB_MOD_FINI): Use `cmd' to unregister.
31189
31190 2009-12-26 Carles Pina i Estany <carles@pina.cat>
31191
31192 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31193 stops.
31194 * kern/corecmd.c (grub_register_core_commands): Likewise.
31195 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31196 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31197 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31198 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31199 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31200 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31201 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31202 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31203 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31204 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31205 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31206 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31207 * normal/handler.c (insert_handler): Likewise.
31208 * normal/main.c (GRUB_MOD_INIT): Likewise.
31209 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31210
31211 2009-12-26 Carles Pina i Estany <carles@pina.cat>
31212
31213 * commands/help.c (grub_cmd_help): Print the command name before the
31214 summary.
31215 (GRUB_MOD_INIT): Remove command name from the summary.
31216 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
31217 string as summary.
31218 * lib/arg.c (find_long): Print the command name before the summary.
31219 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31220 summary.
31221 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31222 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31223 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31224 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31225 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31226 * commands/date.c (GRUB_MOD_INIT): Likewise.
31227 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31228 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31229 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31230 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31231 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31232 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31233 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31234 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31235 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31236 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31237 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31238 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31239 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31240 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31241 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31242 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31243 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31244 * commands/password.c (GRUB_MOD_INIT): Likewise.
31245 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31246 * commands/read.c (GRUB_MOD_INIT): Likewise.
31247 * commands/search.c (GRUB_MOD_INIT): Likewise.
31248 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31249 * commands/test.c (GRUB_MOD_INIT): Likewise.
31250 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31251 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31252 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31253 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31254 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31255 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31256 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31257 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31258 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31259 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31260 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31261 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31262 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31263 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31264
31265 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31266
31267 Use search command for preliminar UUID search.
31268
31269 * commands/search.c: Split into ...
31270 * commands/search_wrap.c: ...this
31271 * commands/search.c: ...and this.
31272 * commands/search_file.c: New file.
31273 * commands/search_label.c: New file.
31274 * commands/search_uuid.c: New file.
31275 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31276 Add commands/search_wrap.c, commands/search_file.c,
31277 commands/search_label.c and commands/search_uuid.c.
31278 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31279 (search_mod_SOURCES): Set to commands/search_wrap.c.
31280 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31281 search_label.mod.
31282 (search_fs_file_mod_SOURCES): New variable.
31283 (search_fs_file_mod_CFLAGS): Likewise.
31284 (search_fs_file_mod_LDFLAGS): Likewise.
31285 (search_label_mod_SOURCES): Likewise.
31286 (search_label_mod_CFLAGS): Likewise.
31287 (search_label_mod_LDFLAGS): Likewise.
31288 (search_fs_uuid_mod_SOURCES): New variable.
31289 (search_fs_uuid_mod_CFLAGS): Likewise.
31290 (search_fs_uuid_mod_LDFLAGS): Likewise.
31291 (fs_file_mod_SOURCES): Removed.
31292 (fs_file_mod_CFLAGS): Likewise.
31293 (fs_file_mod_LDFLAGS): Likewise.
31294 (fs_uuid_mod_SOURCES): Removed.
31295 (fs_uuid_mod_CFLAGS): Likewise.
31296 (fs_uuid_mod_LDFLAGS): Likewise.
31297 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31298 Set to util/grub-install.in.
31299 * disk/fs_file.c: Removed.
31300 * disk/fs_uuid.c: Likewise.
31301 * include/grub/search.h: New file.
31302 * util/grub-install.in: Handle sparc64.
31303 Create and use load.cfg.
31304 * util/sparc64/ieee1275/grub-install.in: Removed.
31305
31306 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31307
31308 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31309 Ignore return status if CF is cleared.
31310 (grub_biosdisk_get_diskinfo_standard): Likewise.
31311
31312 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31313
31314 * term/i386/pc/at_keyboard.c
31315 (keyboard_controller_wait_untill_ready): New function.
31316 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31317 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31318 for keyboard polling, rather than duplicate the same loop. This
31319 saves a few bytes in code size.
31320
31321 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31322
31323 Support for (pxe[:server[:gateway]]) syntax and
31324 use environment variable for PXE.
31325
31326 * commands/i386/pc/pxecmd.c (options): Removed.
31327 (print_ip): Removed.
31328 (grub_cmd_pxe): Removed
31329 (grub_cmd_pxe_unload): New function.
31330 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31331 (grub_pxe_your_ip): Made static.
31332 (grub_pxe_default_server_ip): Likewise.
31333 (grub_pxe_default_gateway_ip): Likewise.
31334 (grub_pxe_blksize): Likewise.
31335 (parse_ip): New function.
31336 (grub_pxe_open): Support server and gateway specification.
31337 (grub_pxe_close): Free disk->data.
31338 (grub_pxefs_open): Use disk->data.
31339 (grub_pxefs_read): Likewise.
31340 (grub_env_write_readonly): New function.
31341 (set_mac_env): Likewise.
31342 (set_env_limn_ro): Likewise.
31343 (parse_dhcp_vendor): Likewise.
31344 (grub_pxe_detect): Set the environment variables.
31345 (set_ip_env): New function.
31346 (write_ip_env): Likewise.
31347 (grub_env_write_pxe_default_server): Likewise.
31348 (grub_env_write_pxe_default_gateway): Likewise.
31349 (grub_env_write_pxe_blocksize): Likewise.
31350 (GRUB_MOD_INIT(pxe)): Set environment variables.
31351 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31352 (grub_pxe_mac_addr_t): ... this. All users updated.
31353 (grub_pxe_your_ip): Removed.
31354 (grub_pxe_server_ip): Likewise.
31355 (grub_pxe_gateway_ip): Likewise.
31356 (grub_pxe_blksize): Likewise.
31357
31358 2009-12-25 Carles Pina i Estany <carles@pina.cat>
31359
31360 * commands/help.c: Include `<grub/i18n.h>'.
31361 (grub_cmd_help): Gettextizze.
31362 (GRUB_MOD_INIT): Likewise.
31363 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31364 (GRUB_MOD_INIT): Gettextizze.
31365 * commands/search.c: Include `<grub/i18n.h>'.
31366 (options): Gettextizze.
31367 (GRUB_MOD_INIT): Gettextizze.
31368 * lib/arg.c: Include `<grub/i18n.h>'.
31369 (help_options): Gettextizze.
31370 (find_long): Likewise.
31371 (grub_arg_show_help): Likewise.
31372 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31373 (read_command_list): Gettextizze.
31374 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
31375 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
31376
31377 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31378
31379 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31380 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31381 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31382 (led_status): New variable.
31383 (keyboard_controller_led): New function.
31384 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31385 update led status for caps lock, num lock and scroll lock.
31386
31387 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
31388
31389 * util/hostdisk.c (open_device): Fix a comment.
31390
31391 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31392
31393 * util/grub-install.in (host_os): New variable.
31394 * util/i386/efi/grub-install.in (host_os): Likewise.
31395
31396 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31397
31398 * util/mkisofs/write.c (padblock_write): Abort when given an
31399 excedingly large embed image, instead of silently truncating it.
31400
31401 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31402
31403 * include/multiboot.h: Indentation fixes.
31404
31405 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31406
31407 * include/multiboot.h (struct multiboot_aout_symbol_table)
31408 (struct multiboot_elf_section_header_table): New structure
31409 declarations (stolen from GRUB Legacy).
31410 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31411 table information.
31412
31413 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31414 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31415 type aliases.
31416
31417 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31418
31419 * include/multiboot.h: Make comments src2texi-friendly.
31420
31421 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31422
31423 For consistency with [multiboot]/docs/boot.S.
31424
31425 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31426 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31427 (MULTIBOOT_MAGIC2): Rename from this ...
31428 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31429
31430 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31431
31432 * include/multiboot.h: Remove `<grub/types.h>'.
31433 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31434 types. Update all users.
31435
31436 2009-12-25 Carles Pina i Estany <carles@pina.cat>
31437
31438 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31439 `couldn't' and `can not' by `cannot'.
31440 * commands/i386/pc/drivemap.c: Likewise.
31441 * disk/ata.c: Likewise.
31442 * disk/ieee1275/nand.c: Likewise.
31443 * fs/affs.c: Likewise.
31444 * fs/fat.c: Likewise.
31445 * fs/hfs.c: Likewise.
31446 * fs/hfsplus.c: Likewise.
31447 * fs/iso9660.c: Likewise.
31448 * fs/jfs.c: Likewise.
31449 * fs/minix.c: Likewise.
31450 * fs/reiserfs.c: Likewise.
31451 * fs/sfs.c: Likewise.
31452 * fs/udf.c: Likewise.
31453 * fs/ufs.c: Likewise.
31454 * fs/xfs.c: Likewise.
31455 * loader/powerpc/ieee1275/linux.c: Likewise.
31456 * loader/sparc64/ieee1275/linux.c: Likewise.
31457 * util/grub-probe.c: Likewise.
31458 * util/misc.c: Likewise.
31459
31460 2009-12-24 Carles Pina i Estany <carles@pina.cat>
31461
31462 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31463 grub_errno calls.
31464 * commands/acpi.c: Likewise.
31465 * commands/blocklist.c: Likewise.
31466 * commands/efi/loadbios.c: Likewise.
31467 * commands/i386/pc/drivemap.c: Likewise.
31468 * commands/loadenv.c: Likewise.
31469 * commands/memrw.c: Likewise.
31470 * commands/password.c: Likewise.
31471 * commands/videotest.c: Likewise.
31472 * disk/ata.c: Likewise.
31473 * disk/ata_pthru.c: Likewise.
31474 * disk/dmraid_nvidia.c: Likewise.
31475 * disk/ieee1275/nand.c: Likewise.
31476 * disk/ieee1275/ofdisk.c: Likewise.
31477 * disk/loopback.c: Likewise.
31478 * disk/lvm.c: Likewise.
31479 * disk/mdraid_linux.c: Likewise.
31480 * disk/raid.c: Likewise.
31481 * disk/raid6_recover.c: Likewise.
31482 * disk/scsi.c: Likewise.
31483 * efiemu/main.c: Likewise.
31484 * efiemu/mm.c: Likewise.
31485 * efiemu/pnvram.c: Likewise.
31486 * efiemu/symbols.c: Likewise.
31487 * font/font.c: Likewise.
31488 * fs/cpio.c: Likewise.
31489 * fs/hfsplus.c: Likewise.
31490 * fs/iso9660.c: Likewise.
31491 * fs/jfs.c: Likewise.
31492 * fs/minix.c: Likewise.
31493 * fs/ntfs.c: Likewise.
31494 * fs/ntfscomp.c: Likewise.
31495 * fs/reiserfs.c: Likewise.
31496 * fs/ufs.c: Likewise.
31497 * fs/xfs.c: Likewise.
31498 * gettext/gettext.c: Likewise.
31499 * include/grub/auth.h: Likewise.
31500 * kern/elf.c: Likewise.
31501 * kern/file.c: Likewise.
31502 * kern/ieee1275/init.c: Likewise.
31503 * kern/ieee1275/mmap.c: Likewise.
31504 * kern/ieee1275/openfw.c: Likewise.
31505 * kern/powerpc/dl.c: Likewise.
31506 * kern/sparc64/dl.c: Likewise.
31507 * lib/arg.c: Likewise.
31508 * loader/i386/bsd.c: Likewise.
31509 * loader/i386/bsdXX.c: Likewise.
31510 * loader/i386/efi/linux.c: Likewise.
31511 * loader/i386/efi/xnu.c: Likewise.
31512 * loader/i386/ieee1275/linux.c: Likewise.
31513 * loader/i386/linux.c: Likewise.
31514 * loader/i386/multiboot.c: Likewise.
31515 * loader/i386/pc/linux.c: Likewise.
31516 * loader/i386/pc/multiboot2.c: Likewise.
31517 * loader/i386/xnu.c: Likewise.
31518 * loader/ieee1275/multiboot2.c: Likewise.
31519 * loader/macho.c: Likewise.
31520 * loader/machoXX.c: Likewise.
31521 * loader/multiboot2.c: Likewise.
31522 * loader/multiboot_loader.c: Likewise.
31523 * loader/powerpc/ieee1275/linux.c: Likewise.
31524 * loader/sparc64/ieee1275/linux.c: Likewise.
31525 * loader/xnu.c: Likewise.
31526 * loader/xnu_resume.c: Likewise.
31527 * mmap/i386/pc/mmap.c: Likewise.
31528 * normal/menu_viewer.c: Likewise.
31529 * partmap/acorn.c: Likewise.
31530 * partmap/amiga.c: Likewise.
31531 * partmap/apple.c: Likewise.
31532 * script/lexer.c: Likewise.
31533 * term/gfxterm.c: Likewise.
31534 * term/i386/pc/serial.c: Likewise.
31535 * term/i386/pc/vga.c: Likewise.
31536 * term/ieee1275/ofconsole.c: Likewise.
31537 * term/terminfo.c: Likewise.
31538 * video/bitmap.c: Likewise.
31539 * video/efi_gop.c: Likewise.
31540 * video/efi_uga.c: Likewise.
31541 * video/fb/video_fb.c: Likewise.
31542 * video/i386/pc/vbe.c: Likewise.
31543 * video/readers/tga.c: Likewise.
31544 * video/video.c: Likewise.
31545
31546 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
31547
31548 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31549 * commands/lspci.c: Likewise.
31550 * commands/probe.c: Likewise.
31551 * commands/xnu_uuid.c: Likewise.
31552 * conf/i386-coreboot.rmk: Likewise.
31553 * conf/i386-efi.rmk: Likewise.
31554 * conf/i386-ieee1275.rmk: Likewise.
31555 * conf/i386-pc.rmk: Likewise.
31556 * conf/powerpc-ieee1275.rmk: Likewise.
31557 * conf/sparc64-ieee1275.rmk: Likewise.
31558 * conf/x86_64-efi.rmk: Likewise.
31559 * fs/i386/pc/pxe.c: Likewise.
31560 * gettext/gettext.c: Likewise.
31561 * include/grub/efi/graphics_output.h: Likewise.
31562 * include/grub/i386/pc/memory.h: Likewise.
31563 * kern/env.c: Likewise.
31564 * kern/i386/qemu/startup.S: Likewise.
31565 * lib/i386/pc/biosnum.c: Likewise.
31566 * lib/i386/relocator.c: Likewise.
31567 * lib/i386/relocator_asm.S: Likewise.
31568 * lib/relocator.c: Likewise.
31569 * loader/i386/bsd.c: Likewise.
31570 * loader/i386/multiboot.c: Likewise.
31571 * loader/i386/pc/chainloader.c: Likewise.
31572 * loader/i386/xnu.c: Likewise.
31573 * loader/xnu.c: Likewise.
31574 * normal/main.c: Likewise.
31575 * normal/menu_text.c: Likewise.
31576 * util/getroot.c: Likewise.
31577 * util/grub-mkconfig_lib.in: Likewise.
31578 * util/grub.d/00_header.in: Likewise.
31579 * util/i386/pc/grub-mkimage.c: Likewise.
31580 * util/mkisofs/eltorito.c: Likewise.
31581 * util/mkisofs/exclude.h: Likewise.
31582 * util/mkisofs/hash.c: Likewise.
31583 * util/mkisofs/iso9660.h: Likewise.
31584 * util/mkisofs/joliet.c: Likewise.
31585 * util/mkisofs/mkisofs.c: Likewise.
31586 * util/mkisofs/mkisofs.h: Likewise.
31587 * util/mkisofs/multi.c: Likewise.
31588 * util/mkisofs/name.c: Likewise.
31589 * util/mkisofs/rock.c: Likewise.
31590 * util/mkisofs/tree.c: Likewise.
31591 * util/mkisofs/write.c: Likewise.
31592 * video/efi_gop.c: Likewise.
31593
31594 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31595
31596 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31597 size counting.
31598
31599 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31600
31601 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31602 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31603
31604 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31605
31606 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31607 (GRUB_MOD_INIT(memrw)): Update help line.
31608
31609 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31610
31611 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31612 Use grub_extcmd_t. All users updated.
31613 (options): New variable.
31614 (grub_cmd_read): Restructure for readability. Support "-v" option.
31615 (grub_cmd_write): Restructure for readability.
31616
31617 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31618
31619 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31620
31621 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31622
31623 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31624 with the actual contents of the correspondending make variable.
31625 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31626 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31627 specifying `*.lst' and `efiemu??.o'
31628
31629 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31630
31631 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31632 after function name.
31633 Noticed by Rene Engelhard <rene@debian.org>.
31634
31635 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31636
31637 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31638 (options): New variable.
31639 (iospace): Likewise.
31640 (grub_lspci_iter): List IO spaces if "-i" was given.
31641 (grub_cmd_lspci): Parse options.
31642 (GRUB_MOD_INIT(lspci)): Use extcmd.
31643 (GRUB_MOD_FINI(lspci)): Likewise.
31644
31645 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31646
31647 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31648 `function' keyword.
31649 Patch by Tony Mancill <tmancill@debian.org>.
31650
31651 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31652
31653 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31654 (grub_uhci_portstatus): Likewise.
31655 (grub_uhci_portstatus): Add necessary delay.
31656 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
31657
31658 2009-12-21 Carles Pina i Estany <carles@pina.cat>
31659
31660 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31661 (GRUB_MOD_INIT): Likewise.
31662 * commands/boot.c (GRUB_MOD_INIT): Likewise.
31663 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31664 * commands/echo.c (options): Fix capitalizations and/or full stops.
31665 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31666 (enable_rom_area): Likewise.
31667 (GRUB_MOD_INIT): Likewise.
31668 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31669 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31670 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31671 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31672 * commands/hexdump.c (options): Likewise.
31673 * commands/i386/cpuid.c (options): Likewise.
31674 (GRUB_MOD_INIT): Likewise.
31675 * commands/i386/pc/drivemap.c (options): Likewise.
31676 (GRUB_MOD_INIT): Likewise.
31677 * commands/i386/pc/halt (options): Likewise.
31678 (GRUB_MOD_INIT): Likewise.
31679 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31680 * commands/i386/pc/pxecmd.c (options): Likewise.
31681 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31682 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31683 * commands/keystatus.c (options): Likewise.
31684 (GRUB_MOD_INIT): Likewise.
31685 * commands/loadenv.c (options): Likewise.
31686 * commands/ls.c (options): Likewise.
31687 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31688 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31689 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31690 * commands/parttool.c (helpmsg): Likewise.
31691 * commands/probe.c (options): Likewise.
31692 * commands/read.c (GRUB_MOD_INIT): Likewise.
31693 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31694 * commands/search.c (options): Likewise.
31695 * commands/sleep.c (options): Likewise.
31696 * commands/test.c (GRUB_MOD_INIT): Likewise.
31697 * commands/true.c (GRUB_MOD_INIT): Likewise.
31698 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31699 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31700 * lib/arg.c (help_options): Likewise.
31701 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31702 `$(XGETTEXT)'.
31703 * po/POTFILES: Add `commands/loadenv.c'.
31704
31705 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
31706
31707 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
31708 instead of specifying them explicit.
31709
31710 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31711
31712 * NEWS: Add grub-probe support for GNU/Hurd.
31713
31714 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31715
31716 * NEWS: gettext was added after 1.97.
31717
31718 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31719
31720 * util/mkisofs/msdos_partition.h: New file (based on
31721 include/grub/msdos_partition.h).
31722 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31723 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31724 (ld_options, main): Recognize --protective-msdos-label.
31725 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31726 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31727 (padblock_write): If `use_protective_msdos_label' is set, patch a
31728 protective DOS-style label in the output image.
31729
31730 * util/grub-mkrescue.in: Use --protective-msdos-label.
31731
31732 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31733
31734 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31735 boot.
31736
31737 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31738
31739 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31740 variables.
31741 (ld_options, main): Recognize `--embedded-boot'.
31742 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31743 declarations.
31744 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31745 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31746 (padblock_write): Likewise. Rewrite to support embedded boot image.
31747
31748 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31749 for BIOS-based disk boot instead of only ElTorito.
31750
31751 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31752
31753 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31754 build (not needed for bootstrap).
31755
31756 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31757
31758 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31759 from i386-pc build (not needed for bootstrap).
31760 Rewrite a pair of strings.
31761
31762 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31763
31764 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31765
31766 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
31767
31768 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31769
31770 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31771
31772 * kern/env.c (grub_env_context_open): Mark exported variable for
31773 reexport.
31774
31775 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31776
31777 * kern/env.c (grub_env_export): Create nonexistent variables before
31778 exporting.
31779
31780 2009-12-20 Carles Pina i Estany <carles@pina.cat>
31781
31782 * include/grub/auth.h: Include `<grub/i18n.h>'.
31783 (GRUB_GET_PASSWORD): Gettextizze string.
31784 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31785 menu_text.c.
31786 (grub_utf8_to_ucs4_alloc): Fix indentation.
31787 (grub_print_ucs4): Likewise.
31788 (grub_getstringwidth): Likewise.
31789 (print_message_indented): New declaration.
31790 * normal/auth.c: Include `<grub/i18n.h>'.
31791 (grub_auth_check_authentication): Gettexttize string.
31792 * normal/cmdline.c: Include `<grub/i18n.h>'.
31793 (grub_cmdline_get): Gettextizze.
31794 * normal/color.c: Include `<grub/i18n.h>'.
31795 (grub_parse_color_name_pair): Gettexttize strings.
31796 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31797 string (use `print_message_indented').
31798 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31799 `include/grub/normal.h'.
31800 (print_message_indented): Renamed to ...
31801 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31802 used in normal/main.c).
31803 (print_message): Use `grub_print_message_indented' instead of
31804 `print_message_indented'.
31805 (print_timeout): Likewise.
31806 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31807 (grub_normal_print_device_info): Gettexttize strings.
31808 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31809
31810 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31811
31812 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31813 of arguments. Return number of tokens and not arguments. All users
31814 updated.
31815
31816 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31817
31818 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31819 non-MSDOS paritions.
31820
31821 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31822
31823 * include/grub/types.h (UNUSED): Removed since it conflicts with
31824 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31825 Reported by Grégoire Sutre.
31826
31827 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31828
31829 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31830 (grub_print_ucs4_alloc): Likewise.
31831 (grub_getstringwidth): Likewise.
31832 * normal/main.c (grub_normal_init_page): Gettextize version string.
31833 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31834 (getstringwidth): Renamed to ...
31835 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31836 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31837 (grub_print_ucs4): Remove `static' qualifer (now used in
31838 normal/main.c).
31839 * po/POTFILES: Add normal/main.c.
31840
31841 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31842
31843 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31844 (print_message_indented): Add `margin_left' and `margin_right'
31845 parameters.
31846 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31847 strings.
31848 (print_timeout): Use `print_message_indented' to print the message.
31849 Deletes `second_stage' parameter.
31850 (run_menu): Update `print_timeout' calls.
31851
31852 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 Fix console palette on OpenFirmware.
31855
31856 * term/ieee1275/ofconsole.c (MAX): Removed.
31857 (colors): Redone based on VGA palette.
31858 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31859 colors are supported.
31860 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31861
31862 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31863
31864 Fix potential EfiEmu double prepare.
31865
31866 * efiemu/main.c (prepared): New variable
31867 (grub_efiemu_unload): Set prepare to '0'.
31868 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31869
31870 set_virtual_address_map support.
31871
31872 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31873 prototype.
31874 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31875 prototype.
31876 (grub_efiemu_crc32): Likewise.
31877 (grub_efiemu_crc64): Likewise.
31878 (grub_efiemu_set_virtual_address_map): Likewise.
31879 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31880 New definition.
31881 (grub_autoefi_set_virtual_address_map): Likewise.
31882 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31883 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31884 Restructure flow to accomodate it.
31885 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31886 (grub_efiemu_crc): Recompute CRC32.
31887 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31888 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31889 * efiemu/symbols.c (relocated_handle): New variable.
31890 (grub_efiemu_free_syms): Free relocated_handle.
31891 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31892 (grub_efiemu_write_sym_markers): New function.
31893 (grub_efiemu_set_virtual_address_map): Likewise.
31894
31895 Newer XNU parameters.
31896
31897 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31898 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31899 (grub_xnu_fill_devicetree): New prototype.
31900 (grub_xnu_heap_real_start): New variable.
31901 * loader/xnu.c (get_name_ptr): New function.
31902 (grub_xnu_load_driver): Fill namelen and name.
31903
31904 64-bit xnu support.
31905
31906 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31907 and 'loader/macho64.c'.
31908 * conf/i386-pc.rmk: Likewise.
31909 * conf/x86_64-efi.rmk: Likewise.
31910 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31911 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31912 * include/grub/macho.h (grub_macho_segment64): New structure.
31913 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31914 (grub_macho_size32): ... to this.
31915 (grub_macho32_get_entry_point): Renamed from ...
31916 (grub_macho_get_entry_point32): ... to this.
31917 (grub_macho_contains_macho64): New prototype.
31918 (grub_macho_size64): Likewise.
31919 (grub_macho_get_entry_point64): Likewise.
31920 (grub_macho32_load): Renamed from ...
31921 (grub_macho_load32): ... to this.
31922 (grub_macho32_filesize): Renamed from ...
31923 (grub_macho_filesize32): ... to this.
31924 (grub_macho32_readfile): Renamed from ...
31925 (grub_macho_readfile32): ... to this.
31926 (grub_macho_filesize64): New prototype.
31927 (grub_macho_readfile64): Likewise.
31928 (grub_macho_parse32): Likewise.
31929 (grub_macho_parse64): Likewise.
31930 * loader/macho.c: Split into ...
31931 * loader/machoXX.c: ... and this. Replace 32 with XX.
31932 * loader/macho32.c: New file.
31933 * loader/macho64.c: Likewise.
31934 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31935 (grub_cmd_xnu_kernel): Make 32-bit only.
31936 (grub_cmd_xnu_kernel64): New function.
31937 (grub_xnu_load_driver): Support Mach-O 64.
31938 (grub_cmd_xnu_mkext): Likewise.
31939 * util/grub.d/30_os-prober.in (osx_entry): New function.
31940 Generate entries for 64-bit boot too.
31941
31942 Eliminate ad-hoc tree format in XNU and EfiEmu.
31943
31944 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31945 * efiemu/pnvram.c: Rewritten to use environment variables.
31946 All users updated.
31947
31948 Inline utf16_to_utf8.
31949
31950 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31951 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31952 All users updated.
31953 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31954
31955 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31956 * commands/usbtest.c (grub_usb_get_string): ... move here.
31957 (usb_print_str): Fix error handling.
31958 * include/grub/usb.h (grub_usb_get_string): Remove.
31959
31960 UTF-8 to UTF-16 transformation.
31961
31962 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31963 (charset_mod_SOURCES): New variable.
31964 (charset_mod_CFLAGS): Likewise.
31965 (charset_mod_LDFLAGS): Likewise.
31966 * include/grub/utf.h: New file.
31967 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31968
31969 Support for device properties.
31970
31971 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31972 (grub_xnu_devprop_device_header): Likewise.
31973 (grub_xnu_devprop_device_descriptor): Likewise.
31974 (grub_xnu_devprop_add_device): New prototype.
31975 (grub_xnu_devprop_remove_device): Likewise.
31976 (grub_xnu_devprop_remove_property): Likewise.
31977 (grub_xnu_devprop_add_property_utf8): Likewise.
31978 (grub_xnu_devprop_add_property_utf16): Likewise.
31979 (grub_cpu_xnu_init): Likewise.
31980 (grub_cpu_xnu_fini): Likewise.
31981 (grub_cpu_xnu_unload): Likewise.
31982 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31983 (property_descriptor): Likewise.
31984 (devices): New variable.
31985 (grub_xnu_devprop_remove_property): New function.
31986 (grub_xnu_devprop_add_device): Likewise.
31987 (grub_xnu_devprop_remove_device): Likewise.
31988 (grub_xnu_devprop_add_property): Likewise.
31989 (grub_xnu_devprop_add_property_utf8): Likewise.
31990 (grub_xnu_devprop_add_property_utf16): Likewise.
31991 (hextoval): Likewise.
31992 (grub_cpu_xnu_fill_devprop): Likewise.
31993 (grub_cmd_devprop_load): Likewise.
31994 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31995 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31996 (cmd_devprop_load): New variable.
31997 (grub_cpu_xnu_init): New function.
31998 (grub_cpu_xnu_fini): Likewise.
31999 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32000 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32001 (grub_cmd_xnu_devtree): Likewise.
32002 (hextoval): New function.
32003 (unescape): Likewise.
32004 (grub_xnu_fill_devicetree): Likewise.
32005
32006 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32007 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32008
32009 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32010
32011 Workaround for broken ATI VBE.
32012
32013 * video/i386/pc/vbe.c (last_set_mode): New variable.
32014 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32015 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32016 (grub_video_vbe_setup): Don't check for reserved flag.
32017
32018 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
32019
32020 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32021 the `find' command.
32022
32023 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32024
32025 UUID support for HFS.
32026
32027 * fs/hfs.c (grub_hfs_uuid): New function.
32028 (grub_hfs_fs): New value .uuid.
32029 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32030
32031 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
32032
32033 Fix a segfault with parsing unknown long options.
32034
32035 * util/grub-mkrelpath.c (options): Zero terminate it.
32036
32037 2009-12-13 Carles Pina i Estany <carles@pina.cat>
32038
32039 * include/grub/misc.h (grub_puts): New declaration.
32040 (grub_puts_): Likewise.
32041 * kern/misc.c (grub_puts): New definition.
32042 (grub_puts_): Likewise.
32043
32044 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32045
32046 * util/grub-probe.c (probe): Improve error message.
32047
32048 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32049
32050 * loader/i386/multiboot_elfxx.c
32051 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32052 initialization.
32053
32054 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32055
32056 Relocator framework
32057
32058 * loader/i386/xnu_helper.S: Removed. All users updated.
32059 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32060 (relocator_mod_SOURCES): New variable.
32061 (relocator_mod_CFLAGS): Likewise.
32062 (relocator_mod_LDFLAGS): Likewise.
32063 (relocator_mod_ASFLAGS): Likewise.
32064 * conf/x86_64.rmk: Likewise.
32065 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32066 (grub_multiboot_payload_entry_offset): Likewise.
32067 (grub_multiboot_forward_relocator): Likewise.
32068 (grub_multiboot_forward_relocator_end): Likewise.
32069 (grub_multiboot_backward_relocator): Likewise.
32070 (grub_multiboot_backward_relocator_end): Likewise.
32071 (grub_multiboot_payload_eip): New variable.
32072 (grub_multiboot_payload_orig): Likewise.
32073 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32074 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32075 * include/grub/i386/memory.h
32076 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32077 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32078 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32079 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32080 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32081 * include/grub/i386/relocator.h: New file.
32082 * include/grub/x86_64/relocator.h: Likewise.
32083 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32084 (XNU_RELOCATOR): New macro.
32085 (grub_xnu_launcher_start): Remove.
32086 (grub_xnu_launcher_end): Likewise.
32087 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32088 (grub_xnu_heap_real_start): Remove.
32089 (grub_xnu_heap_start): Change to void *. All users updated.
32090 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32091 * lib/i386/relocator.c: New file.
32092 * lib/i386/relocator_asm.S: Likewise.
32093 * lib/i386/relocator_backward.S: Likewise.
32094 * lib/mips/relocator.c: Likewise.
32095 * lib/mips/relocator_asm.S: Likewise.
32096 * lib/relocator.c: Likewise.
32097 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32098 (entry): Removed.
32099 (playground): Likewise.
32100 (grub_multiboot_payload_orig): New variable.
32101 (grub_multiboot_payload_dest): Likewise.
32102 (grub_multiboot_payload_size): Likewise.
32103 (grub_multiboot_payload_eip): Likewise.
32104 (grub_multiboot_payload_esp): Likewise.
32105 (grub_multiboot_boot): Use grub_relocator32_boot.
32106 (grub_multiboot_unload): Free relocators.
32107 (grub_multiboot): Setup stack. Use relocators.
32108 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32109 (grub_multiboot_load_elfXX): Use relocators.
32110 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32111 (grub_multiboot_payload_size): Likewise.
32112 (grub_multiboot_payload_dest): Likewise.
32113 (grub_multiboot_payload_entry_offset): Likewise.
32114 (grub_multiboot_forward_relocator): Likewise.
32115 (grub_multiboot_backward_relocator): Likewise.
32116 (grub_multiboot_real_boot): Likewise.
32117 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32118 (grub_xnu_entry_point): Likewise.
32119 (grub_xnu_arg1): Likewise.
32120 (grub_xnu_stack): Likewise.
32121 (grub_xnu_launch): Removed.
32122 (grub_xnu_boot_resume): New function.
32123 (grub_xnu_boot): Use relocators.
32124 * loader/i386/xnu_helper.S: Removed.
32125 * loader/xnu.c (grub_xnu_heap_start): New variable.
32126 (grub_xnu_heap_size): Likewise.
32127 (grub_xnu_heap_malloc): Use relocators.
32128 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32129
32130 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32131
32132 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32133 anything.
32134
32135 2009-12-13 Carles Pina i Estany <carles@pina.cat>
32136
32137 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32138 GRUB_ERR_NONE before calling grub_env_set.
32139
32140 2009-12-12 Robert Millan <rmh@aybabtu.com>
32141
32142 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32143 * genmk.rb (video): New variable.
32144 (CLEANFILES, VIDEOFILES): Add #{video}.
32145 (#{video}): New target rule.
32146 * genvideolist.sh: New file.
32147 * Makefile.in (pkglib_DATA): Add video.lst.
32148 (video.lst): New target rule.
32149 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32150 `video.lst'.
32151 * util/grub.d/30_os-prober.in: Replace `vbe' with
32152 ${GRUB_VIDEO_BACKEND}.
32153
32154 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32155
32156 * THANKS: Add David Miller.
32157
32158 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32159
32160 libpciaccess support.
32161
32162 * Makefile.in (LIBPCIACCESS): New variable.
32163 (enable_grub_emu_pci): Likewise.
32164 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32165 util/pci.c and commands/lspci.c.
32166 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32167 * configure.ac (grub-emu-pci): New option.
32168 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32169 (grub_pci_device_unmap_range): Likewise.
32170 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32171 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32172 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32173 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32174 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32175 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32176 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32177 * include/grub/pciutils.h: New file.
32178 * util/pci.c: Likewise.
32179
32180 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
32181
32182 * util/misc.c: Don't include <errno.h> twice.
32183
32184 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
32185
32186 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32187 name in an error message.
32188 (grub_biosdisk_rw): Likewise.
32189
32190 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32191
32192 Eliminate NTFS 4Gib barrier.
32193
32194 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32195 (read_run_data): Likewise.
32196 (grub_ntfs_read_run_list): Likewise.
32197 (grub_ntfs_read_block): Likewise.
32198 (grub_ntfs_iterate_dir): Likewise.
32199 (read_mft): Likewise.
32200 (read_data): Likewise.
32201 Use COM_LOG_LEN.
32202 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32203 to avoid 64-bit division
32204 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32205 (grub_ntfs_rlst): Use grub_disk_addr_t.
32206
32207 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32208
32209 Eliminate grub-fstest 4Gib barrier.
32210
32211 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32212 (read_file): Fix error reporting.
32213
32214 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32215
32216 Eliminate hexdump 4Gib barrier.
32217
32218 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32219 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32220
32221 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32222
32223 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32224 Fixes amarsh bug.
32225
32226 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32227
32228 Remove miscellaneous files in distclean target.
32229
32230 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32231
32232 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
32233
32234 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32235 if they're already set. This resolves the conflict between my
32236 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32237 fixing the --grub-probe option again.
32238 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32239 change on 2009-10-06, so that we now once again source
32240 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32241
32242 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32243
32244 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32245 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32246 `util/devicemap.c'.
32247
32248 2009-12-08 Carles Pina i Estany <carles@pina.cat>
32249
32250 * include/grub/misc.h (grub_printf_): New declaration.
32251 * kern/misc.c (grub_printf_): New definition.
32252 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32253 instead of `grub_printf' and `_'.
32254 * normal/menu_entry.c (store_completion): Likewise.
32255 (run): Likewise.
32256 (grub_menu_entry_run): Likewise.
32257 * normal/menu_text.c (grub_wait_after_message): Likewise.
32258 (notify_booting): Likewise.
32259 (notify_fallback): Likewise.
32260 (notify_execution_failure): Likewise.
32261
32262 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
32263
32264 * configure.ac: Check for vasprintf.
32265 * util/misc.c (asprintf): Move allocation from here ...
32266 (vasprintf): ... to here. New function.
32267 (xasprintf): New function.
32268 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32269 prototypes.
32270 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32271 * util/grub-mkfont.c (write_font): Likewise.
32272 * util/grub-probe.c (probe): Likewise.
32273 * util/hostdisk.c (make_device_name): Likewise.
32274
32275 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
32276
32277 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32278 anything even prefixed with 'cdrom' as a cdrom.
32279
32280 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
32281
32282 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32283 mount points.
32284
32285 2009-12-05 Carles Pina i Estany <carles@pina.cat>
32286
32287 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32288 grub_gettext_msg_list.
32289 (grub_gettext_gettranslation_from_position): Return const char *
32290 and not char *.
32291 (grub_gettext_translate): Add the translated strings into a list,
32292 returns from the list if existing there.
32293 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32294 (grub_gettext_delete_list): Delete the list.
32295 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32296 lang environment variable is changed.
32297 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32298
32299 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32300
32301 Rename kernel.mod to kernel.img.
32302
32303 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32304 (kernel_mod_EXPORTS): Rename to ...
32305 (kernel_img_EXPORTS): ... this.
32306 (kernel_mod_SOURCES): Rename to ...
32307 (kernel_img_SOURCES): ... this.
32308 (kernel_mod_HEADERS): Rename to ...
32309 (kernel_img_HEADERS): ... this. All users updated.
32310 (kernel_mod_CFLAGS): Rename to ...
32311 (kernel_img_CFLAGS): ... this.
32312 (kernel_mod_ASFLAGS): Rename to ...
32313 (kernel_img_ASFLAGS): ... this.
32314 (kernel_mod_LDFLAGS): Rename to ...
32315 (kernel_img_LDFLAGS): ... this.
32316 * conf/x86_64-efi.rmk: Likewise.
32317 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32318 (read_kernel_image): ... this. All users updated.
32319 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32320
32321 2009-12-05 Carles Pina i Estany <carles@pina.cat>
32322
32323 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32324 (print_spaces): New function.
32325 (grub_print_ucs4): New function.
32326 (getstringwidth): New function.
32327 (print_message_indented): New function.
32328 (print_message): Gettexttize strings using print_message_indented.
32329 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32330 width.
32331 (get_entry_number): Gettextize and uses dynamic terminal width.
32332 (notify_booting, notify_fallback, notify_execution_failure):
32333 Gettextize.
32334 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32335 string.
32336 (run): Likewise.
32337 (grub_menu_entry_run): Likewise.
32338 * PO/POTFILES: Add normal/menu_entry.c.
32339
32340 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32341
32342 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32343
32344 2009-12-05 Carles Pina i Estany <carles@pina.cat>
32345
32346 * util/grub-install.in: Install gettext .mo files.
32347 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32348
32349 2009-12-05 Carles Pina i Estany <carles@pina.cat>
32350
32351 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32352 grub_dprintf.
32353
32354 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32355
32356 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32357 non-firmware-dependant one in realmode.S takes precedence.
32358
32359 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32360
32361 * commands/halt.c: Replace misc arch-specific headers with
32362 `<grub/misc.h>'.
32363 * commands/reboot.c: Likewise.
32364 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32365 `<grub/misc.h>'.
32366 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32367 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32368 (kernel_img_SOURCES): ... to here.
32369
32370 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32371 * include/grub/i386/pc/init.h: Likewise.
32372 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32373 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32374
32375 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32376
32377 * include/grub/i386/halt.h: Remove.
32378 * include/grub/i386/reboot.h: Likewise.
32379
32380 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32381
32382 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
32383
32384 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32385 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32386 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32387 "progname.h"
32388 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32389 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32390 (usage): Add missing comma in printf.
32391
32392 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32393
32394 Use the same reboot approach on i386 coreboot and qemu as we do on
32395 BIOS.
32396
32397 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32398 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32399 * kern/i386/reboot.c: Remove.
32400 * include/grub/i386/reboot.h (grub_reboot): Export function.
32401 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32402 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32403 0xf000:0xfff0 instead of 0xffff:0x0000.
32404 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32405 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32406
32407 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32408
32409 Fix $srcdir != $objdir build.
32410
32411 * Makefile.in (po/%.po): Rewrite as ...
32412 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32413
32414 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32415
32416 Fix GNU/Hurd grub-install crash.
32417 * util/grub-probe.c (probe): Try to access `path' only when it is not
32418 NULL.
32419
32420 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32421
32422 Correct module naming.
32423
32424 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32425 (GRUB_MOD_INIT(efi_uga)): ... to this
32426 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32427 (GRUB_MOD_FINI(efi_uga)): ... to this
32428 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32429 (GRUB_MOD_INIT(efi_gop)): ... to this
32430 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32431 (GRUB_MOD_FINI(efi_gop)): ... to this
32432
32433 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32434
32435 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32436 translatable.
32437 (usage): Translate `arg' strings using gettext().
32438 Thanks to Jordi Mallach for the suggestion.
32439
32440 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32441
32442 GOP support. Based on patch from Bean
32443 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32444
32445 * video/efi_gop.c: New file.
32446 * include/grub/efi/graphics_output.h: Likewise.
32447 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32448 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32449 variables.
32450 * conf/x86_64-efi.rmk: Likewise.
32451
32452 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32453
32454 Rename efi_fb to efi_uga.
32455
32456 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32457 'efi_uga.mod'.
32458 (efi_fb_mod_SOURCES): Rename this ...
32459 (efi_uga_mod_SOURCES): ... to this.
32460 (efi_fb_mod_CFLAGS): Rename this ...
32461 (efi_uga_mod_CFLAGS): ... to this.
32462 (efi_fb_mod_LDFLAGS): Rename this ...
32463 (efi_uga_mod_LDFLAGS): ... to this.
32464 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32465 'efi_uga.mod'.
32466 (efi_fb_mod_SOURCES): Rename this ...
32467 (efi_uga_mod_SOURCES): ... to this.
32468 (efi_fb_mod_CFLAGS): Rename this ...
32469 (efi_uga_mod_CFLAGS): ... to this.
32470 (efi_fb_mod_LDFLAGS): Rename this ...
32471 (efi_uga_mod_LDFLAGS): ... to this.
32472 * video/efi_fb.c: Move this ...
32473 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32474
32475 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32476
32477 * po/README: New file. Explain our PO file workflow.
32478
32479 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32480
32481 * po/ChangeLog: Remove. Move relevant entries back to ...
32482 * ChangeLog: ... here.
32483 * po/ca.po: Remove (now handled by TLP).
32484 * po/id.po: Likewise.
32485 * po/zh_CN.po: Likewise.
32486 * Makefile.in (LINGUAS): Initialize in a way that supports
32487 empty set.
32488
32489 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32490
32491 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32492 reliing on po/LINGUAS.
32493 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32494 (po/%.po): ... this.
32495
32496 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32497
32498 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32499 (main): Use `program_name' instead of nonexistent `progname'.
32500
32501 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32502
32503 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32504 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32505
32506 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32507
32508 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32509 commit.
32510 * conf/i386-efi.rmk: Likewise.
32511 * conf/i386-ieee1275.rmk: Likewise.
32512 * conf/powerpc-ieee1275.rmk: Likewise.
32513 * conf/sparc64-ieee1275.rmk: Likewise.
32514 * conf/x86_64-efi.rmk: Likewise.
32515
32516 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32517
32518 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32519
32520 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32521
32522 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32523
32524 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32525
32526 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32527 (grub_mkdevicemap_SOURCES): New variable.
32528 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32529 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32530 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32531 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32532 (grub_mkdevicemap_SOURCES): Remove.
32533 * conf/i386-efi.rmk: Likewise.
32534 * conf/i386-ieee1275.rmk: Likewise.
32535 * conf/i386-pc.rmk: Likewise.
32536 * conf/powerpc-ieee1275.rmk: Likewise.
32537 * conf/sparc64-ieee1275.rmk: Likewise.
32538 * conf/x86_64-efi.rmk: Likewise.
32539 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32540 (usage): Fix strings to use `program_name'.
32541 (main): Initialize gettext.
32542 * util/grub-editenv.c: Likewise.
32543 * util/grub-emu.c: Likewise.
32544 * util/grub-fstest.c: Likewise.
32545 * util/grub-mkdevicemap.c: Likewise.
32546 * util/grub-mkfont.c: Likewise.
32547 * util/grub-mkrelpath.c: Likewise.
32548 * util/grub-pe2elf.c: Likewise.
32549 * util/grub-probe.c: Likewise.
32550 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32551 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32552 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32553
32554 * util/misc.c: Include `"progname.h"'.
32555 (progname): Remove variable.
32556 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32557
32558 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32559
32560 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32561 printf and print a newline after the menuentry header line.
32562 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32563
32564 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32565
32566 autoconf >= 2.60 support $(localedir).
32567
32568 * INSTALL: Note that autoconf 2.60 is required.
32569 * configure.ac (AC_PREREQ): Bump to 2.60.
32570 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32571 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32572
32573 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32574
32575 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32576 aclocal is run.
32577
32578 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32579
32580 * normal/main.c (grub_normal_read_line): Fix off-by-one
32581 buffer overflow.
32582
32583 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32584
32585 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32586 "parser.grub" in grub_command_execute() call.
32587
32588 2009-11-24 Carles Pina i Estany <carles@pina.cat>
32589
32590 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32591 * conf/i386-efi.rmk: Likewise.
32592 * conf/i386-ieee1275.rmk: Likewise.
32593 * conf/i386-pc.rmk: Likewise.
32594 * conf/powerpc-ieee1275.rmk: Likewise.
32595 * conf/sparc64-ieee1275.rmk: Likewise.
32596 * conf/x86_64-efi.rmk: Likewise.
32597 * gettext/gettex.c: Include <grub/i18n.h>.
32598 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32599 here ...
32600 * include/grub/i18n.h: ... to here
32601 * include/grub/i18n.h: ... to here.
32602 * kern/misc.c: Include <grub/i18n.h>
32603 (grub_gettext_dummy): Move above user.
32604
32605 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32606
32607 * util/Makefile.in (install-local): Convert a `for' into a normal
32608 shell expansion.
32609
32610 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32611
32612 * autogen.sh: Add automake call.
32613 * config.guess: Remove.
32614 * config.sub: Likewise.
32615 * install-sh: Likewise.
32616
32617 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32618
32619 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32620
32621 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32622
32623 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32624 function to a normal shell `for'.
32625
32626 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32627
32628 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32629
32630 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32631
32632 * util/grub-mkrelpath.c: New file.
32633 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32634 (grub_mkrelpath_SOURCES): New variable.
32635 * include/grub/util/misc.h: New function prototype.
32636 * util/misc.c (make_system_path_relative_to_its_root): New function.
32637
32638 * util/grub-mkconfig_lib.in (bindir): New variable.
32639 (grub_mkrelpath): Likewise.
32640 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32641
32642 * util/probe.c (probe): Make the file path relative to its root.
32643 Change a info message to use the GRUB path. Enable again the
32644 check if we can read the file with GRUB facilities.
32645
32646 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32647 to its root.
32648
32649 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32650
32651 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32652 platform.
32653
32654 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32655
32656 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32657 strncmp().
32658
32659 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32660
32661 * util/getroot.c (grub_util_is_dmraid): New function.
32662 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32663 devices as normal ones, not as LVM.
32664
32665 2009-11-23 Carles Pina i Estany <carles@pina.cat>
32666
32667 * conf/common.rmk: Add grub-gettext_lib target and updates
32668 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32669 LDFLAGS.
32670 * gettext/gettext.c: New file. (Reads mo files).
32671 * include/grub/file.h (grub_file_pread): New prototype.
32672 * include/grub/i18n.h (_): New prototype.
32673 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32674 prototypes.
32675 * kern/misc.c (grub_gettext_dummy): New function.
32676 * normal/menu_text.c: Include <grub/i18n.h>.
32677 * normal/menu_text.c (print_timeout): Gettexttize string.
32678 * normal/menu_text.c (print_message): Gettexttize string.
32679 * po/POTFILES: Add `normal/menu_text.c'.
32680 * po/ca.po: Add new translations.
32681 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32682 gettext module and defines locale_dir and lang in grub.cfg.
32683 * NEWS: Add gettext support.
32684
32685 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32686
32687 * util/hostdisk.c: Include `<grub/i18n.h>'.
32688 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32689 (make_device_name): Rewrite using asprintf.
32690 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32691 (find_system_device): If a device is not found, generate one just
32692 by reusing the OS path name.
32693 (read_device_map): Make it permissible for device.map not to exist.
32694
32695 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32696
32697 * script/sh/execute.c: Move from here ...
32698 * script/execute.c: ... to here. Update all users.
32699 * script/sh/function.c: Move from here ...
32700 * script/function.c: ... to here. Update all users.
32701 * script/sh/lexer.c: Move from here ...
32702 * script/lexer.c: ... to here. Update all users.
32703 * script/sh/main.c: Move from here ...
32704 * script/main.c: ... to here. Update all users.
32705 * script/sh/parser.y: Move from here ...
32706 * script/parser.y: ... to here. Update all users.
32707 * script/sh/script.c: Move from here ...
32708 * script/script.c: ... to here. Update all users.
32709
32710 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32711
32712 * configure.ac: Detect all `emu' platforms. Define
32713 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32714 --enable-grub-emu logic. Disable include/grub/machine
32715 symlink on `emu' platforms.
32716
32717 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32718 * gensymlist.sh.in: Likewise.
32719
32720 * include/grub/i386/coreboot/machine.h: Remove file.
32721 * include/grub/i386/efi/machine.h: Likewise.
32722 * include/grub/i386/ieee1275/machine.h: Likewise.
32723 * include/grub/i386/pc/machine.h: Likewise.
32724 * include/grub/i386/qemu/machine.h: Likewise.
32725 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32726 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32727 * include/grub/x86_64/efi/machine.h: Likewise.
32728
32729 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32730 * commands/halt.c: Likewise.
32731 * commands/reboot.c: Likewise.
32732 * include/grub/autoefi.h: Likewise.
32733 * include/grub/i386/at_keyboard.h: Likewise.
32734 * include/grub/i386/kernel.h: Likewise.
32735 * include/grub/i386/loader.h: Likewise.
32736 * include/grub/i386/pc/memory.h: Likewise.
32737 * kern/dl.c: Likewise.
32738 * kern/i386/coreboot/init.c: Likewise.
32739 * loader/i386/bsd.c: Likewise.
32740 * loader/i386/linux.c: Likewise.
32741 * loader/multiboot_loader.c: Likewise.
32742 * term/i386/pc/serial.c: Likewise.
32743 * term/usb_keyboard.c: Likewise.
32744
32745 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32746 `<grub/machine/machine.h>'
32747 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32748 * util/misc.c: Remove `<grub/machine/machine.h>' and
32749 `<grub/machine/time.h>'.
32750
32751 * Makefile.in (enable_grub_emu): Remove variable.
32752 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32753
32754 * conf/any-emu.rmk: New file.
32755 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32756 (grub_emu_init.c): Move from here ...
32757 * conf/any-emu.rmk: ... to here.
32758
32759 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32760 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32761 * conf/any-emu.rmk: ... to here.
32762
32763 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32764
32765 * include/grub/parser.h (grub_parser_register): Document need
32766 of `name' parameter.
32767 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32768 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32769 "sh" to "grub".
32770
32771 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32772
32773 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32774 `$(XGETTEXT)'.
32775 * include/grub/i18n.h (N_): New macro.
32776 * util/mkisofs/mkisofs.h: Likewise.
32777 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32778 around N_().
32779 (usage): Use gettext() to translate help strings when printing them.
32780
32781 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32782
32783 Based on patch from Bean
32784 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32785
32786 * video/efi_fb.c: New file.
32787 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32788 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32789 variables.
32790 * conf/x86_64-efi.rmk: Likewise.
32791
32792 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32793
32794 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32795 * util/i386/pc/grub-setup.c: Likewise.
32796
32797 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32798
32799 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32800 <hurd/fs.h>
32801 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32802 file_get_storage_info to implement grub_guess_root_device.
32803
32804 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32805
32806 * Makefile.in (target): Use make's builtin $(shell) function
32807 instead of calling directly $(SHELL) to create the locale directories,
32808 inside the $(foreach) function.
32809
32810 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32811
32812 * util/grub-mkrescue.in: Print an error and usage if output option
32813 has not been given.
32814
32815 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32816
32817 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32818 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32819 root and /boot are on different devices.
32820
32821 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32822
32823 Fix build for srcdir != objdir.
32824
32825 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32826 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32827 $(srcdir).
32828 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32829 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32830 reference for input.
32831
32832 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32833
32834 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32835 or hardlinking it). Remove -J option, Joliet is not compatible with
32836 multiple source directories.
32837
32838 2009-11-21 Carles Pina i Estany <carles@pina.cat>
32839 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32840
32841 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32842 (process_input_dir): New function. Process an arbitrary input
32843 directory.
32844 Misc adjustments to support both "override mode" and system-wide mode.
32845
32846 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32847
32848 * configure.ac (UNIFONT_BDF): Rename to ...
32849 (FONT_SOURCE): ... this. Update all users.
32850
32851 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32852
32853 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32854 to the list of unifont files to look for.
32855
32856 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32857
32858 Patch from Joe Auricchio <jauricchio@gmail.com>
32859 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32860 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32861 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32862
32863 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32864
32865 * Makefile.in (install-local): Add a missing backslash.
32866
32867 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32868
32869 * include/grub/x86_64/io.h: New file.
32870
32871 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32872
32873 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32874 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32875 Include `"progname.h"'.
32876 (main): Initialize gettext.
32877 * util/i386/pc/grub-setup.c: Gettexttize.
32878 * util/i386/pc/grub-mkimage.c: Likewise.
32879
32880 * Makefile.in (po/*.po): Redefine as ...
32881 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32882
32883 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32884
32885 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32886
32887 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32888 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32889 (program_name): Remove.
32890 (main): Initialize gettext support.
32891 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32892 Include `<libintl.h>'.
32893 (_): New macro.
32894
32895 * util/mkisofs/eltorito.c: Gettexttize.
32896 * util/mkisofs/joliet.c: Likewise.
32897 * util/mkisofs/mkisofs.c: Likewise.
32898 * util/mkisofs/multi.c: Likewise.
32899 * util/mkisofs/rock.c: Likewise.
32900 * util/mkisofs/tree.c: Likewise.
32901 * util/mkisofs/write.c: Likewise.
32902
32903 * po/POTFILES: Update with new files.
32904
32905 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32906
32907 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32908 * util/mkisofs/iso9660.h: Likewise.
32909 * util/mkisofs/joliet.c: Likewise.
32910 * util/mkisofs/mkisofs.c: Likewise.
32911 * util/mkisofs/mkisofs.h: Likewise.
32912 * util/mkisofs/rock.c: Likewise.
32913 * util/mkisofs/tree.c: Likewise.
32914 * util/mkisofs/write.c: Likewise.
32915
32916 * util/mkisofs/eltorito.c (rcsid): Remove.
32917 * util/mkisofs/hash.c: Likewise.
32918 * util/mkisofs/joliet.c: Likewise.
32919 * util/mkisofs/name.c: Likewise.
32920 * util/mkisofs/rock.c: Likewise.
32921 * util/mkisofs/tree.c: Likewise.
32922 * util/mkisofs/write.c: Likewise.
32923
32924 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32925
32926 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32927 instead of static allocation.
32928 * util/mkisofs/match.h: Likewise.
32929
32930 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32931
32932 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32933 and `util/grub.d/10_linux.in'.
32934 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32935 translatable Shell files.
32936
32937 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32938
32939 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32940
32941 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32942
32943 * INSTALL: Document Automake is needed for bootstrap.
32944 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
32945 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32946 Add gettext initialization.
32947 (kfreebsd_entry): Make menuentry output translatable.
32948
32949 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32950
32951 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32952 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32953 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32954 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32955 (LINGUAS): Auto-generate using `po/LINGUAS'.
32956 * po/LINGUAS: New file.
32957
32958 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32959
32960 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32961 other things).
32962 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32963 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32964 bindtextdomain() calls for gettext initialization.
32965
32966 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32967
32968 * gnulib/progname.c: New file (imported from Gnulib).
32969 * gnulib/progname.h: Likewise.
32970 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32971 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32972 (usage): Replace `progname' with `program_name'.
32973 (main): Use set_program_name() for program name initialization.
32974
32975 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32976
32977 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32978 from here ...
32979 * Makefile.in (CPPFLAGS): ... to here.
32980
32981 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * aclocal.m4: Move from here ...
32984 * acinclude.m4: ... to here.
32985 * autogen.sh: Add call to `aclocal'.
32986 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32987
32988 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32989
32990 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32991 (LINGUAS): New variable.
32992 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32993 (install-local): Install MO files.
32994 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32995 * include/grub/i18n.h: New file.
32996 * po/POTFILES: New file.
32997 * po/ca.po: New file.
32998 * util/grub.d/10_linux.in (bindir): New variable.
32999 Add gettext initialization.
33000 (linux_entry): Make menuentry output translatable.
33001 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33002 (usage): Make --help output translatable.
33003 (main): Initialize gettext.
33004
33005 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33006
33007 * import_gcry.py: New file (written by Vladimir with minor
33008 adjustments).
33009 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33010 ciphers.
33011 * INSTALL: Document that Python is required for bootstrap.
33012
33013 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33014
33015 Import ciphers from libgcrypt 1.4.4.
33016
33017 * lib/libgcrypt/cipher/ChangeLog
33018 * lib/libgcrypt/cipher/ac.c
33019 * lib/libgcrypt/cipher/arcfour.c
33020 * lib/libgcrypt/cipher/bithelp.h
33021 * lib/libgcrypt/cipher/blowfish.c
33022 * lib/libgcrypt/cipher/camellia-glue.c
33023 * lib/libgcrypt/cipher/camellia.c
33024 * lib/libgcrypt/cipher/camellia.h
33025 * lib/libgcrypt/cipher/cast5.c
33026 * lib/libgcrypt/cipher/cipher.c
33027 * lib/libgcrypt/cipher/crc.c
33028 * lib/libgcrypt/cipher/des.c
33029 * lib/libgcrypt/cipher/dsa.c
33030 * lib/libgcrypt/cipher/ecc.c
33031 * lib/libgcrypt/cipher/elgamal.c
33032 * lib/libgcrypt/cipher/hash-common.c
33033 * lib/libgcrypt/cipher/hash-common.h
33034 * lib/libgcrypt/cipher/hmac-tests.c
33035 * lib/libgcrypt/cipher/md.c
33036 * lib/libgcrypt/cipher/md4.c
33037 * lib/libgcrypt/cipher/md5.c
33038 * lib/libgcrypt/cipher/primegen.c
33039 * lib/libgcrypt/cipher/pubkey.c
33040 * lib/libgcrypt/cipher/rfc2268.c
33041 * lib/libgcrypt/cipher/rijndael-tables.h
33042 * lib/libgcrypt/cipher/rijndael.c
33043 * lib/libgcrypt/cipher/rmd.h
33044 * lib/libgcrypt/cipher/rmd160.c
33045 * lib/libgcrypt/cipher/rsa.c
33046 * lib/libgcrypt/cipher/seed.c
33047 * lib/libgcrypt/cipher/serpent.c
33048 * lib/libgcrypt/cipher/sha1.c
33049 * lib/libgcrypt/cipher/sha256.c
33050 * lib/libgcrypt/cipher/sha512.c
33051 * lib/libgcrypt/cipher/tiger.c
33052 * lib/libgcrypt/cipher/twofish.c
33053 * lib/libgcrypt/cipher/whirlpool.c
33054
33055 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33056
33057 Fix build for systems without error().
33058
33059 * gnulib/error.c: New file (imported from Gnulib).
33060 * gnulib/error.h: Likewise.
33061 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33062 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33063 (this variable is now used by error()).
33064
33065 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
33066
33067 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33068 instead of relying that char is signed.
33069
33070 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33071
33072 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33073 blocksize different from specified.
33074 (grub_pxefs_read): Likewise.
33075
33076 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
33077
33078 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33079
33080 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33081 (grub_ata_readwrite): Likewise. Update 2 format strings.
33082 (grub_atapi_read): Likewise.
33083
33084 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33085 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33086 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33087 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33088 (ata_mod_LDFLAGS): Move from here ...
33089 * conf/i386.rmk: ... to here ...
33090 * conf/x86_64-efi.rmk: ... and here.
33091 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33092 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33093
33094 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33095
33096 Relicense multiboot.h, with RMS' blessing.
33097
33098 * include/multiboot.h: Change to X11 license.
33099
33100 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33101
33102 Support --version in grub-mkisofs.
33103
33104 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33105 (OPTION_VERSION): New macro.
33106 (ld_options): Recognize --version.
33107 (usage): Move `program_name' from here ...
33108 (program_name): ... to here. Add `static' qualifier.
33109 (main): Recognize `OPTION_VERSION'.
33110
33111 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
33112
33113 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33114 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33115
33116 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33117
33118 Fix help2man generation for mkisofs.
33119
33120 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33121 (usage): Send output to stdout (rather than stderr).
33122
33123 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33124
33125 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33126 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33127 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33128 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33129 (bin_SCRIPTS): Add `grub-mkfloppy'.
33130 (grub_mkfloppy_SOURCES): New variable.
33131
33132 * util/grub-mkrescue.in: New file.
33133 * util/i386/pc/grub-mkfloppy.in: New file.
33134
33135 * util/i386/coreboot/grub-mkrescue.in: Remove.
33136 * util/i386/pc/grub-mkrescue.in: Remove.
33137
33138 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33139
33140 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33141 from here ...
33142 * include/multiboot.h (struct multiboot_header): ... to here. Update
33143 all users.
33144 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33145 from here ...
33146 * include/multiboot.h (struct multiboot_info): ... to here. Update
33147 all users.
33148 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33149 from here ...
33150 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33151 Update all users.
33152 * include/grub/multiboot.h (struct grub_mod_list): Move
33153 from here ...
33154 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33155 Update all users.
33156
33157 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * include/multiboot2.h (multiboot_word): Rename from this ...
33160 (multiboot2_word): ... to this. Update all users.
33161 (multiboot_header): Rename from this ...
33162 (multiboot2_header): ... to this. Update all users.
33163 (multiboot_tag_header): Rename from this ...
33164 (multiboot2_tag_header): ... to this. Update all users.
33165 (multiboot_tag_start): Rename from this ...
33166 (multiboot2_tag_start): ... to this. Update all users.
33167 (multiboot_tag_name): Rename from this ...
33168 (multiboot2_tag_name): ... to this. Update all users.
33169 (multiboot_tag_module): Rename from this ...
33170 (multiboot2_tag_module): ... to this. Update all users.
33171 (multiboot_tag_memory): Rename from this ...
33172 (multiboot2_tag_memory): ... to this. Update all users.
33173 (multiboot_tag_unused): Rename from this ...
33174 (multiboot2_tag_unused): ... to this. Update all users.
33175 (multiboot_tag_end): Rename from this ...
33176 (multiboot2_tag_end): ... to this. Update all users.
33177
33178 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33179
33180 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33181 this platform we should support Multiboot1 first.
33182
33183 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33184 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33185 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33186
33187 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33188
33189 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33190 of write calls (converting them to fwrite() if they aren't already).
33191 (get_torito_desc): Likewise.
33192 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33193
33194 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33195
33196 * util/i386/pc/grub-install.in: Move from here ...
33197 * util/grub-install.in: ... to here. Update all users.
33198
33199 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
33200
33201 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33202
33203 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33204
33205 Support for El Torito without floppy emulation.
33206
33207 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33208 (init_boot_catalog): Improve error handling.
33209 (get_torito_desc): Don't use floppy emulation unless requested by
33210 user. Patch boot information table when requested via
33211 `-boot-info-table'.
33212 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33213 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33214 (use_boot_info_table): New variables.
33215 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33216 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33217 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33218 `--eltorito-emul-floppy'.
33219 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33220 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33221 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33222 (use_boot_info_table, get_731): New prototypes.
33223 * util/mkisofs/write.c (get_731): New function.
33224
33225 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
33226
33227 Fix the generation of the man page.
33228
33229 * util/pc/i386/grub-install.in: Source
33230 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33231
33232 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33233
33234 Large file support for grub-mkisofs.
33235
33236 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33237 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33238 (session_start): Upgrade type to `uint64_t'. Update all users.
33239 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33240 (struct directory_entry): Upgrade type of `starting_block' and
33241 `size' to `uint64_t'. Update all users.
33242 (struct deferred): Remove unused structure.
33243 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33244 Update all users.
33245 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33246 file is larger than `UINT32_MAX'.
33247 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33248 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33249 return value.
33250 (struct deferred_write): Upgrade type of `extent' and `size' to
33251 `uint64_t'. Update all users.
33252 (last_extent_written): Upgrade type to `uint64_t'. Update all
33253 users.
33254 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33255 Update all users. Upgrade type of `remain' to `int64_t' and
33256 `use' to `size_t'. Use error() to handle fread() errors.
33257 (write_files): Rely on write_one_file() rather than calling
33258 xfwrite() directly.
33259
33260 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
33261
33262 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33263
33264 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33265
33266 * util/mkisofs/fnmatch.c: Remove.
33267 * util/mkisofs/getopt1.c: Likewise.
33268 * util/mkisofs/getopt.c: Likewise.
33269 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33270 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33271 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33272 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33273 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33274
33275 * configure.ac: Detect `mingw32msvc' host_os.
33276 Check for lstat(), getuid() and getgid().
33277
33278 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33279 instances of `u_char' with `uint8_t'.
33280
33281 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33282 [!HAVE_GETUID] (getuid): New function (stub).
33283 [!HAVE_GETGID] (getgid): Likewise.
33284 [!HAVE_LSTAT] (lstat): Likewise.
33285 [!S_IROTH] (S_IROTH): New macro (dummy).
33286 [!S_IRGRP] (S_IRGRP): Likewise.
33287
33288 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33289
33290 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33291 conditional expression).
33292
33293 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 Import from Gnulib.
33296
33297 * gnulib/fnmatch.c: New file.
33298 * gnulib/fnmatch.h: Likewise.
33299 * gnulib/fnmatch_loop.c: Likewise.
33300 * gnulib/getopt.c: Likewise.
33301 * gnulib/getopt.h: Likewise.
33302 * gnulib/getopt1.c: Likewise.
33303 * gnulib/getopt_int.h: Likewise.
33304 * gnulib/gettext.h: Likewise.
33305
33306 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33307
33308 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33309 * normal/handler.c (read_handler_list): Likewise.
33310
33311 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33312
33313 Misc cleanup.
33314
33315 * kern/command.c (grub_register_command_prio): Use
33316 grub_zalloc() instead of explicitly zeroing data.
33317 * kern/list.c: Include `<grub/mm.h>'.
33318 (grub_named_list_find): Replace `0' with `NULL'.
33319 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33320 (fs_module_list): Change type to `grub_named_list_t'. Update all
33321 users.
33322 * normal/dyncmd.c (read_command_list): Add space between function
33323 call and parenthesis.
33324 * normal/handler.c (read_handler_list): Likewise.
33325
33326 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33327
33328 * normal/auth.c (punishment_delay): Moved from here ...
33329 (grub_auth_strcmp): ... to here (inside function).
33330
33331 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33332
33333 * include/grub/list.h (struct grub_named_list): Remove `const'
33334 qualifier from `name'.
33335 (struct grub_prio_list): Likewise.
33336
33337 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33338
33339 * normal/auth.c: Include `<grub/time.h>'.
33340 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33341
33342 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33343
33344 * normal/auth.c (punishment_delay): New variable.
33345 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33346 (grub_auth_check_authentication): Punish failed login attempts with
33347 an incremental (2^N) delay.
33348
33349 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33350
33351 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33352 path with $(srcdir).
33353
33354 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33355
33356 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33357
33358 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33359
33360 * util/i386/coreboot/grub-mkrescue.in: New file.
33361 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33362 variables.
33363
33364 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33365 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33366 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33367 requirements.
33368 * util/mkisofs/defaults.h: New file.
33369 * util/mkisofs/eltorito.c: Likewise.
33370 * util/mkisofs/exclude.h: Likewise.
33371 * util/mkisofs/fnmatch.c: Likewise.
33372 * util/mkisofs/getopt.c: Likewise.
33373 * util/mkisofs/getopt1.c: Likewise.
33374 * util/mkisofs/hash.c: Likewise.
33375 * util/mkisofs/include/fctldefs.h: Likewise.
33376 * util/mkisofs/include/mconfig.h: Likewise.
33377 * util/mkisofs/include/prototyp.h: Likewise.
33378 * util/mkisofs/include/statdefs.h: Likewise.
33379 * util/mkisofs/iso9660.h: Likewise.
33380 * util/mkisofs/joliet.c: Likewise.
33381 * util/mkisofs/match.c: Likewise.
33382 * util/mkisofs/match.h: Likewise.
33383 * util/mkisofs/mkisofs.c: Likewise.
33384 * util/mkisofs/mkisofs.h: Likewise.
33385 * util/mkisofs/multi.c: Likewise.
33386 * util/mkisofs/name.c: Likewise.
33387 * util/mkisofs/rock.c: Likewise.
33388 * util/mkisofs/tree.c: Likewise.
33389 * util/mkisofs/write.c: Likewise.
33390
33391 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33392
33393 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33394 being insecure.
33395
33396 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33397
33398 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33399 `grub-mkimage' (and use $0 when possible).
33400
33401 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33402
33403 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33404 error message for excessively large memory map.
33405
33406 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33407
33408 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33409 executable bit.
33410
33411 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33412
33413 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33414 message for coreboot users.
33415
33416 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33417
33418 Fix build with GNU gold.
33419
33420 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33421 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33422 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33423 link addresses.
33424 * aclocal.m4: Likewise.
33425
33426 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
33427
33428 * configure.ac (AC_PREREQ): Bump to 2.59d.
33429 * INSTALL: Make it more clear when Autoconf and Ruby are
33430 needed and when to run `./autogen.sh'.
33431
33432 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33433
33434 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33435 OSes.
33436
33437 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33438
33439 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33440
33441 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33442
33443 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33444 giving it to GNU Mach.
33445
33446 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33447
33448 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33449 GNU partition number to get internal GRUB partition number.
33450
33451 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33452
33453 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33454 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33455
33456 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33457
33458 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33459 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33460 case.
33461
33462 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
33463
33464 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33465
33466 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33467
33468 Fix build problem.
33469
33470 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33471 `-isystem=$(srcdir)/include'.
33472
33473 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33474
33475 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33476 checked (grub-install doesn't currently rely on it).
33477
33478 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33479
33480 Revert SVN r2660.
33481
33482 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33483 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33484 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33485 * conf/i386-ieee1275.rmk: Likewise.
33486 * conf/i386-pc.rmk: Likewise.
33487 * conf/powerpc-ieee1275.rmk: Likewise.
33488 * conf/sparc64-ieee1275.rmk: Likewise.
33489 * conf/x86_64-efi.rmk: Likewise.
33490
33491 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33492
33493 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33494
33495 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33496
33497 * include/grub/misc.h: Stop checking for APPLE_CC.
33498
33499 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33500
33501 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33502 doesn't cause an infinite call loop.
33503
33504 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
33505
33506 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33507 strings.
33508
33509 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33510
33511 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33512 variable.
33513 * Makefile.in: Likewise.
33514
33515 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33516
33517 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33518
33519 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33520
33521 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33522
33523 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33524
33525 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33526
33527 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33528
33529 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33530 from here ...
33531 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33532
33533 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33534
33535 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33536 in $(MAKEINFO) invocation. This makes it clear in output that
33537 errors are being ignored.
33538
33539 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33540
33541 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33542 from here ...
33543 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33544 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33545 * conf/i386-ieee1275.rmk: Likewise.
33546 * conf/i386-pc.rmk: Likewise.
33547 * conf/powerpc-ieee1275.rmk: Likewise.
33548 * conf/sparc64-ieee1275.rmk: Likewise.
33549 * conf/x86_64-efi.rmk: Likewise.
33550
33551 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33552
33553 * util/grub-editenv.c (main): If only a command is given, use
33554 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33555 (usage): FILENAME is now optional and has a default.
33556
33557 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33558
33559 Improve grub-mkconfig performance when there are several menu
33560 entries on a single filesystem.
33561
33562 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33563 prepare_grub_to_access_device.
33564 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33565 * util/grub.d/30_os-prober.in: Likewise.
33566
33567 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33568
33569 * util/grub.d/10_freebsd.in: Remove.
33570 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33571 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33572
33573 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33574
33575 * docs/grub.cfg: Fix example usage of *BSD loaders.
33576
33577 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33578
33579 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33580 grub_util_error() call.
33581
33582 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33583
33584 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33585 `reserved_first_sector' member.
33586 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33587 `reserved_first_sector' to 1.
33588 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33589 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33590 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33591 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33592 filesystems which begin at first sector.
33593 (options): New option --skip-fs-probe.
33594 (main): Handle --skip-fs-probe and pass it to setup().
33595
33596 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33597
33598 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33599 (memset): Fix function prototype.
33600
33601 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33602 2009-10-25 Vasily Averin <vvs@parallels.com>
33603
33604 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33605 `dirent.direntlen == 0'.
33606
33607 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33608
33609 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33610 `cpio'.
33611 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33612
33613 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33614
33615 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33616 `__trampoline_setup' and `__ucmpdi2'.
33617 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33618 that libgcc provides.
33619
33620 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33621
33622 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33623 * include/grub/sparc64/libgcc.h (memset): Likewise.
33624 * include/grub/misc.h (memset, memcmp): New function prototypes.
33625
33626 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33627
33628 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33629 `cpio'.
33630 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33631
33632 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33633
33634 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33635 * docs/grub.cfg: Compensate for recent change in multiboot
33636 loader (since 2009-08-14 it won't pass filename to payload).
33637 * util/grub.d/10_hurd.in: Likewise.
33638
33639 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
33640
33641 * config.guess: Update to latest version from config git
33642 repository.
33643 * config.sub: Likewise.
33644
33645 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33646
33647 Fix build on sparc64.
33648
33649 * configure.ac: Perform checks for libgcc symbols before
33650 adding `-nostdlib' to LDFLAGS.
33651
33652 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33653
33654 Let user specify OpenBSD root device.
33655
33656 * loader/i386/bsd.c (openbsd_root): New variable.
33657 (openbsd_opts): New option 'root'.
33658 (OPENBSD_ROOT_ARG): New macro.
33659 (grub_openbsd_boot): Use 'openbsd_root'.
33660 (grub_cmd_openbsd): Fill 'openbsd_root'.
33661
33662 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33663
33664 * NEWS: Misc adjustments.
33665
33666 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33667
33668 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33669
33670 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33671
33672 * configure.ac: Bump version to 1.97.
33673
33674 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
33675
33676 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33677 -mno-3dnow on x86 architectures. Some toolchains enable these
33678 features by default, but they rely on registers that aren't enabled
33679 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33680
33681 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33682
33683 Make entry text a bit more readable.
33684
33685 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33686
33687 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33690
33691 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33692
33693 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33694 operations.
33695
33696 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33697
33698 * configure.ac: Add missing dollar.
33699
33700 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33701
33702 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33703
33704 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33705 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33706 exports.
33707 * include/grub/sparc64/libgcc.h: Likewise. Use
33708 preprocessor conditionals.
33709
33710 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33711
33712 * conf/common.rmk (grub-dumpbios): Remove rule.
33713 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33714 * util/grub-dumpbios.in: Remove file.
33715
33716 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33717
33718 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33719 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33720
33721 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33722 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33723 users.
33724
33725 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33726 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33727 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33728 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33729 users.
33730
33731 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33732
33733 * term/tparm.c: Switch to GPLv3.
33734
33735 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33736
33737 * include/grub/i386/cpuid.h: Add header protection.
33738
33739 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33740
33741 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33742
33743 * include/grub/i386/cpuid.h: New file.
33744 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33745 (has_longmode): Rename to ...
33746 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33747 `static' attribute.
33748 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33749 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33750 on a CPU that doesn't implement AMD64 instruction set.
33751
33752 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33753
33754 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33755 that version.texi is rebuilt on version number changes.
33756
33757 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33758
33759 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33760 Fixes bug #27602.
33761
33762 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33763
33764 * util/i386/pc/grub-install.in: Source
33765 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33766 that the --grub-probe option will work.
33767 * util/sparc64/ieee1275/grub-install.in: Likewise.
33768
33769 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33770
33771 * configure.ac: Bump version to 1.97~beta4.
33772
33773 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33774
33775 Resync grub-mkdevicemap in x86_64-efi.
33776
33777 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33778 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33779 `util/devicemap.c'.
33780
33781 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
33782
33783 * util/grub-editenv.c (create_envblk_file): Write new block with a
33784 .new suffix and then rename it into place, to ensure atomic
33785 creation.
33786
33787 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33788
33789 Do not automatically install headers.
33790
33791 * Makefile.in (include_DATA): Remove. Update all users.
33792
33793 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33794
33795 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33796 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33797
33798 * util/osdetect.lua: Remove.
33799 * script/lua/lauxlib.c: Likewise.
33800 * script/lua/ldebug.c: Likewise.
33801 * script/lua/grub_main.c: Likewise.
33802 * script/lua/lauxlib.h: Likewise.
33803 * script/lua/ldebug.h: Likewise.
33804 * script/lua/ltablib.c: Likewise.
33805 * script/lua/liolib.c: Likewise.
33806 * script/lua/lstrlib.c: Likewise.
33807 * script/lua/lualib.h: Likewise.
33808 * script/lua/ldo.c: Likewise.
33809 * script/lua/ldump.c: Likewise.
33810 * script/lua/ldo.h: Likewise.
33811 * script/lua/loslib.c: Likewise.
33812 * script/lua/lundump.c: Likewise.
33813 * script/lua/grub_lib.c: Likewise.
33814 * script/lua/ldblib.c: Likewise.
33815 * script/lua/lundump.h: Likewise.
33816 * script/lua/lmem.c: Likewise.
33817 * script/lua/grub_lib.h: Likewise.
33818 * script/lua/lmathlib.c: Likewise.
33819 * script/lua/lstate.c: Likewise.
33820 * script/lua/ltm.c: Likewise.
33821 * script/lua/lvm.c: Likewise.
33822 * script/lua/lmem.h: Likewise.
33823 * script/lua/lstate.h: Likewise.
33824 * script/lua/ltm.h: Likewise.
33825 * script/lua/ltable.c: Likewise.
33826 * script/lua/lvm.h: Likewise.
33827 * script/lua/llex.c: Likewise.
33828 * script/lua/lgc.c: Likewise.
33829 * script/lua/grub_lua.h: Likewise.
33830 * script/lua/loadlib.c: Likewise.
33831 * script/lua/lfunc.c: Likewise.
33832 * script/lua/lopcodes.c: Likewise.
33833 * script/lua/lparser.c: Likewise.
33834 * script/lua/ltable.h: Likewise.
33835 * script/lua/llex.h: Likewise.
33836 * script/lua/lgc.h: Likewise.
33837 * script/lua/lfunc.h: Likewise.
33838 * script/lua/lbaselib.c: Likewise.
33839 * script/lua/lopcodes.h: Likewise.
33840 * script/lua/lparser.h: Likewise.
33841 * script/lua/lzio.c: Likewise.
33842 * script/lua/linit.c: Likewise.
33843 * script/lua/lobject.c: Likewise.
33844 * script/lua/llimits.h: Likewise.
33845 * script/lua/lstring.c: Likewise.
33846 * script/lua/lzio.h: Likewise.
33847 * script/lua/lapi.c: Likewise.
33848 * script/lua/lcode.c: Likewise.
33849 * script/lua/lua.h: Likewise.
33850 * script/lua/lobject.h: Likewise.
33851 * script/lua/lstring.h: Likewise.
33852 * script/lua/lapi.h: Likewise.
33853 * script/lua/lcode.h: Likewise.
33854 * script/lua/luaconf.h: Likewise.
33855
33856 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
33857
33858 * docs/grub.texi (Command-line and menu entry commands): Document
33859 date and echo commands.
33860
33861 2009-09-24 Pavel Roskin <proski@gnu.org>
33862
33863 * include/grub/kernel.h (struct grub_module_header): Remove
33864 `grub_module_header_types'. Make `type' unsigned. Make `size'
33865 32-bit on all platforms.
33866 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33867 8-bit field. Use grub_host_to_target32() for `size'.
33868 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33869 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33870 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33871
33872 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33873
33874 Fix "lost keypress" bug in at_keyboard.
33875
33876 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33877 Checks for readyness of input buffer (without flushing it).
33878 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33879 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33880
33881 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33882
33883 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33884 size check within GRUB_MACHINE_PCBIOS section.
33885
33886 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33887
33888 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33889 return value.
33890 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33891 KEYBOARD_ISREADY check.
33892 (grub_at_keyboard_checkkey): Rename to ...
33893 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33894 Remove gratuitous cast.
33895
33896 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
33897
33898 * configure.ac: Call AC_PROG_MKDIR_P.
33899 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33900 version.texi in $(builddir) rather than $(srcdir).
33901 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33902 to makeinfo's @include search path.
33903
33904 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33905
33906 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33907
33908 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33909
33910 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33911 for `*.dpkg-new'.
33912
33913 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
33914
33915 Build info documentation. Some code borrowed from Automake.
33916
33917 * configure.ac: Check for makeinfo.
33918 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33919 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33920 docs/version.texi.
33921 (MOSTLYCLEANFILES): Add vti.tmp.
33922 (docs/version.texi, docs/stamp-vti): Update automatically.
33923 (docs/grub.info): Build info documentation. Use --force and ignore
33924 errors for now.
33925 (all-local): Add $(INFOS).
33926 (install-local): Install info files.
33927 (uninstall): Uninstall info files.
33928 * docs/version.texi: Remove from revision control. This file is
33929 automatically generated on build now.
33930 * gendistlist.sh: Add `*.info'.
33931
33932 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33933
33934 * kern/term.c: Fix indentation.
33935
33936 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33937
33938 * util/hostdisk.c: Fix a comment.
33939
33940 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33941
33942 Fix regression introduced in r2539.
33943
33944 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33945 to 0xA1.
33946
33947 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
33948
33949 * util/grub.d/30_os-prober.in: Don't throw away stderr from
33950 os-prober. Under normal operation, it does not print anything to
33951 stderr; if it does, we need to debug it, and throwing away stderr
33952 makes that excessively difficult.
33953
33954 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33955
33956 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33957
33958 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33959
33960 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33961 AC_LANG_PROGRAM from autoconf.
33962 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33963 prototypes (fixes warning).
33964
33965 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33966 `--disable-werror' was used.
33967
33968 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33969
33970 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33971 uninitialized `lastaddr'.
33972
33973 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33974
33975 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
33976
33977 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33978
33979 * commands/test.c (get_fileinfo): Return immediately if
33980 grub_fs_probe fails.
33981
33982 2009-09-14 José Martínez <xosemp@gmail.com>
33983
33984 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33985
33986 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33987
33988 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33989 output.
33990
33991 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33992
33993 * configure.ac: Remove --enable-grub-pe2elf. Only build
33994 grub-pe2elf when needed by the build system itself.
33995 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33996
33997 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33998
33999 * configure.ac: Bump version to 1.97~beta3.
34000 * docs/version.texi: Likewise.
34001
34002 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34003
34004 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34005 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34006 from here ...
34007 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34008 (grub_linux_setup_video): ... to here (with some adjustments).
34009
34010 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34011
34012 Fix memory corruption issue (spotted by Colin Watson).
34013
34014 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34015 causing returned size to be stored in an incorrect memory location.
34016 Fix use of uninitialized value when storing the returned size.
34017
34018 2009-09-12 Yves Blusseau <blusseau@zetam.org>
34019
34020 Change clean rules to properly remove files
34021
34022 * genmk.rb: add new clean rules
34023 * Makefile.in (clean): add the new targets
34024 (mostlyclean): likewise
34025
34026 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
34027
34028 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34029 to grub_uint64_t.
34030 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34031 non-resident files.
34032
34033 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
34034
34035 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34036 part of bug #27349.
34037
34038 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
34039
34040 * util/grub-mkconfig.in: Make the created config mode 400 and
34041 print a warning if it fails.
34042
34043 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34044
34045 * util/grub.d/40_custom.in: Ask user to type custom entries below
34046 comment, rather than below 'exec tail' line.
34047
34048 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
34049
34050 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34051 visible in grub.cfg.
34052
34053 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
34054
34055 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34056 file.
34057
34058 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
34059
34060 * docs/grub.cfg: Add an example menu entry for memtest86+.
34061
34062 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
34063
34064 * config.guess: Update to latest version from config git.
34065 * config.sub: Likewise.
34066
34067 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
34068
34069 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34070 unknown-command case. Fixes bug #27320.
34071
34072 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
34073
34074 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34075 `help' if the command exists.
34076
34077 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34078
34079 * INSTALL: Require GCC 4.1.3 or later.
34080
34081 2009-09-06 Yves Blusseau <blusseau@zetam.org>
34082
34083 * Makefile.in (RMKFILES): add i386-qemu.rmk
34084 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34085 $(srcdir)/stamp-h.in
34086
34087 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34088
34089 * util/grub-probe.c (probe): Comment out buggy codepath, which
34090 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34091 should be re-enabled after 1.97.
34092
34093 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
34094
34095 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34096 find searches for.
34097
34098 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34099
34100 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34101 unnecessary calls to grub_error.
34102
34103 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
34104
34105 * NEWS: Mention `keystatus' and Unicode fonts.
34106
34107 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34108
34109 * configure.ac: Bump version to 1.97~beta2.
34110 * docs/version.texi: Likewise.
34111
34112 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
34113
34114 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34115 containing unwind information in some cases where it previously did
34116 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34117 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34118 discussion.
34119
34120 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34121
34122 Embedding loadenv module into grub-emu
34123
34124 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34125 commands/loadenv.c
34126 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34130 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34131 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34132
34133 2009-09-03 Magnus Granberg <zorry@ume.nu>
34134
34135 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34136 include -fPIE in the default specs.
34137 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34138 to TARGET_CFLAGS.
34139
34140 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
34141
34142 * INSTALL: Note that GNU Bison 2.3 or later is required.
34143
34144 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
34145
34146 * kern/i386/pc/startup.S: Fix typo.
34147
34148 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34149
34150 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34151 according to GCS.
34152
34153 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
34154
34155 * docs/grub.texi (Naming convention): Describe one-based partition
34156 numbering.
34157 (Device syntax): Likewise.
34158 (File name syntax): Likewise.
34159 (Block list syntax): Likewise.
34160 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34161 menu.lst.
34162 (File name syntax): Likewise.
34163 (Command-line and menu entry commands): Document acpi, blocklist,
34164 crc, export, insmod, keystatus, ls, set, and unset commands.
34165
34166 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
34167
34168 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34169 to avoid implying that only one of --shift, --ctrl, or --alt may be
34170 used.
34171
34172 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
34173
34174 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34175 rather than comparing against S_IFREG, which will almost never work.
34176
34177 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34178
34179 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34180 (write_blocklists): Likewise.
34181
34182 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
34183
34184 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34185 argument to grub_printf.
34186
34187 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
34188
34189 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
34190 non GNU test.
34191
34192 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34193
34194 * kern/file.c (grub_file_read): Spelling fix
34195
34196 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34197
34198 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34199 loading of headers in some cases.
34200
34201 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34202
34203 * configure.ac: Bump version to 1.97~beta1.
34204 * docs/version.texi: Likewise.
34205
34206 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
34207
34208 * include/grub/i386/xnu.h: Add license header.
34209 include grub/err.h explicitly.
34210
34211 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34212
34213 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34214 to `ufs' in the vfs.root.mountfrom kernel parameter.
34215
34216 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34217
34218 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34219
34220 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34221 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34222
34223 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34224 `ARRAY_SIZE' macro.
34225
34226 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34227
34228 * kern/file.c (grub_file_read): Check offset.
34229 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34230 * fs/jfs.c (grub_jfs_read_file): Likewise.
34231 * fs/ntfs.c (grub_ntfs_read): Likewise.
34232 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34233 * fs/minix.c (grub_minix_read_file): Correct offset check.
34234 * fs/ufs.c (grub_ufs_read_file): Likewise.
34235
34236 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
34237
34238 * term/i386/pc/console.c (bios_data_area): Cast
34239 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34240
34241 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34242
34243 1-bit optimised blitters.
34244
34245 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34246 prototype.
34247 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34248 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34249 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34250 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34251 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34252 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34253 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34254 function.
34255 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34256 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34257 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34258 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34259 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34260 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34261 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34262 when possible.
34263 * video/video.c (grub_video_get_blit_format): Return
34264 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34265
34266 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
34267
34268 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34269 the first argument to grub_printf.
34270
34271 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
34272 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34273
34274 Add `getkeystatus' terminal method. Add a new `keystatus' command
34275 to query it.
34276
34277 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34278 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34279 modifier key bitmasks.
34280 (struct grub_term_input): Add `getkeystatus' member.
34281 (grub_getkeystatus): Add prototype.
34282 * kern/term.c (grub_getkeystatus): New function.
34283
34284 * include/grub/i386/pc/memory.h
34285 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34286 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34287 Data Area layout.
34288 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34289 (grub_console_term_input): Set `getkeystatus' member.
34290 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34291 constants.
34292 (grub_usb_keyboard_getreport): Likewise.
34293 (grub_usb_keyboard_checkkey): Likewise.
34294 (grub_usb_keyboard_getkeystatus): New function.
34295 (grub_usb_keyboard_term): Set `getkeystatus' member.
34296
34297 * commands/keystatus.c: New file.
34298 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34299 (keystatus_mod_SOURCES): New variable.
34300 (keystatus_mod_CFLAGS): Likewise.
34301 (keystatus_mod_LDFLAGS): Likewise.
34302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34303 commands/keystatus.c.
34304 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34305 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34306 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34308 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34309 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34310
34311 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34312
34313 Split befs.mod and afs.mod into *_be.mod and *.mod
34314
34315 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34316 (grub_fstest_SOURCES): Likewise.
34317 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34318 (afs_be_mod_SOURCES): New variable.
34319 (afs_be_mod_CFLAGS): Likewise.
34320 (afs_be_mod_LDFLAGS): Likewise.
34321 (befs_be_mod_SOURCES): Likewise.
34322 (befs_be_mod_CFLAGS): Likewise.
34323 (befs_be_mod_LDFLAGS): Likewise.
34324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34325 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34326 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34327 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34328 (grub_emu_SOURCES): Likewise.
34329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34331 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34332 * fs/afs_be.c: New file.
34333 * fs/befs_be.c: New file.
34334 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34335 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34336 (U16): Replaced with ...
34337 (grub_afs_to_cpu16): ...this. All users updated.
34338 (U32): Replaced with ...
34339 (grub_afs_to_cpu32): ...this. All users updated.
34340 (U64): Replaced with ...
34341 (grub_afs_to_cpu64): ...this. All users updated.
34342 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34343 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
34344 (grub_afs_validate_sblock): Check only one endianness.
34345 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34346 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34347 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34348 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34349 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34350 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34351 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34352 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34353
34354 2009-08-26 Bean <bean123ch@gmail.com>
34355
34356 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34357 64-bit number.
34358 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34359 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34360 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34361
34362 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34363
34364 NetBSD memory map support.
34365
34366 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34367 (grub_netbsd_btinfo_mmap_header): New structure.
34368 (grub_netbsd_btinfo_mmap_entry): Likewise.
34369 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34370
34371 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34372
34373 Enable bsd.mod on coreboot.
34374
34375 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34376 (bsd_mod_SOURCES): New variable.
34377 (bsd_mod_CFLAGS): Likewise.
34378 (bsd_mod_LDFLAGS): Likewise.
34379 (bsd_mod_ASFLAGS): Likewise.
34380 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34381 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34382
34383 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34384
34385 Cleanup NetBSD root support.
34386
34387 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34388 grub_bsd_get_device.
34389 Fix typo.
34390
34391 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
34392
34393 * util/grub.d/00_header.in: Move check for the video backend of
34394 gfxterm from here ...
34395 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34396 a suitable video backend.
34397
34398 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34399
34400 Fix breakage in grub-setup.
34401
34402 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34403 "msdos_partition_map".
34404
34405 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34406
34407 Fix breakage in normal/auth.c.
34408
34409 * normal/auth.c (grub_iswordseparator): New function.
34410
34411 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34412
34413 Authentication support.
34414
34415 * commands/password.c: New file.
34416 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34417 (password_mod_SOURCES): New variable.
34418 (password_mod_CFLAGS): Likewise.
34419 (password_mod_LDFLAGS): Likewise.
34420 (normal_mod_SOURCES): Add normal/auth.c.
34421 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34422 normal/auth.c.
34423 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34425 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34427 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34428 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34429 * include/grub/auth.h: New file.
34430 * include/grub/err.h (grub_err_t): New enum value
34431 GRUB_ERR_ACCESS_DENIED.
34432 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34433 'users'.
34434 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34435 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34436 users updated.
34437 * normal/auth.c: New file.
34438 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34439 (grub_cmdline_run): Don't allow to go to command line without
34440 authentication.
34441 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34442 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34443 menuentry without superuser rights.
34444 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34445 user isn't a superuser.
34446
34447 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34448
34449 Save space by inlining misc.c functions.
34450
34451 * kern/misc.c (grub_iswordseparator): Made static.
34452 * kern/misc.c (grub_strcat): Moved from here ...
34453 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34454 * kern/misc.c (grub_strncat): Moved from here ...
34455 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34456 * kern/misc.c (grub_strcasecmp): Moved from here ...
34457 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34458 * kern/misc.c (grub_strncasecmp): Moved from here ...
34459 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34460 * kern/misc.c (grub_isalpha): Moved from here ...
34461 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34462 * kern/misc.c (grub_isdigit): Moved from here ...
34463 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34464 * kern/misc.c (grub_isgraph): Moved from here ...
34465 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34466 * kern/misc.c (grub_tolower): Moved from here ...
34467 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34468
34469 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34470
34471 * script/sh/function.c (grub_script_function_find): Cut error message
34472 not to flood terminal.
34473 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34474 limit.
34475 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34476
34477 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
34478
34479 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34480 `report' grub_uint8_t *.
34481 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34482 Use a 50-millisecond timeout rather than just repeating
34483 grub_usb_keyboard_getreport 50 times.
34484 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34485
34486 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34487
34488 Rename *_partition_map to part_*
34489
34490 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34491 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34492 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34493 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34494 All users updated.
34495 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34496 All users updated.
34497 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34498 * util/grub-probe.c (probe_partmap): Don't transform partition name
34499 to get module name.
34500
34501 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34502
34503 Fix OpenBSD and NetBSD support.
34504
34505 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34506 memory address conflict.
34507 (OPENBSD_MMAP_ACPI): New definition.
34508 (OPENBSD_MMAP_NVS): Likewise.
34509 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34510 and OPENBSD_MMAP_NVS.
34511 Add memory map terminator
34512 Explicit cast when calling grub_unix_real_boot.
34513 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
34514
34515 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34516
34517 Let user specify NetBSD root device.
34518
34519 * loader/i386/bsd.c (netbsd_root): New variable.
34520 (netbsd_opts): New option 'root'.
34521 (NETBSD_ROOT_ARG): New macro.
34522 (grub_netbsd_boot): Use 'netbsd_root'.
34523 (grub_bsd_unload): Free 'netbsd_root'.
34524 (grub_cmd_netbsd): Fill 'netbsd_root'.
34525
34526 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34527
34528 Support for 64-bit NetBSD.
34529
34530 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34531 point when booting non-FreeBSD.
34532
34533 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34534
34535 Support --no-smp and --no-acpi for NetBSD.
34536
34537 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34538 (NETBSD_AB_NOACPI): Likewise.
34539 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34540 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34541
34542 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34543
34544 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34545 errors.
34546 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34547 errors. Call grub_error when needed.
34548
34549 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34550
34551 * commands/search.c (search_fs): Try searching without autoload first.
34552 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34553 filesystem module explicitly for faster booting.
34554
34555 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34556
34557 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34558
34559 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34560
34561 * util/grub.d/30_os-prober.in: Disable os-prober if
34562 `GRUB_DISABLE_OS_PROBER' was set to true.
34563
34564 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34565
34566 * partmap/pc.c: Rename to ...
34567 * partmap/msdos.c: ... this. Update all users.
34568 (grub_pc_partition_map): Rename to ...
34569 (grub_msdos_partition_map): ... this. Update all users.
34570
34571 * parttool/pcpart.c: Rename to ...
34572 * parttool/msdospart.c: ... this. Update all users.
34573
34574 * include/grub/pc_partition.h: Rename to ...
34575 * include/grub/msdos_partition.h: ... this. Update all users.
34576 (grub_pc_partition_bsd_entry): Rename to ...
34577 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34578 (grub_pc_partition_disk_label): Rename to ...
34579 (grub_msdos_partition_disk_label): ... this. Update all users.
34580 (grub_pc_partition_entry): Rename to ...
34581 (grub_msdos_partition_entry): ... this. Update all users.
34582 (grub_pc_partition_mbr): Rename to ...
34583 (grub_msdos_partition_mbr): ... this. Update all users.
34584 (grub_pc_partition): Rename to ...
34585 (grub_msdos_partition): ... this. Update all users.
34586 (grub_pc_partition_is_empty): Rename to ...
34587 (grub_msdos_partition_is_empty): ... this. Update all users.
34588 (grub_pc_partition_is_extended): Rename to ...
34589 (grub_msdos_partition_is_extended): ... this. Update all users.
34590 (grub_pc_partition_is_bsd): Rename to ...
34591 (grub_msdos_partition_is_bsd): ... this. Update all users.
34592
34593 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34594 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34595 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34596 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34597 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34598 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34599 (gpt_mod_LDFLAGS): Rename to ...
34600 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34601 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34602 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34603 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34604 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34605 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34606 (part_gpt_mod_LDFLAGS): ... this.
34607 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34608 `pcpart.mod' to `msdospart.mod'.
34609 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34610 to ...
34611 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34612 (msdospart_mod_LDFLAGS): ... this.
34613
34614 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34615
34616 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34617 (openbsd_opts): Likewise.
34618 (netbsd_opts): Likewise.
34619 (freebsd_flags): Added 0 terminator.
34620 (openbsd_flags): Likewise.
34621 (netbsd_flags): Likewise.
34622 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34623 (grub_cmd_freebsd): Transformed into extended command.
34624 (grub_cmd_openbsd): Likewise.
34625 (grub_cmd_netbsd): Likewise.
34626 (cmd_freebsd): Changed type to grub_extcmd_t.
34627 (cmd_openbsd): Likewise.
34628 (cmd_netbsd): Likewise.
34629 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34630 grub_cmd_openbsd as extended commands.
34631 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34632 cmd_netbsd and cmd_openbsd
34633
34634 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34635
34636 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34637
34638 2009-08-21 Pavel Roskin <proski@gnu.org>
34639
34640 * Makefile.in (install-local): When checking if a file is in the
34641 build directory, use "test -e" to detect symlinks.
34642
34643 * Makefile.in (install-local): Remove all files in
34644 $(DESTDIR)$(pkglibdir) before installing new files there.
34645
34646 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34647
34648 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34649 grub-mkelfimage.
34650
34651 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34652
34653 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34654 explicitly specified by the user.
34655
34656 2009-08-18 Pavel Roskin <proski@gnu.org>
34657
34658 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34659 grub_uint8_t pointer for data.
34660 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34661 Likewise.
34662 * video/fb/fbutil.c: Remove unnecessary casts.
34663
34664 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34665
34666 VBE cleanup.
34667
34668 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34669 (grub_vbe_set_video_mode): Save active mode info
34670 only after setting the mode.
34671 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34672 second argument.
34673
34674 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34675
34676 Rename variables for clarity.
34677
34678 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34679 (active_vbe_mode_info): ... this. All users updated.
34680 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34681 All users updated.
34682 (initial_mode): Rename to ...
34683 (initial_vbe_mode): ... this. All users updated.
34684 (mode_in_use): Rename to ..
34685 (vbe_mode_in_use): ... this. All users updated.
34686 (mode_list): Rename to ..
34687 (vbe_mode_list): ... this. All users updated.
34688 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34689 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34690 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34691 'mode_list_size' to 'vbe_mode_list_size'.
34692 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34693 'best_mode_info' to 'best_vbe_mode_info' and
34694 'best_mode' to 'best_vbe_mode'
34695
34696 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34697
34698 Remove duplicate grub_video_fb_get_video_ptr.
34699
34700 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34701 (grub_video_fb_get_video_ptr): ... this.
34702 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34703 * video/fb/fbutil.c: Add comment about addressing.
34704 (get_data_ptr): Rename to ...
34705 (grub_video_fb_get_video_ptr): ... this. All users updated.
34706 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34707
34708 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34709
34710 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34711 grub_dprintf() that was just added.
34712
34713 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34714
34715 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34716 (DEFAULT_VIDEO_MODE): Remove macros.
34717 (grub_linux_boot): Remove assumption that Linux has FB support,
34718 and use "text" as default video mode.
34719
34720 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34721
34722 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34723 grub_dprintf.
34724 * fs/fat.c (grub_fat_read_data): Likewise.
34725
34726 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34727
34728 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34729 payload.
34730 (grub_module): Likewise.
34731
34732 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34733
34734 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34735 mbi->cmdline but free playground.
34736
34737 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34738
34739 Handle group offset on UFS1.
34740
34741 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34742 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34743
34744 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34745
34746 Split ufs.mod into ufs1.mod and ufs2.mod.
34747
34748 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34749 (grub_fstest_SOURCES): Likewise.
34750 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34751 (ufs_mod_SOURCES): Remove.
34752 (ufs_mod_CFLAGS): Likewise.
34753 (ufs_mod_LDFLAGS): Likewise.
34754 (ufs1_mod_SOURCES): New variable.
34755 (ufs1_mod_CFLAGS): Likewise.
34756 (ufs1_mod_LDFLAGS): Likewise.
34757 (ufs2_mod_SOURCES): New variable.
34758 (ufs2_mod_CFLAGS): Likewise.
34759 (ufs2_mod_LDFLAGS): Likewise.
34760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34761 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34762 Likewise.
34763 (grub_emu_SOURCES): Likewise.
34764 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34765 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34766 (grub_setup_SOURCES): Likewise.
34767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34768 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34769 (grub_setup_SOURCES): Likewise.
34770 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34771 Likewise.
34772 * fs/ufs2.c: New file.
34773 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34774
34775 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34776
34777 Framebuffer split.
34778
34779 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34780 subsystem at the end.
34781 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34782 (video_fb_mod_SOURCES): New variable.
34783 (video_fb_mod_CFLAGS): Likewise.
34784 (video_fb_mod_LDFLAGS): Likewise.
34785 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34786 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34787 * video/i386/pc/vbeblit.c: Moved from here ...
34788 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34789 * video/i386/pc/vbefill.c: Moved from here ...
34790 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34791 * video/i386/pc/vbeutil.c: Moved from here ...
34792 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34793 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34794 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34795 * include/grub/i386/pc/vbefill.h: Moved from here ...
34796 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34797 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34798 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34799 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34800 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34801 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34802 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34803 (grub_video_adapter): Added 'get_info_and_fini'.
34804 (grub_video_get_info_and_fini): New prototype.
34805 (grub_video_set_mode): make modestring const char *.
34806 * loader/i386/linux.c (grub_linux_setup_video): Use
34807 grub_video_get_info_and_fini.
34808 (grub_linux_boot): Move modesetting just before booting.
34809 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34810 grub_video_get_info_and_fini.
34811 * video/i386/pc/vbe.c: Moved framebuffer part ...
34812 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34813 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34814 grub_video_fbstd_colors and grub_video_fb_set_palette.
34815 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34816 grub_video_fb_init.
34817 (grub_video_vbe_fini): Use grub_video_fb_fini.
34818 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34819 render_target and use grub_video_fb_set_active_render_target and
34820 grub_video_fb_set_palette.
34821 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34822 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34823 (grub_video_vbe_adapter): Use framebuffer.
34824 * video/video.c (grub_video_get_info_and_fini): New function.
34825 (grub_video_set_mode): Make modestring const char *.
34826 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34827 values are already initialised.
34828
34829 2009-08-14 Pavel Roskin <proski@gnu.org>
34830
34831 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34832 ABS and APPLE_CC.
34833 * boot/i386/pc/diskboot.S: Likewise.
34834 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34835 sectors allow compilation on MacOSX.
34836 * conf/i386-pc.rmk: Enable unconditional compilation of
34837 lnxboot.img.
34838
34839 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
34840
34841 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34842 * util/grub.d/00_header.in: Enter interruptible sleep if
34843 GRUB_HIDDEN_TIMEOUT is set.
34844
34845 2009-08-13 Yves Blusseau <blusseau@zetam.org>
34846
34847 * include/grub/symbol.h: Add the LOCAL macro.
34848 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34849 starting with "L_".
34850
34851 2009-08-13 Pavel Roskin <proski@gnu.org>
34852
34853 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34854 any modern compilers we support.
34855
34856 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34857 Use local labels starting with "L_" so that Apple assembler
34858 knows they are local.
34859
34860 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34861
34862 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34863 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34864 (bsd_kernel_types): ... this enum.
34865
34866 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34867 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34868 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34869
34870 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34871 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34872 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34873 messages.
34874
34875 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34876
34877 * util/grub-dumpdevtree: Moved from here ...
34878 * util/i386/efi/grub-dumpdevtree: ... to here.
34879 (hexify): New function. Converts a string to its hex version.
34880 Generate hex versions of "efi" and "device-properties" by calling
34881 hexify() on the ASCII strings rather than by hardcoding numbers.
34882
34883 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34884
34885 * fs/jfs.c: Update copyright year.
34886
34887 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34888
34889 * util/grub.d/00_header.in: Fix a comment.
34890 * util/grub.d/10_linux.in: Likewise.
34891 * util/grub.d/10_windows.in: Likewise.
34892 * util/grub.d/10_hurd.in: Likewise.
34893
34894 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34895
34896 * util/grub-mkconfig.in: Allow the user to specify the used font
34897 with GRUB_FONT.
34898
34899 2009-08-08 Pavel Roskin <proski@gnu.org>
34900
34901 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34902 available, xfs.mod needs it now.
34903
34904 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34905 the "g" modifier in sed when the intention is to strip something
34906 once. This fixes comparison of kernels with multiple dashes.
34907
34908 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34909 on it. Add missing space before closing bracket. Fix
34910 misleading formatting.
34911
34912 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34913
34914 * docs/grub.texi: Major overhaul. Remove all sections that are
34915 specific to GRUB Legacy, or mostly composed of Legacy-specific
34916 information.
34917
34918 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34919
34920 * docs/version.texi: New file. Provides version information for
34921 grub.texi.
34922
34923 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34924
34925 * docs/grub.texi: Update CVS information to SVN.
34926 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34927
34928 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34929
34930 * util/grub-mkconfig.in: Remove a wrong `fi'.
34931
34932 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34933
34934 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34935 (grub_jfs_uuid): New function.
34936 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34937
34938 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34939
34940 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34941 of it to ...
34942 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34943 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34944
34945 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34946
34947 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34948 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34949 Update all users.
34950
34951 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34952 not just "vmlinu[zx]".
34953 Moved from here ...
34954 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34955 all users.
34956
34957 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34958 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34959 all users.
34960
34961 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34962
34963 * util/grub.d/10_freebsd.in: Use an absolute device path for
34964 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34965
34966 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
34967
34968 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34969 handling of multiple abstraction modules.
34970
34971 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34972
34973 Fix a bug resulting in black screen when loading Linux using a
34974 packed video mode.
34975
34976 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34977 function.
34978
34979 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34980 (grub_vbe_bios_getset_dac_palette_width): New function.
34981 (grub_vbe_bios_get_dac_palette_width)
34982 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34983 grub_vbe_bios_getset_dac_palette_width()).
34984
34985 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34986 check for return status.
34987 (grub_vbe_get_video_mode_info): When getting information for a packed
34988 mode (<= 8 bpp), obtain DAC palette width using
34989 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34990 {red,green,blue}_mark_size.
34991
34992 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
34993
34994 * commands/search.c (options): Fix help output to match actual code.
34995
34996 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34997
34998 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34999 of homegrown code.
35000
35001 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35002
35003 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35004 on XFS or ReiserFS.
35005
35006 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35007
35008 Support Apple partition map with sector size different from 512 bytes.
35009
35010 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35011 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35012 and 'apart.partmap_size'.
35013
35014 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35015 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35016
35017 Fix cpuid command.
35018
35019 * commands/i386/cpuid.c (options): New variable.
35020 (grub_cmd_cpuid): Return real error.
35021 (GRUB_MOD_INIT(cpuid)): Declare options.
35022
35023 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35024
35025 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35026 valid.
35027
35028 2009-07-31 Bean <bean123ch@gmail.com>
35029
35030 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35031 log2_inode.
35032 (grub_fshelp_node): Move inode field to the end.
35033 (grub_xfs_data): Remove inode field.
35034 (grub_xfs_inode_block): Calculate inode size using sblock.
35035 (grub_xfs_inode_offset): Likewise.
35036 (grub_xfs_read_inode): Calculate inode size using sblock.
35037 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35038 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35039 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35040 to match inode size.
35041 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35042 not accessible when data is null.
35043 (grub_xfs_open): Likewise.
35044
35045 2009-07-31 Bean <bean123ch@gmail.com>
35046
35047 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35048 Don't change pv->disk if it's already set.
35049
35050 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35051 (grub_raid_register): ... here.
35052 (grub_raid_rescan): Removed.
35053
35054 * include/grub/raid.h (grub_raid_rescan): Removed.
35055
35056 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35057 (fstest): Replace grub_raid_rescan with module fini function followed
35058 by init function.
35059
35060 * util/grub-probe.c: Add include file <grub/raid.h>.
35061 (probe_raid_level): New function.
35062 (probe): Detect abstraction by walking the disk device, support two
35063 level of abstraction (LVM on RAID) when detecting partition map.
35064
35065 2009-07-31 Pavel Roskin <proski@gnu.org>
35066
35067 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35068 to grub_zalloc(), it was erroneous.
35069 Reported by Bean <bean123ch@gmail.com>
35070
35071 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35072
35073 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
35074 embedding zone, not only the first one.
35075
35076 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
35077
35078 * term/gfxterm.c (clear_char): New function.
35079 (grub_virtual_screen_setup): Use clear_char.
35080 (scroll_up): Likewise.
35081 (grub_virtual_screen_cls): Likewise.
35082
35083 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
35084
35085 * util/deviceiter.c (get_acceleraid_disk_name): New static
35086 function.
35087 (grub_util_iterate_devices): Handle Accelraid devices.
35088 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35089
35090 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35091
35092 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35093 separator for the suggested gfxpayload string (';' collides with the
35094 parser and needs escaping).
35095
35096 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35097
35098 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35099 Clear direction flag before jumping to OS.
35100 (grub_multiboot2_real_boot): Likewise.
35101
35102 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
35103
35104 * util/i386/pc/grub-install: Fix parsing of --disk-module
35105 option.
35106
35107 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
35108
35109 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35110 when embedding.
35111
35112 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
35113
35114 * util/grub-mkconfig.in (package_version): New variable.
35115 Use it do display the version.
35116
35117 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
35118
35119 * kern/file.c (grub_file_open): Revert to previous check with
35120 grub_errno.
35121
35122 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35123
35124 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35125 from help line. It's out of sync with code.
35126
35127 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35128
35129 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35130 entries on failed boot.
35131
35132 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
35133
35134 * kern/file.c (grub_file_open): Fix an error check.
35135
35136 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35137
35138 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35139 partition map couldn't be identified.
35140
35141 2009-07-23 Pavel Roskin <proski@gnu.org>
35142
35143 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35144 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35145 case of little endian words becomes just an optimization.
35146 Respect const modifier.
35147 (md5_final): Use code that doesn't depend on endianness.
35148
35149 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35150 to avoid loss of upper bits if align is unsigned and shorter
35151 than addr.
35152
35153 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35154
35155 UUID support for UFS
35156
35157 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35158 (grub_ufs_uuid): New function.
35159 (grub_ufs_fs): add .uuid
35160
35161 2009-07-21 Pavel Roskin <proski@gnu.org>
35162
35163 * kern/dl.c (grub_dl_check_header): Make static.
35164
35165 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
35166
35167 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35168 add drivemap for Vista. It breaks Windows 7.
35169
35170 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35173 128 bytes
35174
35175 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35176
35177 Add BFS support
35178
35179 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35180 (grub_fstest_SOURCES): Likewise.
35181 (pkglib_MODULES): Add befs.mod.
35182 (befs_mod_SOURCES): New variable.
35183 (befs_mod_CFLAGS): Likewise.
35184 (befs_mod_LDFLAGS): Likewise.
35185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35186 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35187 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35188 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35189 (grub_setup_SOURCES): Likewise.
35190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35191 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35192 (grub_setup_SOURCES): Likewise.
35193 * fs/befs.c: New file.
35194 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35195 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35196 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35197 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35198 (B_KEY_INDEX_ALIGN): New declaration.
35199 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35200 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35201 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35202 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35203 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35204 (grub_afs_mount) [MODE_BFS]: Likewise.
35205 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35206 (grub_afs_fs): Use GRUB_AFS_FSNAME
35207 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35208 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35209 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35210 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35211
35212 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35213
35214 * util/getroot.c (find_root_device): Add support for MacOSX.
35215 * util/hostdisk.c: Likewise.
35216
35217 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35218
35219 * font/font.c (find_glyph): Check whether a font is present to avoid
35220 segmentation fault.
35221
35222 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
35223
35224 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35225
35226 2009-07-20 Pavel Roskin <proski@gnu.org>
35227
35228 * configure.ac: Trim excessively wordy excuses.
35229
35230 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35231
35232 Add symlink, mtime and label support to AtheFS.
35233
35234 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35235 (grub_afs_iterate_dir): Handle symlinks.
35236 (grub_afs_open): Use grub_afs_read_symlink.
35237 (grub_afs_dir): Likewise.
35238 Pass mtime.
35239 (grub_afs_label): New function.
35240 (grub_afs_fs): Add grub_afs_label.
35241 (grub_afs_read_symlink): New function.
35242
35243 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35244
35245 Fix AtheFS support.
35246
35247 * fs/afs.c: Fix comments style.
35248 (grub_afs_blockrun): Declare as packed.
35249 (grub_afs_datastream): Likewise.
35250 (grub_afs_bnode): Likewise.
35251 (grub_afs_btree): Likewise.
35252 (grub_afs_sblock): Likewise.
35253 Declare `name' as char.
35254 (grub_afs_inode): Declare as packed.
35255 Change void *vnode to grub_uint32_t unused.
35256 (grub_afs_iterate_dir): Check that key_size is positive.
35257 (grub_afs_mount): Don't read superblock twice.
35258 (grub_afs_dir): Don't free node in case of error,
35259 grub_fshelp_find_file already handles this.
35260 (grub_afs_open): Likewise.
35261
35262 2009-07-19 Pavel Roskin <proski@gnu.org>
35263
35264 * Makefile.in: Remove LIBLZO and enable_lzo.
35265 * conf/i386-pc.rmk: Remove lzo support.
35266 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35267 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35268 support.
35269 * kern/i386/pc/lzo1x.S: Remove.
35270 * kern/i386/pc/startup.S: Remove lzo support.
35271 * util/i386/pc/grub-mkimage.c: Likewise.
35272
35273 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35274
35275 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35276 * fs/xfs.c (grub_xfs_dir): Likewise.
35277 * fs/afs.c (grub_afs_dir): Likewise.
35278 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35279 (grub_iso9660_open): Likewise.
35280 * fs/jfs.c (grub_jfs_open): Likewise.
35281 * fs/ext2.c (grub_ext2_dir): Likewise.
35282 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35283 * script/sh/lexer.c (grub_script_yylex): Likewise.
35284
35285 2009-07-16 Pavel Roskin <proski@gnu.org>
35286
35287 * configure.ac: Never add "-c" to CFLAGS.
35288
35289 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35290
35291 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35292 grub_cv_cc_efiemu should be used.
35293
35294 * configure.ac: Typo fixes.
35295
35296 * kern/mm.c (grub_zalloc): New function.
35297 (grub_debug_zalloc): Likewise.
35298 * include/grub/mm.h: Declare grub_zalloc() and
35299 grub_debug_zalloc().
35300 * util/misc.c (grub_zalloc): New function.
35301 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35302 instead of grub_malloc(), remove unneeded initializations.
35303 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35304 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35305 * commands/parttool.c (grub_cmd_parttool): Likewise.
35306 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35307 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35308 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35309 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35310 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35311 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35312 (grub_cmd_efiemu_pnvram): Likewise.
35313 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35314 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35315 (grub_iso9660_iterate_dir): Likewise.
35316 * fs/jfs.c (grub_jfs_opendir): Likewise.
35317 * fs/ntfs.c (list_file): Likewise.
35318 (grub_ntfs_mount): Likewise.
35319 * kern/disk.c (grub_disk_open): Likewise.
35320 * kern/dl.c (grub_dl_load_core): Likewise.
35321 * kern/elf.c (grub_elf_file): Likewise.
35322 * kern/env.c (grub_env_context_open): Likewise.
35323 (grub_env_set): Likewise.
35324 (grub_env_set_data_slot): Likewise.
35325 * kern/file.c (grub_file_open): Likewise.
35326 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35327 * loader/i386/multiboot.c (grub_module): Likewise.
35328 * loader/xnu.c (grub_xnu_create_key): Likewise.
35329 (grub_xnu_create_value): Likewise.
35330 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35331 (read_config_file): Likewise.
35332 * normal/menu_entry.c (make_screen): Likewise.
35333 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35334 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35335 * script/sh/script.c (grub_script_parse): Likewise.
35336 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35337 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35338 * video/readers/png.c (grub_png_output_byte): Likewise.
35339 (grub_video_reader_png): Likewise.
35340
35341 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35342
35343 Enable all targets that can be built by default
35344
35345 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
35346 grub-mkfont and grub-fstest if they can be built
35347
35348 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35349
35350 Fix hang and segmentation fault in grub-emu-usb
35351
35352 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35353 * util/usb.c (grub_libusb_devices): likewise
35354 (grub_libusb_init): rename to ...
35355 (GRUB_MOD_INIT (libusb)):...this
35356 (grub_libusb_fini): rename to ..
35357 (GRUB_MOD_FINI (libusb)):...this
35358 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35359 * include/grub/disk.h (grub_raid_init): removed, it's useless
35360 (grub_raid_fini): likewise
35361 (grub_lvm_init): likewise
35362 (grub_lvm_fini): likewise
35363 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35364 by grub_init_all
35365
35366 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35367
35368 Fix libusb
35369
35370 * Makefile.in (LIBUSB): new macro
35371 * genmk.rb (Utility/print_tail): new method
35372 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35373 (top level): call util.print_tail at the end.
35374
35375 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35376
35377 Make FreeBSD accept zpool.cache
35378
35379 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35380 type is /boot/zfs/zpool.cache
35381
35382 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35383
35384 Fix 64-bit efiemu
35385
35386 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35387 correct wrong typedef
35388 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35389
35390 2009-07-15 Pavel Roskin <proski@gnu.org>
35391
35392 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35393 * kern/disk.c (struct grub_disk_cache): Likewise.
35394
35395 * commands/probe.c (options): Typo fix.
35396
35397 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35398 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35399 accordingly.
35400 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35401
35402 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35403 the end of "Error" to make the message more readable.
35404
35405 * boot/i386/pc/boot.S (kernel_segment): Remove.
35406 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35407 for destination.
35408
35409 * boot/i386/pc/boot.S (boot_version): Remove.
35410 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35411 Remove.
35412
35413 * include/grub/i386/pc/boot.h: Sort all offsets.
35414 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35415 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35416 * boot/i386/pc/boot.S: Assert location of every offset listed in
35417 include/grub/i386/pc/boot.h.
35418
35419 2009-07-13 Pavel Roskin <proski@gnu.org>
35420
35421 * include/grub/i386/coreboot/machine.h: Rename
35422 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35423 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35424 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35425
35426 * kern/dl.c: Force native word size to suppress warnings when
35427 compiling grub-emu.
35428
35429 * kern/device.c (grub_device_iterate): Change struct part_ent to
35430 hold the name, not a pointer to it. Use one grub_malloc() per
35431 partition, not two. Free partition_name if grub_malloc() fails.
35432 Set ents to NULL only before grub_partition_iterate() is called.
35433
35434 2009-07-11 Bean <bean123ch@gmail.com>
35435
35436 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35437 childname.
35438
35439 2009-07-10 Bean <bean123ch@gmail.com>
35440 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35441
35442 * kern/ieee1275/openfw.c (grub_children_iterate)
35443 (grub_devalias_iterate): Fix size evaluation for property or path
35444 strings, which was broken since r2132.
35445
35446 2009-07-07 Pavel Roskin <proski@gnu.org>
35447
35448 * commands/search.c (search_file): Merge into ...
35449 (search_fs): ... this. Accept search type as argument.
35450 (grub_cmd_search): Pass search type to search_fs().
35451
35452 * include/grub/util/console.h: New file.
35453 * util/console.c: Use it instead of grub/machine/console.h.
35454 * util/grub-emu.c: Likewise.
35455
35456 * lib/arg.c (find_long_option): Remove.
35457 (find_long): Add `len' argument, make `s' const char *.
35458 (grub_arg_parse): Parse long options in place, not in a
35459 temporary buffer.
35460
35461 2009-07-06 Pavel Roskin <proski@gnu.org>
35462
35463 * commands/search.c (search_fs): Fix potential NULL pointer
35464 dereference.
35465
35466 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35467 function pointer.
35468
35469 2009-07-06 Daniel Mierswa <impulze@impulze.org>
35470
35471 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35472 comparison.
35473
35474 2009-07-05 Pavel Roskin <proski@gnu.org>
35475
35476 * include/grub/i386/linux.h (struct linux_kernel_params):
35477 Restore padding3, it's still needed.
35478
35479 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35480 FreeBSD.
35481 * util/osdetect.lua: Likewise.
35482
35483 2009-07-05 Bean <bean123ch@gmail.com>
35484
35485 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35486
35487 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35488 (grub_lua_getenv): Likewise.
35489 (grub_lua_setenv): Likewise.
35490 (save_errno): New function.
35491 (push_result): Likewise.
35492 (grub_lua_enum_device): Likewise.
35493 (grub_lua_enum_file): Likewise.
35494 (grub_lua_file_open): Likewise.
35495 (grub_lua_file_close): Likewise.
35496 (grub_lua_file_seek): Likewise.
35497 (grub_lua_file_read): Likewise.
35498 (grub_lua_file_getline): Likewise.
35499 (grub_lua_file_getsize): Likewise.
35500 (grub_lua_file_getpos): Likewise.
35501 (grub_lua_file_eof): Likewise.
35502 (grub_lua_file_exist): Likewise.
35503 (grub_lua_add_menu): Likewise.
35504
35505 * script/lua/grub_lua.h (isupper): New inline function.
35506 (islower): Likewise.
35507 (ispunct): Likewise.
35508 (isxdigit): Likewise.
35509 (strcspn): Change to normal function.
35510 (strpbkr): New function declaration.
35511 (memchr): Likewise.
35512
35513 * script/lua/grub_main.c (scan_str): New function.
35514 (strcspn): Likewise.
35515 (strpbrk): Likewise.
35516 (memchr): Likewise.
35517
35518 * script/lua/linit.c (lualibs): Enable the string library.
35519
35520 * util/osdetect.lua: New file.
35521
35522 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35523
35524 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35525 `capabilities' member.
35526
35527 2009-07-02 Pavel Roskin <proski@gnu.org>
35528
35529 * genparttoollist.sh: Add missing newline at the end.
35530
35531 2009-07-01 Pavel Roskin <proski@gnu.org>
35532
35533 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35534
35535 * util/hostdisk.c (open_device): Remove `const' from
35536 `sysctl_size', as sysctlbyname() can change it (in this case it
35537 doesn't actually happen).
35538
35539 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35540 using signed long int constants.
35541
35542 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35543 constant to avoid a warning on FreeBSD.
35544
35545 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35546 where it's needed.
35547
35548 * Makefile.in: Install include/grub/machine symlink.
35549
35550 * Makefile.in: When installing symlinks, use "cp -fR", which
35551 works on FreeBSD and MacOSX.
35552 From Yves Blusseau <cl7m42e02@sneakemail.com>
35553
35554 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35555 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35556
35557 * util/misc.c: Move grub_reboot() and grub_halt() ...
35558 * util/grub-emu.c: ... here. Make main_env static.
35559 * include/grub/util/misc.h: Remove main_env.
35560
35561 * kern/mm.c: Use correct format to print size_t.
35562
35563 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35564 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35565 * kern/powerpc/dl.c: Likewise.
35566 * kern/sparc64/dl.c: Likewise.
35567 * kern/x86_64/dl.c: Likewise.
35568
35569 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35570
35571 Fix grub-emu build on sparc64-ieee1275.
35572
35573 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
35574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35575
35576 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35577
35578 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35579 (grub_reboot, grub_halt): New functions.
35580
35581 * util/i386/pc/misc.c: Delete. Update all users.
35582 * util/sparc64/ieee1275/misc.c: Likewise.
35583 * util/powerpc/ieee1275/misc.c: Likewise.
35584
35585 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35586
35587 * conf/i386.rmk (setjmp_mod_SOURCES)
35588 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35589 * conf/common.rmk (setjmp_mod_SOURCES)
35590 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35591 to use $(target_cpu).
35592 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35593 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35594 * conf/powerpc-ieee1275.rmk: Likewise.
35595 * conf/sparc64-ieee1275.rmk: Likewise.
35596
35597 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35598 $(target_cpu) for kern/$(target_cpu)/dl.c.
35599 * conf/i386-efi.rmk: Likewise.
35600 * conf/i386-ieee1275.rmk: Likewise.
35601 * conf/x86_64-efi.rmk: Likewise.
35602 * conf/i386-coreboot.rmk: Likewise.
35603 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35604 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35605 kern/$(target_cpu)/cache.S.
35606 * conf/sparc64-ieee1275.rmk: Likewise.
35607
35608 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35609
35610 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35611 type to `grub_uint8_t', and adjust `padding9' accordingly.
35612
35613 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35614
35615 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35616
35617 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35618 assembly in final jump, using register constraints.
35619
35620 (grub_linux_boot): For text mode, initialize `have_vga' using
35621 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35622
35623 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35624 right before the final jump.
35625
35626 Set `video_mode' to 0x3.
35627
35628 Document initialization of `video_page', `video_mode' and
35629 `video_ega_bx'.
35630
35631 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35632
35633 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35634 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
35635 and set GRUB_LINUX_FLAG_QUIET appropriately.
35636
35637 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35638
35639 Fix build on Debian / sparc.
35640
35641 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35642
35643 2009-06-28 Pavel Roskin <proski@gnu.org>
35644
35645 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35646 fix a warning.
35647
35648 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35649
35650 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35651
35652 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35653 `err'.
35654
35655 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35656
35657 Revert r2338.
35658
35659 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35660 file can't be opened. grub_file_open() is already supposed to set
35661 grub_errno / grub_errmsg appropriately.
35662 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35663
35664 2009-06-27 Pavel Roskin <proski@gnu.org>
35665 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35666
35667 * include/grub/dl.h: Include grub/elf.h.
35668 (struct grub_dl): Add symtab field.
35669 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35670 GRUB_MODULES_MACHINE_READONLY.
35671 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35672 of the header for read-only modules.
35673 (grub_dl_unload): Free mod->symtab for read-only modules.
35674 * kern/i386/dl.c: Use mod->symtab.
35675 * kern/powerpc/dl.c: Likewise.
35676 * kern/sparc64/dl.c: Likewise.
35677 * kern/x86_64/dl.c: Likewise.
35678
35679 * conf/i386-qemu.rmk: New file.
35680 * kern/i386/qemu/startup.S: Likewise.
35681 * kern/i386/qemu/mmap.c: Likewise.
35682 * boot/i386/qemu/boot.S: Likewise.
35683 * include/grub/i386/qemu/time.h: Likewise.
35684 * include/grub/i386/qemu/serial.h: Likewise.
35685 * include/grub/i386/qemu/kernel.h: Likewise.
35686 * include/grub/i386/qemu/console.h: Likewise.
35687 * include/grub/i386/qemu/boot.h: Likewise.
35688 * include/grub/i386/qemu/init.h: Likewise.
35689 * include/grub/i386/qemu/machine.h: Likewise.
35690 * include/grub/i386/qemu/loader.h: Likewise.
35691 * include/grub/i386/qemu/memory.h: Likewise.
35692
35693 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35694 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35695 [qemu] (pkglib_IMAGES): Add `boot.img'.
35696 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35697 [qemu] (boot_img_FORMAT): New variables.
35698 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35699 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35700 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35701 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35702 [qemu] (kernel_img_FORMAT): New variables.
35703
35704 * configure.ac: Recognise `i386-qemu'.
35705
35706 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35707 (for no compression).
35708 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35709 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35710 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35711 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35712 ifdefs).
35713
35714 2009-06-27 Pavel Roskin <proski@gnu.org>
35715
35716 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35717 read.
35718 * efiemu/prepare32.c: Likewise.
35719 * efiemu/prepare64.c: Likewise.
35720
35721 2009-06-26 Pavel Roskin <proski@gnu.org>
35722
35723 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35724 * include/grub/elf.h: Define symbols without "32" or "64" based
35725 on GRUB_TARGET_WORDSIZE.
35726 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35727 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35728 ELF definitions.
35729 * efiemu/loadcore64.c: Likewise.
35730 * loader/i386/bsd32.c: Likewise.
35731 * loader/i386/bsd64.c: Likewise.
35732 * kern/dl.c: Remove own ELF definitions.
35733 * util/i386/efi/grub-mkimage.c: Likewise.
35734
35735 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35736
35737 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35738 segment 0x0 unconditionally, because the reference generated by
35739 GAS is an absolute address.
35740
35741 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35742
35743 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35744 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35745
35746 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35747
35748 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35749 indexes. Check for -f explicitly.
35750 (search_file): Improve error message.
35751 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
35752
35753 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35754
35755 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35756 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35757
35758 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35759
35760 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35761 * conf/i386-ieee1275.rmk: Likewise.
35762 * conf/i386-coreboot.rmk: Likewise.
35763
35764 * kern/i386/pc/startup.S (grub_stop): Remove function.
35765 * kern/i386/ieee1275/startup.S: Likewise.
35766 * kern/i386/coreboot/startup.S: Likewise.
35767 * kern/i386/misc.S (grub_stop): New function.
35768
35769 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35770
35771 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35772 * kern/i386/realmode.S (real_to_prot): ... to here.
35773
35774 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35775
35776 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35777 with `kernel.img'.
35778 (kernel_elf_SOURCES): Rename to ...
35779 (kernel_img_SOURCES): ... this.
35780 (kernel_elf_HEADERS): Rename to ...
35781 (kernel_img_HEADERS): ... this. Update all users.
35782 (kernel_elf_ASFLAGS): Rename to ...
35783 (kernel_img_ASFLAGS): ... this.
35784 (kernel_elf_CFLAGS): Rename to ...
35785 (kernel_img_CFLAGS): ... this.
35786 (kernel_elf_LDFLAGS): Rename to ...
35787 (kernel_img_LDFLAGS): ... this.
35788 * conf/i386-coreboot.rmk: Likewise.
35789 * conf/powerpc-ieee1275.rmk: Likewise.
35790
35791 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35792 with "kernel.img".
35793
35794 2009-06-21 Pavel Roskin <proski@gnu.org>
35795
35796 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35797 to match nested functions.
35798 * loader/sparc64/ieee1275/linux.c: Likewise.
35799
35800 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35801
35802 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35803
35804 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35805 all i386 platforms.
35806
35807 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35808
35809 Fix asm file handling on ELF, and remove workarounds.
35810
35811 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
35812 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
35813 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35814 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35815
35816 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35817
35818 Load BSD ELF modules
35819
35820 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35821 and loader/i386/bsd64.c
35822 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35823 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35824 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35825 (grub_freebsd_load_elfmodule32): New declaration
35826 (grub_freebsd_load_elfmoduleobj64): Likewise
35827 (grub_freebsd_load_elf_meta32): Likewise
35828 (grub_freebsd_load_elf_meta64): Likewise
35829 (grub_freebsd_add_meta): Likewise
35830 (grub_freebsd_add_meta_module): Likewise
35831 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35832 (grub_freebsd_add_meta_module): Likewise and move module-specific
35833 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35834 (grub_cmd_freebsd): Add elf-kernel specific parts
35835 based on grub_freebsd_add_meta_module
35836 (grub_cmd_freebsd_module): Add type parsing moved from
35837 grub_freebsd_add_meta_module
35838 (grub_cmd_freebsd_module_elf): New function
35839 (cmd_freebsd_module_elf): New variable
35840 (GRUB_MOD_INIT): Register freebsd_module_elf
35841 * loader/i386/bsd32.c: New file
35842 * loader/i386/bsd64.c: Likewise
35843 * loader/i386/bsdXX.c: Likewise
35844 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35845 (grub_elf64_load): Likewise
35846 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35847 All users updated
35848 (grub_elf64_load_hook_t): Likewise
35849
35850 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
35851
35852 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35853 variable.
35854 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35855 don't write a menu entry for recovery mode.
35856
35857 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35858
35859 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35860 after it's no longer needed.
35861
35862 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35863
35864 * include/grub/i386/loader.h (grub_linux_prot_size)
35865 (grub_linux_tmp_addr, grub_linux_real_addr)
35866 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35867 GRUB_MACHINE_PCBIOS.
35868 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35869 common grub_util_info() call to ...
35870 (generate_image): ... here.
35871 Fix use of uninitialized memory, comparison of signed with
35872 unsigned integers and memory leak.
35873 Remove bogus module address message.
35874
35875 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35876
35877 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35878 grub_raid_register
35879 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35880
35881 2009-06-19 Pavel Roskin <proski@gnu.org>
35882
35883 * configure.ac: Remove stray AC_MSG_CHECKING.
35884
35885 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35886
35887 * disk/scsi.c (grub_scsi_open): use continue instead of big if
35888
35889 2009-06-18 Pavel Roskin <proski@gnu.org>
35890
35891 * conf/common.rmk: Add fs_file.mod.
35892 * disk/fs_file.c: New file.
35893 * include/grub/disk.h (enum grub_disk_dev_id): Add
35894 GRUB_DISK_DEVICE_FILE_ID.
35895
35896 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35897
35898 Fix build with Apple's toolchain. Part 2
35899
35900 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35901 a fake start
35902
35903 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35904
35905 Fix build with Apple's toolchain. Part 1
35906
35907 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35908 for long calls
35909 * configure.ac: remove a leftover AC_MSG_RESULT
35910 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
35911 Apple's toolchain
35912
35913 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35914
35915 Fix warnings
35916
35917 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35918 (decomp_block): initialize ch
35919 use grub_memcpy instead of memcpy
35920
35921 2009-06-17 Pavel Roskin <proski@gnu.org>
35922
35923 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35924 version, use declarations needed to use vga_text as the startup
35925 console.
35926
35927 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35928 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35929 the kernel.
35930 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35931 and grub_at_keyboard_fini(), it's done on module load and
35932 unload.
35933
35934 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
35935
35936 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35937 file can't be found.
35938 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35939
35940 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35941
35942 Fix newline handling
35943
35944 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
35945 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
35946 (grub_script_yylex): don't segfault on unterminated script
35947 newline terminates command and variable
35948
35949 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35950
35951 avoid double grub_adjust_range call. Bug reported by David Simner
35952
35953 * kern/disk.c (grub_disk_write): change to raw disk access before
35954 calling disk_read
35955
35956 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
35957
35958 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35959 spaces, for the benefit of help2man.
35960 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35961
35962 2009-06-16 Pavel Roskin <proski@gnu.org>
35963
35964 * kern/i386/halt.c: Include grub/machine/init.h.
35965 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35966
35967 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
35968
35969 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35970 drivemap menuentry.
35971
35972 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35973
35974 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35975 `echo' command.
35976
35977 2009-06-16 Pavel Roskin <proski@gnu.org>
35978
35979 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35980 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35981 save %dx, we only need %dl and we never change it.
35982 * boot/i386/pc/cdboot.S: Don't set the root drive.
35983 * boot/i386/pc/pxeboot.S: Likewise.
35984 * include/grub/i386/pc/boot.h: Remove
35985 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35986 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35987 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35988 * kern/i386/pc/init.c (make_install_device): Remove references
35989 to grub_root_drive.
35990 * kern/i386/pc/startup.S: Likewise.
35991 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35992
35993 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35994
35995 xnu_uuid command
35996
35997 * commands/xnu_uuid.c: new file
35998 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35999 (xnu_uuid_mod_SOURCES): new variable
36000 (xnu_uuid_mod_CFLAGS): likewise
36001 (xnu_uuid_mod_LDFLAGS): likewise
36002 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36003 * conf/i386-ieee1275.rmk: likewise
36004 * conf/i386-pc.rmk: likewise
36005 * conf/powerpc-ieee1275.rmk: likewise
36006 * conf/sparc64-ieee1275.rmk: likewise
36007 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36008
36009 2009-06-16 Pavel Roskin <proski@gnu.org>
36010
36011 * configure.ac: Avoid '==' in test command, it's not portable.
36012
36013 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36014
36015 Probe command
36016
36017 * commands/probe.c: new file
36018 * conf/common.rmk (pkglib_MODULES): add probe.mod
36019 (probe_mod_SOURCES): new variable
36020 (probe_mod_CFLAGS): likewise
36021 (probe_mod_LDFLAGS): likewise
36022 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36023 * conf/i386-ieee1275.rmk: likewise
36024 * conf/i386-pc.rmk: likewise
36025 * conf/powerpc-ieee1275.rmk: likewise
36026 * conf/sparc64-ieee1275.rmk: likewise
36027
36028 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36029
36030 Fix handling of string like \"hello\" and "a
36031 b"
36032
36033 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36034 (grub_script_yylex): fix parsing of quoting, escaping and newline
36035
36036 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36037
36038 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
36039 handling
36040
36041 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
36042
36043 * util/grub-mkconfig.in: Fix parsing of --output option.
36044
36045 2009-06-12 Pavel Roskin <proski@gnu.org>
36046
36047 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36048 genmk.rb don't need to be generated or installed.
36049
36050 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36051
36052 * commands/i386/pc/drivemap_int13h.S: add more comments
36053
36054 2009-06-11 Pavel Roskin <proski@gnu.org>
36055
36056 * Makefile.in (uninstall): Uninstall manuals.
36057
36058 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36059 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36060 and update-grub_lib in two places.
36061 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36062
36063 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36064 a compiler warning.
36065
36066 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36067 `entry_lo' to fix variable shadowing.
36068
36069 2009-06-11 Christian Franke <franke@computer.org>
36070
36071 * kern/misc.c (__enable_execute_stack): Add missing return type
36072 to prevent gcc warning.
36073
36074 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
36075
36076 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36077
36078 2009-06-11 Pavel Roskin <proski@gnu.org>
36079
36080 * Makefile.in: Don't rely on any scripts being executable.
36081 Always use $(SHELL) to run shell scripts.
36082
36083 * configure.ac: Always define ___main if using -nostdlib. This
36084 fixes tests on Cygwin.
36085
36086 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36087
36088 UDF fix
36089
36090 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
36091 is in bytes and not in blocks
36092
36093 2009-06-11 Pavel Roskin <proski@gnu.org>
36094
36095 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36096 warning.
36097
36098 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
36099
36100 * util/grub.d/30_os-prober.in: Fix a comment. Source
36101 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36102 to set the root device. Place drivemap command in the generated
36103 chain entry.
36104
36105 2009-06-11 Pavel Roskin <proski@gnu.org>
36106
36107 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36108 have long been resolved.
36109
36110 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
36111
36112 * util/grub.d/10_linux.in: Capitalise "Linux".
36113
36114 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36115
36116 2009-06-11 Pavel Roskin <proski@gnu.org>
36117
36118 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36119 fix a gcc warning and ensure that the function won't ever exit.
36120
36121 * kern/i386/ieee1275/init.c: Add missing prototype for
36122 grub_stop_floppy().
36123
36124 * loader/ieee1275/multiboot2.c [__i386__]: Include
36125 grub/cpu/multiboot.h.
36126
36127 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36128 casts to short - they are not portable and cause warnings. Fix
36129 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36130
36131 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36132
36133 Drivemap fixes
36134
36135 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36136 new function
36137 (grub_get_root_biosnumber_saved): new variable
36138 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36139 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
36140 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
36141 %dx after the call if necessary
36142 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36143 (boot_mod_SOURCES): remove
36144 (boot_mod_CFLAGS): remove
36145 (boot_mod_LDFLAGS): remove
36146 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36147 (boot_mod_SOURCES): new variable
36148 (boot_mod_CFLAGS): likewise
36149 (boot_mod_LDFLAGS): likewise
36150 * conf/i386-efi.rmk: likewise
36151 * conf/i386-ieee1275.rmk: likewise
36152 * conf/i386-pc.rmk: likewise
36153 * conf/powerpc-ieee1275.rmk: likewise
36154 * conf/sparc64-ieee1275.rmk: likewise
36155 * conf/x86_64-efi.rmk: likewise
36156 * include/grub/i386/pc/biosnum.h: new file
36157 * lib/i386/pc/biosnum.c: likewise
36158 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36159 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36160 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
36161
36162 2009-06-10 Pavel Roskin <proski@gnu.org>
36163
36164 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36165 Use separate variables. Read only the file size at the end, but
36166 not the checksum that we don't use.
36167
36168 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36169 Adjust all callers.
36170
36171 * kern/ieee1275/openfw.c: Remove libc includes.
36172 * kern/ieee1275/cmain.c: Likewise.
36173 * include/grub/ieee1275/ieee1275.h: Likewise.
36174
36175 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36176 compiler warnings.
36177
36178 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
36179
36180 * Makefile.in: Remove all trailing whitespace.
36181 * conf/i386-pc.rmk: Likewise.
36182 * conf/powerpc-ieee1275.rmk: Likewise.
36183 * conf/sparc64-ieee1275.rmk: Likewise.
36184 * docs/grub.texi: Likewise.
36185 * docs/texinfo.tex: Likewise.
36186 * disk/fs_uuid.c: Likewise.
36187 * disk/lvm.c: Likewise.
36188 * disk/scsi.c: Likewise.
36189 * disk/ata.c: Likewise.
36190 * disk/ieee1275/ofdisk.c: Likewise.
36191 * disk/i386/pc/biosdisk.c: Likewise.
36192 * disk/host.c: Likewise.
36193 * disk/raid.c: Likewise.
36194 * disk/efi/efidisk.c: Likewise.
36195 * disk/usbms.c: Likewise.
36196 * disk/memdisk.c: Likewise.
36197 * disk/loopback.c: Likewise.
36198 * kern/powerpc/dl.c: Likewise.
36199 * kern/device.c: Likewise.
36200 * kern/dl.c: Likewise.
36201 * kern/sparc64/dl.c: Likewise.
36202 * kern/ieee1275/ieee1275.c: Likewise.
36203 * kern/term.c: Likewise.
36204 * kern/fs.c: Likewise.
36205 * kern/i386/dl.c: Likewise.
36206 * kern/i386/pc/startup.S: Likewise.
36207 * kern/i386/pc/init.c: Likewise.
36208 * kern/i386/pc/mmap.c: Likewise.
36209 * kern/i386/pc/lzo1x.S: Likewise.
36210 * kern/i386/ieee1275/init.c: Likewise.
36211 * kern/i386/realmode.S: Likewise.
36212 * kern/i386/tsc.c: Likewise.
36213 * kern/partition.c: Likewise.
36214 * kern/corecmd.c: Likewise.
36215 * kern/file.c: Likewise.
36216 * kern/efi/efi.c: Likewise.
36217 * kern/efi/init.c: Likewise.
36218 * kern/efi/mm.c: Likewise.
36219 * kern/main.c: Likewise.
36220 * kern/err.c: Likewise.
36221 * kern/env.c: Likewise.
36222 * kern/disk.c: Likewise.
36223 * kern/generic/millisleep.c: Likewise.
36224 * kern/generic/rtc_get_time_ms.c: Likewise.
36225 * kern/misc.c: Likewise.
36226 * kern/parser.c: Likewise.
36227 * genmk.rb: Likewise.
36228 * configure.ac: Likewise.
36229 * boot/i386/pc/diskboot.S: Likewise.
36230 * boot/i386/pc/pxeboot.S: Likewise.
36231 * boot/i386/pc/boot.S: Likewise.
36232 * boot/i386/pc/lnxboot.S: Likewise.
36233 * boot/i386/pc/cdboot.S: Likewise.
36234 * parttool/pcpart.c: Likewise.
36235 * video/readers/tga.c: Likewise.
36236 * video/video.c: Likewise.
36237 * video/bitmap.c: Likewise.
36238 * lib/envblk.c: Likewise.
36239 * lib/i386/setjmp.S: Likewise.
36240 * fs/xfs.c: Likewise.
36241 * fs/afs.c: Likewise.
36242 * fs/fat.c: Likewise.
36243 * fs/ntfs.c: Likewise.
36244 * fs/udf.c: Likewise.
36245 * fs/affs.c: Likewise.
36246 * fs/iso9660.c: Likewise.
36247 * fs/hfs.c: Likewise.
36248 * fs/fshelp.c: Likewise.
36249 * fs/ext2.c: Likewise.
36250 * fs/jfs.c: Likewise.
36251 * fs/reiserfs.c: Likewise.
36252 * fs/hfsplus.c: Likewise.
36253 * fs/minix.c: Likewise.
36254 * fs/cpio.c: Likewise.
36255 * fs/sfs.c: Likewise.
36256 * fs/ufs.c: Likewise.
36257 * efiemu/prepare.c: Likewise.
36258 * efiemu/loadcore_common.c: Likewise.
36259 * efiemu/runtime/efiemu.sh: Likewise.
36260 * efiemu/runtime/efiemu.S: Likewise.
36261 * efiemu/runtime/efiemu.c: Likewise.
36262 * efiemu/pnvram.c: Likewise.
36263 * efiemu/main.c: Likewise.
36264 * efiemu/i386/pc/cfgtables.c: Likewise.
36265 * efiemu/i386/loadcore64.c: Likewise.
36266 * efiemu/i386/loadcore32.c: Likewise.
36267 * efiemu/loadcore.c: Likewise.
36268 * efiemu/symbols.c: Likewise.
36269 * efiemu/mm.c: Likewise.
36270 * include/grub/autoefi.h: Likewise.
36271 * include/grub/datetime.h: Likewise.
36272 * include/grub/term.h: Likewise.
36273 * include/grub/hfs.h: Likewise.
36274 * include/grub/lvm.h: Likewise.
36275 * include/grub/i386/tsc.h: Likewise.
36276 * include/grub/i386/linux.h: Likewise.
36277 * include/grub/i386/xnu.h: Likewise.
36278 * include/grub/i386/efiemu.h: Likewise.
36279 * include/grub/i386/pc/biosdisk.h: Likewise.
36280 * include/grub/i386/pc/memory.h: Likewise.
36281 * include/grub/i386/pc/vbe.h: Likewise.
36282 * include/grub/parttool.h: Likewise.
36283 * include/grub/video.h: Likewise.
36284 * include/grub/memory.h: Likewise.
36285 * include/grub/fs.h: Likewise.
36286 * include/grub/partition.h: Likewise.
36287 * include/grub/xnu.h: Likewise.
36288 * include/grub/efi/api.h: Likewise.
36289 * include/grub/efi/pe32.h: Likewise.
36290 * include/grub/efi/memory.h: Likewise.
36291 * include/grub/multiboot.h: Likewise.
36292 * include/grub/usbdesc.h: Likewise.
36293 * include/grub/multiboot2.h: Likewise.
36294 * include/grub/acpi.h: Likewise.
36295 * include/grub/efiemu/efiemu.h: Likewise.
36296 * include/grub/disk.h: Likewise.
36297 * include/grub/ieee1275/ieee1275.h: Likewise.
36298 * include/grub/net.h: Likewise.
36299 * include/grub/machoload.h: Likewise.
36300 * include/grub/macho.h: Likewise.
36301 * include/multiboot.h: Likewise.
36302 * genmoddep.awk: Likewise.
36303 * normal/main.c: Likewise.
36304 * normal/menu_entry.c: Likewise.
36305 * normal/menu_viewer.c: Likewise.
36306 * normal/completion.c: Likewise.
36307 * normal/cmdline.c: Likewise.
36308 * normal/misc.c: Likewise.
36309 * normal/datetime.c: Likewise.
36310 * bus/usb/usbtrans.c: Likewise.
36311 * bus/usb/ohci.c: Likewise.
36312 * bus/usb/uhci.c: Likewise.
36313 * bus/usb/usb.c: Likewise.
36314 * mmap/efi/mmap.c: Likewise.
36315 * mmap/i386/pc/mmap_helper.S: Likewise.
36316 * mmap/i386/pc/mmap.c: Likewise.
36317 * mmap/i386/mmap.c: Likewise.
36318 * mmap/i386/uppermem.c: Likewise.
36319 * mmap/mmap.c: Likewise.
36320 * commands/acpi.c: Likewise.
36321 * commands/echo.c: Likewise.
36322 * commands/blocklist.c: Likewise.
36323 * commands/loadenv.c: Likewise.
36324 * commands/usbtest.c: Likewise.
36325 * commands/boot.c: Likewise.
36326 * commands/parttool.c: Likewise.
36327 * commands/search.c: Likewise.
36328 * commands/cat.c: Likewise.
36329 * commands/i386/pc/play.c: Likewise.
36330 * commands/i386/pc/drivemap.c: Likewise.
36331 * commands/i386/pc/vbeinfo.c: Likewise.
36332 * commands/i386/pc/acpi.c: Likewise.
36333 * commands/i386/pc/vbetest.c: Likewise.
36334 * commands/ls.c: Likewise.
36335 * commands/cmp.c: Likewise.
36336 * commands/test.c: Likewise.
36337 * commands/efi/acpi.c: Likewise.
36338 * commands/gptsync.c: Likewise.
36339 * commands/help.c: Likewise.
36340 * partmap/amiga.c: Likewise.
36341 * partmap/apple.c: Likewise.
36342 * partmap/acorn.c: Likewise.
36343 * partmap/pc.c: Likewise.
36344 * partmap/sun.c: Likewise.
36345 * partmap/gpt.c: Likewise.
36346 * script/sh/lexer.c: Likewise.
36347 * script/sh/function.c: Likewise.
36348 * font/font.c: Likewise.
36349 * font/font_cmd.c: Likewise.
36350 * loader/powerpc/ieee1275/linux.c: Likewise.
36351 * loader/efi/chainloader.c: Likewise.
36352 * loader/multiboot_loader.c: Likewise.
36353 * loader/macho.c: Likewise.
36354 * loader/i386/multiboot.c: Likewise.
36355 * loader/i386/linux.c: Likewise.
36356 * loader/i386/pc/linux.c: Likewise.
36357 * loader/i386/pc/multiboot2.c: Likewise.
36358 * loader/i386/pc/chainloader.c: Likewise.
36359 * loader/i386/pc/xnu.c: Likewise.
36360 * loader/i386/bsd_trampoline.S: Likewise.
36361 * loader/i386/efi/linux.c: Likewise.
36362 * loader/i386/multiboot_elfxx.c: Likewise.
36363 * loader/i386/bsd_helper.S: Likewise.
36364 * loader/i386/bsd.c: Likewise.
36365 * loader/i386/linux_trampoline.S: Likewise.
36366 * loader/i386/xnu_helper.S: Likewise.
36367 * loader/i386/xnu.c: Likewise.
36368 * loader/i386/bsd_pagetable.c: Likewise.
36369 * loader/i386/multiboot_helper.S: Likewise.
36370 * loader/xnu.c: Likewise.
36371 * loader/xnu_resume.c: Likewise.
36372 * io/gzio.c: Likewise.
36373 * term/efi/console.c: Likewise.
36374 * term/terminfo.c: Likewise.
36375 * term/ieee1275/ofconsole.c: Likewise.
36376 * term/i386/pc/serial.c: Likewise.
36377 * term/i386/pc/vesafb.c: Likewise.
36378 * term/i386/pc/vga.c: Likewise.
36379 * term/usb_keyboard.c: Likewise.
36380 * term/gfxterm.c: Likewise.
36381 * aclocal.m4: Likewise.
36382 * util/lvm.c: Likewise.
36383 * util/grub.d/30_os-prober.in: Likewise.
36384 * util/grub.d/10_hurd.in: Likewise.
36385 * util/console.c: Likewise.
36386 * util/grub-macho2img.c: Likewise.
36387 * util/grub-probe.c: Likewise.
36388 * util/hostfs.c: Likewise.
36389 * util/i386/pc/grub-mkimage.c: Likewise.
36390 * util/i386/pc/grub-setup.c: Likewise.
36391 * util/i386/efi/grub-mkimage.c: Likewise.
36392 * util/grub-mkconfig.in: Likewise.
36393 * util/raid.c: Likewise.
36394 * util/resolve.c: Likewise.
36395 * util/grub-mkdevicemap.c: Likewise.
36396 * util/grub-emu.c: Likewise.
36397 * util/getroot.c: Likewise.
36398 * util/hostdisk.c: Likewise.
36399 * util/usb.c: Likewise.
36400 * util/grub-editenv.c: Likewise.
36401 * util/misc.c: Likewise.
36402
36403 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
36404
36405 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36406 `genparttoollist.sh'.
36407 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36408 Add `*.sh' to the list find searches for and change `mdate.sh'
36409 to `mdate-sh'.
36410
36411 2009-06-10 Pavel Roskin <proski@gnu.org>
36412
36413 * include/grub/multiboot2.h: Provide compatibility defines for
36414 multiboot2.h.
36415 * include/multiboot2.h: Include stdint.h only if needed, using
36416 angle brackets.
36417 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36418 grub/multiboot2.h.
36419 * loader/ieee1275/multiboot2.c: Likewise.
36420 * loader/multiboot2.c: Likewise.
36421 * loader/multiboot_loader.c: Likewise.
36422
36423 * configure.ac: Use -nostdlib when probing for the target. It
36424 should not be required to have libc for the target.
36425
36426 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36427 they fail without libc headers for the target.
36428 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36429 exports.
36430 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36431 preprocessor conditionals.
36432
36433 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36434 build system doesn't need to be aware of the tar.c internals.
36435
36436 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
36437
36438 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
36439
36440 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36441
36442 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36443 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36444
36445 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
36446
36447 * util/i386/pc/grub-install.in: Change the error message if UUIDs
36448 aren't available if ata.mod gets used.
36449
36450 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
36451
36452 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
36453 initialising controller.
36454 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36455
36456 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36457
36458 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36459 to choose between ata and biosdisk module on i386-pc.
36460
36461 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
36462
36463 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36464 Subclass and Programming Interface fields in terms of the 3 byte
36465 Class Code register.
36466 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36467
36468 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36469 interface is OHCI. Add grub_dprintf for symmetry with
36470 bus/usb/uhci.c.
36471 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36472 interface is UHCI. Add interf variable for programming
36473 interface. Print interface with class/subclass.
36474
36475 * bus/usb/ohci.c: Set interf with correct field.
36476
36477 * bus/usb/uhci.c: Remove unneeded doubled lines.
36478 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36479 Remove whitespace inside comment.
36480
36481 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36482
36483 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36484 as fallback an equivalent option without depth.
36485
36486 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36487
36488 Not fail if unable to retrieve C/H/S on LBA disks
36489
36490 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
36491 if unable to retrieve C/H/S on LBA disks
36492
36493 2009-06-08 Pavel Roskin <proski@gnu.org>
36494
36495 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36496 about aliasing.
36497
36498 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36499
36500 * Makefile.in (uninstall): Remove all $lib_DATA files.
36501
36502 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36503
36504 Bugfix: install on partitionless device
36505
36506 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36507 is a whole disk
36508
36509 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36510
36511 * Makefile.in (uninstall): Remove all $include_DATA files.
36512
36513 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36514
36515 * commands/true.c: New file. Implement the true and false commands.
36516 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36517 (true_mod_SOURCES): New variable.
36518 (true_mod_CFLAGS): Likewise.
36519 (true_mod_LDFLAGS): Likewise.
36520
36521 2009-06-05 Colin D Bennett <colin@gibibit.com>
36522
36523 Optimized font character lookup using binary search instead of linear
36524 search. Fonts now are required to have the character index ordered by
36525 code point.
36526
36527 * font/font.c (load_font_index): Verify that fonts have ordered
36528 character indices.
36529 (find_glyph): Use binary search instead of linear search to find a
36530 character in a font.
36531
36532 2009-06-05 Michael Scherer <misc@mandriva.org>
36533
36534 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36535 uses case sensitive btree.
36536 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36537 only for case insensitive filesystems.
36538
36539 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36540
36541 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36542 * conf/common.rmk (search_mod_CFLAGS): likewise
36543
36544 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36545
36546 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
36547 compensate a compiler bug
36548
36549 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36550
36551 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
36552 instead of '\b'
36553
36554 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36555
36556 Definitions for creating asm symbols with Apple's CC
36557
36558 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36559 [APPLE_CC] (VARIABLE): likewise
36560
36561 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36562
36563 Disable lnxboot.img when compiled
36564 with Apple's CC
36565
36566 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36567 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36568 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36569 [! APPLE_CC] (CODE_LENG): skip
36570 [! APPLE_CC] (setup_sects): likewise
36571 [! APPLE_CC]: skip filling
36572
36573 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36574
36575 Address in trampolines based on 32-bit registers when compiled
36576 with Apple's CC
36577
36578 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
36579 for addresses
36580 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36581
36582 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36583
36584 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36585
36586 * kern/misc.c [APPLE_CC] (memcpy): new function
36587 [APPLE_CC] (memmove): likewise
36588 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
36589 (memcpy): define alias conditionally on !APPLE_CC
36590 (memset): likewise
36591 (abort): likewise
36592 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36593 APPLE_CC are defined
36594 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36595 (grub_assert_fail): make prototype conditional
36596
36597 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36598
36599 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36600
36601 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36602 grub-macho2img
36603 (CLEANFILES): add grub-macho2img
36604 (grub_macho2img_SOURCES): new variable
36605 * kern/i386/pc/startup.S (bss_start): new variable
36606 (bss_end): likewise
36607 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36608 * util/grub-macho2img.c: new file
36609
36610 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36611
36612 Use objconv when compiling with Apple's CC
36613
36614 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36615 (efiemu64.o): likewise
36616 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36617 when compiling with Apple's CC
36618 (efiemu64_s.o): likewise
36619 * configure.ac: check for objconv when compiling with Apple's CC
36620 * genmk.rb: use objconv for modules when compiled with Apple's CC
36621
36622 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36623
36624 Define segment as well as section when compiling with
36625 Apple's CC
36626
36627 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36628 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36629 (efiemu_convert_pointer): likewise
36630 (efiemu_set_virtual_address_map): likewise
36631 (efiemu_convert_pointer): likewise
36632 (efiemu_getcrc32): likewise
36633 (init_crc32_table): likewise
36634 (reflect): likewise
36635 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36636 (GRUB_MOD_DEP): likewise
36637
36638 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36639
36640 Allow a compilation without -mcmodel=large
36641
36642 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36643 when compiled without -mcmodel=large
36644 (filter_memory_map): remove memory post 4 GiB when compiled
36645 without -mcmodel=large
36646 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
36647 TARGET_CFLAGS when -mcmodel=large isn't supported
36648
36649 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36650
36651 Remove nested functions in efiemu core
36652
36653 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
36654
36655 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36656
36657 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36658
36659 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36660 temporary storage
36661 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36662 using Apple's CC
36663 (grub_cpu_is_tsc_supported): likewise
36664 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
36665
36666 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36667
36668 Absolute addressing through constant with Apple's cc
36669
36670 * kern/i386/pc/startup.S: Define necessary constants
36671 and address through it when using ABS with Apple's CC
36672 * boot/i386/pc/diskboot.S: likewise
36673 * boot/i386/pc/boot.S: likewise
36674 * boot/i386/pc/lnxboot.S: likewise
36675 * boot/i386/pc/cdboot.S: likewise
36676 * mmap/i386/pc/mmap_helper.S: likewise
36677 * commands/i386/pc/drivemap_int13h.S: likewise
36678
36679 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36680
36681 Check if compiler is apple cc
36682
36683 * Makefile.in (ASFLAGS): new variable
36684 (TARGET_ASFLAGS): likewise
36685 (TARGET_MODULE_FORMAT): likewise
36686 (TARGET_APPLE_CC): likewise
36687 (OBJCONV): likewise
36688 (TARGET_IMG_CFLAGS): likewise
36689 (TARGET_CPPFLAGS): add includedir
36690 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36691 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36692 Check for linker script only if compiler isn't Apple's CC
36693 (TARGET_MODULE_FORMAT): set
36694 (TARGET_APPLE_CC): likewise
36695 (TARGET_ASFLAGS): likewise
36696 (ASFLAGS): likewise
36697 Check for objcopy only if compiler isn't Apple's CC
36698 Check for BSS symbol only if compiler isn't Apple's CC
36699 * genmk.rb: adapt nm options if we use Apple's utils
36700 * aclocal.m4 (grub_apple_cc): new test
36701 (grub_apple_target_cc): likewise
36702
36703 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36704
36705 Simplify sed expressions and improve awk
36706
36707 * Makefile.in (install-local): simplify sed expression
36708 * gencmdlist.sh: likewise
36709 * genmoddep.awk: avoid adding module as a dependency of itself
36710
36711 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36712
36713 Add missing start symbols
36714
36715 * boot/i386/pc/boot.S: add start
36716 * boot/i386/pc/pxeboot.S: likewise
36717
36718 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36719
36720 Fix wrong assumptions with grub-mkimage on EFI
36721
36722 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
36723 (relocate_addresses): consider both r_addend and value at offset
36724 (make_mods_section): zerofill modinfo and header
36725 (convert_elf): write prefix here
36726
36727 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36728
36729 Use .asciz instead of .string
36730
36731 * i386/pc/diskboot.S: use .asciz instead of .string
36732 * i386/pc/boot.S: likewise
36733 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36734 (GRUB_MOD_NAME): likewise
36735
36736 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36737
36738 gfxpayload support
36739
36740 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36741 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36742 (grub_video_setup): remove
36743 (grub_video_set_mode): new prototype
36744 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36745 (vid_mode): remove
36746 (linux_vesafb_res): compile only on PCBIOS
36747 (grub_linux_boot): support gfxpayload
36748 * loader/i386/pc/xnu.c (video_hook): new function
36749 (grub_xnu_set_video): support gfxpayload
36750 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36751 (DEFAULT_VIDEO_HEIGHT): likewise
36752 (DEFAULT_VIDEO_FLAGS): likewise
36753 (DEFAULT_VIDEO_MODE): new definition
36754 (video_hook): new function
36755 (grub_gfxterm_init): use grub_video_set_mode
36756 * util/grub.d/30_os-prober.in: remove explicit modesetting before
36757 loading xnu
36758 * video/video.c (grub_video_setup): removed
36759 (grub_video_set_mode): new function based on grub_gfxterm_init and
36760 grub_video_setup
36761
36762 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36763
36764 Avoid calling biosdisk in drivemap
36765
36766 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36767 (revparse_biosdisk): likewise
36768 (list_mappings): derive name from id directly
36769 (grub_cmd_drivemap): use tryparse_diskstring
36770
36771 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36772
36773 Script fixes
36774
36775 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36776 (grub_lexer_param): add tokenonhold
36777 (grub_script_create_cmdline): remove cmdline. All callers updated
36778 (grub_script_function_create): make functionname
36779 grub_script_arg. All callers updated
36780 (grub_script_execute_argument_to_string): new prototype
36781 * kern/parser.c (state_transitions): reorder
36782 (grub_parser_cmdline_state): fix a bug and make more compact
36783 * script/sh/execute.c (grub_script_execute_argument_to_string):
36784 make global
36785 (grub_script_execute_cmdline): use new format
36786 * script/sh/function.c (grub_script_function_create): make functionname
36787 grub_script_arg. All callers updated
36788 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
36789 (grub_script_yylex): remove
36790 (grub_script_yylex2): renamed to ...
36791 (grub_script_yylex): ...renamed
36792 parse the expressions like a${b}c
36793 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36794 (GRUB_PARSER_TOKEN_VAR): remove
36795 (GRUB_PARSER_TOKEN_NAME): likewise
36796 ("if"): declare as typeless
36797 ("while"): likewise
36798 ("function"): likewise
36799 ("else"): likewise
36800 ("then"): likewise
36801 ("fi"): likewise
36802 (text): remove
36803 (argument): likewise
36804 (script): accept empty scripts and make exit on error
36805 (arguments): use GRUB_PARSER_TOKEN_ARG
36806 (function): likewise
36807 (command): move error handling to script
36808 (menuentry): move grub_script_lexer_ref before
36809 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
36810 argument. All callers updated
36811
36812 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36813
36814 Prevent GRUB from probing floppies during boot.
36815
36816 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36817 * commands/search.c (options): Add --no-floppy.
36818 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36820 --no-floppy when searching for UUIDs.
36821
36822 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36823
36824 Simplify the code duplication in commands/search.c.
36825
36826 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36827 (search_fs): ... this. Update all users.
36828
36829 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
36830
36831 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36832
36833 2009-05-28 Pavel Roskin <proski@gnu.org>
36834
36835 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36836 Remove the original symlink explicitly.
36837
36838 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36839 just one slash. That's how grub_fshelp_find_file() does it.
36840
36841 2009-05-26 Pavel Roskin <proski@gnu.org>
36842
36843 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36844 to `str'.
36845
36846 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36847 possibly unused.
36848
36849 2009-05-25 Christian Franke <franke@computer.org>
36850
36851 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36852 register.
36853 (grub_atapi_identify): Add wait after drive select.
36854 (grub_ata_identify): Do more strict status register check before
36855 calling grub_atapi_identify (). Suppress error message if status
36856 register is 0x00 after command failure. Add status register
36857 check after PIO read to avoid bogus identify due to stuck DRQ.
36858 Thanks to Pavel Roskin for testing.
36859 (grub_device_initialize): Remove unsafe status register check.
36860 Thanks to 'phcoder' for problem report and patch.
36861 Prevent sign extension in debug message.
36862
36863 2009-05-23 Colin D Bennett <colin@gibibit.com>
36864
36865 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36866 definition file, and functions defined in `normal/menu.c' have had
36867 their prototypes moved to `include/grub/menu.h' for consistency.
36868
36869 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36870 from normal.h.
36871 (grub_menu_get_entry): Likewise.
36872 (grub_menu_get_timeout): Likewise.
36873 (grub_menu_set_timeout): Likewise.
36874 (grub_menu_execute_entry): Likewise.
36875 (grub_menu_execute_with_fallback): Likewise.
36876 (grub_menu_entry_run): Likewise.
36877
36878 * include/grub/normal.h: Re-ordered and grouped function
36879 prototypes by file that the function is defined in.
36880 (grub_menu_execute_callback): Removed; moved to menu.h.
36881 (grub_menu_get_entry): Likewise.
36882 (grub_menu_get_timeout): Likewise.
36883 (grub_menu_set_timeout): Likewise.
36884 (grub_menu_execute_entry): Likewise.
36885 (grub_menu_execute_with_fallback): Likewise.
36886 (grub_menu_entry_run): Likewise.
36887 (grub_menu_addentry): Renamed from this ...
36888 (grub_normal_add_menu_entry): ... to this.
36889
36890 * normal/main.c (grub_menu_addentry): Renamed from this ...
36891 (grub_normal_add_menu_entry): ... to this.
36892
36893 * script/sh/execute.c (grub_script_execute_menuentry): Update
36894 reference to renamed grub_menu_addentry function.
36895
36896 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
36897
36898 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36899
36900 2009-05-22 Pavel Roskin <proski@gnu.org>
36901
36902 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36903 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36904 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36905 compiling for the i386 targets, but not for the utilities.
36906
36907 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36908 to grub_uint8_t.
36909 (grub_root_drive): Likewise.
36910 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36911 remove alignment.
36912 (grub_root_drive): Change size to byte.
36913 (grub_start_addr): Remove.
36914 (grub_end_addr): Likewise.
36915 (grub_apm_bios_info): Likewise.
36916
36917 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
36918
36919 * normal/i386: Remove.
36920 * normal/powerpc: Likewise.
36921 * normal/sparc64: Likewise.
36922 * normal/x86_64: Likewise.
36923
36924 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36925
36926 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
36927 * loader/i386/linux_trampoline.S: Fix indentation
36928 * loader/i386/xnu_helper.S: Likewise
36929
36930 2009-05-18 Colin D Bennett <colin@gibibit.com>
36931
36932 Display error messages when parsing a Lua statement fails.
36933 Previously, executing a syntactically invalid statement like
36934 ")foo" or "bar;" would silently fail.
36935
36936 * script/lua/grub_main.c (handle_lua_error): New function.
36937 (grub_lua_parse_line): Improved reporting of Lua parser and
36938 execution errors.
36939
36940 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36941
36942 Remove -Werror which causes build to fail on some systems
36943
36944 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36945 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36946 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
36947
36948 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36949
36950 trampoline for linux on 64-bit platform
36951
36952 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36953 loader/i386/efi/linux_trampoline.S
36954 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
36955 declaration
36956 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36957 here
36958 * loader/i386/linux_trampoline.S: moved here
36959 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36960 trampoline
36961 (jumpvector): removed
36962 (grub_linux_trampoline_start): new declaration
36963 (grub_linux_trampoline_end): likewise
36964 (grub_linux_boot): use trampoline when on 64-bit platform
36965 * loader/i386/linux.c: likewise
36966
36967 2009-05-16 Pavel Roskin <proski@gnu.org>
36968
36969 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36970 const to avoid a warning.
36971 (grub_lua_setenv): Likewise.
36972 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36973 lmsg to fix a warning.
36974
36975 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36976
36977 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
36978 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36979 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36980 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36981 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36982 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36983 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36984 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36985
36986 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36987
36988 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36989
36990 2009-05-16 Bean <bean123ch@gmail.com>
36991
36992 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36993 (lua_mod_SOURCES): New variable.
36994 (lua_mod_CFLAGS): Likewise.
36995 (lua_mod_LDFLAGS): Likewise.
36996
36997 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36998 (setjmp_mod_SOURCES): New variable.
36999 (setjmp_mod_CFLAGS): Likewise.
37000 (setjmp_LDFLAGS): Likewise.
37001
37002 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37003 (setjmp_mod_SOURCES): New variable.
37004 (setjmp_mod_CFLAGS): Likewise.
37005 (setjmp_LDFLAGS): Likewise.
37006
37007 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37008 (setjmp_mod_SOURCES): New variable.
37009 (setjmp_mod_CFLAGS): Likewise.
37010 (setjmp_LDFLAGS): Likewise.
37011
37012 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37013 (setjmp_mod_SOURCES): New variable.
37014 (setjmp_mod_CFLAGS): Likewise.
37015 (setjmp_LDFLAGS): Likewise.
37016
37017 * normal/i386/setjmp.S: Moved from here ...
37018 * lib/i386/setjmp.S: ... Moved here
37019 * normal/x86_64/setjmp.S: Moved from here ...
37020 * lib/x86_64/setjmp.S: ... Moved here
37021 * normal/powerpc/setjmp.S: Moved from here ...
37022 * lib/powerpc/setjmp.S: ... Moved here
37023 * normal/sparc64/setjmp.S: Moved from here ...
37024 * lib/sparc64/setjmp.S: ... Moved here
37025
37026 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37027 returns_twice in mingw.
37028
37029 * script/lua/grub_lib.c: New file.
37030 * script/lua/grub_lib.h: Likewise.
37031 * script/lua/grub_lua.h: Likewise.
37032 * script/lua/grub_main.c: Likewise.
37033 * script/lua/lapi.c: Likewise.
37034 * script/lua/lapi.h: Likewise.
37035 * script/lua/lauxlib.c: Likewise.
37036 * script/lua/lauxlib.h: Likewise.
37037 * script/lua/lbaselib.c: Likewise.
37038 * script/lua/lcode.c: Likewise.
37039 * script/lua/lcode.h: Likewise.
37040 * script/lua/ldblib.c: Likewise.
37041 * script/lua/ldebug.c: Likewise.
37042 * script/lua/ldebug.h: Likewise.
37043 * script/lua/ldo.c: Likewise.
37044 * script/lua/ldo.h: Likewise.
37045 * script/lua/ldump.c: Likewise.
37046 * script/lua/lfunc.c: Likewise.
37047 * script/lua/lfunc.h: Likewise.
37048 * script/lua/lgc.c: Likewise.
37049 * script/lua/lgc.h: Likewise.
37050 * script/lua/linit.c: Likewise.
37051 * script/lua/liolib.c: Likewise.
37052 * script/lua/llex.c: Likewise.
37053 * script/lua/llex.h: Likewise.
37054 * script/lua/llimits.h: Likewise.
37055 * script/lua/lmathlib.c: Likewise.
37056 * script/lua/lmem.c: Likewise.
37057 * script/lua/lmem.h: Likewise.
37058 * script/lua/loadlib.c: Likewise.
37059 * script/lua/lobject.c: Likewise.
37060 * script/lua/lobject.h: Likewise.
37061 * script/lua/lopcodes.c: Likewise.
37062 * script/lua/lopcodes.h: Likewise.
37063 * script/lua/loslib.c: Likewise.
37064 * script/lua/lparser.c: Likewise.
37065 * script/lua/lparser.h: Likewise.
37066 * script/lua/lstate.c: Likewise.
37067 * script/lua/lstate.h: Likewise.
37068 * script/lua/lstring.c: Likewise.
37069 * script/lua/lstring.h: Likewise.
37070 * script/lua/lstrlib.c: Likewise.
37071 * script/lua/ltable.c: Likewise.
37072 * script/lua/ltable.h: Likewise.
37073 * script/lua/ltablib.c: Likewise.
37074 * script/lua/ltm.c: Likewise.
37075 * script/lua/ltm.h: Likewise.
37076 * script/lua/lua.h: Likewise.
37077 * script/lua/luaconf.h: Likewise.
37078 * script/lua/lualib.h: Likewise.
37079 * script/lua/lundump.c: Likewise.
37080 * script/lua/lundump.h: Likewise.
37081 * script/lua/lvm.c: Likewise.
37082 * script/lua/lvm.h: Likewise.
37083 * script/lua/lzio.c: Likewise.
37084 * script/lua/lzio.h: Likewise.
37085
37086 2009-05-16 Bean <bean123ch@gmail.com>
37087
37088 * include/grub/kernel.h (grub_module_header_types): Add type
37089 OBJ_TYPE_CONFIG.
37090
37091 * kern/main.c (grub_load_config): New function.
37092 (grub_main): Call grub_load_config to read boot config.
37093
37094 * grub-mkimage (generate_image): New parameter config_path.
37095 (options): New option --config.
37096 (main): Parse --config option, and pass it to generate_image.
37097
37098 2009-05-14 Christian Franke <franke@computer.org>
37099
37100 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37101 This fixes build on Cygwin.
37102
37103 2009-05-14 Pavel Roskin <proski@gnu.org>
37104
37105 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37106 jump. This saves two bytes, so the typical case of 2 swapped
37107 drives would fit 32 bytes.
37108
37109 2009-05-13 Pavel Roskin <proski@gnu.org>
37110
37111 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37112 grub_uint32_t to avoid a warning.
37113
37114 * loader/i386/linux.c (allocate_pages): When assigning
37115 real_mode_mem, cast through grub_size_t to fix a warning. The
37116 code already makes sure that the value would fit a pointer.
37117 (grub_linux_setup_video): Cast render_target->data to
37118 grub_size_t to fix a warning.
37119
37120 2009-05-13 Javier Martín <lordhabbit@gmail.com>
37121
37122 * commands/i386/pc/drivemap.c: New file - implement drivemap
37123 command.
37124 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37125 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37126
37127 2009-05-13 Pavel Roskin <proski@gnu.org>
37128
37129 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37130 embedding_area_exists.
37131
37132 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37133
37134 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37135 it easier to understand / work with.
37136 Improve warning messages for cases where there's no embedding area,
37137 or when it is too small (or core.img too large).
37138
37139 2009-05-13 Pavel Roskin <proski@gnu.org>
37140
37141 * loader/i386/pc/multiboot2.c: Add necessary includes for
37142 grub_multiboot2_real_boot().
37143
37144 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37145 PX record is always little-endian. We only need the lower 2
37146 bytes of the mode.
37147
37148 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37149 facilitate code reuse.
37150 (grub_cpio_mount): Use "struct head", not a char buffer. This
37151 fixes a warning reported by gcc 4.4.
37152
37153 * kernel/disk.c (grub_disk_read): Use void pointer for the
37154 buffer.
37155 (grub_disk_write): Use const void pointer for the buffer.
37156 Adjust all callers. Remove unnecessary casts.
37157
37158 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37159
37160 * util/i386/pc/grub-install.in: Update copyright year.
37161
37162 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37163
37164 gptsync
37165
37166 * commands/gptsync.c: new file
37167 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37168 (gptsync_mod_SOURCES): new variable
37169 (gptsync_mod_CFLAGS): likewise
37170 (gptsync_mod_LDFLAGS): likewise
37171 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
37172 new definition
37173 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37175 * conf/i386-ieee1275.rmk: likewise
37176 * conf/i386-pc.rmk: likewise
37177 * conf/powerpc-ieee1275.rmk: likewise
37178
37179 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37180
37181 Fixed grub-emu
37182
37183 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37184 (grub_dl_ref): likewise
37185
37186 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37187
37188 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37189 split in two functions (one for msdos and one for gpt).
37190
37191 2009-05-08 Pavel Roskin <proski@gnu.org>
37192
37193 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37194 not modified.
37195
37196 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37197 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37198 Initialize them with -1. Add sanity check for bad1. Eliminate
37199 nerr variable.
37200
37201 2009-05-08 David S. Miller <davem@davemloft.net>
37202
37203 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37204
37205 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37206
37207 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
37208 existence.
37209
37210 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
37211
37212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37213 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
37214
37215 2009-05-05 David S. Miller <davem@davemloft.net>
37216
37217 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37218
37219 2009-05-05 Pavel Roskin <proski@gnu.org>
37220
37221 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37222 of grub_dl_ref() and grub_dl_unref().
37223 * commands/parttool.c: Remove preprocessor conditionals around
37224 grub_dl_ref() and grub_dl_unref().
37225 * fs/affs.c: Likewise.
37226 * fs/afs.c: Likewise.
37227 * fs/cpio.c: Likewise.
37228 * fs/ext2.c: Likewise.
37229 * fs/fat.c: Likewise.
37230 * fs/hfs.c: Likewise.
37231 * fs/hfsplus.c: Likewise.
37232 * fs/iso9660.c: Likewise.
37233 * fs/jfs.c: Likewise.
37234 * fs/minix.c: Likewise.
37235 * fs/ntfs.c: Likewise.
37236 * fs/reiserfs.c: Likewise.
37237 * fs/sfs.c: Likewise.
37238 * fs/udf.c: Likewise.
37239 * fs/ufs.c: Likewise.
37240 * fs/xfs.c: Likewise.
37241 * include/grub/dl.h: Likewise.
37242 * loader/xnu.c: Likewise.
37243
37244 2009-05-04 Pavel Roskin <proski@gnu.org>
37245
37246 * commands/acpi.c: Remove unused variable my_mod.
37247 * partmap/amiga.c: Likewise.
37248 * partmap/apple.c: Likewise.
37249 * partmap/gpt.c: Likewise.
37250 * partmap/pc.c: Likewise.
37251 * partmap/sun.c: Likewise.
37252 * term/gfxterm.c: Likewise.
37253 * term/i386/pc/vesafb.c: Likewise.
37254 * term/i386/pc/vga.c: Likewise.
37255
37256 2009-05-04 David S. Miller <davem@davemloft.net>
37257
37258 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37259 pointer args to grub_ieee1275_get_property().
37260
37261 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37262
37263 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37264 devices, and do not traverse down under controller nodes.
37265
37266 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37267 (grub_ofdisk_open): Use it to un-escape "," characters.
37268 * kern/disk.c (find_part_sep): New.
37269 (grub_disk_open): Use it to find the first non-escaped ','
37270 character in the disk name.
37271 * util/ieee1275/devicemap.c (escape_of_path): New.
37272 (grub_util_emit_devicemap_entry): Use it.
37273 * util/sparc64/ieee1275/grub-install.in: Update script to
37274 strip partition specifiers properly by not triggering on
37275 '\' escaped ',' characters.
37276
37277 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37278
37279 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37280 to 0x300.
37281 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37282 resolutions.
37283 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37284 on documentation from Wikipedia).
37285
37286 2009-05-04 Pavel Roskin <proski@gnu.org>
37287
37288 * disk/ata.c: Spelling fixes.
37289 * disk/raid.c: Likewise.
37290 * disk/usbms.c: Likewise.
37291 * disk/dmraid_nvidia.c: Likewise.
37292 * kern/ieee1275/openfw.c: Likewise.
37293 * kern/ieee1275/init.c: Likewise.
37294 * kern/ieee1275/cmain.c: Likewise.
37295 * boot/i386/pc/cdboot.S: Likewise.
37296 * video/readers/png.c: Likewise.
37297 * video/i386/pc/vbe.c: Likewise.
37298 * fs/udf.c: Likewise.
37299 * fs/hfs.c: Likewise.
37300 * fs/reiserfs.c: Likewise.
37301 * efiemu/runtime/efiemu.c: Likewise.
37302 * efiemu/main.c: Likewise.
37303 * efiemu/mm.c: Likewise.
37304 * include/grub/elf.h: Likewise.
37305 * include/grub/xnu.h: Likewise.
37306 * include/grub/usbdesc.h: Likewise.
37307 * include/grub/usb.h: Likewise.
37308 * include/grub/script_sh.h: Likewise.
37309 * include/grub/lib/LzmaEnc.h: Likewise.
37310 * include/grub/efiemu/efiemu.h: Likewise.
37311 * include/grub/command.h: Likewise.
37312 * normal/menu.c: Likewise.
37313 * normal/main.c: Likewise.
37314 * normal/datetime.c: Likewise.
37315 * bus/usb/uhci.c: Likewise.
37316 * mmap/i386/uppermem.c: Likewise.
37317 * mmap/mmap.c: Likewise.
37318 * commands/acpi.c: Likewise.
37319 * commands/test.c: Likewise.
37320 * partmap/apple.c: Likewise.
37321 * font/font.c: Likewise.
37322 * loader/sparc64/ieee1275/linux.c: Likewise.
37323 * loader/macho.c: Likewise.
37324 * loader/i386/bsd_trampoline.S: Likewise.
37325 * loader/i386/bsd.c: Likewise.
37326 * loader/xnu.c: Likewise.
37327 * term/i386/pc/vesafb.c: Likewise.
37328 * term/usb_keyboard.c: Likewise.
37329 * util/resolve.c: Likewise.
37330 * util/getroot.c: Likewise.
37331
37332 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
37333
37334 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37335
37336 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37337
37338 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37339 build error.
37340
37341 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37342
37343 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37344 parameter only available on BIOS.
37345
37346 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37347
37348 Removed wrong semicolon in declaration
37349
37350 * grub/misc.h (grub_dprintf): remove semicolon
37351
37352 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37353
37354 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37355 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37356 is done by grub_cmd_linux() now).
37357 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37358 restore video to text mode.
37359 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37360 indicates lack of "vga=" parameter. "vga=0" is mapped to
37361 `GRUB_LINUX_VID_MODE_NORMAL'.
37362
37363 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
37364
37365 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37366 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37367 and `normal/script.c'. Add `kern/rescue_reader.c',
37368 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
37369 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37370 `grub_script.tab.c'.
37371
37372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37373 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37375 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37376 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37377
37378 * Makefile.in: Remove duplicated 2008 in Copyright line.
37379
37380 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37381
37382 * util/misc.c (grub_util_warn): New function. Emits a warning
37383 unconditionally.
37384 * include/grub/util/misc.h (grub_util_warn): New declaration.
37385
37386 * util/i386/pc/grub-install.in: Understand --force and pass it down
37387 to grub-setup.
37388
37389 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37390 down to setup().
37391 (setup): Improve error messages and add warnings when requested to
37392 install in odd layouts. Refuse to install using blocklists unless
37393 --force was set.
37394
37395 2009-05-04 martin f. krafft <madduck@madduck.net>
37396
37397 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37398
37399 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37400
37401 Updated copyright year
37402
37403 * fs/hfsplus.c: updated copyright year
37404
37405 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37406
37407 HFS+ UUID
37408
37409 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
37410 in the space previously used by unused3
37411 (grub_hfsplus_uuid): new function
37412 (grub_hfsplus_fs): added uuid field
37413
37414 2009-05-03 Pavel Roskin <proski@gnu.org>
37415
37416 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37417 suppress warnings. It's no longer needed.
37418 * disk/host.c: Likewise.
37419 * disk/ata_pthru.c: Likewise.
37420 * disk/loopback.c: Likewise.
37421 * hook/datehook.c: Likewise.
37422 * parttool/pcpart.c: Likewise.
37423 * fs/i386/pc/pxe.c: Likewise.
37424 * fs/ntfscomp.c: Likewise.
37425 * efiemu/main.c: Likewise.
37426 * mmap/mmap.c: Likewise.
37427 * commands/crc.c: Likewise.
37428 * commands/hexdump.c: Likewise.
37429 * commands/hdparm.c: Likewise.
37430 * commands/acpi.c: Likewise.
37431 * commands/echo.c: Likewise.
37432 * commands/minicmd.c: Likewise.
37433 * commands/blocklist.c: Likewise.
37434 * commands/memrw.c: Likewise.
37435 * commands/loadenv.c: Likewise.
37436 * commands/usbtest.c: Likewise.
37437 * commands/lsmmap.c: Likewise.
37438 * commands/boot.c: Likewise.
37439 * commands/parttool.c: Likewise.
37440 * commands/configfile.c: Likewise.
37441 * commands/search.c: Likewise.
37442 * commands/ieee1275/suspend.c: Likewise.
37443 * commands/cat.c: Likewise.
37444 * commands/i386/pc/pxecmd.c: Likewise.
37445 * commands/i386/pc/play.c: Likewise.
37446 * commands/i386/pc/halt.c: Likewise.
37447 * commands/i386/pc/vbeinfo.c: Likewise.
37448 * commands/i386/pc/vbetest.c: Likewise.
37449 * commands/lspci.c: Likewise.
37450 * commands/date.c: Likewise.
37451 * commands/handler.c: Likewise.
37452 * commands/ls.c: Likewise.
37453 * commands/test.c: Likewise.
37454 * commands/cmp.c: Likewise.
37455 * commands/efi/loadbios.c: Likewise.
37456 * commands/efi/fixvideo.c: Likewise.
37457 * commands/halt.c: Likewise.
37458 * commands/help.c: Likewise.
37459 * commands/reboot.c: Likewise.
37460 * hello/hello.c: Likewise.
37461 * script/sh/main.c: Likewise.
37462 * loader/xnu.c: Likewise.
37463 * term/terminfo.c: Likewise.
37464 * term/i386/pc/serial.c: Likewise.
37465 * term/usb_keyboard.c: Likewise.
37466
37467 2009-05-03 David S. Miller <davem@davemloft.net>
37468
37469 * normal/menu.c: Include grub/parser.h
37470
37471 2009-05-03 Pavel Roskin <proski@gnu.org>
37472
37473 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37474 not char*.
37475 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37476 Suggested by Javier Martín <lordhabbit@gmail.com>
37477
37478 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37479 efiemu??.o doesn't exist.
37480 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37481 copying.
37482
37483 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
37484
37485 FreeBSD 64-bit support
37486
37487 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
37488 and loader/i386/bsd_trampoline.S
37489 (bsd_mod_ASFLAGS): new variable
37490 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37491 (FREEBSD_MODTYPE_KERNEL64): likewise
37492 (grub_bsd64_trampoline_start): likewise
37493 (grub_bsd64_trampoline_end): likewise
37494 (grub_bsd64_trampoline_selfjump): likewise
37495 (grub_bsd64_trampoline_gdt): likewise
37496 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37497 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37498 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37499 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
37500 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
37501 of "attrib" member
37502 * loader/i386/bsd_pagetable.c: new file
37503 * loader/i386/bsd_trampoline.S: likewise
37504 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37505 (ALIGN_VAR): likewise
37506 (entry_hi): new variable
37507 (kern_end_mdofs): likewise
37508 (is_64bit): likewise
37509 (grub_freebsd_add_meta): use ALIGN_VAR
37510 (grub_e820_mmap): new declaration
37511 (grub_freebsd_add_mmap): new function
37512 (grub_freebsd_add_meta_module): support 64 bit kernels
37513 (grub_freebsd_list_modules): use ALIGN_VAR
37514 (gdt_descriptor): new declaration
37515 (grub_freebsd_boot): support 64 bit kernels
37516 (grub_bsd_elf64_hook): new function
37517 (grub_bsd_load_elf): support elf64
37518
37519 2009-05-03 Bean <bean123ch@gmail.com>
37520
37521 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37522 after we get the result of if statement.
37523
37524 2009-05-03 Bean <bean123ch@gmail.com>
37525
37526 * Makefile.in (enable_efiemu): New variable.
37527
37528 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37529 set.
37530 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37531 path.
37532 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37533 path, add -mno-red-zone option.
37534 (efiemu64_s.o): Likewise.
37535 (efiemu64.o): Use macro $^ for source file.
37536
37537 * configure.ac (--enable-efiemu): New option.
37538
37539 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37540
37541 xnu support
37542
37543 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37544 (pkglib_MODULES): add xnu.mod
37545 (xnu_mod_SOURCES): new variable
37546 (xnu_mod_CFLAGS): likewise
37547 (xnu_mod_LDFLAGS): likewise
37548 (xnu_mod_ASFLAGS): likewise
37549 * conf/i386-pc.rmk: likewise
37550 * conf/x86_64-efi.rmk: likewise
37551 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
37552 new declaration
37553 * include/grub/i386/macho.h: new file
37554 * include/grub/i386/xnu.h: likewise
37555 * include/grub/macho.h: likewise
37556 * include/grub/machoload.h: likewise
37557 * include/grub/x86_64/macho.h: likewise
37558 * include/grub/x86_64/xnu.h: likewise
37559 * include/grub/xnu.h: likewise
37560 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37561 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37562 * loader/i386/efi/xnu.c: new file
37563 * loader/i386/pc/xnu.c: likewise
37564 * loader/i386/xnu.c: likewise
37565 * loader/i386/xnu_helper.S: likewise
37566 * loader/macho.c: likewise
37567 * loader/xnu.c: likewise
37568 * loader/xnu_resume.c: likewise
37569 * util/grub-dumpdevtree: likewise
37570 * include/grub/i386/pit.h: include grub/err.h
37571 (grub_pit_wait): export
37572 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
37573
37574 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37575
37576 Efiemu
37577
37578 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
37579 _linux_efi, linux_efi.
37580 new files in grub-emu
37581 new targets efiemu32.o and efiemu64.o
37582 * loader/linux_normal_efiemu.c: likewise
37583 * loader/i386/efi/linux.c: added preliminary efiemu support
37584 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
37585 files to copy
37586 * include/grub/autoefi.h: new file
37587 * include/grub/i386/efiemu.h: likewise
37588 * include/grub/i386/pc/efiemu.h: likewise
37589 * include/grub/efi/api.h: add LL suffix when necessary
37590 new definitions relating to tables
37591 * include/grub/efiemu/efiemu.h: new file
37592 * include/grub/efiemu/runtime.h: likewise
37593 * efiemu/prepare.c: likewise
37594 * efiemu/loadcore_common.c: likewise
37595 * efiemu/loadcore64.c: likewise
37596 * efiemu/runtime/efiemu.sh: likewise
37597 * efiemu/runtime/efiemu.S: likewise
37598 * efiemu/runtime/efiemu.c: likewise
37599 * efiemu/runtime/config.h: likewise
37600 * efiemu/prepare32.c: likewise
37601 * efiemu/main.c: likewise
37602 * efiemu/modules/pnvram.c: likewise
37603 * efiemu/modules/i386: likewise
37604 * efiemu/modules/i386/pc: likewise
37605 * efiemu/modules/acpi.c: likewise
37606 * efiemu/i386/pc/cfgtables.c: likewise
37607 * efiemu/i386/loadcore64.c: likewise
37608 * efiemu/i386/loadcore32.c: likewise
37609 * efiemu/prepare64.c: likewise
37610 * efiemu/loadcore.c: likewise
37611 * efiemu/symbols.c: likewise
37612 * efiemu/mm.c: likewise
37613 * efiemu/loadcore32.c: likewise
37614
37615 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37616
37617 ACPI spoofing
37618
37619 * commands/acpi.c: new file
37620 * commands/i386/pc/acpi.c: likewise
37621 * commands/efi/acpi.c: likewise
37622 * include/grub/acpi.h: likewise
37623 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37624 (acpi_mod_SOURCES): new variable
37625 (acpi_mod_CFLAGS): likewise
37626 (acpi_mod_LDFLAGS): likewise
37627 * conf/i386-efi.rmk: likewise
37628 * conf/x86_64-efi.rmk: likewise
37629
37630 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37631
37632 Missing part from mmap patch
37633
37634 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37635 (grub_mmap_unregister)
37636 (grub_mmap_free_and_unregister): use grub_mmap_register
37637
37638 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37639
37640 Mmap services
37641
37642 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37643 * loader/i386/linux.c (find_mmap_size): likewise
37644 (allocate_pages): likewise
37645 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37646 (grub_fill_multiboot_mmap): likewise
37647 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37648 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37649 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37650 (OPENBSD_MMAP_RESERVED): likewise
37651 * include/grub/i386/pc/memory.h: include grub/memory.h
37652 (grub_lower_mem): removed
37653 (grub_upper_mem): likewise
37654 (GRUB_MACHINE_MEMORY_ACPI): new definition
37655 (GRUB_MACHINE_MEMORY_NVS): likewise
37656 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37657 (GRUB_MACHINE_MEMORY_HOLE): likewise
37658 (grub_machine_mmap_register): likewise
37659 (grub_machine_mmap_unregister): likewise
37660 (grub_machine_get_upper): likewise
37661 (grub_machine_get_lower): likewise
37662 (grub_machine_get_post64): likewise
37663 * include/grub/i386/efi/memory.h: new file
37664 * include/grub/x86_64/efi/memory.h: likewise
37665 * include/grub/efi/memory.h: likewise
37666 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37667 (mmap_mod_SOURCES): new variable
37668 (mmap_mod_LDFLAGS): likewise
37669 (mmap_mod_ASFLAGS): likewise
37670 * conf/i386-coreboot.rmk: likewise
37671 * conf/i386-ieee1275.rmk: likewise
37672 * conf/i386-efi.rmk: likewise
37673 * conf/x86_64-efi.rmk: likewise
37674 * include/grub/types.h (UINT_TO_PTR): new macro
37675 (PTR_TO_UINT32): likewise
37676 (PTR_TO_UINT64): likewise
37677 * include/grub/memory.h: new file
37678 * mmap/i386/pc/mmap.c: likewise
37679 * mmap/i386/pc/mmap_helper.S: likewise
37680 * mmap/i386/uppermem.c: likewise
37681 * mmap/mmap.c: likewise
37682 * mmap/efi/mmap.c: likewise
37683 * kern/i386/coreboot/init.c (grub_machine_init): don't use
37684 grub_upper_mem
37685 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37686 (grub_upper_mem): likewise
37687 (grub_machine_init): don't use grub_upper_mem,
37688 make grub_lower_mem local
37689 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37690 grub_mmap_iterate and grub_mmap_get_upper
37691 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37692
37693 2009-05-02 Bean <bean123ch@gmail.com>
37694
37695 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37696 script/sh/parser.y.
37697 (pkglib_MODULES): Add normal.mod and sh.mod.
37698 (normal_SOURCES): New variable.
37699 (normal_mod_CFLAGS): Likewise.
37700 (normal_mod_LDFLAGS): Likewise.
37701 (sh_mod_SOURCES): Likewise.
37702 (sh_mod_CFLAGS): Likewise.
37703 (sh_mod_LDFLAGS): Likewise.
37704
37705 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37706 script/sh/lexer.c_DEPENDENCIES.
37707 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37708 kern/rescue_reader.c and kern/rescue_parser.c.
37709 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37710 (grub_emu_SOURCES): Change source files.
37711 (pkglib_MODULES): Remove normal.mod.
37712 (normal_SOURCES): Removed.
37713 (normal_mod_CFLAGS): Likewise.
37714 (normal_mod_LDFLAGS): Likewise.
37715 * conf/i386-coreboot.rmk: Likewise.
37716 * conf/i386-efi.rmk: Likewise.
37717 * conf/i386-ieee1276.rmk: Likewise.
37718 * conf/powerpc-ieee1275.rmk: Likewise.
37719 * conf/sparc64-ieee1275.rmk: Likewise.
37720 * conf/x86_64-efi.rmk: Likewise.
37721
37722 * include/grub/command.h (grub_command_execute): New inline function.
37723
37724 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37725
37726 * include/grub/normal.h: Remove <grub/setjmp.h>.
37727 (grub_fs_module_list): Moved to normal/autofs.c.
37728 (grub_exit_env): Removed.
37729 (grub_command_execute): Likewise.
37730 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37731 parameter script.
37732 (read_command_list): New function declaration.
37733 (read_fs_list): Likewise.
37734
37735 * include/parser.h: Include <grub/reader.h>.
37736 (grub_parser_split_cmdline): Change type of getline parameter.
37737 (grub_parser): New structure.
37738 (grub_parser_class): New variable.
37739 (grub_parser_execute): New function declaration.
37740 (grub_register_rescue_parser): Likewise.
37741 (grub_parser_register): New inline function.
37742 (grub_parser_unregister): Likewise.
37743 (grub_parser_get_current): Likewise.
37744 (grub_parser_set_current): Likewise.
37745
37746 * include/grub/reader.h: New file.
37747 * kern/reader.c: Likewise.
37748 * kern/rescue_parser.c: Likewise.
37749 * kern/rescue_reader.c: Likewise.
37750 * normal/autofs.c: Likewise.
37751 * normal/dyncmd.c: Likewise.
37752
37753 * include/grub/rescue.h: Removed.
37754 * normal/command.h: Likewise.
37755
37756 * include/grub/script.h: Moved to ...
37757 * include/grub/script_sh.h: ... Moved here.
37758 * normal/execute.c: Moved to ...
37759 * script/sh/execute.c: ... Moved here.
37760 * normal/function.c: Moved to ...
37761 * script/sh/function.c: ... Moved here.
37762 * normal/lexer.c: Moved to ...
37763 * script/sh/lexer.c: ... Moved here.
37764 * normal/parser.y: Moved to ...
37765 * script/sh/parser.y: ... Moved here.
37766 * normal/script.c: Moved to ...
37767 * script/sh/script.c: ... Moved here.
37768
37769 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37770 <grub/reader.h>.
37771 (grub_exit_env): Removed.
37772 (fs_module_list): Moved to normal/autofs.c.
37773 (grub_file_getline): Don't handle comment here.
37774 (free_menu): Skip removed field entry->commands.
37775 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37776 script parameter.
37777 (read_config_file): Removed nested parameter, change getline function.
37778 (grub_enter_normal_mode): Removed.
37779 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37780 (read_command_list): Likewise.
37781 (autoload_fs_module): Moved to normal/autofs.c.
37782 (read_fs_list): Likewise.
37783 (reader_nested): New variable.
37784 (grub_normal_execute): Run parser.sh to switch to sh parser.
37785 (grub_cmd_rescue): Removed.
37786 (cmd_normal): Removed.
37787 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37788 rescue command.
37789 (grub_cmdline_run): New function.
37790 (grub_normal_reader_init): Likewise.
37791 (grub_normal_read_line): Likewise.
37792 (grub_env_write_pager): Likewise.
37793 (cmdline): New variable.
37794 (grub_normal_reader): Likewise.
37795 (GRUB_MOD_INIT): Register normal reader and set as current, register
37796 pager hook, register normal command with grub_register_command_prio,
37797 so that it won't show up in command.lst.
37798 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37799 grub_fs_autoload_hook.
37800
37801 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37802 (grub_menu_execute_entry): Replace grub_script_execute with
37803 grub_parser_execute, change parameter to grub_command_execute.
37804
37805 * normal/menu_text.c: Remove <grub/script.h>.
37806
37807 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37808 and <grub/parser.h>.
37809 (run): Change editor_getline to use new parser interface. Change
37810 parameter to grub_command_execute.
37811
37812 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37813 <grub/reader.h> and <grub/parser.h>.
37814 (grub_load_normal_mode): Execute normal command.
37815 (grub_main): Call grub_register_core_commands,
37816 grub_register_rescue_parser and grub_register_rescue_reader, use
37817 grub_reader_loop to enter input loop.
37818
37819 * kern/parser.c (grub_parser_split_cmdline): Change type of
37820 getline parameter.
37821 (grub_parser_class): New variable.
37822 (grub_parser_execute): New function.
37823
37824 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37825 * loader/multiboot2.c: Likewise.
37826 * loader/sparc64/ieee1275/linux.c: Likewise.
37827
37828 * util/grub-emu.c (read_command_list): New dummy function.
37829
37830 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37831
37832 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37833 count to 16 for CCISS and IDA.
37834
37835 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37836
37837 * normal/menu_text.c (grub_wait_after_message): Print a newline
37838 after waiting for user input.
37839
37840 * loader/i386/linux.c: Include `<grub/normal.h>'.
37841 (grub_cmd_linux): Improve the error message about `ask' mode, by
37842 waiting for user input so it's not missed (we can do this, since
37843 user requested interaction).
37844
37845 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37846
37847 Added missing lst to grub-mkrescue
37848
37849 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37850 and ${input_dir}/parttool.lst
37851
37852 2009-04-30 David S. Miller <davem@davemloft.net>
37853
37854 * util/hostdisk.c (device_is_wholedisk): New function.
37855 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37856 zero only if device_is_wholedisk() returns true.
37857
37858 * util/hostdisk.c (convert_system_partition_to_system_disk):
37859 Handle virtual disk devices named /dev/vdiskX as found on sparc
37860 and powerpc.
37861
37862 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37863 lettered partition specifier is found, convert to numbered.
37864
37865 2009-04-29 David S. Miller <davem@davemloft.net>
37866
37867 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37868 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37869
37870 * normal/command.c: Add missing newline at end of file.
37871
37872 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37873 warnings.
37874 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37875 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37876 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37877 ihandles have a 32-bit type but need to be stored in a "void *".
37878
37879 2009-04-28 Pavel Roskin <proski@gnu.org>
37880
37881 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37882 not disk. Adjust all dependencies.
37883 (grub_fs_uuid_close): Use grub_device_close(), not
37884 grub_disk_close().
37885
37886 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37887 parent's partition, don't copy it by reference, as it gets freed
37888 on close.
37889
37890 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37891
37892 Preboot hooks support
37893
37894 * commands/boot.c (struct grub_preboot_t): new declaration
37895 (preboots_head): new variable
37896 (preboots_tail): likewise
37897 (grub_loader_register_preboot_hook): new function
37898 (grub_loader_unregister_preboot_hook): likewise
37899 (grub_loader_set): launch preboot hooks
37900 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37901 (grub_loader_register_preboot_hook): new declaration
37902 (grub_loader_unregister_preboot_hook): likewise
37903
37904 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37905
37906 Warning fix
37907
37908 * disk/scsi.c (grub_scsi_open): added missing cast when
37909 calling grub_dprintf
37910
37911 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37912
37913 Bug and warning fixes
37914
37915 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
37916 declaration
37917 * commands/test.c (test_parse): fixed bug with file tests and corrected
37918 declaration of find_file
37919
37920 2009-04-26 Pavel Roskin <proski@gnu.org>
37921
37922 * Makefile.in: Don't install empty manual pages if help2man is
37923 missing. Use help2man option for output, not shell redirection.
37924
37925 2009-04-26 David S. Miller <davem@davemloft.net>
37926
37927 * util/grub-mkdevicemap.c (make_device_map): Add missing
37928 NESTED_FUNC_ATTR to process_device().
37929
37930 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37931
37932 Test command
37933
37934 * commands/test.c: rewritten to use bash-like test
37935
37936 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37937
37938 Parttool autoloading and improvements
37939
37940 * Makefile.in (pkglib_DATA): add parttool.lst
37941 (parttool.lst): new target
37942 * genmk.rb: generate parttool-*
37943 (CLEANFILES): add #{parttool}
37944 (PARTTOOLFILES): new variable
37945 * genparttoollist.sh: new file
37946 * parttool/pcpart.c (grub_pcpart_boot): more feedback
37947 (grub_pcpart_type): likewise
37948 * commands/parttool.c (helpmsg): new variable
37949 (grub_cmd_parttool): output help if not enough arguments are supplied
37950 autoload modules
37951 (GRUB_MOD_INIT(parttool)): use helpmsg
37952
37953 2009-04-24 David S. Miller <davem@davemloft.net>
37954
37955 Avoiding opening same device multiple times in device iterator.
37956
37957 * kern/device.c: (grub_device_iterate): Define struct part_ent,
37958 and use it to build a list of partitions in iterate_disk() and
37959 iterate_partition().
37960
37961 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37962 on disk->data.
37963
37964 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37965 grub_devalias_iterate() result instead of unconditional 0.
37966 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37967 Also, capture hook return value, either directly or via
37968 grub_children_iterate(), and propagate to caller.
37969 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37970 grub_children_iterate): Return value is now 'int' instead of
37971 'grub_err_t'.
37972 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37973 like a proper iterator, stopping when hooks return non-zero.
37974 (grub_devalias_iterate): Likewise.
37975
37976 2009-04-23 David S. Miller <davem@davemloft.net>
37977
37978 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37979
37980 2009-04-22 David S. Miller <davem@davemloft.net>
37981
37982 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37983 is larger than address_cells, use that value for address_cells too.
37984
37985 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37986 IEEE1275_MAX_PATH_LEN): Define.
37987 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37988 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37989 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37990 'devtype'. Explicitly NULL terminate devalias expansion.
37991
37992 * util/sparc64/ieee1275/misc.c: New file.
37993 * util/sparc64/ieee1275/grub-setup.c: New file.
37994 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37995 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37996 * util/sparc64/ieee1275/grub-install.in: New file.
37997 * util/ieee1275/ofpath.c: New file.
37998 * util/ieee1275/devicemap.c: New file.
37999 * util/devicemap.c: New file.
38000 * util/deviceiter.c: New file.
38001 * kern/sparc64/ieee1275/init.c: New file.
38002 * include/grub/util/ofpath.h: New file.
38003 * include/grub/util/deviceiter.h: New file.
38004 * util/grub-mkdevicemap.c: Include deviceiter.h.
38005 Implement using grub_util_emit_devicemap_entry and
38006 grub_util_iterate_devices.
38007 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38008 util/devicemap.c into grub-mkdevicemap
38009 * conf/i386-efi.rmk: Likewise.
38010 * conf/i386-ieee1275.rmk: Likewise.
38011 * conf/i386-pc.rmk: Likewise.
38012 * conf/powerpc-ieee1275.rmk: Likewise.
38013 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38014 images and installation utilities. Build kernel as image
38015 instead of as elf binary. Use common rules as much as possible.
38016
38017 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
38018
38019 Correct GPT definition
38020
38021 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38022 of "attrib" member
38023
38024 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
38025
38026 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38027
38028 2009-04-19 David S. Miller <davem@davemloft.net>
38029
38030 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38031 (grub_rescue_cmd_linux): Rename to...
38032 (grub_cmd_linux): and fix prototype.
38033 (grub_rescue_cmd_initrd): Rename to...
38034 (grub_cmd_initrd): and fix prototype.
38035 (cmd_linux, cmd_initrd): New.
38036 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38037 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38038
38039 2009-04-17 Pavel Roskin <proski@gnu.org>
38040
38041 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38042 format.
38043 (grub_ohci_transfer): Likewise.
38044
38045 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38046
38047 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38048 return without a value. Fix inconsistent indentation.
38049
38050 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38051 match struct grub_fs.
38052
38053 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38054 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38055 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38056 * commands/lspci.c (grub_lspci_iter): Likewise.
38057
38058 2009-04-16 Bean <bean123ch@gmail.com>
38059
38060 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38061 value.
38062
38063 2009-04-15 Pavel Roskin <proski@gnu.org>
38064
38065 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38066 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38067 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38068 definitions.
38069
38070 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
38071
38072 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
38073 that no multiple data or metadata areas are supported and `Unknown
38074 metadata header'.
38075
38076 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
38077
38078 Move loader out of the kernel
38079
38080 * kern/loader.c: moved to ...
38081 * commands/boot.c: ... moved here
38082 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38083 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38084 * include/grub/kernel.h (grub_machine_fini): export
38085 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38086 (grub_loader_set): likewise
38087 (grub_loader_unset): likewise
38088 (grub_loader_boot): likewise
38089 * conf/common.rmk: new module boot.mod
38090 (pkglib_MODULES): add boot.mod
38091 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38092 (grub_emu_SOURCES): likewise
38093 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38094 (grub_emu_SOURCES): likewise
38095 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38096 (grub_emu_SOURCES): likewise
38097 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38098 (grub_emu_SOURCES): likewise
38099 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38100 (grub_emu_SOURCES): likewise
38101 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38102 (grub_emu_SOURCES): likewise
38103 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
38104 (grub_emu_SOURCES): likewise
38105
38106 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
38107
38108 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
38109
38110 * kern/misc.c (grub_itoa): Removed function
38111 (grub_ltoa): likewise
38112 (grub_vsprintf): use grub_lltoa
38113
38114 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
38115
38116 Restore grub-emu
38117
38118 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38119 * conf/i386-coreboot.rmk: likewise
38120 * conf/i386-ieee1275.rmk: likewise
38121 * conf/powerpc-ieee1275.rmk: likewise
38122
38123 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
38124
38125 * INSTALL: Add that `./autogen.sh' needs to be run before
38126 `./configure.'.
38127
38128 2009-04-14 Bean <bean123ch@gmail.com>
38129
38130 * Makefile.in (pkglib_DATA): Add handler.lst.
38131 (handler.lst): New rule.
38132
38133 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38134 * conf/i386-coreboot.rmk: Likewise.
38135 * conf/i386-ieee1275.rmk: Likewise.
38136 * conf/i386-efi.rmk: Likewise.
38137 * conf/x86_64-efi.rmk: Likewise.
38138 * conf/powerpc-ieee1275.rmk: Likewise.
38139 * conf/sparc64-ieee1275.rmk: Likewise.
38140
38141 * genhandlerlist.sh: New file.
38142
38143 * genmk.rb: Add rules to generate handler.lst.
38144
38145 * include/grub/normal.h (grub_file_getline): New function definition.
38146 (read_handler_list): Likewise.
38147 (free_handler_list): Likewise.
38148
38149 * include/grub/term.h (grub_term_register_input): Add name parameter
38150 for auto generation of handler.lst.
38151 (grub_term_register_output): Likewise.
38152
38153 * normal/handler.c: New file.
38154
38155 * normal/main.c (get_line): Renamed to grub_file_getline.
38156 (read_config_file): Use the newly renamed grub_file_getline.
38157 (read_command_list): Likewise.
38158 (read_fs_list): Likewise.
38159 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38160 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38161
38162 * term/efi/console.c (grub_console_init): Add name parameter for auto
38163 generation of handler.lst.
38164 * term/gfxterm.c: Likewise.
38165 * term/i386/pc/at_keyboard.c: Likewise.
38166 * term/i386/pc/console.c: Likewise.
38167 * term/i386/pc/serial.c: Likewise.
38168 * term/i386/pc/vesafb.c: Likewise.
38169 * term/i386/pc/vga.c: Likewise.
38170 * term/i386/pc/vga_text.c: Likewise.
38171 * term/ieee1275/ofconsole.c: Likewise.
38172 * term/usb_keyboard.c: Likewise.
38173
38174 2009-04-14 Bean <bean123ch@gmail.com>
38175
38176 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38177 properly with null character.
38178
38179 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
38180
38181 * configure: Remove.
38182 * config.h.in: Likewise.
38183 * stamp-h.in: Likewise.
38184 * DISTLIST: Likewise.
38185 * conf/common.mk: Likewise.
38186 * conf/i386-coreboot.mk: Likewise.
38187 * conf/i386-efi.mk: Likewise.
38188 * conf/i386-ieee1275.mk: Likewise.
38189 * conf/i386.mk: Likewise.
38190 * conf/i386-pc.mk: Likewise.
38191 * conf/powerpc-ieee1275.mk: Likewise.
38192 * conf/sparc64-ieee1275.mk: Likewise.
38193 * conf/x86_64-efi.mk: Likewise.
38194
38195 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38196 develop on GRUB.
38197
38198 2009-04-14 John Stanley <jpsinthemix@verizon.net>
38199 David S. Miller <davem@davemloft.net>
38200
38201 * util/hostdisk.c (make_device_name): Fix buffer length
38202 calculations.
38203
38204 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
38205
38206 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38207 <sys/param.h> and <sys/sysctl.h>.
38208 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38209 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38210 opening the device and reset them afterwards.
38211
38212 2009-04-13 Pavel Roskin <proski@gnu.org>
38213
38214 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38215 Reported by John Stanley <jpsinthemix@verizon.net>
38216
38217 2009-04-13 Robert Millan <rmh@aybabtu.com>
38218
38219 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
38220 that name for menuentries when appropriate.
38221
38222 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
38223
38224 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38225
38226 2009-04-13 Robert Millan <rmh@aybabtu.com>
38227
38228 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38229 to Linux, simply abort telling the user it's no longer supported.
38230
38231 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
38232
38233 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
38234 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
38235 `freebsd_loadenv' only when devices.hints exist.
38236
38237 2009-04-13 Pavel Roskin <proski@gnu.org>
38238
38239 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38240
38241 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
38242
38243 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38244 partition number.
38245 (grub_drive): Likewise.
38246
38247 2009-04-13 David S. Miller <davem@davemloft.net>
38248
38249 * kern/sparc64/ieee1275/ieee1275.c: New file.
38250 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38251 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38252 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38253 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38254 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38255 grub_ieee1275_alloc_physmem): Declare new exported functions.
38256
38257 * include/grub/sparc64/ieee1275/loader.h: New file.
38258 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38259 * include/grub/sparc64/kernel.h: Likewise.
38260 * loader/sparc64/ieee1275/linux.c: Likewise.
38261
38262 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38263 (grub_fstest_SOURCES): Likewise.
38264
38265 * util/hostdisk.c (make_device_name): Do not make any assumptions
38266 about the length of drive names.
38267
38268 * kern/dl.c (grub_dl_load_file): Close file immediately when
38269 we are done using it.
38270
38271 2009-04-12 David S. Miller <davem@davemloft.net>
38272
38273 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38274 values. Noticed by Pavel Roskin.
38275
38276 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38277 target compiler.
38278
38279 * genmk.rb: Add more flexible image type specification, also
38280 pass --strip-unneeded to objcopy.
38281 * conf/i386-pc.rmk: Use *_FORMAT.
38282 * conf/i386-pc.mk: Rebuilt.
38283
38284 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38285 (OFDISK_HASH_SZ): Define.
38286 (ofdisk_hash): New hash table.
38287 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38288 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38289 instead of device phandle which is not unique.
38290
38291 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38292 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38293 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38294 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38295 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38296 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38297 GRUB_KERNEL_MACHINE_DATA_END): Define.
38298 (grub_kernel_image_size, grub_total_module_size): Declare.
38299
38300 2009-04-12 Pavel Roskin <proski@gnu.org>
38301
38302 * configure.ac: Change the logic when we check for target tools.
38303 Do it when the target is specified and it's different from the
38304 specified value of the host.
38305
38306 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
38307
38308 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38309 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38310 GNU/kFreeBSD. Check if a device is a character device. Use
38311 DIOCGMEDIASIZE to get the size.
38312 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38313 support for GNU/kFreeBSD.
38314 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38315 is a character device instead of a block device. Add support for
38316 FreeBSD device names.
38317
38318 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38319 is a character device instead of a block device.
38320
38321 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38322 is a character device instead of a block device.
38323
38324 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38325
38326 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38327 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38328 FreeBSD. Check if a device is a character device. Use
38329 DIOCGMEDIASIZE to get the size.
38330 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38331 support for FreeBSD.
38332 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38333 is a character device instead of a block device. Add support for
38334 FreeBSD device names.
38335
38336 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38337 a character device instead of a block device.
38338 (grub_util_check_char_device): New function.
38339
38340 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38341 a character device instead of a block device.
38342
38343 * include/grub/util/getroot.h (grub_util_check_char_device): New
38344 prototype.
38345
38346 2009-04-11 David S. Miller <davem@davemloft.net>
38347
38348 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38349 static libgcc.
38350 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38351 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38352 function, if present.
38353 (__bswapdi2): Likewise.
38354
38355 * include/grub/sparc64/ieee1275/boot.h: New file.
38356 * boot/sparc64/ieee1275/boot.S: Likewise.
38357 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38358
38359 * kern/misc.c (grub_ltoa): New function.
38360 (grub_vsprintf): Use it to format 'long' integers.
38361
38362 2009-04-10 David S. Miller <davem@davemloft.net>
38363
38364 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38365 slots are of type grub_ieee1275_cell_t.
38366 (grub_nand_read): Likewise.
38367 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38368 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38369 macros are used to compare values in arg/ret block of the call.
38370 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38371 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38372 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38373 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38374 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38375 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38376 grub_ieee1275_close, grub_ieee1275_set_property,
38377 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38378 grub_ieee1275_cell_t.
38379 * kern/ieee1275/openfw.c (grub_map): Likewise.
38380 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38381 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38382
38383 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38384 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38385 (grub_devalias_iterate): Likewise.
38386
38387 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
38388
38389 UFS improvements
38390
38391 * fs/ufs.c (INODE_NBLOCKS): new definition
38392 (struct grub_ufs_dirent): added fields for non-BSD dirents
38393 (grub_ufs_get_file_block): fixed double indirect handling
38394 (grub_ufs_lookup_symlink): use more robust way to determine whether
38395 symlink is inline
38396 (grub_ufs_find_file): support for non-BSD dirents
38397 (grub_ufs_dir): support for non-BSD dirents
38398
38399 2009-04-10 Bean <bean123ch@gnail.com>
38400
38401 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38402 attribute, otherwise the size would be wrong for i386 platform.
38403
38404 * include/grub/pci.h (grub_pci_read_word): New inline function.
38405 (grub_pci_read_byte): Likewise.
38406 (grub_pci_write): Likewise.
38407 (grub_pci_write_word): Likewise.
38408 (grub_pci_write_byte): Likewise.
38409
38410 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38411
38412 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38413 (find_framebuf): Scan pci to locate the frame buffer address.
38414
38415 * commands/efi/fixvideo.c: New file.
38416
38417 * commands/efi/loadbios.c: Likewise.
38418
38419 * commands/memrw.c: Likewise.
38420
38421 * util/grub-dumpbios.in: Likewise.
38422
38423 * conf/common.rmk (grub-dumpbios): New utility.
38424 (pkglib_MODULES): New module memrw.mod.
38425 (memrw_mod_SOURCE): New macro.
38426 (memrw_mod_CFLAGS): Likewise.
38427 (memrw_mod_LDFLAGS): Likewise.
38428
38429 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
38430 fixvideo.mod.
38431 (loadbios_mod_SOURCE): New macro.
38432 (loadbios_mod_CFLAGS): Likewise.
38433 (loadbios_mod_LDFLAGS): Likewise.
38434 (fixvideo_mod_SOURCE): Likewise.
38435 (fixvideo_mod_CFLAGS): Likewise.
38436 (fixvideo_mod_LDFLAGS): Likewise.
38437
38438 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
38439 fixvideo.mod.
38440 (loadbios_mod_SOURCE): New macro.
38441 (loadbios_mod_CFLAGS): Likewise.
38442 (loadbios_mod_LDFLAGS): Likewise.
38443 (fixvideo_mod_SOURCE): Likewise.
38444 (fixvideo_mod_CFLAGS): Likewise.
38445 (fixvideo_mod_LDFLAGS): Likewise.
38446
38447 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
38448
38449 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38450
38451 2009-04-07 David S. Miller <davem@davemloft.net>
38452
38453 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38454 support for R_SPARC_OLO10 relocations. Fix compile warning for
38455 R_SPARC_WDISP30 case.
38456 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
38457
38458 2009-04-06 Pavel Roskin <proski@gnu.org>
38459
38460 * include/grub/misc.h (ARRAY_SIZE): New macro.
38461 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38462 New macro.
38463 * loader/i386/linux.c (allocate_pages): Use free_pages().
38464 (grub_linux_unload): Don't use free_pages().
38465 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38466 wrong index. Treat all other modes as text modes.
38467 (grub_cmd_linux): Initialize vid_mode unconditionally to
38468 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38469
38470 * commands/help.c (print_command_help): Use cmd->prio, not
38471 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38472
38473 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
38474
38475 Parttool
38476
38477 * parttool/pcpart.c: new file
38478 * commands/parttool.c: likewise
38479 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38480 (parttool_mod_SOURCES): new variable
38481 (parttool_mod_CFLAGS): likewise
38482 (parttool_mod_LDFLAGS): likewise
38483 (pcpart_mod_SOURCES): likewise
38484 (pcpart_mod_CFLAGS): likewise
38485 (pcpart_mod_LDFLAGS): likewise
38486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
38487 and parttool/pcpart.c
38488 * conf/i386-efi.rmk: likewise
38489 * conf/i386-ieee1275.rmk: likewise
38490 * conf/i386-pc.rmk: likewise
38491 * conf/powerpc-ieee1275.rmk: likewise
38492 * conf/sparc64-ieee1275.rmk: likewise
38493 * conf/x86_64-ieee1275.rmk: likewise
38494
38495 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38496
38497 Support for mtime and further expandability of dir command
38498
38499 * include/grub/lib/datetime.h: moved to ...
38500 * include/grub/datetime.h: ... moved here and added
38501 declaration of grub_unixtime2datetime. All users updated
38502 * include/grub/fs.h: new syntax for dir and mtime functions in
38503 struct grub_fs
38504 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38505 and GRUB_FSHELP_FLAGS_MASK
38506 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38507 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38508 (grub_ext2_mtime): new function
38509 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38510 (grub_hfsplus_mtime): new function
38511 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38512 (GRUB_UFS_ATTR_FILE): likewise
38513 (GRUB_UFS_ATTR_LNK): likewise
38514 (struct grub_ufs_sblock): new fields mtime
38515 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38516 all users updated
38517 (grub_ufs_dir): mtime support
38518 (grub_ufs_mtime): new function
38519 * fs/affs.c (grub_affs_dir): use new dir syntax
38520 * fs/afs.c (grub_afs_dir): likewise
38521 * fs/cpio.c (grub_cpio_dir): likewise
38522 * fs/fat.c (grub_fat_find_dir): likewise
38523 * fs/hfs.c (grub_hfs_dir): likewise
38524 * fs/iso9660.c (grub_iso9660_dir): likewise
38525 * fs/jfs.c (grub_jfs_dir): likewise
38526 * fs/minix.c (grub_minix_dir): likewise
38527 * fs/ntfs.c (grub_ntfs_dir): likewise
38528 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38529 * fs/sfs.c (grub_sfs_dir): likewise
38530 * fs/xfs.c (grub_xfs_dir): likewise
38531 * util/hostfs.c (grub_hostfs_dir): likewise
38532 * lib/datetime.c: moved to ...
38533 * normal/datetime.c: ... moved here
38534 (grub_unixtime2datetime): new function
38535 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
38536 * normal/completion.c (iterate_dir): use new dir syntax
38537 * normal/misc.c (grub_normal_print_device_info): tell the
38538 last modification time of a volume
38539 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
38540 * conf/common.rmk: added lib/datetime.c to ls.mod
38541 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
38542 (normal_mod_SOURCES): likewise
38543 (datetime_mod_SOURCES): Removed lib/datetime.c
38544 * conf/i386-efi.rmk: likewise
38545 * conf/i386-ieee1275.rmk: likewise
38546 * conf/i386-pc.rmk: likewise
38547 * conf/powerpc-ieee1275.rmk: likewise
38548 * conf/sparc64-ieee1275.rmk: likewise
38549 * conf/x86_64-efi.rmk: likewise
38550
38551 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38552
38553 Trim trailing spaces in FAT label and support mtools-like labels
38554
38555 * fs/fat.c (grub_fat_iterate_dir): New function based
38556 on grub_fat_find_dir
38557 (grub_fat_find_dir): use grub_fat_iterate_dir
38558 (grub_fat_label): likewise
38559
38560 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38561
38562 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
38563 and command.h
38564 remove extraneous kernel_elf_HEADERS
38565
38566 2009-04-04 Bean <bean123ch@gnail.com>
38567
38568 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38569
38570 * util/misc.c: Likewise.
38571
38572 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38573
38574 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38575 instead of grub_printf.
38576
38577 2009-04-03 Robert Millan <rmh@aybabtu.com>
38578
38579 * loader/i386/linux.c (grub_linux_setup_video): Fill
38580 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38581 values from `mode info' structure instead of hardcoded
38582 values.
38583
38584 2009-04-01 Pavel Roskin <proski@gnu.org>
38585
38586 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38587 unused now.
38588 * genmk.rb: Likewise.
38589 * configure.ac: Likewise.
38590
38591 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38592
38593 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38594 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38595
38596 2009-04-01 David S. Miller <davem@davemloft.net>
38597
38598 * normal/sparc64/setjmp.S: Fix setjmp implementation.
38599 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
38600 (grub_setjmp): Mark with 'returns_twice' attribute.
38601 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38602 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38603 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38604
38605 2009-04-01 Robert Millan <rmh@aybabtu.com>
38606
38607 Reapply fix from 2008-07-28 which was accidentally reverted; also
38608 perform the same fix to a similar check in same function.
38609
38610 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38611 with the same number are found, just use issue a warning with
38612 grub_dprintf(), as this error has been reported to be non-fatal.
38613
38614 2009-03-31 Pavel Roskin <proski@gnu.org>
38615
38616 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38617 for cross-compilation.
38618
38619 2009-03-30 Robert Millan <rmh@aybabtu.com>
38620
38621 Fix i386-ieee1275 build.
38622
38623 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38624 Remove declaration.
38625
38626 2009-03-30 Pavel Roskin <proski@gnu.org>
38627
38628 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38629 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38630 zero-terminated, rely only on the strlen value. Fix comparison
38631 of strings differing in length.
38632
38633 2009-03-30 Robert Millan <rmh@aybabtu.com>
38634
38635 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38636 checking for abi version. Improve error messages on BIOS to notify
38637 user about `linux16' command.
38638
38639 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38640
38641 Leak fixes
38642
38643 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38644 in case of collision
38645 * disk/scsi.c (grub_scsi_open): free scsi in case of error
38646
38647 2009-03-29 Robert Millan <rmh@aybabtu.com>
38648
38649 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38650 set `vid_mode' accordingly.
38651 (grub_linux_boot): Process `vid_mode' and set video mode.
38652
38653 2009-03-29 Robert Millan <rmh@aybabtu.com>
38654
38655 * util/grub.d/10_linux.in (linux_entry): New function.
38656 Factorize generation of Linux boot entries.
38657
38658 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38659
38660 Make the format of Environment Block plain text. The boot loader
38661 part is not tested well yet.
38662
38663 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38664 (buffer): Removed.
38665 (envblk): Likewise.
38666 (usage): Remove "info" and "clear". Add "unset". Update the
38667 description of "set", as this does not delete variables any
38668 longer.
38669 (create_envblk_file): Complete rewrite.
38670 (open_envblk_file): Likewise.
38671 (cmd_info): Removed.
38672 (cmd_list): Likewise.
38673 (cmd_set): Likewise.
38674 (cmd_clear): Likewise.
38675 (list_variables): New function.
38676 (write_envblk): Likewise.
38677 (set_variables): Likewise.
38678 (unset_variables): Likewise.
38679 (main): Complete rewrite.
38680
38681 * commands/loadenv.c (buffer): Removed.
38682 (envblk): Likewise.
38683 (open_envblk_file): New function.
38684 (read_envblk_file): Complete rewrite.
38685 (grub_cmd_load_env): Likewise.
38686 (grub_cmd_list_env): Likewise.
38687 (struct blocklist): New struct.
38688 (free_blocklists): New function.
38689 (check_blocklists): Likewise.
38690 (write_blocklists): Likewise.
38691 (grub_cmd_save_env): Complete rewrite.
38692
38693 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38694 a plain text signature.
38695 (GRUB_ENVBLK_MAXLEN): Removed.
38696 (struct grub_envblk): Complete rewrite.
38697 (grub_envblk_find): Removed.
38698 (grub_envblk_insert): Likewise.
38699 (grub_envblk_open): New prototype.
38700 (grub_envblk_set): Likewise.
38701 (grub_envblk_delete): Put const to VALUE.
38702 (grub_envblk_iterate): Put const to NAME and VALUE.
38703 (grub_envblk_close): New prototype.
38704 (grub_envblk_buffer): New inline function.
38705 (grub_envblk_size): Likewise.
38706
38707 * lib/envblk.c: Include grub/mm.h.
38708 (grub_env_find): Removed.
38709 (grub_envblk_open): New function.
38710 (grub_envblk_close): Likewise.
38711 (escaped_value_len): Likewise.
38712 (find_next_line): Likewise.
38713 (grub_envblk_insert): Removed.
38714 (grub_envblk_set): New function.
38715 (grub_envblk_delete): Complete rewrite.
38716 (grub_envblk_iterate): Likewise.
38717
38718 2009-03-28 Robert Millan <rmh@aybabtu.com>
38719
38720 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38721 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38722 variables. Use 16-bit loader.
38723 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38724 loader.
38725 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38726 (grub_linux16_boot): ... this. Update all users.
38727 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38728 (grub_linux_boot): ... this. Update all users.
38729
38730 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38731 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38732 commands to `linux16' and `initrd16'.
38733 (GRUB_MOD_FINI(linux)): Rename to ...
38734 (GRUB_MOD_FINI(linux16)): ... this.
38735
38736 2009-03-24 Pavel Roskin <proski@gnu.org>
38737
38738 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38739 not just for compilation.
38740
38741 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38742
38743 Move multiboot helper out of kernel
38744
38745 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38746 `loader/i386/multiboot_helper.S'.
38747 * conf/i386-coreboot.rmk: Likewise
38748 * conf/i386-ieee1275.rmk: Likewise
38749
38750 * kern/i386/loader.S: Move multiboot helpers from here...
38751 * loader/i386/multiboot_helper.S: ...moved here
38752 * include/grub/i386/loader.h: Move declarations of multiboot
38753 helpers from here...
38754 * include/grub/i386/multiboot.h: ...moved here
38755 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38756
38757 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38758
38759 * kern/env.c (grub_env_context_open): Added an argument to specify
38760 whether a new context inherits exported variables from current
38761 one. This is useful when making a sandbox to interpret a config
38762 file.
38763 All callers updated.
38764
38765 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38766
38767 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38768
38769 * kern/env.c (grub_env_context_close): Fix memory leaks.
38770
38771 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38772
38773 * normal/main.c (grub_normal_execute): Added an argument
38774 BATCH to specify if an interactive interface should be provided
38775 after reading a config file.
38776 All callers updated.
38777 (read_command_list): Prevent being executed twice.
38778 (read_fs_list): Likewise.
38779
38780 * include/grub/normal.h (grub_normal_execute): Updated the
38781 prototype.
38782
38783 2009-03-22 Pavel Roskin <proski@gno.org>
38784
38785 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38786 _start.
38787 * kern/i386/pc/startup.S: Likewise.
38788 * kern/i386/efi/startup.S: Likewise.
38789 * kern/i386/ieee1275/startup.S: Likewise.
38790 * kern/i386/coreboot/startup.S: Likewise.
38791 * kern/x86_64/efi/startup.S: Likewise.
38792
38793 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38794 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38795 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38796
38797 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38798
38799 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38800
38801 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38802 limit detection.
38803 Use vaddr of correct segment for entry_point.
38804
38805 2009-03-21 Bean <bean123ch@gmail.com>
38806
38807 * commands/blocklist.c: Add include file <grub/command.h>, remove
38808 <grub/normal.h> and <grub/arg.h>.
38809 (grub_cmd_blocklist): Use the new command interface.
38810 (GRUB_MOD_INIT): Likewise.
38811 (GRUB_MOD_FINI): Likewise.
38812 * commands/boot.c: Likewise.
38813 * commands/cat.c: Likewise.
38814 * commands/cmp.c: Likewise.
38815 * commands/configfile.c: Likewise.
38816 * commands/crc.c: Likewise.
38817 * commands/echo.c: Likewise.
38818 * commands/halt.c: Likewise.
38819 * commands/handler.c: Likewise.
38820 * commands/hdparm.c: Likewise.
38821 * commands/help.c: Likewise.
38822 * commands/hexdump.c: Likewise.
38823 * commands/loadenv.c: Likewise.
38824 * commands/ls.c: Likewise.
38825 * commands/lsmmap.c: Likewise.
38826 * commands/lspci.c: Likewise.
38827 * commands/loadenv.c: Likewise.
38828 * commands/read.c: Likewise.
38829 * commands/reboot.c: Likewise.
38830 * commands/search.c: Likewise.
38831 * commands/sleep.c: Likewise.
38832 * commands/test.c: Likewise.
38833 * commands/usbtest.c: Likewise.
38834 * commands/videotest.c: Likewise.
38835 * commands/i386/cpuid.c: Likewise.
38836 * commands/i386/pc/halt.c: Likewise.
38837 * commands/i386/pc/play.c: Likewise.
38838 * commands/i386/pc/pxecmd.c: Likewise.
38839 * commands/i386/pc/vbeinfo.c: Likewise.
38840 * commands/i386/pc/vbetest.c: Likewise.
38841 * commands/ieee1275/suspend.c: Likewise.
38842 * disk/loopback.c: Likewise.
38843 * font/font_cmd.c: Likewise.
38844 * hello/hello.c: Likewise.
38845 * loader/efi/appleloader.c: Likewise.
38846 * loader/efi/chainloader.c: Likewise.
38847 * loader/i386/bsd.c: Likewise.
38848 * loader/i386/efi/linux.c: Likewise.
38849 * loader/i386/ieee1275/linux.c: Likewise.
38850 * loader/i386/linux.c: Likewise.
38851 * loader/i386/pc/chainloader.c: Likewise.
38852 * loader/i386/pc/linux.c: Likewise.
38853 * loader/powerpc/ieee1275/linux.c: Likewise.
38854 * loader/multiboot_loader.c: Likewise.
38855 * term/gfxterm.c: Likewise.
38856 * term/i386/pc/serial.c: Likewise.
38857 * term/terminfo.c: Likewise.
38858
38859 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38860 * term/i386/pc/vga.c: Likewise.
38861 * video/readers/jpeg.c: Likewise.
38862 * video/readers/png.c: Likewise.
38863 * video/readers/tga.c: Likewise.
38864
38865 * util/grub-fstest (cmd_loopback): Removed.
38866 (cmd_blocklist): Likewise.
38867 (cmd_ls): Likewise.
38868 (grub_register_command): Likewise.
38869 (grub_unregister_command): Likewise.
38870 (execute_command): Use grub_command_find to locate command and execute
38871 it.
38872
38873 * include/grub/efi/chainloader.h: Removed.
38874 * loader/efi/chainloader_normal.c: Likewise.
38875 * loader/i386/bsd_normal.c: Likewise.
38876 * loader/i386/pc/chainloader_normal.c: Likewise.
38877 * loader/i386/pc/multiboot_normal.c: Likewise.
38878 * loader/linux_normal.c: Likewise.
38879 * loader/multiboot_loader_normal.c: Likewise.
38880 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38881
38882 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38883 and grub_register_command_p1.
38884
38885 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38886 kern/command.c, lib/arg.c and commands/extcmd.c.
38887 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38888 (minicmd_mod_SOURCES): New variable.
38889 (minicmd_mod_CFLAGS): Likewise.
38890 (minicmd_mod_LDFLAGS): Likewise.
38891 (extcmd_mod_SOURCES): Likewise.
38892 (extcmd_mod_CFLAGS): Likewise.
38893 (extcmd_mod_LDFLAGS): Likewise.
38894 (boot_mod_SOURCES): Removed.
38895 (boot_mod_CFLAGS): Likewise.
38896 (boot_mod_LDFLAGS): Likewise.
38897
38898 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38899 kern/corecmd.c.
38900 (kernel_img_HEADERS): Add command.h.
38901 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38902 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38903 and lib/arg.c.
38904 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38905 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38906 remove the corresponding normal mode command.
38907 (normal_mod_SOURCES): Remove normal/arg.c.
38908 * conf/i386-coreboot.rmk: Likewise.
38909 * conf/i386-efi.rmk: Likewise.
38910 * conf/i386-ieee1275.rmk: Likewise.
38911 * conf/powerpc-ieee1275.rmk: Likewise.
38912 * conf/x86_64-efi.rmk: Likewise.
38913
38914 * include/grub/arg.h: Move from here ...
38915 * include/grub/lib/arg.h: ... to here.
38916
38917 * normal/arg.c: Move from here ...
38918 * lib/arg.c: ... to here.
38919
38920 * commands/extcmd.c: New file.
38921 * commands/minicmd.c: Likewise.
38922 * include/grub/command.h: Likewise.
38923 * include/grub/extcmd.h: Likewise.
38924 * kern/command.c: Likewise.
38925 * kern/corecmd.c: Likewise.
38926
38927 * kern/list.c (grub_list_iterate): Return int instead of void.
38928 (grub_list_insert): New function.
38929 (grub_prio_list_insert): Likewise.
38930
38931 * kern/rescue.c (grub_rescue_command): Removed.
38932 (grub_rescue_command_list): Likewise.
38933 (grub_rescue_register_command): Likewise.
38934 (grub_rescue_unregister_command): Likewise.
38935 (grub_rescue_cmd_boot): Move to minicmd.c
38936 (grub_rescue_cmd_help): Likewise.
38937 (grub_rescue_cmd_info): Likewise.
38938 (grub_rescue_cmd_boot): Likewise.
38939 (grub_rescue_cmd_testload): Likewise.
38940 (grub_rescue_cmd_dump): Likewise.
38941 (grub_rescue_cmd_rmmod): Likewise.
38942 (grub_rescue_cmd_lsmod): Likewise.
38943 (grub_rescue_cmd_exit): Likewise.
38944 (grub_rescue_print_devices): Moved to corecmd.c.
38945 (grub_rescue_print_files): Likewise.
38946 (grub_rescue_cmd_ls): Likewise.
38947 (grub_rescue_cmd_insmod): Likewise.
38948 (grub_rescue_cmd_set): Likewise.
38949 (grub_rescue_cmd_unset): Likewise.
38950 (attempt_normal_mode): Use grub_command_find to get normal module.
38951 (grub_enter_rescue_mode): Use grub_register_core_commands to register
38952 commands, remove grub_rescue_register_command calls.
38953
38954 * normal/command.c (grub_register_command): Removed.
38955 (grub_unregister_command): Likewise.
38956 (grub_command_find): Likewise.
38957 (grub_iterate_commands): Likewise.
38958 (rescue_command): Likewise.
38959 (export_command): Moved to corecmd.c.
38960 (set_command): Removed.
38961 (unset_command): Likewise.
38962 (insmod_command): Likewise.
38963 (rmmod_command): Likewise.
38964 (lsmod_command): Likewise.
38965 (grub_command_init): Likewise.
38966
38967 * normal/completion.c (iterate_command): Use cmd->prio to check for
38968 active command.
38969 (complete_arguments): Use grub_extcmd_t structure to find options.
38970 (grub_normal_do_completion): Change function grub_iterate_commands to
38971 grub_command_iterate.
38972
38973 * normal/execute.c (grub_script_execute_cmd): No need to parse
38974 argument here.
38975
38976 * normal/main.c (grub_dyncmd_dispatcher): New function.
38977 (read_command_list): Register unload commands as dyncmd.
38978 (grub_cmd_normal): Use new command interface, register rescue,
38979 unregister normal at entry, register normal, unregister rescue at exit.
38980
38981 * include/grub/list.h (grub_list_test_t): New type.
38982 (grub_list_iterate): Return int instead of void.
38983 (grub_list_insert): New function.
38984 (GRUB_AS_NAMED_LIST_P): New macro.
38985 (GRUB_AS_PRIO_LIST): Likewise.
38986 (GRUB_AS_PRIO_LIST_P): Likewise.
38987 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38988 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38989 (grub_prio_list): New structure.
38990 (grub_prio_list_insert): New function.
38991 (grub_prio_list_remove): New inline function.
38992
38993 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38994 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38995 (GRUB_COMMAND_FLAG_MENU): Likewise.
38996 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38997 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38998 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38999 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39000 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39001 (grub_command): Likewise.
39002 (grub_register_command): Likewise.
39003 (grub_command_find): Likewise.
39004 (grub_iterate_commands): Likewise.
39005 (grub_command_init): Likewise.
39006 (grub_arg_parse): Likewise.
39007 (grub_arg_show_help): Likewise.
39008
39009 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39010 (grub_rescue_unregister_command): Likewise.
39011
39012 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39013 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39014 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39015
39016 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39017 grub_rescue_cmd_initrd.
39018 * include/grub/i386/loader.h: Likewise.
39019 * include/grub/x86_64/loader.h: Likewise.
39020
39021 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39022
39023 2009-03-21 Bean <bean123ch@gmail.com>
39024
39025 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39026 instead of stat in mingw environment.
39027
39028 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39029
39030 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39031
39032 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39033 AC_CONFIG_LINKS.
39034
39035 2009-03-21 Bean <bean123ch@gmail.com>
39036
39037 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39038 out of range error.
39039
39040 2009-03-18 Michel Dänzer <michel@daenzer.net>
39041
39042 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39043 checking inode flags for EXT4_EXTENTS_FLAG.
39044
39045 2009-03-18 Robert Millan <rmh@aybabtu.com>
39046
39047 * loader/i386/linux.c: Include `<grub/video.h>' and
39048 `<grub/i386/pc/vbe.h>'..
39049 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39050 (grub_linux32_boot): Attempt to configure video settings with
39051 grub_linux_setup_video().
39052 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39053 to avoid grub_console_fini() which would step out of graphical mode
39054 unconditionally.
39055
39056 2009-03-14 Robert Millan <rmh@aybabtu.com>
39057
39058 Fix build on powerpc.
39059 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39060
39061 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39062
39063 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39064 background image command.
39065
39066 2009-03-12 Colin D Bennett <colin@gibibit.com>
39067
39068 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39069 (grub_gfxterm_putchar): Extract pairs of identical calls to
39070 draw_cursor out of conditional blocks.
39071
39072 2009-03-11 Pavel Roskin <proski@gnu.org>
39073
39074 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39075 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39076
39077 2009-03-11 Robert Millan <rmh@aybabtu.com>
39078
39079 * loader/i386/multiboot_elfxx.c
39080 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39081
39082 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
39083
39084 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39085 `kern/handler.c'.
39086
39087 2009-03-11 Robert Millan <rmh@aybabtu.com>
39088
39089 * loader/i386/multiboot.c (code_size): New variable.
39090 (grub_multiboot): Define offsets by adding to `code_size' rather
39091 than subtracting from `grub_multiboot_payload_size'. Provide
39092 4-byte alignment to MBI and others by increasing
39093 `boot_loader_name_length' appropriately.
39094
39095 * loader/i386/multiboot_elfxx.c
39096 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39097
39098 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
39099
39100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39101 `fs/ext2.c'.
39102
39103 2009-03-08 Robert Millan <rmh@aybabtu.com>
39104
39105 Make loader/i386/linux.c usable on i386-pc again.
39106
39107 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39108 memory to heap.
39109 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39110 `#error' stanza.
39111
39112 2009-03-07 Bean <bean123ch@gmail.com>
39113
39114 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39115 allocation.
39116
39117 2009-03-06 Robert Millan <rmh@aybabtu.com>
39118
39119 Fix display issue on terminals with screen size other than 80x25
39120 (e.g. gfxterm with resolution higher than 640x480).
39121
39122 * normal/main.c (grub_normal_init_page): Display title text in a
39123 position relative to the center of the terminal instead of relying
39124 on a hardcoded offset.
39125
39126 2009-03-04 Robert Millan <rmh@aybabtu.com>
39127
39128 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39129 installed.
39130
39131 * Makefile.in (host_kernel): New variable.
39132 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39133 scripts instead of just the windows one.
39134 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39135
39136 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
39137
39138 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39139 `kern/handler.c'.
39140 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39141 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39142 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39144 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39146
39147 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
39148
39149 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39150 or if there's no space for the disk label and print the partition number on a
39151 invalid magic.
39152
39153 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
39154
39155 * util/misc.c: Include <time.h>.
39156 (grub_millisleep): New function.
39157
39158 2009-03-04 Bean <bean123ch@gmail.com>
39159
39160 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39161 another option -mno-red-zone.
39162
39163 * commands/handler.c: Change module description.
39164
39165 * kern/handler.c: Add missing space at the end of description line.
39166
39167 * kern/list.c: Likewise.
39168
39169 2009-03-03 Robert Millan <rmh@aybabtu.com>
39170
39171 Move more components to the relocation area, and fix mbi pointer
39172 handling to use the destination rather than the origin (thanks to
39173 Vladimir Serbinenko for spotting).
39174
39175 * loader/i386/multiboot.c (mbi_dest): New variable.
39176 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39177 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39178 relocation area.
39179
39180 2009-03-01 Bean <bean123ch@gmail.com>
39181
39182 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
39183 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39184 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39185 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39186
39187 * loader/i386/efi/linux.c (acpi_guid): New variable.
39188 (acpi_guid): Likewise.
39189 (EBDA_SEG_ADDR): New constant.
39190 (LOW_MEM_ADDR): Likewise.
39191 (FAKE_EBDA_SEG): Likewise.
39192 (fake_bios_data): New function.
39193 (grub_linux_boot): Call fake_bios_data.
39194
39195 2009-03-01 Bean <bean123ch@gmail.com>
39196
39197 * commands/terminal.c: Removed.
39198
39199 * commands/handler.c: New file.
39200
39201 * include/grub/list.h: Likewise.
39202
39203 * include/grub/handler.h: Likewise.
39204
39205 * kern/list.c: Likewise.
39206
39207 * kern/handler.c: Likewise.
39208
39209 * kern/term.h: Include header file <grub/handler.h>.
39210 (grub_term_input): Move next field to the beginning.
39211 (grub_term_output): Likewise.
39212 (grub_term_input_class): New variable.
39213 (grub_term_output_class): Likewise.
39214 (grub_term_register_input): Changed to inline function.
39215 (grub_term_register_output): Likewise.
39216 (grub_term_unregister_input): Likewise.
39217 (grub_term_unregister_output): Likewise.
39218 (grub_term_set_current_input): Likewise.
39219 (grub_term_set_current_output): Likewise.
39220 (grub_term_get_current_input): Likewise.
39221 (grub_term_get_current_output): Likewise.
39222 (grub_term_iterate_input): Removed.
39223 (grub_term_iterate_output): Likewise.
39224
39225 * kern/term.c (grub_term_list_input): Removed.
39226 (grub_term_list_output): Likewise.
39227 (grub_term_input_class): New variable.
39228 (grub_term_output_class): Likewise.
39229 (grub_cur_term_input): Change variable as macro.
39230 (grub_cur_term_output): Likewise.
39231 (grub_term_register_input): Removed.
39232 (grub_term_register_output): Likewise.
39233 (grub_term_unregister_input): Likewise.
39234 (grub_term_unregister_output): Likewise.
39235 (grub_term_set_current_input): Likewise.
39236 (grub_term_set_current_output): Likewise.
39237 (grub_term_iterate_input): Likewise.
39238 (grub_term_iterate_output): Likewise.
39239 (grub_term_get_current_input): Likewise.
39240 (grub_term_get_current_output): Likewise.
39241
39242 * util/grub-editenv.c: Include header file <grub/handler.h>.
39243 (grub_term_get_current_input): Removed.
39244 (grub_term_get_current_output): Likewise.
39245 (grub_term_input_class): New variable.
39246 (grub_term_output_class): Likewise.
39247
39248 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39249 (grub_term_get_current_output): Likewise.
39250 (grub_term_input_class): New variable.
39251 (grub_term_output_class): Likewise.
39252
39253 * util/grub-probe.c (grub_term_get_current_input): Removed.
39254 (grub_term_get_current_output): Likewise.
39255 (grub_term_input_class): New variable.
39256 (grub_term_output_class): Likewise.
39257
39258 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39259 (grub_term_get_current_output): Likewise.
39260 (grub_term_input_class): New variable.
39261 (grub_term_output_class): Likewise.
39262
39263 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39264 (terminal_mod_SOURCES): Likewise.
39265 (terminal_mod_CFLAGS): Likewise.
39266 (terminal_mod_LDFLAGS): Likewise.
39267
39268 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39269 handler.c.
39270 (kernel_img_SOURCES): Add list.c and handler.c.
39271 (kernel_img_HEADERS): Add list.h and handler.h.
39272
39273 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39274 handler.c.
39275 (kernel_mod_SOURCES): Add list.c and handler.c.
39276 (kernel_mod_HEADERS): Add list.h and handler.h.
39277
39278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39279 handler.c.
39280 (kernel_elf_SOURCES): Add list.c and handler.c.
39281 (kernel_elf_HEADERS): Add list.h and handler.h.
39282
39283 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39284 handler.c.
39285 (kernel_elf_SOURCES): Add list.c and handler.c.
39286 (kernel_elf_HEADERS): Add list.h and handler.h.
39287
39288 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39289 handler.c.
39290 (kernel_mod_SOURCES): Add list.c and handler.c.
39291 (kernel_mod_HEADERS): Add list.h and handler.h.
39292
39293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39294 handler.c.
39295 (kernel_elf_SOURCES): Add list.c and handler.c.
39296 (kernel_elf_HEADERS): Add list.h and handler.h.
39297
39298 2009-02-27 Robert Millan <rmh@aybabtu.com>
39299
39300 Factorize elf32 / elf64 code in Multiboot loader. This will
39301 prevent it from getting out of sync again.
39302
39303 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39304 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39305 grub_multiboot_load_elf64): Move from here ...
39306 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39307 grub_multiboot_load_elf): ... to here (new file).
39308
39309 2009-02-27 Robert Millan <rmh@aybabtu.com>
39310
39311 * util/grub.d/10_linux.in: Rename "single-user mode" to
39312 "recovery mode".
39313
39314 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39315
39316 Don't leak in SCSI code.
39317 * disk/scsi.c (grub_scsi_close): free `scsi'.
39318
39319 2009-02-27 Robert Millan <rmh@aybabtu.com>
39320
39321 * loader/i386/pc/multiboot.c: Move from here ...
39322 * loader/i386/multiboot.c: ... to here. Update all users.
39323
39324 2009-02-27 Robert Millan <rmh@aybabtu.com>
39325
39326 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39327 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39328
39329 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
39330
39331 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39332 b-tree.
39333
39334 2009-02-27 Robert Millan <rmh@aybabtu.com>
39335
39336 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39337 `0x' qualifier as 0 when base is specified as parameter).
39338
39339 2009-02-24 Bean <bean123ch@gmail.com>
39340
39341 * configure.ac: Check for -mcmodel=large in x86_64 target.
39342
39343 * include/grub/efi/api.h (efi_call_10): New macro.
39344 (efi_wrap_10): New function.
39345
39346 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39347 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39348 (GRUB_PE32_REL_BASED_LOW): Likewise.
39349 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39350 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39351 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39352 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39353 (GRUB_PE32_REL_BASED_REL): Likewise.
39354 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39355 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39356 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39357
39358 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39359 issue.
39360
39361 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39362 (efi_wrap_10): New function.
39363
39364 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39365
39366 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39367 MB/MBP model (NV chipset).
39368 (devdata_devs): Add devpath_5 to the list.
39369
39370 * load/i386/efi/linux.c (video_base): Remove variable.
39371 (RGB_MASK): New macro.
39372 (RGB_MAGIC): Likewise.
39373 (LINE_MIN): Likewise.
39374 (LINE_MAX): Likewise.
39375 (FBTEST_STEP): Likewise.
39376 (FBTEST_COUNT): Likewise.
39377 (fb_list): New variable.
39378 (grub_find_video_card): Remove function.
39379 (find_framebuf): New function.
39380 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39381 line length.
39382
39383 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39384 problem for x86_64.
39385
39386 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39387
39388 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39389
39390 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39391 coding tool name.
39392
39393 2009-02-22 Robert Millan <rmh@aybabtu.com>
39394
39395 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39396 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39397 in our relocation, instead of using it directly from heap. Also
39398 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39399
39400 2009-02-21 Robert Millan <rmh@aybabtu.com>
39401
39402 Implement USB keyboard support (based on patch by Marco Gerards)
39403
39404 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39405 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39406 (usb_keyboard_mod_LDFLAGS): New variables.
39407
39408 * term/usb_keyboard.c: New file.
39409
39410 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39411
39412 Corrected wrong declaration
39413
39414 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39415
39416 2009-02-14 Christian Franke <franke@computer.org>
39417
39418 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39419 (grub_lspci_iter): Print class code and programming interface byte.
39420
39421 2009-02-14 Christian Franke <franke@computer.org>
39422
39423 * gendistlist.sh: Ignore `.svn' directories.
39424
39425 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
39426
39427 * fs/fat.c: Add 2009 to Copyright line.
39428
39429 2009-02-14 Christian Franke <franke@computer.org>
39430
39431 * commands/hdparm.c: New file. Provides `hdparm' command
39432 which sends ATA commands via grub_disk_ata_pass_through ().
39433
39434 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39435
39436 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39437 and <grub/cpu/io.h> to include/grub/ata.h.
39438 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39439 (GRUB_CDROM_SECTOR_SIZE): Remove.
39440 (GRUB_ATA_*): Move to include/grub/ata.h.
39441 (GRUB_ATAPI_*): Likewise.
39442 (enum grub_ata_commands): Likewise.
39443 (enum grub_ata_timeout_milliseconds): Likewise.
39444 (struct grub_ata_device): Likewise.
39445 (grub_ata_regset): Likewise.
39446 (grub_ata_regget): Likewise.
39447 (grub_ata_regset2): Likewise.
39448 (grub_ata_regget2): Likewise.
39449 (grub_ata_check_ready): Likewise.
39450 (grub_ata_wait_not_busy): Remove static, exported in
39451 include/grub/ata.h.
39452 (grub_ata_wait_drq): Likewise.
39453 (grub_ata_pio_read): Likewise.
39454
39455 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39456 function for hdparm.mod.
39457
39458 * include/grub/ata.h: New file, contains declarations from
39459 disk/ata.c.
39460 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39461
39462 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39463 (grub_disk_ata_pass_through): New exported variable.
39464
39465 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39466
39467 2009-02-13 Colin D Bennett <colin@gibibit.com>
39468
39469 Support multiple fallback entries, and provide an API to support
39470 executing default+fallback menu entries. Renamed the `terminal' menu
39471 viewer to `text'.
39472
39473 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39474 variable declaration.
39475 (grub_menu_execute_callback): New structure declaration.
39476 (grub_menu_execute_callback_t): New typedef.
39477 (grub_menu_execute_with_fallback): New function declaration.
39478 (grub_menu_get_entry): Likewise.
39479 (grub_menu_get_timeout): Likewise.
39480 (grub_menu_set_timeout): Likewise.
39481
39482 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39483
39484 * normal/menu.c (grub_wait_after_message): Moved to
39485 `normal/menu_text.c'.
39486 (draw_border): Likewise.
39487 (print_message): Likewise.
39488 (print_entry): Likewise.
39489 (print_entries): Likewise.
39490 (grub_menu_init_page): Likewise.
39491 (get_entry_number): Likewise.
39492 (print_timeout): Likewise.
39493 (run_menu): Likewise.
39494 (grub_menu_execute_entry): Likewise.
39495 (show_text_menu): Likewise.
39496 (get_and_remove_first_entry_number): New function.
39497 (grub_menu_execute_with_fallback): Likewise.
39498 (get_entry): Renamed to ...
39499 (grub_menu_get_entry): .. this and made it global.
39500 (get_timeout): Renamed to ...
39501 (grub_menu_get_timeout): ... this and made it global.
39502 (set_timeout): Renamed to ...
39503 (grub_menu_set_timeout): ... this and made it global.
39504 (grub_normal_terminal_menu_viewer): Renamed to ...
39505 (grub_normal_text_menu_viewer): ... this.
39506
39507 * normal/menu_text.c: New file. Extracted text-menu-specific code
39508 from normal/menu.c.
39509
39510 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39511 (normal_mod_SOURCES): Likewise.
39512
39513 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39514 (normal_mod_SOURCES): Likewise.
39515
39516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39517 (normal_mod_SOURCES): Likewise.
39518
39519 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39520 (normal_mod_SOURCES): Likewise.
39521
39522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39523 (normal_mod_SOURCES): Likewise.
39524
39525 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39526 (normal_mod_SOURCES): Likewise.
39527
39528 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39529 (normal_mod_SOURCES): Likewise.
39530
39531 2009-02-11 Robert Millan <rmh@aybabtu.com>
39532
39533 * util/grub.d/00_header.in: Update old reference to `font' command.
39534
39535 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
39536
39537 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39538
39539 Based on patch from Javier Martín.
39540
39541 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39542
39543 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
39544 to avoid false positives with FAT.
39545 (grub_fstest_SOURCES): Likewise.
39546 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39547 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39549 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39552
39553 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39554
39555 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
39556 bpb.version_specific.fat12_or_fat16.fstype and
39557 bpb.version_specific.fat32.fstype.
39558
39559 2009-02-08 Robert Millan <rmh@aybabtu.com>
39560
39561 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
39562
39563 2009-02-08 Robert Millan <rmh@aybabtu.com>
39564
39565 * Makefile.in (host_os, host_cpu): New variables.
39566 (target_os): Remove. Update all users.
39567
39568 2009-02-08 Marco Gerards <marco@gnu.org>
39569
39570 * Makefile.in (enable_grub_emu_usb): New variable.
39571 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39572 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39573 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39574 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39575 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39576 `usbtest.mod' and `usbms.mod'.
39577 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39578 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39579 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39580 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39581 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39582 variables.
39583
39584 * disk/usbms.c: New file.
39585
39586 * include/grub/usb.h: Likewise.
39587
39588 * include/grub/usbtrans.h: Likewise.
39589
39590 * include/grub/usbdesc.h: Likewise.
39591
39592 * bus/usb/usbtrans.c: Likewise.
39593
39594 * bus/usb/ohci.c: Likewise.
39595
39596 * bus/usb/uhci.c: Likewise.
39597
39598 * bus/usb/usbhub.c: Likewise.
39599
39600 * bus/usb/usb.c: Likewise.
39601
39602 * commands/usbtest.c: Likewise.
39603
39604 * util/usb.c: Likewise.
39605
39606 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39607
39608 * configure.ac: Test for libusb presence.
39609
39610 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39611
39612 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39613
39614 * kern/mm.c: Add more comments.
39615
39616 2009-02-08 Robert Millan <rmh@aybabtu.com>
39617
39618 Patch from Javier Martín.
39619 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39620 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39621
39622 2009-02-08 Robert Millan <rmh@aybabtu.com>
39623
39624 * fs/cpio.c: Split tar functionality to ...
39625 * fs/tar.c: ... here (new file). Update all users.
39626
39627 2009-02-07 Robert Millan <rmh@aybabtu.com>
39628
39629 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39630 backward-incompatible features.
39631
39632 Based on patch from Javier Martín, with some adjustments.
39633
39634 2009-02-07 Michael Scherer <misc@mandriva.org>
39635
39636 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39637
39638 2009-02-07 Robert Millan <rmh@aybabtu.com>
39639
39640 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39641 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39642 after the RAID stuff.
39643
39644 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39645
39646 Fixes problem when running vbetest command as reported by
39647 Vladimir Serbinenko <phcoder@gmail.com>.
39648
39649 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39650
39651 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
39652
39653 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39654 /dev/md/NpN style mdraid devices.
39655
39656 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39657
39658 * util/unifont2pff.rb: Remove.
39659
39660 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39661
39662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39663 `#'.
39664
39665 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39666
39667 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39669 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39672 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39673 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39674
39675 2009-02-02 Christian Franke <franke@computer.org>
39676
39677 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39678
39679 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
39680
39681 * INSTALL: Note that we now require at least autoconf 2.59 and
39682 that LZO is optional.
39683
39684 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39685
39686 Base on patch on bug #24154 created by Tomas Tintera
39687 <trosos@seznam.cz>.
39688
39689 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39690
39691 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39692
39693 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
39694 <bero@arklinux.org>.
39695
39696 * normal/parser.y (script_init): Add missing semicolon.
39697
39698 2009-01-31 Colin D Bennett <colin@gibibit.com>
39699
39700 * normal/main.c: Add include to grub/menu_viewer.h.
39701 (free_menu_entry_classes): Added.
39702 (grub_normal_menu_addentry): Added class property handling.
39703 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39704 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39705
39706 * normal/menu_viewer.c: New file.
39707
39708 * normal/menu.c (run_menu_entry): Renamed to ...
39709 (grub_menu_execute_entry): ... this and made it as global.
39710 (grub_menu_run): Renamed to ...
39711 (show_text_menu): ... this and made it local.
39712 (show_text_menu): Adapt to new function names.
39713 (grub_normal_terminal_menu_viewer): New global variable.
39714
39715 * include/grub/menu.h: New file.
39716
39717 * include/grub/menu_viewer.h: New file.
39718
39719 * include/grub/normal.h: Added include to grub/menu.h.
39720 (grub_menu_entry): Moved to include/grub/menu.h.
39721 (grub_menu_entry_t): Likewise.
39722 (grub_menu): Likewise.
39723 (grub_menu_t): Likewise.
39724 (grub_normal_terminal_menu_viewer): Added.
39725 (grub_menu_execute_entry): Likewise.
39726 (grub_menu_run): Removed.
39727
39728 * DISTLIST: Added include/grub/menu.h.
39729 Added include/grub/menu_viewer.h.
39730 Added normal/menu_viewer.c.
39731
39732 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39733
39734 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39735 arglist for menutitle arguments.
39736
39737 * normal/main.c (grub_normal_menu_addentry): Likewise.
39738
39739 * normal/parser.y (menuentry): Likewise.
39740
39741 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39742
39743 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39744 (grub_script_create_cmdmenu): Likewise.
39745
39746 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39747
39748 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39749 changes.
39750
39751 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39752
39753 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39754
39755 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39756
39757 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39758
39759 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39760
39761 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39762
39763 2009-01-30 Christian Franke <franke@computer.org>
39764
39765 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39766 in option help text.
39767
39768 2009-01-27 Pavel Roskin <proski@gnu.org>
39769
39770 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39771
39772 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39773
39774 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39775
39776 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39777
39778 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39779 unregister function.
39780
39781 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39782
39783 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39784
39785 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39786
39787 * util/grub-mkfont.c (usage): Fix typo.
39788
39789 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39790
39791 2009-01-26 Daniel Mierswa <impulze@impulze.org>
39792
39793 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39794
39795 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39796
39797 * kern/misc.c (grub_strcasecmp): New function.
39798 (grub_strcasecmp): Use grub_size_t instead of int for length.
39799 Fix return value.
39800 * include/grub/misc.h: Update function prototypes.
39801
39802 2009-01-26 Robert Millan <rmh@aybabtu.com>
39803
39804 * configure.ac: Fix cross-compilation check.
39805
39806 2009-01-22 Christian Franke <franke@computer.org>
39807
39808 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39809 (precision) digit string. Allow `.format2' without `format1' (width).
39810 Limit input chars for `%s' output to `format2' if specified. This is
39811 compatible with standard printf ().
39812
39813 2009-01-22 Christian Franke <franke@computer.org>
39814
39815 * disk/ata.c (grub_ata_wait_status): Replace by ...
39816 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39817 other status bits may be invalid while BSY is asserted.
39818 (grub_ata_check_ready): New function.
39819 (grub_ata_cmd): Removed.
39820 (grub_ata_wait_drq): New function.
39821 (grub_ata_strncpy): Remove inline.
39822 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39823 and error check now done by grub_ata_wait_drq ().
39824 (grub_ata_pio_write): Likewise.
39825 (grub_atapi_identify): Set DEV before check for !BSY. Use
39826 grub_ata_wait_drq () to wait for data.
39827 (grub_ata_device_initialize): Add status register check to
39828 detect missing SATA slave devices. Add debug messages.
39829 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39830 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39831 transfer loop by grub_ata_pio_write ().
39832 (grub_ata_identify): Set DEV before check for !BSY. Use
39833 grub_ata_wait_drq () to wait for data.
39834 (grub_ata_setaddress): Set DEV before check for !BSY.
39835 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39836 read/write in one loop. Fix invalid command on write. Fix incomplete
39837 command on (size % batch) == 0. Add missing error check after write of
39838 last block. Add debug messages.
39839 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39840
39841 2009-01-19 Christian Franke <franke@computer.org>
39842
39843 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39844 (GRUB_ATAPI_IREASON_*): Likewise.
39845 (grub_ata_pio_write): Fix timeout error return.
39846 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39847 (grub_atapi_wait_drq): New function.
39848 (grub_atapi_packet): New parameter `size'.
39849 Use grub_atapi_wait_drq () and direct write instead of
39850 grub_ata_pio_write ().
39851 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39852 reads the number of bytes requested by the device for each DRQ
39853 assertion.
39854 (grub_atapi_write): Remove old implementation, return not
39855 implemented instead.
39856
39857 2009-01-19 Christian Franke <franke@computer.org>
39858
39859 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39860 of 512 to calculate data size.
39861 (grub_scsi_read12): Likewise.
39862 (grub_scsi_write10): Likewise.
39863 (grub_scsi_write12): Likewise.
39864 (grub_scsi_read): Adjust size according to blocksize.
39865 Add checks for invalid blocksize and unaligned transfer.
39866
39867 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39868
39869 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39870
39871 * term/gfxterm.c (write_char): Fix background rendering for wide
39872 width glyphs.
39873
39874 2009-01-19 Robert Millan <rmh@aybabtu.com>
39875
39876 * config.guess: Update to latest version from config git.
39877 * config.sub: Likewise.
39878
39879 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
39880
39881 * Makefile.in: Change font compilation to use new grub-mkfont instead
39882 of java version.
39883
39884 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39885 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39886 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39887 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39888 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39889 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39890 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39891 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39892 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39893
39894 2009-01-16 Christian Franke <franke@computer.org>
39895
39896 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39897 (enum grub_ata_timeout_milliseconds): New enum.
39898 (grub_ata_wait_status): Add parameter milliseconds.
39899 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39900 recovery from timed-out commands.
39901 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39902 return grub_errno instead of REG_ERROR.
39903 (grub_ata_pio_write): Add parameter milliseconds.
39904 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39905 Pass milliseconds to grub_ata_wait_status () and
39906 grub_ata_pio_read ().
39907 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39908 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39909 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39910 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39911 It is not suitable for device detection, because DEV bit is ignored,
39912 the command may run too long, and not all devices set the signature
39913 properly.
39914 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39915 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39916 Fix device selection, DEV bit must be set first to address the registers
39917 of the correct device.
39918 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39919 grub_ata_pio_read/write ().
39920 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39921 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39922
39923 2009-01-13 Carles Pina i Estany <carles@pina.cat>
39924
39925 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39926
39927 2009-01-13 Bean <bean123ch@gmail.com>
39928
39929 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39930
39931 2009-01-13 Bean <bean123ch@gmail.com>
39932
39933 * Makefile.in: (enable_grub_mkfont): New variable.
39934 (freetype_cflags): Likewise.
39935 (freetype_libs): Likewise.
39936
39937 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39938 (grub_mkfont_SOURCES): New variable.
39939 (grub_mkfont_CFLAGS): Likewise.
39940 (grub_mkfont_LDFLAGS): Likewise.
39941
39942 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39943 library if `--enable-grub-mkfont' is requested.
39944 (enable_grub_mkfont): New variable.
39945 (freetype_cflags): Likewise.
39946 (freetype_libs): Likewise.
39947
39948 * util/grub-mkfont.c: New file.
39949
39950 2009-01-12 Christian Franke <franke@computer.org>
39951
39952 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39953 mode check. Fix setting of compat_use[].
39954
39955 2009-01-10 Robert Millan <rmh@aybabtu.com>
39956
39957 Update a few copyright years which we forgot to do in 2008 (only for
39958 files whose changes made in 2008 were copyright-significant)
39959
39960 * Makefile.in: Add 2008 to Copyright line.
39961 * disk/ieee1275/ofdisk.c: Likewise.
39962 * disk/efi/efidisk.c: Likewise.
39963 * kern/dl.c: Likewise.
39964 * kern/sparc64/ieee1275/init.c: Likewise.
39965 * kern/mm.c: Likewise.
39966 * kern/efi/mm.c: Likewise.
39967 * boot/i386/pc/boot.S: Likewise.
39968 * genfslist.sh: Likewise.
39969 * fs/iso9660.c: Likewise.
39970 * fs/hfs.c: Likewise.
39971 * fs/jfs.c: Likewise.
39972 * fs/minix.c: Likewise.
39973 * fs/ufs.c: Likewise.
39974 * gensymlist.sh.in: Likewise.
39975 * genkernsyms.sh.in: Likewise.
39976 * include/grub/misc.h: Likewise.
39977 * include/grub/types.h: Likewise.
39978 * include/grub/symbol.h: Likewise.
39979 * include/grub/elf.h: Likewise.
39980 * include/grub/kernel.h: Likewise.
39981 * include/grub/disk.h: Likewise.
39982 * include/grub/dl.h: Likewise.
39983 * include/grub/i386/linux.h: Likewise.
39984 * include/grub/i386/pc/biosdisk.h: Likewise.
39985 * include/grub/efi/api.h: Likewise.
39986 * include/grub/efi/pe32.h: Likewise.
39987 * include/grub/util/misc.h: Likewise.
39988 * normal/execute.c: Likewise.
39989 * normal/arg.c: Likewise.
39990 * normal/completion.c: Likewise.
39991 * normal/lexer.c: Likewise.
39992 * normal/parser.y: Likewise.
39993 * normal/misc.c: Likewise.
39994 * commands/i386/pc/vbeinfo.c: Likewise.
39995 * commands/hexdump.c: Likewise.
39996 * commands/terminal.c: Likewise.
39997 * commands/ls.c: Likewise.
39998 * commands/help.c: Likewise.
39999 * partmap/pc.c: Likewise.
40000 * loader/efi/chainloader.c: Likewise.
40001 * loader/multiboot_loader.c: Likewise.
40002 * loader/i386/pc/multiboot2.c: Likewise.
40003 * term/efi/console.c: Likewise.
40004 * term/i386/pc/serial.c: Likewise.
40005 * util/lvm.c: Likewise.
40006 * util/console.c: Likewise.
40007 * util/i386/efi/grub-mkimage.c: Likewise.
40008 * util/raid.c: Likewise.
40009
40010 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40011
40012 * commands/videotest.c: Removed include to grub/machine/memory.h.
40013
40014 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40015 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40016 (video_mod_SOURCES): Removed.
40017 (video_mod_CFLAGS): Likewise.
40018 (video_mod_LDFLAGS): Likewise.
40019 (gfxterm_mod_SOURCES): Likewise.
40020 (gfxterm_mod_CFLAGS): Likewise.
40021 (gfxterm_mod_LDFLAGS): Likewise.
40022 (videotest_mod_SOURCES): Likewise.
40023 (videotest_mod_CFLAGS): Likewise.
40024 (videotest_mod_LDFLAGS): Likewise.
40025 (bitmap_mod_SOURCES): Likewise.
40026 (bitmap_mod_CFLAGS): Likewise.
40027 (bitmap_mod_LDFLAGS): Likewise.
40028 (tga_mod_SOURCES): Likewise.
40029 (tga_mod_CFLAGS): Likewise.
40030 (tga_mod_LDFLAGS): Likewise.
40031 (jpeg_mod_SOURCES): Likewise.
40032 (jpeg_mod_CFLAGS): Likewise.
40033 (jpeg_mod_LDFLAGS): Likewise.
40034 (png_mod_SOURCES): Likewise.
40035 (png_mod_CFLAGS): Likewise.
40036 (png_mod_LDFLAGS): Likewise.
40037
40038 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40039 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40040 (video_mod_SOURCES): Added.
40041 (video_mod_CFLAGS): Likewise.
40042 (video_mod_LDFLAGS): Likewise.
40043 (videotest_mod_SOURCES): Likewise.
40044 (videotest_mod_CFLAGS): Likewise.
40045 (videotest_mod_LDFLAGS): Likewise.
40046 (bitmap_mod_SOURCES): Likewise.
40047 (bitmap_mod_CFLAGS): Likewise.
40048 (bitmap_mod_LDFLAGS): Likewise.
40049 (tga_mod_SOURCES): Likewise.
40050 (tga_mod_CFLAGS): Likewise.
40051 (tga_mod_LDFLAGS): Likewise.
40052 (jpeg_mod_SOURCES): Likewise.
40053 (jpeg_mod_CFLAGS): Likewise.
40054 (jpeg_mod_LDFLAGS): Likewise.
40055 (png_mod_SOURCES): Likewise.
40056 (png_mod_CFLAGS): Likewise.
40057 (png_mod_LDFLAGS): Likewise.
40058 (gfxterm_mod_SOURCES): Likewise.
40059 (gfxterm_mod_CFLAGS): Likewise.
40060 (gfxterm_mod_LDFLAGS): Likewise.
40061
40062 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40063 grub/machine/console.h.
40064
40065 2009-01-04 Jerone Young <jerone@gmail.com>
40066
40067 Make on screen instructions clearer
40068
40069 Based on patch created by Jidanni <jidanni@jidanni.org>
40070
40071 * normal/menu.c: print clearer instructions on the screen
40072
40073 2009-01-02 Colin D Bennett <colin@gibibit.com>
40074
40075 New font engine.
40076
40077 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40078 build system and fixed gfxterm.c to work with different sized fonts.
40079
40080 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
40081
40082 * configure: Re-generated.
40083
40084 * DISTLIST: Removed font/manager.c.
40085 Added font/font.c.
40086 Added font/font_cmd.c.
40087
40088 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40089 compilation.
40090
40091 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
40092
40093 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
40094
40095 * kern/term.c: Changed users of grub_utf8_to_ucs4.
40096
40097 * normal/menu.c: Likewise.
40098
40099 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40100 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
40101
40102 * include/grub/font.h: Replaced with new file.
40103
40104 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40105 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40106 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40107 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40108 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
40109 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
40110 fg_red, fg_green, fg_blue, fg_alpha.
40111 (grub_video_adapter): Removed blit_glyph.
40112 (grub_video_blit_glyph): Removed.
40113
40114 * font/manager.c: Removed file.
40115
40116 * font/font.c: New file.
40117
40118 * font/font_cmd.c: Likewise.
40119
40120 * video/video.c (grub_video_blit_glyph): Removed.
40121
40122 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40123 (grub_video_vbe_map_rgba): Likewise.
40124 (grub_video_vbe_unmap_color_int): Likewise.
40125 (grub_video_vbe_blit_glyph): Removed.
40126 (grub_video_vbe_adapter): Removed blit_glyph.
40127
40128 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40129 (get_pixel): Likewise.
40130 (set_pixel): Likewise.
40131
40132 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
40133
40134 * term/gfxterm.c: Adapted to new font engine.
40135
40136 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
40137
40138 * term/i386/pc/vga.c: Likewise.
40139
40140 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
40141
40142 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40143
40144 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40145
40146 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40147
40148 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40149
40150 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40151
40152 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40153
40154 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40155
40156 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40157
40158 * util/grub.d/00_header.in: Changed to use new loadfont command.
40159
40160 * util/grub-mkconfig_lib.in: Changed font extension.
40161
40162 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
40163
40164 * util/getroot.c (grub_util_get_grub_dev): Add support for
40165 /dev/md/dNNpNN style partitionable mdraid devices.
40166
40167 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
40168
40169 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40170 at a time limit of the PXE TFTP API correctly.
40171 (grub_pxefs_close): Likewise.
40172
40173 2008-11-29 Robert Millan <rmh@aybabtu.com>
40174
40175 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
40176 grub_ata_device_initialize() calls.
40177
40178 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
40179
40180 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40181 iteration failed.
40182 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40183
40184 2008-11-28 Robert Millan <rmh@aybabtu.com>
40185
40186 Fix build on powerpc-ieee1275. Based on patch created by
40187 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40188 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40189 `kern/ieee1275/mmap.c'.
40190 * include/grub/powerpc/ieee1275/memory.h: New file.
40191
40192 Provide grub-install on coreboot.
40193 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40194 (grub_install_SOURCES): New variable.
40195 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40196 usable on coreboot.
40197
40198 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
40199
40200 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40201 to `grub_term_input_t'.
40202 (grub_term_get_current_output): Change return type to
40203 `grub_term_output_t'.
40204
40205 2008-11-22 Robert Millan <rmh@aybabtu.com>
40206
40207 Fix breakage on coreboot due to declaration mismatch.
40208 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40209 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40210 grub_vga_text_cls().
40211
40212 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
40213 comments. Avoid copying one more byte than necessary (just in case).
40214
40215 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40216 to 0x200000 (avoids trouble with some OFW implementations, and matches
40217 with the one in Yaboot).
40218 Reported by Manoel Abranches
40219
40220 2008-11-20 Robert Millan <rmh@aybabtu.com>
40221
40222 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40223 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40224
40225 * util/grub-mkconfig_lib.in (grub_warn): New function.
40226 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40227 warnings, to obtain consistent formatting.
40228 * util/grub.d/00_header.in: Likewise.
40229 * util/update-grub_lib.in: Likewise.
40230
40231 * loader/i386/linux.c (allocate_pages): Fix a warning.
40232 Move comment text to `#error' stanza.
40233
40234 Harmonize ieee1275's grub_available_iterate() with the generic
40235 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40236 build problem on i386-ieee1275):
40237 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40238 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40239 parameter `type'. Update all users of this function.
40240 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40241 `kern/ieee1275/mmap.c'.
40242 * kern/ieee1275/init.c
40243 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40244 with ...
40245 (grub_machine_mmap_iterate): ... this.
40246 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40247 return type to `grub_err_t'. Update all implementations of this
40248 function prototype.
40249 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40250 Likewise.
40251
40252 Add `lsmmap' command (lists firmware-provided memory map):
40253 * commands/lsmmap.c: New file.
40254 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40255 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40256 variables.
40257 * conf/powerpc-ieee1275.rmk: Likewise.
40258 * conf/i386-coreboot.rmk: Likewise.
40259 * conf/i386-ieee1275.rmk: Likewise.
40260
40261 2008-11-19 Robert Millan <rmh@aybabtu.com>
40262
40263 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
40264 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40265 constraints to initrd allocation (based on code from
40266 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40267 for Linux to find it.
40268
40269 2008-11-14 Robert Millan <rmh@aybabtu.com>
40270
40271 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40272 order to cope with duplicate slashes.
40273
40274 2008-11-14 Robert Millan <rmh@aybabtu.com>
40275
40276 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40277 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40278 don't want to mess with lower memory, because it is used in the Linux
40279 loader.
40280
40281 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
40282 an appropriate place in lower memory, between 0x10000 and 0x90000,
40283 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40284 is in our heap (probably as a result of it being corrupted during
40285 decompression). Add #error instance with comment to explain why this
40286 loader isn't currently usable on PC/BIOS.
40287
40288 2008-11-14 Robert Millan <rmh@aybabtu.com>
40289
40290 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
40291 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
40292
40293 2008-11-12 Robert Millan <rmh@aybabtu.com>
40294
40295 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40296
40297 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40298 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40299 from here ...
40300 * include/grub/i386/pc/memory.h: ... to here.
40301
40302 2008-11-12 Robert Millan <rmh@aybabtu.com>
40303
40304 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40305 split).
40306
40307 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40308 (grub_console_cur_color, grub_console_real_putchar)
40309 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40310 (grub_console_setcolorstate, grub_console_setcolor)
40311 (grub_console_getcolor): Move from here ...
40312 * include/grub/i386/vga_common.h: ... to here (new file).
40313
40314 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40315 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40316 `<grub/i386/io.h>'.
40317 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40318 `<grub/i386/vga_common.h>'.
40319
40320 2008-11-12 Robert Millan <rmh@aybabtu.com>
40321
40322 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40323 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40324 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40325 variables.
40326 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40327 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40328
40329 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40330 grub_console_init() with call to grub_vga_text_init().
40331 (grub_machine_fini): Replace call to
40332 grub_console_fini() with call to grub_vga_text_fini() and
40333 grub_at_keyboard_fini().
40334
40335 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40336 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40337 (grub_console_setcolorstate, grub_console_setcolor)
40338 (grub_console_getcolor): New function prototypes.
40339
40340 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40341 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40342 (grub_vga_text_setcursor): Static-ize.
40343 (grub_vga_text_term): New structure.
40344 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40345
40346 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40347 (grub_console_cur_color, grub_console_standard_color)
40348 (grub_console_normal_color, grub_console_highlight_color)
40349 (map_char, grub_console_putchar, grub_console_getcharwidth)
40350 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40351 (grub_console_getcolor): Move from here ...
40352 * term/i386/vga_common.c: ... to here (same function names).
40353
40354 2008-11-12 Robert Millan <rmh@aybabtu.com>
40355
40356 Use newly-added Multiboot support in coreboot.
40357
40358 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40359 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40360
40361 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40362 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40363 (codestart): Store the MBI in `startup_multiboot_info' when we're
40364 being loaded using Multiboot.
40365
40366 * kern/i386/coreboot/init.c (grub_machine_init): Move
40367 grub_at_keyboard_init() call to beginning of function (useful for
40368 debugging). Call grub_machine_mmap_init() before attempting to use
40369 grub_machine_mmap_iterate().
40370 (grub_lower_mem, grub_upper_mem): Move from here ...
40371 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40372 here (new file).
40373
40374 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40375 function prototype.
40376
40377 2008-11-12 Robert Millan <rmh@aybabtu.com>
40378
40379 Fix a regression introduced by the at_keyboard.mod split. Because
40380 some terminals are default on some platforms and non-default on
40381 others, the first terminal being registered determines which is
40382 going to be default.
40383
40384 * kern/term.c (grub_term_register_input): If this is the first
40385 terminal being registered, set it as the current one.
40386 (grub_term_register_output): Likewise.
40387
40388 * term/efi/console.c (grub_console_init): Do not call
40389 grub_term_set_current_output() or grub_term_set_current_input().
40390 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40391 * term/i386/pc/console.c (grub_console_init): Likewise.
40392 (grub_console_fini): Do not call grub_term_set_current_input()
40393 (but leave grub_term_set_current_output() to restore text mode).
40394
40395 2008-11-10 Robert Millan <rmh@aybabtu.com>
40396
40397 * util/grub.d/00_header.in: Add backward compatibility check for
40398 versions of terminal.mod that don't understand `terminal_input' or
40399 `terminal_output'.
40400
40401 2008-11-09 Robert Millan <rmh@aybabtu.com>
40402
40403 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40404 `terminal_input' / `terminal_output', not `terminal'.
40405
40406 2008-11-08 Robert Millan <rmh@aybabtu.com>
40407
40408 * Makefile.in (include_DATA): Fix srcdir=. assumption.
40409 (DISTCLEANFILES): Add `build_env.mk'.
40410
40411 2008-11-08 Robert Millan <rmh@aybabtu.com>
40412
40413 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
40414 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40415 members. Update all users.
40416 * util/console.c (grub_ncurses_term): Split in ...
40417 (grub_ncurses_term_input): ... this, and ...
40418 (grub_ncurses_term_output): ... this. Update all users.
40419 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
40420
40421 2008-11-08 Robert Millan <rmh@aybabtu.com>
40422
40423 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40424 (PKGDATA): Add $(pkgdata_SRCDIR).
40425 (pkglib_BUILDDIR): New variable.
40426 (pkgdata_SRCDIR): New variable.
40427 (build_env.mk): New target.
40428 (include_DATA): New variable.
40429 (install-local): Install $(include_DATA) files in $(includedir).
40430
40431 2008-11-07 Pavel Roskin <proski@gnu.org>
40432
40433 * gendistlist.sh: Use C locale for sorting to ensure consistent
40434 output on all systems.
40435
40436 * util/grub.d/00_header.in: Remove incorrect space before
40437 "serial".
40438
40439 2008-11-07 Robert Millan <rmh@aybabtu.com>
40440
40441 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40442 per specification.
40443 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40444 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40445 (based on find_multi_boot1_header).
40446 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40447 using find_multi_boot2_header(), and abort if neither Multiboot or
40448 Multiboot headers were found.
40449
40450 2008-11-07 Robert Millan <rmh@aybabtu.com>
40451
40452 Modularize at_keyboard.mod:
40453
40454 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40455 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40456 (at_keyboard_mod_LDFLAGS): New variables.
40457
40458 Actual terminal split:
40459
40460 * include/grub/term.h (struct grub_term): Split in ...
40461 (struct grub_term_input): ... this, and ...
40462 (struct grub_term_output): ... this. Update all users.
40463 (grub_term_set_current): Split in ...
40464 (grub_term_set_current_input): ... this, and ...
40465 (grub_term_set_current_output): ... this.
40466 (grub_term_get_current): Split in ...
40467 (grub_term_get_current_input): ... this, and ...
40468 (grub_term_get_current_output): ... this.
40469 (grub_term_register): Split in ...
40470 (grub_term_register_input): ... this, and ...
40471 (grub_term_register_output): ... this.
40472 (grub_term_unregister): Split in ...
40473 (grub_term_unregister_input): ... this, and ...
40474 (grub_term_unregister_output): ... this.
40475 (grub_term_iterate): Split in ...
40476 (grub_term_iterate_input): ... this, and ...
40477 (grub_term_iterate_output): ... this.
40478
40479 * kern/term.c (grub_term_list): Split in ...
40480 (grub_term_list_input): ... this, and ...
40481 (grub_term_list_output): ... this. Update all users.
40482 (grub_cur_term): Split in ...
40483 (grub_cur_term_input): ... this, and ...
40484 (grub_cur_term_output): ... this. Update all users.
40485 (grub_term_set_current): Split in ...
40486 (grub_term_set_current_input): ... this, and ...
40487 (grub_term_set_current_output): ... this.
40488 (grub_term_get_current): Split in ...
40489 (grub_term_get_current_input): ... this, and ...
40490 (grub_term_get_current_output): ... this.
40491 (grub_term_register): Split in ...
40492 (grub_term_register_input): ... this, and ...
40493 (grub_term_register_output): ... this.
40494 (grub_term_unregister): Split in ...
40495 (grub_term_unregister_input): ... this, and ...
40496 (grub_term_unregister_output): ... this.
40497 (grub_term_iterate): Split in ...
40498 (grub_term_iterate_input): ... this, and ...
40499 (grub_term_iterate_output): ... this.
40500
40501 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40502 a check for input and one for output (and only attempt to get keys
40503 from user when input works).
40504
40505 * util/grub-probe.c (grub_term_get_current): Split in ...
40506 (grub_term_get_current_input): ... this, and ...
40507 (grub_term_get_current_output): ... this.
40508 * util/grub-fstest.c: Likewise.
40509 * util/i386/pc/grub-setup.c: Likewise.
40510 * util/grub-editenv.c: Likewise.
40511
40512 Portability adjustments:
40513
40514 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40515 `term/i386/pc/at_keyboard.c'.
40516 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40517 grub_keyboard_controller_init() (now handled by terminal .init).
40518 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40519 grub_at_keyboard_init().
40520 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40521 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40522 at_keyboard.mod via input terminal interface).
40523 * include/grub/i386/coreboot/console.h: Convert into a stub for
40524 `<grub/i386/pc/console.h>'.
40525
40526 Migrate full terminals to new API:
40527
40528 * term/efi/console.c (grub_console_term): Split into ...
40529 (grub_console_term_input): ... this, and ...
40530 (grub_console_term_output): ... this. Update all users.
40531 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40532 (grub_ofconsole_init): Split into ...
40533 (grub_ofconsole_init_input): ... this, and ...
40534 (grub_ofconsole_init_output): ... this.
40535 (grub_ofconsole_term): Split into ...
40536 (grub_ofconsole_term_input): ... this, and ...
40537 (grub_ofconsole_term_output): ... this. Update all users.
40538 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40539 (grub_serial_term_input): ... this, and ...
40540 (grub_serial_term_output): ... this. Update all users.
40541 * term/i386/pc/console.c (grub_console_term): Split into ...
40542 (grub_console_term_input): ... this, and ...
40543 (grub_console_term_output): ... this. Update all users.
40544 (grub_console_term_input): Only enable it on PC/BIOS platform.
40545 (grub_console_init): Remove grub_keyboard_controller_init() call.
40546
40547 Migrate input terminals to new API:
40548
40549 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40550 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40551 i386-specific anyway).
40552 (grub_console_checkkey): Rename to ...
40553 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40554 users.
40555 (grub_keyboard_controller_orig): New variable.
40556 (grub_console_getkey): Rename to ...
40557 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40558 users.
40559 (grub_keyboard_controller_init): Static-ize. Save original
40560 controller value so that it can be restored ...
40561 (grub_keyboard_controller_fini): ... here (new function).
40562 (grub_at_keyboard_term): New structure.
40563 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40564 functions.
40565
40566 Migrate output terminals to new API:
40567
40568 * term/i386/pc/vga.c (grub_vga_term): Change type to
40569 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40570 members. Update all users.
40571 * term/gfxterm.c (grub_video_term): Change type to
40572 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40573 members. Update all users.
40574 * include/grub/i386/pc/console.h (grub_console_checkkey)
40575 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40576 etc).
40577
40578 Migrate `terminal' command and userland tools to new API:
40579
40580 * commands/terminal.c (grub_cmd_terminal): Split into ...
40581 (grub_cmd_terminal_input): ... this, and ...
40582 (grub_cmd_terminal_output): ... this.
40583 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40584 `terminal_input' and `terminal_output'.
40585 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40586 `terminal_input' / `terminal_output' API.
40587 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40588 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40589 provided ${GRUB_TERMINAL}, convert it).
40590
40591 2008-11-04 Robert Millan <rmh@aybabtu.com>
40592
40593 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40594 for FreeBSD.
40595 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40596
40597 2008-11-03 Bean <bean123ch@gmail.com>
40598
40599 * kern/elf.c (grub_elf32_load): Revert to previous code.
40600 (grub_elf64_load): Likewise.
40601
40602 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40603
40604 2008-11-01 Robert Millan <rmh@aybabtu.com>
40605
40606 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40607 (TARGET_CPPFLAGS): Likewise.
40608 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40609
40610 2008-11-01 Carles Pina i Estany <carles@pina.cat>
40611
40612 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40613
40614 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40615
40616 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40617 addition of objects until the code is not going to be able to fail.
40618
40619 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40620
40621 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40622 (add a missing NULL check, and correct them by moving the pointer
40623 operations after the actual check).
40624
40625 2008-10-29 Robert Millan <rmh@aybabtu.com>
40626
40627 * util/i386/pc/grub-install.in: Handle empty string as output from
40628 make_system_path_relative_to_its_root().
40629
40630 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40631
40632 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40633 circular metadata worst case scenario. If the metadata is circular
40634 then copy the wrap in place.
40635 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40636 project lib/format_text/layout.h
40637 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40638
40639 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40640
40641 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
40642
40643 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40644
40645 * util/update-grub_lib.in: Mention filename in warning message.
40646
40647 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40648
40649 * NEWS: Update for rename of update-grub to grub-mkconfig.
40650
40651 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40652
40653 * util/update-grub_lib.in: Copy to ...
40654 * util/grub-mkconfig_lib.in: ... this. Update all users.
40655 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
40656 * util/update-grub.in: Rename to ...
40657 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40658 option. Add `--output' option to allow users to specify the generated
40659 configuration file. Default to stdout.
40660 (update_grub_dir): Rename to ...
40661 (grub_mkconfig_dir): ... this.
40662 (grub_cfg): Default to an empty string.
40663 * conf/common.rmk (update-grub): Rename to ...
40664 (grub-mkconfig): ... this.
40665 (update-grub_lib): Copy to ...
40666 (grub-mkconfig_lib): ... this.
40667 (update-grub_SCRIPTS): Copy to ...
40668 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40669 (update-grub_DATA): Rename to ...
40670 (grub-mkconfig_DATA): ... this.
40671
40672 2008-09-28 Robert Millan <rmh@aybabtu.com>
40673
40674 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40675 to `modified'. Add the real `created' field.
40676 (grub_iso9660_uuid): Use `modified' rather than `created' for
40677 constructing the UUID.
40678
40679 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
40680
40681 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40682 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40683
40684 2008-09-28 Bean <bean123ch@gmail.com>
40685
40686 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40687 Thanks to Christian Franke for finding this bug.
40688
40689 2008-09-25 Robert Millan <rmh@aybabtu.com>
40690
40691 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40692 instances of grub_util_get_disk_name() (see previous commit).
40693
40694 2008-09-25 Robert Millan <rmh@aybabtu.com>
40695
40696 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40697 `util/i386/get_disk_name.c'.
40698 * conf/i386-efi.rmk: Likewise.
40699 * conf/x86_64-efi.rmk: Likewise.
40700 * conf/i386-coreboot.rmk: Likewise.
40701 * conf/i386-ieee1275.rmk: Likewise.
40702 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40703 `util/ieee1275/get_disk_name.c'.
40704 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40705 * util/ieee1275/get_disk_name.c: Remove file.
40706 * util/i386/get_disk_name.c: Remove file.
40707 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40708 "hd%d" for device.map entries, rather than using
40709 grub_util_get_disk_name().
40710
40711 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40712
40713 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40714 warning.
40715 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40716
40717 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40718
40719 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40720 Changed to 0x5100.
40721 (GRUB_TERM_PPAGE): Changed to 0x4900.
40722
40723 2008-09-24 Robert Millan <rmh@aybabtu.com>
40724
40725 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40726 macros (they were i386-pc specific).
40727 * include/grub/sparc64/ieee1275/console.h: Likewise.
40728 * include/grub/efi/console.h: Likewise.
40729
40730 2008-09-22 Bean <bean123ch@gmail.com>
40731
40732 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40733 resident and in attribute list.
40734
40735 * include/grub/ntfs.h (BMP_LEN): Removed.
40736
40737 2008-09-22 Bean <bean123ch@gmail.com>
40738
40739 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
40740 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40741
40742 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40743 error occurs, as grub_disk_open will call grub_disk_close, which will
40744 call p->close (scsi).
40745
40746 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40747
40748 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40749 (AC_PREREQ): Bumped to 2.59.
40750 (AC_TRY_COMPILE): Replace obsolete macro with ...
40751 (AC_COMPILE_IFELSE): ... this.
40752 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40753 (AC_LINK_IFELSE): ... this.
40754
40755 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40756
40757 * autogen.sh: Add a call to `gendistlist.sh'.
40758
40759 2008-09-19 Christian Franke <franke@computer.org>
40760
40761 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40762 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40763 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40764 Export __enable_execute_stack() to modules.
40765 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40766 New function.
40767
40768 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40769
40770 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40771 Sort the list.
40772
40773 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40774
40775 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
40776 #include <grub/util/hostdisk.h>.
40777
40778 2008-09-08 Robert Millan <rmh@aybabtu.com>
40779
40780 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40781 segments when their filesz is zero (grub_file_read() interprets
40782 zero-size as "read until EOF", which results in memory corruption).
40783 Use `lowest_segment' rather than 0 for calculating the current
40784 segment load address.
40785
40786 2008-09-08 Robert Millan <rmh@aybabtu.com>
40787
40788 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40789 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40790 clobbered useful information.
40791
40792 2008-09-08 Robert Millan <rmh@aybabtu.com>
40793
40794 * include/grub/util/biosdisk.h: Move to ...
40795 * include/grub/util/hostdisk.h: ... here. Update all users.
40796 * util/biosdisk.c: Move to ...
40797 * util/hostdisk.c: ... here. Update all users.
40798
40799 2008-09-07 Robert Millan <rmh@aybabtu.com>
40800
40801 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40802 variables.
40803 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40804 and length can be stored directly in the `mbi->mmap_addr' and
40805 `mbi->mmap_length' struct fields.
40806
40807 2008-09-07 Robert Millan <rmh@aybabtu.com>
40808
40809 * conf/i386.rmk: New file. Provides declaration for building
40810 `cpuid.mod'.
40811 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40812 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40813 variables.
40814 Include `conf/i386.mk'.
40815 * conf/i386-efi.rmk: Likewise.
40816 * conf/x86_64-efi.rmk: Likewise.
40817 * conf/i386-coreboot.rmk: Likewise.
40818 * conf/i386-ieee1275.rmk: Likewise.
40819
40820 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40821
40822 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40823 Adds optimization support for BGR based modes.
40824
40825 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40826 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40827 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40828 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40829 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40830 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40831 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40832 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40833 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40834 (grub_video_i386_vbeblit_index_index): Likewise.
40835 (grub_video_i386_vbeblit_replace_directN): Added.
40836 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40837 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40838 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40839 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40840 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40841 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40842 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40843 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40844 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40845 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40846 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40847 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40848 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40849
40850 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40851 (grub_video_i386_vbefill_R8G8B8): Likewise.
40852 (grub_video_i386_vbefill_index): Likewise.
40853 (grub_video_i386_vbefill_direct32): Added.
40854 (grub_video_i386_vbefill_direct24): Likewise.
40855 (grub_video_i386_vbefill_direct16): Likewise.
40856 (grub_video_i386_vbefill_direct8): Likewise.
40857
40858 * include/grub/video.h (grub_video_blit_format): Removed
40859 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40860 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40861 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40862 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40863 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
40864
40865 * video/video.c (grub_video_get_blit_format): Updated to use new
40866 blit formats. Added handling for 16 bit color modes.
40867
40868 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
40869 fillers.
40870 (common_blitter): Updated to use new blitters.
40871
40872 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40873 Removed.
40874 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40875 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40876 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40877 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40878 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40879 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40880 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40881 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40882 (grub_video_i386_vbeblit_index_index): Likewise.
40883 (grub_video_i386_vbeblit_replace_directN): Added.
40884 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40885 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40886 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40887 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40888 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40889 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40890 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40891 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40892 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40893 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40894 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40895 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40896 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40897
40898 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40899 (grub_video_i386_vbefill_R8G8B8): Likewise.
40900 (grub_video_i386_vbefill_index): Likewise.
40901 (grub_video_i386_vbefill_direct32): Added.
40902 (grub_video_i386_vbefill_direct24): Likewise.
40903 (grub_video_i386_vbefill_direct16): Likewise.
40904 (grub_video_i386_vbefill_direct8): Likewise.
40905
40906 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40907 types.
40908
40909 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40910 types.
40911
40912 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40913 blitter types.
40914
40915 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40916 types.
40917
40918 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40919
40920 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40921 RAID level 1.
40922
40923 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40924
40925 * fs/iso9660.c (grub_iso9660_date): New structure.
40926 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40927 (grub_iso9660_uuid): New function.
40928
40929 2008-09-05 Bean <bean123ch@gmail.com>
40930
40931 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40932
40933 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40934 insensitive bit for names in Win32 and Win32 & DOS namespace.
40935
40936 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40937
40938 * include/grub/types.h (LONG_MAX): Likewise.
40939
40940 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40941
40942 * util/getroot.c: Include <config.h>.
40943 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40944 add support for /dev/md/N devices and handle LVM double dash escaping.
40945
40946 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40947
40948 * config.guess: Update to latest version from config git.
40949 * config.sub: Likewise.
40950
40951 2008-09-03 Robert Millan <rmh@aybabtu.com>
40952
40953 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40954 `disk->total_sectors'.
40955
40956 2008-09-01 Colin D Bennett <colin@gibibit.com>
40957
40958 * include/grub/normal.h: Fixed incorrect comment for
40959 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40960
40961 2008-09-01 Colin D Bennett <colin@gibibit.com>
40962
40963 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40964 values with defines.
40965
40966 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40967 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40968 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40969 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40970 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40971 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40972 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40973 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40974 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40975 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40976 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40977 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40978 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40979 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40980 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40981 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40982 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40983 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40984 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40985
40986 2008-08-31 Robert Millan <rmh@aybabtu.com>
40987
40988 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40989 declaration.
40990 (grub_multiboot): Fix a few warnings.
40991
40992 2008-08-31 Robert Millan <rmh@aybabtu.com>
40993
40994 * loader/i386/pc/multiboot.c: Update comment not to say that
40995 boot_device support is unimplemented.
40996
40997 2008-08-31 Robert Millan <rmh@aybabtu.com>
40998
40999 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41000 or memory map support are unimplemented.
41001
41002 2008-08-31 Colin D Bennett <colin@gibibit.com>
41003
41004 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41005
41006 2008-08-31 Colin D Bennett <colin@gibibit.com>
41007
41008 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41009 total video memory in 'vbeinfo' output; show color format details for
41010 each video mode.
41011
41012 2008-08-30 Pavel Roskin <proski@gnu.org>
41013
41014 * util/genmoddep.c: Remove for real this time.
41015 * DISTLIST: Remove util/genmoddep.c.
41016
41017 2008-08-30 Robert Millan <rmh@aybabtu.com>
41018
41019 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41020 as required by Multiboot spec (it was already 4-byte aligned, but
41021 only by chance).
41022
41023 2008-08-29 Pavel Roskin <proski@gnu.org>
41024
41025 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41026 * kern/powerpc/ieee1275/startup.S: ... this.
41027 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41028 * DISTLIST: Likewise.
41029
41030 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41031 grub/cpu/kernel.h. Add start label for consistency with other
41032 platforms. Add grub_prefix immediately after start. Add jump
41033 to the code after grub_prefix.
41034 * include/grub/powerpc/kernel.h: Provide valid values for
41035 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41036
41037 2008-08-29 Bean <bean123ch@gmail.com>
41038
41039 * configure.ac: Change host_os to cygwin for mingw.
41040 (asprintf): New check for function.
41041
41042 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41043 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41044
41045 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
41046 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
41047 sync, sleep and grub_util_get_disk_size for mingw.
41048
41049 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41050 to get size in mingw.
41051 (open_device): Use flag O_BINARY if it's defined.
41052 (find_root_device): Add dummy code for mingw.
41053
41054 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41055 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41056 (get_scsi_disk_name): Return 0 for mingw.
41057
41058 * util/hostfs.c: #include <grub/util/misc.h>.
41059 (grub_hostfs_open): Use "rb" flag to open file, use
41060 grub_util_get_disk_size to get disk size for mingw.
41061
41062 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41063 (asprintf): New function if HAVE_ASPRINTF is not set.
41064 (sync): New function for mingw.
41065 (sleep): Likewise.
41066 (grub_util_get_disk_size): Likewise.
41067
41068 2008-08-28 Pavel Roskin <proski@gnu.org>
41069
41070 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41071 kern/time.c.
41072
41073 2008-08-28 Robert Millan <rmh@aybabtu.com>
41074
41075 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41076
41077 2008-08-28 Robert Millan <rmh@aybabtu.com>
41078
41079 Change find_grub_drive() syntax so it doesn't prevent it from
41080 detecting NULL names as errors.
41081
41082 * util/biosdisk.c (find_grub_drive): Move free slot search code
41083 from here ...
41084 (find_free_slot): ... to here.
41085 (read_device_map): Use find_free_slot() to search for free slots.
41086
41087 2008-08-27 Marco Gerards <marco@gnu.org>
41088
41089 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41090 (scsi_mod_SOURCES): New variable.
41091 (scsi_mod_CFLAGS): Likewise
41092 (scsi_mod_LDFLAGS): Likewise.
41093
41094 * disk/scsi.c: New file.
41095
41096 * include/grub/scsi.h: Likewise.
41097
41098 * include/grub/scsicmd.h: Likewise.
41099
41100 * disk/ata.c: Include <grub/scsi.h>.
41101 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41102 instead.
41103 (grub_ata_iterate): Skip ATAPI devices.
41104 (grub_ata_open): Only handle ATAPI devices.
41105 (struct grub_atapi_read): Removed.
41106 (grub_atapi_readsector): Likewise.
41107 (grub_ata_read): No longer handle ATAPI devices.
41108 (grub_ata_write): Likewise.
41109 (grub_atapi_iterate): New function.
41110 (grub_atapi_read): Likewise.
41111 (grub_atapi_write): Likewise.
41112 (grub_atapi_open): Likewise.
41113 (grub_atapi_close): Likewise.
41114 (grub_atapi_dev): New variable.
41115 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41116 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41117
41118 * include/grub/disk.h (enum grub_disk_dev_id): Add
41119 `GRUB_DISK_DEVICE_SCSI_ID'.
41120
41121 2008-08-26 Robert Millan <rmh@aybabtu.com>
41122
41123 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41124 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41125 descriptive.
41126
41127 2008-08-23 Bean <bean123ch@gmail.com>
41128
41129 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41130 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41131 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41132 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41133 dm_nv.mod.
41134 (raid5rec_mod_SOURCES): New macro.
41135 (raid5rec_mod_CFLAGS): Likewise.
41136 (raid5rec_mod_LDFLAGS): Likewise.
41137 (raid6rec_mod_SOURCES): Likewise.
41138 (raid6rec_mod_CFLAGS): Likewise.
41139 (raid6rec_mod_LDFLAGS): Likewise.
41140 (mdraid_mod_SOURCES): Likewise.
41141 (mdraid_mod_CFLAGS): Likewise.
41142 (mdraid_mod_LDFLAGS): Likewise.
41143 (dm_nv_mod_SOURCES): Likewise.
41144 (dm_nv_mod_CFLAGS): Likewise.
41145 (dm_nv_mod_LDFLAGS): Likewise.
41146
41147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41148 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41149 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41150
41151 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41152 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41153
41154 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41155
41156 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41157
41158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41159
41160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41161
41162 * disk/raid5_recover.c: New file.
41163
41164 * disk/raid6_recover.c: Likewise.
41165
41166 * disk/mdraid_linux.c: Likewise.
41167
41168 * disk/dmraid_nvidia.c: Likewise.
41169
41170 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41171 ULONG_MAX.
41172
41173 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41174 calculate the size of raid device.
41175 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41176 different layout of raid5.
41177 (grub_raid_scan_device): Remove code specific to mdraid.
41178 (grub_raid_list): New variable.
41179 (free_array): New function.
41180 (grub_raid_register): Likewise.
41181 (grub_raid_unregister): Likewise.
41182 (grub_raid_rescan): Likewise.
41183 (GRUB_MOD_INIT): Don't iterate device here.
41184 (GRUB_MOD_FINI): Use free_array to release resource.
41185
41186 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41187 (grub_raid5_recover_func_t): New function variable type.
41188 (grub_raid6_recover_func_t): Likewise.
41189 (grub_raid5_recover_func): New variable.
41190 (grub_raid6_recover_func): Likewise.
41191 (grub_raid_register): New function.
41192 (grub_raid_unregister): Likewise.
41193 (grub_raid_rescan): Likewise.
41194 (grub_raid_block_xor): Likewise.
41195
41196 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41197 (CMD_CRC): New macro.
41198 (part): Removed.
41199 (read_file): Handle device as well as file.
41200 (cmd_crc): New function.
41201 (fstest): Handle multiple disks.
41202 (options): Remove part, raw and long, add root and diskcount.
41203 (usage): Add crc, remove -p, -r, -l, add -r and -c.
41204 (main): Find the first non option entry and ignore subsequent options,
41205 add handling for the new options, support multiple disks.
41206
41207 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41208
41209 2008-08-23 Bean <bean123ch@gmail.com>
41210
41211 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41212
41213 * genfslist.sh: Ignore kernel.mod.
41214
41215 * genpartmaplist.sh: Likewise.
41216
41217 2008-08-23 Robert Millan <rmh@aybabtu.com>
41218
41219 * util/getroot.c (find_root_device): Skip anything that starts with
41220 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41221
41222 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
41223
41224 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41225 * util/grub.d/00_header.in: Allow the administrator to change default
41226 gfxmode via ${GRUB_GFXMODE}.
41227
41228 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
41229
41230 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41231
41232 2008-08-21 Robert Millan <rmh@aybabtu.com>
41233
41234 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41235 loader.
41236 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41237 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41238
41239 2008-08-20 Carles Pina i Estany <carles@pina.cat>
41240
41241 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41242 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41243
41244 2008-08-19 Robert Millan <rmh@aybabtu.com>
41245
41246 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41247 (struct grub_virtual_screen): Remove `cursor_color'.
41248 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41249 initialization.
41250 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41251
41252 2008-08-18 Robert Millan <rmh@aybabtu.com>
41253
41254 Unify (identical) linux_normal.c files.
41255 * loader/i386/efi/linux_normal.c: Move from here ...
41256 * loader/linux_normal.c: ... to here. Update all users.
41257 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41258 * loader/i386/ieee1275/linux_normal.c: Likewise.
41259
41260 2008-08-18 Robert Millan <rmh@aybabtu.com>
41261
41262 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41263 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41264 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41265 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41266 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41267 New macros.
41268 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41269 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41270 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41271 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41272 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41273 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41274 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41275 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41276 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41277 portably using grub_getxy().
41278 Replace `-EFI' with `-bzImage' in boot message.
41279
41280 2008-08-17 Robert Millan <rmh@aybabtu.com>
41281
41282 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41283
41284 2008-08-17 Robert Millan <rmh@aybabtu.com>
41285
41286 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41287
41288 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41289 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41290 (grub_machine_mmap_iterate): New function declaration.
41291 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41292 structure.
41293 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41294 macros.
41295
41296 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41297 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41298 Move e820 parsing from here ...
41299 * kern/i386/pc/mmap.c: New file.
41300 (grub_machine_mmap_iterate): ... to here.
41301
41302 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41303 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41304 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41305 (grub_available_iterate): Redeclare to return `void', and redeclare
41306 its hook to use grub_uint64_t as addr and size parameters, and rename
41307 to ...
41308 (grub_machine_mmap_iterate): ... this. Update all users.
41309
41310 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41311 to make it more readable. Rename to ...
41312 (grub_machine_mmap_iterate): ... this.
41313
41314 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41315 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41316 (grub_multiboot): Allocate an extra region after the payload, and fill
41317 it with a Multiboot memory map. Adjust a.out loader to calculate size
41318 with the extra space.
41319 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41320 with the extra space.
41321
41322 2008-08-17 Carles Pina i Estany <carles@pina.cat>
41323
41324 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
41325
41326 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
41327
41328 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41329 mdate-sh to the list `find' searches for.
41330 * DISTLIST: Regenerated.
41331
41332 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
41333
41334 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41335 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
41336 genmoddep.awk, gensymlist.sh.in.
41337 (DISTDIRS): Add bus, docs, hook, lib.
41338 * DISTLIST: Regenerated.
41339 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
41340
41341 2008-08-16 Robert Millan <rmh@aybabtu.com>
41342
41343 * disk/raid.c (grub_raid_init): Handle/report errors set by
41344 grub_device_iterate().
41345 * disk/lvm.c (grub_lvm_init): Likewise.
41346
41347 2008-08-15 Bean <bean123ch@gmail.com>
41348
41349 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41350 and datehook.mod.
41351 (datetime_mod_SOURCES): New macro.
41352 (datetime_mod_CFLAGS): Likewise.
41353 (datetime_mod_LDFLAGS): Likewise.
41354 (date_mod_SOURCES): Likewise.
41355 (date_mod_CFLAGS): Likewise.
41356 (date_mod_LDFLAGS): Likewise.
41357 (datehook_mod_SOURCES): Likewise.
41358 (datehook_mod_CFLAGS): Likewise.
41359 (datehook_mod_LDFLAGS): Likewise.
41360
41361 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41362 and datehook.mod.
41363 (datetime_mod_SOURCES): New macro.
41364 (datetime_mod_CFLAGS): Likewise.
41365 (datetime_mod_LDFLAGS): Likewise.
41366 (date_mod_SOURCES): Likewise.
41367 (date_mod_CFLAGS): Likewise.
41368 (date_mod_LDFLAGS): Likewise.
41369 (datehook_mod_SOURCES): Likewise.
41370 (datehook_mod_CFLAGS): Likewise.
41371 (datehook_mod_LDFLAGS): Likewise.
41372
41373 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41374 and datehook.mod.
41375 (datetime_mod_SOURCES): New macro.
41376 (datetime_mod_CFLAGS): Likewise.
41377 (datetime_mod_LDFLAGS): Likewise.
41378 (date_mod_SOURCES): Likewise.
41379 (date_mod_CFLAGS): Likewise.
41380 (date_mod_LDFLAGS): Likewise.
41381 (datehook_mod_SOURCES): Likewise.
41382 (datehook_mod_CFLAGS): Likewise.
41383 (datehook_mod_LDFLAGS): Likewise.
41384
41385 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41386 and datehook.mod.
41387 (datetime_mod_SOURCES): New macro.
41388 (datetime_mod_CFLAGS): Likewise.
41389 (datetime_mod_LDFLAGS): Likewise.
41390 (date_mod_SOURCES): Likewise.
41391 (date_mod_CFLAGS): Likewise.
41392 (date_mod_LDFLAGS): Likewise.
41393 (datehook_mod_SOURCES): Likewise.
41394 (datehook_mod_CFLAGS): Likewise.
41395 (datehook_mod_LDFLAGS): Likewise.
41396
41397 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41398 and datehook.mod.
41399 (datetime_mod_SOURCES): New macro.
41400 (datetime_mod_CFLAGS): Likewise.
41401 (datetime_mod_LDFLAGS): Likewise.
41402 (date_mod_SOURCES): Likewise.
41403 (date_mod_CFLAGS): Likewise.
41404 (date_mod_LDFLAGS): Likewise.
41405 (datehook_mod_SOURCES): Likewise.
41406 (datehook_mod_CFLAGS): Likewise.
41407 (datehook_mod_LDFLAGS): Likewise.
41408
41409 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41410
41411 * commands/date.c: New file.
41412
41413 * hook/datehook.c: Likewise.
41414
41415 * include/grub/lib/datetime.h: Likewise.
41416
41417 * include/grub/i386/cmos.h: Likewise.
41418
41419 * lib/datetime.c: Likewise.
41420
41421 * lib/i386/datetime.c: Likewise.
41422
41423 * lib/efi/datetime.c: Likewise.
41424
41425 2008-08-14 Robert Millan <rmh@aybabtu.com>
41426
41427 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41428 (grub_mkelfimage_SOURCES): New variable.
41429 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41430
41431 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41432 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41433 * conf/powerpc-ieee1275.rmk: Likewise.
41434 * conf/i386-ieee1275.rmk: Likewise.
41435
41436 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41437 * kern/i386/coreboot/init.c: Likewise.
41438
41439 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41440 with `<grub/cpu/kernel.h>'.
41441 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41442 to ...
41443 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41444 * kern/i386/coreboot/startup.S: Likewise.
41445
41446 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41447 (GRUB_MOD_GAP): Remove.
41448 * include/grub/powerpc/kernel.h: New file.
41449 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41450 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41451 * include/grub/i386/kernel.h: New file.
41452 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41453 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41454 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41455
41456 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41457 `grub-mkelfimage'.
41458 Use --directory when invoking grub_mkimage.
41459
41460 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41461 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41462 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41463 and GRUB_KERNEL_CPU_PREFIX.
41464
41465 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
41466
41467 * include/grub/err.h (grub_err_printf): New function prototype.
41468 * util/misc.c (grub_err_printf): New function.
41469 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41470 grub_printf.
41471 * kern/err.c (grub_print_error): Use grub_err_printf.
41472
41473 2008-08-13 Robert Millan <rmh@aybabtu.com>
41474
41475 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41476
41477 2008-08-13 Robert Millan <rmh@aybabtu.com>
41478
41479 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41480 boot entry.
41481
41482 2008-08-12 Robert Millan <rmh@aybabtu.com>
41483
41484 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41485 of the relocation code from here ...
41486 (grub_multiboot): ... to here.
41487 (forward_relocator, backward_relocator): Move from here ...
41488 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41489 (grub_multiboot_backward_relocator): ... to here.
41490 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41491 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41492 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41493 (grub_multiboot_forward_relocator_end)
41494 (grub_multiboot_backward_relocator)
41495 (grub_multiboot_backward_relocator_end): New variables.
41496
41497 2008-08-12 Bean <bean123ch@gmail.com>
41498
41499 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41500
41501 2008-08-11 Robert Millan <rmh@aybabtu.com>
41502
41503 * kern/i386/linuxbios/startup.S: Move from here ...
41504 * kern/i386/coreboot/startup.S: ... to here.
41505
41506 * kern/i386/linuxbios/init.c: Move from here ...
41507 * kern/i386/coreboot/init.c: ... to here.
41508
41509 * kern/i386/linuxbios/table.c: Move from here ...
41510 * kern/i386/coreboot/mmap.c: ... to here.
41511
41512 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41513
41514 2008-08-11 Robert Millan <rmh@aybabtu.com>
41515
41516 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41517 errors. Leave it to the upper layer to handle them.
41518
41519 2008-08-09 Christian Franke <franke@computer.org>
41520
41521 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41522 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41523 Install `grub.d/10_windows' only on Cygwin.
41524 * configure.ac: Add subst of `target_os'.
41525 Check `target_os' also before setting TARGET_OBJ2ELF.
41526 Add `--enable-grub-pe2elf'.
41527
41528 2008-08-08 Robert Millan <rmh@aybabtu.com>
41529
41530 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41531 (grub_last_time): Change type to grub_uint64_t.
41532 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41533 (grub_disk_close): Likewise.
41534
41535 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41536 (run_menu): Migrate code from to using grub_get_time_ms().
41537
41538 * util/misc.c (grub_get_time_ms): New function.
41539
41540 2008-08-08 Marco Gerards <marco@gnu.org>
41541
41542 * disk/ata.c (grub_ata_regget): Change return type to
41543 `grub_uint8_t'.
41544 (grub_ata_regget2): Likewise.
41545 (grub_ata_wait_status): New function.
41546 (grub_ata_wait_busy): Removed function, updated all users to use
41547 `grub_ata_wait_status'.
41548 (grub_ata_wait_drq): Likewise.
41549 (grub_ata_cmd): New function.
41550 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41551 error handling.
41552 (grub_ata_pio_write): Add error handling.
41553 (grub_atapi_identify): Likewise.
41554 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41555 handling.
41556 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41557 handling. Actually use the detected registers. Reorder the
41558 detection logic such that it is easier to read.
41559 (grub_ata_pciinit): Do not assign the same ID to each controller.
41560 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41561 handling.
41562 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41563
41564 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41565
41566 2008-08-08 Marco Gerards <marco@gnu.org>
41567
41568 * NEWS: Update.
41569
41570 2008-08-07 Bean <bean123ch@gmail.com>
41571
41572 * include/grub/x86_64/pci.h: New file.
41573
41574 2008-08-07 Christian Franke <franke@computer.org>
41575
41576 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41577 (TIMER2_GATE): Likewise.
41578 (grub_pit_wait): Add enable/disable of the timer2 gate
41579 bit of port 0x61. This fixes a possible infinite loop.
41580
41581 2008-08-07 Bean <bean123ch@gmail.com>
41582
41583 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41584 kern/i386/tsc.c and kern/i386/pit.c.
41585
41586 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41587 x86_64 platform.
41588
41589 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41590 <grub/i386/tsc.h>.
41591
41592 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41593
41594 2008-08-07 Bean <bean123ch@gmail.com>
41595
41596 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41597
41598 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41599
41600 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41601 multiple inclusion. Add #include <grub/types.h>.
41602
41603 2008-08-06 Christian Franke <franke@computer.org>
41604
41605 * conf/common.rmk: Build and install `10_windows'.
41606 * util/grub.d/10_windows.in: New script.
41607
41608 2008-08-06 Pavel Roskin <proski@gnu.org>
41609
41610 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41611
41612 2008-08-06 Robert Millan <rmh@aybabtu.com>
41613
41614 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41615 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41616
41617 2008-08-06 Bean <bean123ch@gmail.com>
41618
41619 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41620 (grub_pxefs_fs_int): Remove dummy definition.
41621 (grub_pxefs_open): Use data->block_size to store the current block
41622 size setting.
41623 (grub_pxefs_read): Use block size stored in data->block_size. As the
41624 value of grub_pxe_blksize can be changed after the file is opened.
41625
41626 2008-08-06 Bean <bean123ch@gmail.com>
41627
41628 * fs/i386/pc/pxe.c (curr_file): new variable.
41629 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41630 require the dummy internal file system anymore.
41631 (grub_pxefs_read): Removed.
41632 (grub_pxefs_close): Likewise.
41633 (grub_pxefs_fs_int): Likewise.
41634 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41635 connection when we switch file.
41636 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41637
41638 2008-08-06 Robert Millan <rmh@aybabtu.com>
41639
41640 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41641 `halt.mod'.
41642 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41643 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41644
41645 * kern/i386/halt.c: New file.
41646 * kern/i386/reboot.c: Likewise.
41647 * include/grub/i386/reboot.h: Likewise.
41648 * include/grub/i386/halt.h: Likewise.
41649
41650 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41651 Include `<grub/cpu/halt.h>'.
41652 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41653 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41654
41655 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41656 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41657 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41658 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41659 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41660 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41661 from here ...
41662 * include/grub/i386/at_keyboard.h: ... to here.
41663
41664 2008-08-05 Robert Millan <rmh@aybabtu.com>
41665
41666 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41667 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41668 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41669 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41670 `kern/generic/millisleep.c'.
41671
41672 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41673 instead of grub_get_rtc().
41674 (grub_tsc_init): Initialize `tsc_boot_time'.
41675
41676 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41677 (grub_machine_init): Use grub_tsc_init() rather than
41678 installing an RTC-based handler via grub_install_get_time_ms().
41679
41680 * kern/i386/pit.c: New file.
41681 * include/grub/i386/pit.h: Likewise.
41682
41683 2008-08-05 Bean <bean123ch@gmail.com>
41684
41685 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41686
41687 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41688 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41689 (pxe_mod_SOURCES): New macro.
41690 (pxe_mod_CFLAGS): Likewise.
41691 (pxe_mod_LDFLAGS): Likewise.
41692 (pxecmd_mod_SOURCES): Likewise.
41693 (pxecmd_mod_CFLAGS): Likewise.
41694 (pxecmd_mod_LDFLAGS): Likewise.
41695
41696 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41697 (grub_pxe_call): Likewise.
41698
41699 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41700
41701 * commands/i386/pc/pxecmd.c: New file.
41702
41703 * fs/i386/pc/pxe.c: Likewise.
41704
41705 * include/grub/i386/pc/pxe.h: Likewise.
41706
41707 2008-08-05 Bean <bean123ch@gmail.com>
41708
41709 * util/console.c (grub_console_cur_color): New variable.
41710 (grub_console_standard_color): Likewise.
41711 (grub_console_normal_color): Likewise.
41712 (grub_console_highlight_color): Likewise.
41713 (color_map): Likewise.
41714 (use_color): Likewise.
41715 (NUM_COLORS): New macro.
41716 (grub_ncurses_setcolorstate): Handle color properly.
41717 (grub_ncurses_setcolor): Don't change color here, just remember the
41718 settings, color will be set in grub_ncurses_setcolorstate.
41719 (grub_ncurses_getcolor): New function.
41720 (grub_ncurses_init): Initialize color pairs.
41721 (grub_ncurses_term): New member grub_ncurses_getcolor.
41722
41723 2008-08-05 Colin D Bennett <colin@gibibit.com>
41724
41725 High resolution timer support. Implemented for x86 CPUs using TSC.
41726 Extracted generic grub_millisleep() so it's linked in only as needed.
41727 This requires a Pentium compatible CPU; if the RDTSC instruction is
41728 not supported, then it falls back on the generic grub_get_time_ms()
41729 implementation that uses the machine's RTC.
41730
41731 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41732 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41733 `kern/generic/millisleep.c'.
41734
41735 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41736 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41737
41738 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41739 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41740
41741 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41742
41743 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41744 `kern/generic/millisleep.c'.
41745
41746 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41747
41748 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41749
41750 * kern/generic/rtc_get_time_ms.c: New file.
41751
41752 * kern/generic/millisleep.c: New file.
41753
41754 * kern/misc.c: Don't include
41755 <kern/time.h> anymore.
41756 (grub_millisleep_generic): Removed.
41757
41758 * commands/sleep.c (grub_interruptible_millisleep): Uses
41759 grub_get_time_ms() instead of grub_get_rtc().
41760
41761 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41762 function.
41763 (grub_cpu_is_cpuid_supported): New inline function.
41764 (grub_cpu_is_tsc_supported): New inline function.
41765 (grub_tsc_init): New function prototype.
41766 (grub_tsc_get_time_ms): New function prototype.
41767
41768 * kern/i386/tsc.c (grub_get_time_ms): New file.
41769
41770 * include/grub/time.h: Include <grub/types.h.
41771 (grub_millisleep_generic): Removed.
41772 (grub_get_time_ms): New prototype.
41773 (grub_install_get_time_ms): New prototype.
41774 (grub_rtc_get_time_ms): New prototype.
41775
41776 * kern/time.c (grub_get_time_ms): New function.
41777 (grub_install_get_time_ms): New function.
41778
41779 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41780 <grub/time.h> anymore.
41781 (grub_millisleep): Removed.
41782 (grub_machine_init): Call grub_tsc_init.
41783
41784 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41785 get_time_ms() implementation.
41786
41787 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41788 (ieee1275_get_time_ms): New function.
41789 (grub_machine_init): Install get_time_ms() implementation.
41790
41791 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41792 (grub_machine_init): Call grub_tsc_init().
41793 (grub_millisleep): Removed.
41794
41795 * kern/ieee1275/init.c (grub_millisleep): Removed.
41796 (grub_machine_init): Install ieee1275_get_time_ms()
41797 implementation.
41798 (ieee1275_get_time_ms): New function.
41799 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41800 real work.
41801
41802 2008-08-05 Marco Gerards <marco@gnu.org>
41803
41804 * disk/ata.c: Include <grub/pci.h>.
41805 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41806 (grub_ata_initialize): Rewritten.
41807 (grub_ata_device_initialize): New function.
41808
41809 2008-08-04 Pavel Roskin <proski@gnu.org>
41810
41811 * kern/main.c: Include grub/mm.h.
41812
41813 2008-08-04 Robert Millan <rmh@aybabtu.com>
41814
41815 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41816 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41817 corruption problem).
41818
41819 2008-08-04 Robert Millan <rmh@aybabtu.com>
41820
41821 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41822 warnings introduced in my last commit.
41823
41824 2008-08-03 Robert Millan <rmh@aybabtu.com>
41825
41826 Make PCI available on all i386 architectures.
41827
41828 * include/grub/i386/pc/pci.h: Move from here ...
41829 * include/grub/i386/pci.h: ... to here.
41830
41831 * include/grub/i386/pc/pci.h: Remove.
41832 * include/grub/i386/efi/pci.h: Remove.
41833 * include/grub/x86_64/efi/pci.h: Remove.
41834
41835 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41836 `<grub/cpu/pci.h>'.
41837
41838 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41839 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41840 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41841
41842 * conf/i386-ieee1275.rmk: Likewise.
41843
41844 2008-08-03 Robert Millan <rmh@aybabtu.com>
41845
41846 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41847 (grub_console_setcursor): Make it possible to set cursor off.
41848
41849 2008-08-03 Robert Millan <rmh@aybabtu.com>
41850
41851 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41852 of modules instead of assuming which platform provides what.
41853 * util/update-grub.in: Likewise.
41854
41855 2008-08-03 Robert Millan <rmh@aybabtu.com>
41856
41857 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41858 instead of `grub_install_dos_part' to determine whether a drive needs
41859 to be prepended to prefix (`grub_install_dos_part' is not reliable,
41860 because it can be overridden when loading GRUB via Multiboot).
41861
41862 2008-08-02 Robert Millan <rmh@aybabtu.com>
41863
41864 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41865
41866 2008-08-02 Robert Millan <rmh@aybabtu.com>
41867
41868 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41869 of informational grub_dprintf() calls.
41870
41871 2008-08-02 Robert Millan <rmh@aybabtu.com>
41872
41873 * disk/memdisk.c (memdisk_size): Don't initialize.
41874 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41875
41876 * include/grub/i386/pc/kernel.h
41877 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41878 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41879 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41880 (grub_arch_memdisk_size): Remove.
41881
41882 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41883 field (was only used to transfer a constant). Add `type' field to
41884 support multiple module types.
41885 (grub_module_iterate): New function.
41886
41887 * kern/device.c (grub_device_open): Do not hide error messages
41888 when grub_disk_open() fails. Use grub_print_error() instead.
41889
41890 * kern/i386/pc/init.c (grub_arch_modules_addr)
41891 (grub_arch_memdisk_size): Remove functions.
41892 (grub_arch_modules_addr): Return the module address in high memory
41893 (now that it isn't copied anymore).
41894
41895 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41896 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41897 decompression routine (grub_total_module_size already includes that
41898 now). Don't copy modules back to low memory.
41899
41900 * kern/main.c: Include `<grub/mm.h>'.
41901 (grub_load_modules): Split out (and use) ...
41902 (grub_module_iterate): ... this function, which iterates through
41903 module objects and runs a hook.
41904 Comment out grub_mm_init_region() call, as it would cause non-ELF
41905 modules to be overwritten.
41906
41907 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41908 the memdisk image in its own region, make it part of the module list.
41909 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41910 (main): Parse --memdisk|-m option, and pass user-provided path as
41911 parameter to generate_image().
41912 (add_segments): Pass `memdisk_path' down to load_modules().
41913 (load_modules): Embed memdisk image in module section when requested.
41914 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41915 `header.type' instead of `header.offset'.
41916
41917 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41918 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41919 (memdisk_mod_LDFLAGS): New variables.
41920 * conf/i386-coreboot.rmk: Likewise.
41921 * conf/i386-ieee1275.rmk: Likewise.
41922
41923 2008-08-02 Robert Millan <rmh@aybabtu.com>
41924
41925 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41926 (backward_relocator): New variables. Used to allocate and relocate
41927 the payload, respectively.
41928 (grub_multiboot_load_elf32): Load into heap instead of requested
41929 address, install the appropriate relocator code in each bound of
41930 the payload, and set the entry point such that
41931 grub_multiboot_real_boot() will jump to one of them.
41932
41933 * kern/i386/loader.S (grub_multiboot_payload_size)
41934 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41935 (grub_multiboot_payload_entry_offset): New variables.
41936 (grub_multiboot_real_boot): Set cpu context to what the relocator
41937 expects, and jump to the relocator instead of the payload.
41938
41939 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41940 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41941 (grub_multiboot_payload_entry_offset): Export.
41942
41943 2008-08-01 Bean <bean123ch@gmail.com>
41944
41945 * normal/menu_entry.c (editor_getline): Don't return the original
41946 string as result, as it will be released by lexer once it has done
41947 using it.
41948
41949 2008-08-01 Robert Millan <rmh@aybabtu.com>
41950
41951 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41952 within menuentries, not before them.
41953 util/grub.d/10_hurd.in: Likewise.
41954
41955 2008-08-01 Bean <bean123ch@gmail.com>
41956
41957 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41958 (bufio_mod_SOURCES): New macro.
41959 (bufio_mod_CFLAGS): Likewise.
41960 (bufio_mod_LDFLAGS): Likewise.
41961
41962 * include/grub/bufio.h: New file.
41963
41964 * io/bufio.c: Likewise.
41965
41966 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41967 (grub_video_reader_png): Use grub_buffile_open to open file.
41968
41969 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41970 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41971
41972 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41973 (grub_video_reader_tga): Use grub_buffile_open to open file.
41974
41975 * font/manager.c: Include <grub/bufio.h>.
41976 (add_font): Use grub_buffile_open to open file.
41977
41978 2008-07-31 Robert Millan <rmh@aybabtu.com>
41979
41980 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41981 ELF segments, use a macro for arbitrarily accessing any of them instead
41982 of preparing a pointer that allows access to one at a time.
41983 (grub_multiboot_load_elf64): Likewise.
41984
41985 2008-07-31 Bean <bean123ch@gmail.com>
41986
41987 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41988 GRUB_KERNEL_MACHINE_DATA_END.
41989
41990 2008-07-30 Robert Millan <rmh@aybabtu.com>
41991
41992 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41993 Increase from 0x50 to 0x60.
41994 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41995 use UUIDs to identify the root drive for them. If that's not
41996 possible, abort.
41997 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41998 check, for cross-disk installs.
41999
42000 2008-07-30 Robert Millan <rmh@aybabtu.com>
42001
42002 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42003 is non-empty, use it to set the `prefix' environment variable instead
42004 of the usual approach.
42005 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42006 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42007 environment variable instead of dummy make_install_device().
42008
42009 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42010 (start): Insert a data section, with `grub_prefix' variable.
42011 * kern/i386/linuxbios/startup.S: Likewise.
42012
42013 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42014 New variable reference.
42015 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42016 New macro. Defines offset of `grub_prefix' within startup.S (relative
42017 to `start').
42018 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42019 section within startup.S (relative to `start').
42020 * include/grub/i386/coreboot/kernel.h: Likewise.
42021
42022 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42023 Overwrite grub_prefix with its contents, at the beginning of the
42024 first segment.
42025 (main): Understand -p|--prefix.
42026
42027 2008-07-30 Robert Millan <rmh@aybabtu.com>
42028
42029 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42030
42031 2008-07-30 Robert Millan <rmh@aybabtu.com>
42032
42033 * term/i386/pc/vga_text.c (grub_console_cls): Use
42034 grub_console_gotoxy() to go back to beginning of the screen.
42035 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42036
42037 2008-07-29 Christian Franke <franke@computer.org>
42038
42039 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42040 Add conversion of emulated mount points on Cygwin.
42041
42042 2008-07-29 Christian Franke <franke@computer.org>
42043
42044 * util/update-grub.in: Add a check for admin
42045 group on Cygwin.
42046 Remove old `grub.cfg.new' before creation.
42047 Add `-f' to `mv' to handle the different filesystem
42048 semantics of Windows.
42049
42050 2008-07-29 Bean <bean123ch@gmail.com>
42051
42052 * normal/main.c (get_line): Fix buffer overflow bug.
42053
42054 2008-07-28 Robert Millan <rmh@aybabtu.com>
42055
42056 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42057 (struct grub_apple_header): New struct. Describes the layout of
42058 the partmap header.
42059 (apple_partition_map_iterate): Check the header magic as well as the
42060 partition magic (which was already being checked).
42061
42062 2008-07-28 Pavel Roskin <proski@gnu.org>
42063
42064 * genmk.rb: Add a warning to the beginning of the output that
42065 it's a generated file and should not be edited.
42066
42067 2008-07-28 Robert Millan <rmh@aybabtu.com>
42068
42069 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42070 with the same number are found, just use issue a warning with
42071 grub_dprintf(), as this error has been reported to be non-fatal.
42072
42073 2008-07-27 Robert Millan <rmh@aybabtu.com>
42074
42075 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42076 information.
42077
42078 2008-07-27 Bean <bean123ch@gmail.com>
42079
42080 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42081 (grub_fat_find_dir): Ignore case when comparing filename.
42082
42083 2008-07-27 Bean <bean123ch@gmail.com>
42084
42085 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42086 smallino, as it's more descriptive, and i8count can be confused with
42087 the other field count.
42088 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42089 inode type.
42090
42091 2008-07-27 Bean <bean123ch@gmail.com>
42092
42093 * commands/crc.c: New file.
42094
42095 * lib/crc.c: Likewise.
42096
42097 * include/grub/lib/crc.h: Likewise.
42098
42099 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42100
42101 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42102 (hexdump): Move this function to ...
42103
42104 * lib/hexdump.c: ... here.
42105
42106 * include/grub/hexdump.h: Renamed to ...
42107
42108 * include/grub/lib/hexdump.h: ... this.
42109
42110 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42111
42112 * util/grub-editenv.c: Likewise.
42113
42114 * include/envblk.h: Renamed to ...
42115
42116 * include/lib/envblk.h: ... this.
42117
42118 * util/envblk.c: Renamed to ...
42119
42120 * lib/envblk.c: ... this.
42121
42122 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42123 lib/hexdump.c.
42124 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42125 (pkglib_MODULES): Add crc.mod.
42126 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42127 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42128 (crc_mod_SOURCES): New macro.
42129 (crc_mod_CFLAGS): Likewise.
42130 (crc_mod_LDFLAGS): Likewise.
42131
42132 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42133
42134 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42135
42136 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42137
42138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42139
42140 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42141
42142 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
42143
42144 * commands/help.c: Include <grub/term.h>.
42145 (TERM_WIDTH): Removed. Updated all users.
42146
42147 2008-07-27 Pavel Roskin <proski@gnu.org>
42148
42149 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42150 spurious warnings about a comment within a comment.
42151
42152 2008-07-25 Robert Millan <rmh@aybabtu.com>
42153
42154 * util/getroot.c (find_root_device): Skip devices that match
42155 /dev/dm-[0-9]. This lets the real device be found for any type of
42156 abstraction (LVM, EVMS, RAID..).
42157 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42158 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42159 device is found first, find_root_device() will now skip it.
42160
42161 2008-07-24 Pavel Roskin <proski@gnu.org>
42162
42163 * include/grub/types.h: Use __builtin_bswap32() and
42164 __builtin_bswap64() with gcc 4.3 and newer.
42165
42166 2008-07-24 Christian Franke <franke@computer.org>
42167
42168 * util/i386/pc/grub-install.in: If `--debug' is specified,
42169 pass `--verbose' to grub-setup.
42170 Abort script if make_system_path_relative_to_its_root() fails.
42171
42172 2008-07-24 Bean <bean123ch@gmail.com>
42173
42174 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42175 variable `target_platform' should be `platform'.
42176
42177 2008-07-24 Bean <bean123ch@gmail.com>
42178
42179 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42180 (grub_png_init_fixed_block): New function.
42181 (grub_png_decode_image_data): Handle fixed huffman code compression.
42182
42183 2008-07-24 Bean <bean123ch@gmail.com>
42184
42185 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42186 (grub_pe2elf_SOURCES): New macro.
42187 (CLEANFILES): Add grub-pe2elf.
42188
42189 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42190 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42191 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42192 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42193 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42194 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42195 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42196 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42197 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42198 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42199 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42200 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42201 (GRUB_PE32_DT_FUNCTION): Likewise.
42202 (GRUB_PE32_REL_I386_DIR32): Likewise.
42203 (GRUB_PE32_REL_I386_REL32): Likewise.
42204 (grub_pe32_symbol): New structure.
42205 (grub_pe32_reloc): Likewise.
42206
42207 * util/grub-pe2elf.c: New file.
42208
42209 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42210 start symbol in non pc platform.
42211
42212 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42213
42214 The following patches are from Christian Franke.
42215
42216 * include/grub/dl.h: Remove .previous, gas supports this only
42217 for ELF format.
42218
42219 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42220 Remove .type, gas supports this only for ELF format.
42221
42222 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42223 nullbytes in symbol table. This fixes an infinite loop if table is
42224 zero filled.
42225
42226 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42227 TARGET_IMG_LDFLAGS and EXEEXT.
42228
42229 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42230 TARGET_IMG_LDFLAGS_AC.
42231 (grub_CHECK_STACK_ARG_PROBE): New function.
42232
42233 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42234
42235 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42236
42237 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42238 to set TARGET_IMG_LD* accordingly.
42239 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42240 Add call to grub_CHECK_STACK_ARG_PROBE.
42241 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42242
42243 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42244
42245 * genmk.rb: Add EXEEXT to CLEANFILES.
42246
42247 2008-07-23 Robert Millan <rmh@aybabtu.com>
42248
42249 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42250 define the codes for arrows and lines used for the menu).
42251 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42252 as well.
42253
42254 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42255 fonts, because the latter are too slow.
42256
42257 2008-07-21 Bean <bean123ch@gmail.com>
42258
42259 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42260 a20. Run keyboard test last, as it will cause macbook to halt.
42261
42262 2008-07-18 Pavel Roskin <proski@gnu.org>
42263
42264 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42265 load foreign architecture modules correctly anyway. Keep
42266 support for loading host architecture modules, whether we
42267 compile them or not.
42268
42269 2008-07-17 Pavel Roskin <proski@gnu.org>
42270
42271 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42272 change target_cpu. The compiler default can mismatch target_cpu
42273 in any case.
42274
42275 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42276 * kern/efi/efi.c: Likewise.
42277
42278 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42279 target compiler is functional.
42280 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42281 are set up.
42282
42283 * configure.ac: Default to efi platform for x86_64-apple. Allow
42284 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42285 adjustments from the rest, only do them if target is not
42286 explicitly given. Merge other adjustments with the final sanity
42287 check. Remove an extraneous check for supported CPU. Be
42288 specific which CPU and which platform is not supported.
42289
42290 * configure.ac: Default to pc platform for x86_64.
42291
42292 2008-07-17 Robert Millan <rmh@aybabtu.com>
42293
42294 Partial LinuxBIOS -> Coreboot rename.
42295
42296 * conf/i386-linuxbios.rmk: Renamed to ...
42297 * conf/i386-coreboot.rmk: ... this.
42298 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42299 * configure.ac: Accept "coreboot" as input platform (but maintain
42300 compatibility with "linuxbios").
42301 * include/grub/i386/linuxbios: Renamed to ...
42302 * include/grub/i386/coreboot: ... this.
42303
42304 2008-07-17 Bean <bean123ch@gmail.com>
42305
42306 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
42307 (appleldr_mod_SOURCE): New variable.
42308 (appleldr_mod_CFLAGS): Likewise.
42309 (appleldr_mod_LDFLAGS): Likewise.
42310 (pci_mod_SOURCES): Likewise.
42311 (pci_mod_CFLAGS): Likewise.
42312 (pci_mod_LDFLAGS): Likewise.
42313 (lspci_mod_SOURCES): Likewise.
42314 (lspci_mod_CFLAGS): Likewise.
42315 (lspci_mod_LDFLAGS): Likewise.
42316
42317 * conf/x86_64-efi.rmk: New file.
42318
42319 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42320 macro.
42321 (grub_efidisk_write): Likewise.
42322
42323 * include/efi/api.h (efi_call_0): New macro.
42324 (efi_call_1): Likewise.
42325 (efi_call_2): Likewise.
42326 (efi_call_3): Likewise.
42327 (efi_call_4): Likewise.
42328 (efi_call_5): Likewise.
42329 (efi_call_6): Likewise.
42330
42331 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42332 grub_rescue_cmd_chainloader.
42333
42334 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42335 (grub_pe32_optional_header): Change some fields based on i386 or
42336 x86_64 platform.
42337 (GRUB_PE32_PE32_MAGIC): Likewise.
42338
42339 * include/grub/efi/uga_draw.h: New file.
42340
42341 * include/grub/elf.h (STN_ABS): New constant.
42342 (R_X86_64_NONE): Relocation constant for x86_64.
42343 (R_X86_64_64): Likewise.
42344 (R_X86_64_PC32): Likewise.
42345 (R_X86_64_GOT32): Likewise.
42346 (R_X86_64_PLT32): Likewise.
42347 (R_X86_64_COPY): Likewise.
42348 (R_X86_64_GLOB_DAT): Likewise.
42349 (R_X86_64_JUMP_SLOT): Likewise.
42350 (R_X86_64_RELATIVE): Likewise.
42351 (R_X86_64_GOTPCREL): Likewise.
42352 (R_X86_64_32): Likewise.
42353 (R_X86_64_32S): Likewise.
42354 (R_X86_64_16): Likewise.
42355 (R_X86_64_PC16): Likewise.
42356 (R_X86_64_8): Likewise.
42357 (R_X86_64_PC8): Likewise.
42358
42359 * include/grub/i386/efi/pci.h: New file.
42360
42361 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42362 Change it value based on platform.
42363 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42364 (GRUB_E820_RAM): Likewise.
42365 (GRUB_E820_RESERVED): Likewise.
42366 (GRUB_E820_ACPI): Likewise.
42367 (GRUB_E820_NVS): Likewise.
42368 (GRUB_E820_EXEC_CODE): Likewise.
42369 (GRUB_E820_MAX_ENTRY): Likewise.
42370 (grub_e820_mmap): New structure.
42371 (linux_kernel_header): Change the efi field according to different
42372 kernel version, also field from linux_kernel_header.
42373
42374 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42375
42376 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42377 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42378 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42379 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42380 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42381 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42382 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42383 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42384 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42385 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42386
42387 * include/grub/x86_64/efi/kernel.h: New file.
42388
42389 * include/grub/x86_64/efi/loader.h: Likewise.
42390
42391 * include/grub/x86_64/efi/machine.h: Likewise.
42392
42393 * include/grub/x86_64/efi/pci.h: Likewise.
42394
42395 * include/grub/x86_64/efi/time.h: Likewise.
42396
42397 * include/grub/x86_64/linux.h: Likewise.
42398
42399 * include/grub/x86_64/setjmp.h: Likewise.
42400
42401 * include/grub/x86_64/time.h: Likewise.
42402
42403 * include/grub/x86_64/types.h: Likewise.
42404
42405 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42406 GRUB_TARGET_SIZEOF_VOID_P.
42407
42408 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42409 (grub_efi_locate_handle): Likewise.
42410 (grub_efi_open_protocol): Likewise.
42411 (grub_efi_set_text_mode): Likewise.
42412 (grub_efi_stall): Likewise.
42413 (grub_exit): Likewise.
42414 (grub_reboot): Likewise.
42415 (grub_halt): Likewise.
42416 (grub_efi_exit_boot_services): Likewise.
42417 (grub_get_rtc): Likewise.
42418
42419 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42420 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42421 (grub_efi_allocate_pages): Wrap efi calls.
42422 (grub_efi_free_pages): Wrap efi calls.
42423 (grub_efi_get_memory_map): Wrap efi calls.
42424
42425 * kern/x86_64/dl.c: New file.
42426
42427 * kern/x86_64/efi/callwrap.S: Likewise.
42428
42429 * kern/x86_64/efi/startup.S: Likewise.
42430
42431 * loader/efi/appleloader.c: Likewise.
42432
42433 * loader/efi/chainloader.c (cmdline): New variable.
42434 (grub_chainloader_unload): Wrap efi calls.
42435 (grub_chainloader_boot): Likewise.
42436 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42437 command line.
42438
42439 * loader/efi/chainloader_normal.c (chainloader_command):
42440 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42441 command line.
42442
42443 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42444 method.
42445 (grub_e820_add_region): New function.
42446 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42447 booting.
42448 (grub_find_video_card): New function.
42449 (grub_linux_setup_video): New function.
42450 (grub_rescue_cmd_linux): Probe for video information.
42451
42452 * normal/x86_64/setjmp.S: New file.
42453
42454 * term/efi/console.c (map_char): New function.
42455 (grub_console_putchar): Map unicode char.
42456 (grub_console_checkkey): Wrap efi calls.
42457 (grub_console_getkey): Likewise.
42458 (grub_console_getwh): Likewise.
42459 (grub_console_gotoxy): Likewise.
42460 (grub_console_cls): Likewise.
42461 (grub_console_setcolorstate): Likewise.
42462 (grub_console_setcursor): Likewise.
42463
42464 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42465
42466 2008-07-16 Pavel Roskin <proski@gnu.org>
42467
42468 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42469 format strings.
42470
42471 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42472 pointer, not an integer. This fixes a warning and prevents
42473 precision loss on 64-bit systems.
42474 (relocate_addresses): Remove unneeded cast.
42475
42476 2008-07-15 Pavel Roskin <proski@gnu.org>
42477
42478 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42479
42480 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42481
42482 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42483 Fix comparison between signed and unsigned.
42484
42485 * include/grub/i386/ieee1275/console.h: Declare
42486 grub_console_init() and grub_console_fini().
42487
42488 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42489 It's empty and unused.
42490
42491 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42492 beginning to avoid warnings with some compilers.
42493
42494 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42495 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42496
42497 2008-07-14 Pavel Roskin <proski@gnu.org>
42498
42499 * kern/env.c (grub_register_variable_hook): Don't copy empty
42500 string, it leaks memory. Pass "" to grub_env_set(), it should
42501 handle constant strings.
42502
42503 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42504 * commands/cmp.c (grub_cmd_cmp): Likewise.
42505 * kern/dl.c (grub_dl_flush_cache): Likewise.
42506 (grub_dl_load_core): Likewise.
42507 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42508 (grub_elf64_load_phdrs): Likewise.
42509
42510 2008-07-13 Pavel Roskin <proski@gnu.org>
42511
42512 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42513 between signed and unsigned.
42514 (LzmaEnc_Finish): Fix warning about an unused parameter.
42515
42516 2008-07-13 Bean <bean123ch@gmail.com>
42517
42518 * Makefile.in (enable_lzo): New rule.
42519
42520 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42521
42522 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42523
42524 * boot/i386/pc/lnxboot.S: #include <config.h>.
42525
42526 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
42527 its value according to the compression algorithm used, lzo or lzma.
42528
42529 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42530 compression algorithm according to configure macro.
42531
42532 * kern/i386/pc/startup.S (codestart): Likewise.
42533
42534 * kern/i386/pc/lzma_decode.S: New file.
42535
42536 * include/grub/lib/LzFind.h: Likewise.
42537
42538 * include/grub/lib/LzHash.h: Likewise.
42539
42540 * include/grub/lib/LzmaDec.h: Likewise.
42541
42542 * include/grub/lib/LzmaEnc.h: Likewise.
42543
42544 * include/grub/lib/LzmaTypes.h: Likewise.
42545
42546 * lib/LzFind.c: Likewise.
42547
42548 * lib/LzmaDec.c: Likewise.
42549
42550 * lib/LzmaEnc.c: Likewise.
42551
42552 2008-07-13 Bean <bean123ch@gmail.com>
42553
42554 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42555 (grub_ext4_extent_header): New structure.
42556 (grub_ext4_extent): Likewise.
42557 (grub_ext4_extent_idx): Likewise.
42558 (grub_ext4_find_leaf): New function.
42559 (grub_ext2_read_block): Handle extents.
42560
42561 2008-07-12 Robert Millan <rmh@aybabtu.com>
42562
42563 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42564
42565 2008-07-11 Robert Millan <rmh@aybabtu.com>
42566
42567 * util/grub.d/40_custom.in: New file. Example on how to add custom
42568 entries to /etc/grub.d.
42569 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42570 40_custom (implicitly, by merging all the grub.d rules).
42571
42572 2008-07-11 Pavel Roskin <proski@gnu.org>
42573
42574 * commands/read.c (grub_getline): Fix invalid memory access.
42575 Don't add newline to the variable value.
42576
42577 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42578 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42579 (serial_hw_get_port): Check validity of the port number.
42580 (grub_cmd_serial): Check return value of serial_hw_get_port().
42581
42582 2008-07-07 Pavel Roskin <proski@gnu.org>
42583
42584 * boot/i386/pc/diskboot.S (notification_string): Replace
42585 "Loading kernel" with just "loading". This is shorter, less
42586 confusing and saves a few bytes for possible future changes.
42587
42588 2008-07-05 Pavel Roskin <proski@gnu.org>
42589
42590 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42591 size for ATAPI devices, they are undefined. Output sector
42592 number in decimal form.
42593
42594 * disk/ata.c: Use named constants for status bits.
42595
42596 2008-07-04 Pavel Roskin <proski@gnu.org>
42597
42598 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42599 grub_addr_t before casting it to the void pointer to fix a
42600 warning. Non-addressable regions are discarded earlier.
42601 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42602 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42603 (check_signature): Don't shadow table_header.
42604 (grub_linuxbios_table_iterate): Cast numeric constants to
42605 grub_linuxbios_table_header_t.
42606 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42607 grub_stop().
42608
42609 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42610 prevent warnings.
42611
42612 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42613 pointer, which can cause warnings. Support 64-bit addresses.
42614
42615 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42616 of sizeof(long). This fixes PowerPC image generation on x86_64.
42617
42618 2008-07-04 Robert Millan <rmh@aybabtu.com>
42619
42620 This fixes a performance issue when pc & gpt partmap iterators
42621 didn't abort iteration even after our hook found what it was
42622 looking for (often causing expensive probes of non-existent drives).
42623
42624 Some callers relied on previous buggy behaviour, since they would
42625 raise an error when their own hooks caused early abortion of its
42626 iteration.
42627
42628 * kern/device.c (grub_device_open): Improve error message.
42629 * disk/lvm.c (grub_lvm_open): Likewise.
42630 * disk/raid.c (grub_raid_open): Likewise.
42631
42632 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42633 when hook requests it, independently of grub_errno.
42634 (pc_partition_map_probe): Do not fail when find_func() caused
42635 early abortion of pc_partition_map_iterate().
42636
42637 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42638 when hook requests it, independently of grub_errno.
42639 (gpt_partition_map_probe): Do not fail when find_func() caused
42640 early abortion of gpt_partition_map_iterate().
42641
42642 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42643 when hook requests it, independently of grub_errno. Do not fail when
42644 part_map_iterate_hook() caused early abortion of p->iterate().
42645
42646 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42647 when grub_partition_iterate() returned with non-zero.
42648
42649 2008-07-03 Pavel Roskin <proski@gnu.org>
42650
42651 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42652 like we do in grub_ata_pio_read().
42653 (grub_ata_readwrite): Always write individual sectors. Fix the
42654 sector count for the remainder.
42655 (grub_ata_write): Enable writing to ATA devices. Correctly
42656 report error for ATAPI devices.
42657
42658 2008-07-02 Pavel Roskin <proski@gnu.org>
42659
42660 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42661 warning.
42662
42663 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42664 for every read sector, we already increment it for the whole
42665 batch. This fixes reading more than 256 sectors at once.
42666
42667 * util/grub-editenv.c (cmd_info): Cast argument to long
42668 explicitly. ptrdiff_t reduces to int on i386.
42669
42670 * util/grub-editenv.c (main): Be specific which parameter is
42671 missing.
42672
42673 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42674 (memdisk): Make memdisk_orig_addr a pointer.
42675
42676 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42677 for file offsets, use grub_off_t instead. Fix printf format
42678 warnings.
42679
42680 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42681 there. Real unexpected warnings should not drown in the noise
42682 about known problems.
42683
42684 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42685 grub_disk_addr_t for memory addresses.
42686
42687 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42688 explicitly to fix a warning.
42689
42690 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42691
42692 * Makefile.in (MODULE_LDFLAGS): New variable.
42693 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42694 the linker accepts --build-id=none.
42695 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42696 MODULE_LDFLAGS.
42697 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42698
42699 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42700 those in Linux XFS code. Provide a way to access 64-bit parent
42701 inode.
42702 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42703 the end of struct grub_xfs_dir_header.
42704
42705 2008-07-02 Bean <bean123ch@gmail.com>
42706
42707 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42708 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42709 and GRUB_IEEE1275_FLAG_NO_ANSI.
42710
42711 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42712 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42713 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42714
42715 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42716 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42717
42718 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42719 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42720
42721 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42722 esc sequence on non ANSI terminal.
42723 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42724
42725 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42726 beginning of file.
42727
42728 2008-07-02 Bean <bean123ch@gmail.com>
42729
42730 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42731 (grub_editenv_SOURCES): New variable.
42732 (pkglib_MODULES): Add loadenv.mod.
42733 (loadenv_mod_SOURCES): New variable.
42734 (loadenv_mod_CFLAGS): Likewise.
42735 (loadenv_mod_LDFLAGS): Likewise.
42736
42737 * include/grub/envblk.h: New file.
42738
42739 * util/envblk.c: New file.
42740
42741 * util/grub-editenv.c: New file.
42742
42743 * commands/loadenv.c: New file.
42744
42745 2008-07-01 Pavel Roskin <proski@gnu.org>
42746
42747 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42748 not unsigned char. This fixes warnings and is consistent with
42749 other tags.
42750
42751 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42752
42753 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42754
42755 * term/tparm.c (analyze): Always set *popcount.
42756
42757 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42758 cast to fix a warning.
42759
42760 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42761 cast to suppress a warning.
42762
42763 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42764 grub_fshelp_read_file() expects.
42765
42766 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42767 write uuid as a 32-bit value in CPU byte order, so declare and
42768 use it as such.
42769
42770 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42771 long if the format specifier expects it.
42772 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42773 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42774 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42775 long to fix a warning.
42776 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42777 grub_dprintf() arguments to fix warnings.
42778
42779 2008-06-30 Pavel Roskin <proski@gnu.org>
42780
42781 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42782 install_bsd_part immediately before core.img is embedded or
42783 modified on disk. This fixes core.img verification if core.img
42784 cannot be embedded.
42785
42786 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42787 core_path to calculate the blocklist.
42788 Patch from Javier Martín <lordhabbit@gmail.com>
42789
42790 2008-06-29 Robert Millan <rmh@aybabtu.com>
42791
42792 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42793 block to disk block.
42794 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42795 Patch from Niels Böhm <bitbucket@arcor.de>
42796
42797 2008-06-29 Robert Millan <rmh@aybabtu.com>
42798
42799 * util/update-grub_lib.in (font_path): Search for fonts in
42800 /boot/grub first, which is more likely to be readable (we aren't
42801 deciding where fonts live, just looking for them).
42802
42803 2008-06-26 Pavel Roskin <proski@gnu.org>
42804
42805 * util/biosdisk.c (read_device_map): Don't leave dead map
42806 entries for devices failing stat() check.
42807
42808 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42809 core_path_dev for the core.img path on the target device.
42810
42811 2008-06-26 Robert Millan <rmh@aybabtu.com>
42812
42813 * disk/fs_uuid.c: New file.
42814 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42815 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42816 (fs_uuid_mod_LDFLAGS): New variables.
42817 * include/grub/disk.h (grub_disk_dev_id): Add
42818 `GRUB_DISK_DEVICE_UUID_ID'.
42819 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42820 implement iterate().
42821
42822 2008-06-26 Robert Millan <rmh@aybabtu.com>
42823
42824 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42825 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42826 Linux image includes no initrd.
42827
42828 2008-06-21 Javier Martín <lordhabbit@gmail.com>
42829
42830 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42831 call to resolve the core image location that effectively appended the
42832 name twice.
42833
42834 2008-06-21 Robert Millan <rmh@aybabtu.com>
42835
42836 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42837 call from here ...
42838
42839 * util/grub.d/10_hurd.in: ... to here ...
42840 * util/grub.d/10_linux.in: ... and here.
42841
42842 2008-06-19 Robert Millan <rmh@aybabtu.com>
42843
42844 * kern/main.c (grub_main): Export `prefix' variable immediately
42845 after it has been set by grub_machine_set_prefix().
42846
42847 2008-06-19 Robert Millan <rmh@aybabtu.com>
42848
42849 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42850 search result when not saving to variable, not the other way around.
42851 When saving to variable, abort iteration as soon as a match is found.
42852
42853 2008-06-19 Robert Millan <rmh@aybabtu.com>
42854
42855 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42856 check for partition that provides /boot/grub. Its logic is flawed,
42857 as it prevents prepare_grub_to_access_device() from being called
42858 multiple times.
42859
42860 2008-06-19 Robert Millan <rmh@aybabtu.com>
42861
42862 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42863 "insmod" command directly when abstraction modules are needed,
42864 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
42865 since it had already been processed).
42866
42867 2008-06-19 Pavel Roskin <proski@gnu.org>
42868
42869 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42870 changed. This is needed in case GRUB_LIBDIR changes.
42871 * conf/i386-ieee1275.rmk: Likewise.
42872 * conf/i386-linuxbios.rmk: Likewise.
42873 * conf/i386-pc.rmk: Likewise.
42874 * conf/powerpc-ieee1275.rmk: Likewise.
42875
42876 2008-06-18 Pavel Roskin <proski@gnu.org>
42877
42878 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42879 kernel_elf_symlist.c to symlist.c for consistency with other
42880 architectures. Update all users.
42881 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42882
42883 2008-06-18 Robert Millan <rmh@aybabtu.com>
42884
42885 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42886 it in prefix.
42887
42888 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42889 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42890 a RAID device, run setup() for all members independently on whether
42891 LVM abstraction is being used.
42892 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42893 If grub-mkimage has set `*install_dos_part == -2', don't override this
42894 value.
42895 Perform *install_dos_part adjustments independently on whether
42896 we're embedding or not.
42897 Clarify error message when image is too big for embedding.
42898 Remove duplicate *install_dos_part stanza.
42899
42900 2008-06-17 Robert Millan <rmh@aybabtu.com>
42901
42902 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42903 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42904 variables.
42905 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42906 values in grub_ofconsole_normal_color and
42907 grub_ofconsole_highlight_color (they're not directly related to
42908 background and foreground).
42909 (grub_ofconsole_setcolorstate): Extract background and foreground
42910 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42911
42912 2008-06-17 Robert Millan <rmh@aybabtu.com>
42913
42914 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42915 /boot/grub for the check in last commit, not /boot (they could be
42916 different partitions).
42917
42918 2008-06-16 Robert Millan <rmh@aybabtu.com>
42919
42920 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42921 asked to setup access for the same partition that provides /boot,
42922 don't bother using UUIDs since our root already has the value we
42923 want.
42924
42925 2008-06-16 Robert Millan <rmh@aybabtu.com>
42926
42927 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42928 I2O devices.
42929 Patch from Sven Mueller <sven@debian.org>.
42930
42931 2008-06-16 Robert Millan <rmh@aybabtu.com>
42932
42933 * util/update-grub.in: Check for $EUID instead of $UID.
42934 Reported by Vincent Zweije.
42935
42936 2008-06-16 Bean <bean123ch@gmail.com>
42937
42938 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
42939 (grub_ext2_read_block): Likewise.
42940 (grub_ext2_read_inode): Likewise.
42941 (grub_ext2_mount): Likewise.
42942 (grub_ext2_close): Likewise.
42943 (grub_ext3_get_journal): Removed.
42944
42945 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
42946 (grub_reiserfs_read_symlink): Likewise.
42947 (grub_reiserfs_mount): Likewise.
42948 (grub_reiserfs_open): Likewise.
42949 (grub_reiserfs_read): Likewise.
42950 (grub_reiserfs_close): Likewise.
42951 (grub_reiserfs_get_journal): Removed.
42952
42953 * fs/fshelp.c (grub_fshelp_read): Removed.
42954 (grub_fshelp_map_block): Likewise.
42955
42956 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42957 (grub_fshelp_journal): Likewise.
42958 (grub_fshelp_read): Likewise.
42959 (grub_fshelp_map_block): Likewise.
42960
42961 2008-06-16 Pavel Roskin <proski@gnu.org>
42962
42963 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42964 floating point anymore.
42965 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42966
42967 2008-06-15 Pavel Roskin <proski@gnu.org>
42968
42969 * commands/ls.c (grub_ls_list_files): Use integer calculations
42970 for human readable format, avoid floating point use.
42971 * kern/misc.c (grub_ftoa): Remove.
42972 (grub_vsprintf): Remove floating point support.
42973
42974 2008-06-15 Robert Millan <rmh@aybabtu.com>
42975
42976 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
42977 devices.
42978 Reported by Max Vozeler.
42979
42980 2008-06-15 Robert Millan <rmh@aybabtu.com>
42981
42982 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42983 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42984 skipped later.
42985 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42986 the beginning of the prefix.
42987
42988 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42989 It is assumed that if we have a memdisk, grub-mkimage has set
42990 grub_prefix to include the "(memdisk)" drive in it.
42991
42992 2008-06-15 Robert Millan <rmh@aybabtu.com>
42993
42994 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42995 Initialize keyboard controller after registering the terminal, so that
42996 grub_printf() can be called from grub_keyboard_controller_init().
42997
42998 2008-06-15 Robert Millan <rmh@aybabtu.com>
42999
43000 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43001 extent-btree which is written as big endian on disk.
43002 Reported by Alain Greppin <al@chilibi.org>.
43003
43004 2008-06-14 Robert Millan <rmh@aybabtu.com>
43005
43006 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43007 * util/i386/pc/grub-install.in (modules): Likewise.
43008
43009 2008-06-13 Pavel Roskin <proski@gnu.org>
43010
43011 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43012
43013 2008-06-13 Bean <bean123ch@gmail.com>
43014
43015 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43016
43017 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43018
43019 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43020 to indicate sparse block.
43021
43022 2008-06-12 Pavel Roskin <proski@gnu.org>
43023
43024 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43025 number, grub_fshelp_read() does it for us.
43026
43027 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43028 linear disk read with journal translation.
43029 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43030 * include/grub/fshelp.h: Declare grub_fshelp_read().
43031
43032 2008-06-09 Pavel Roskin <proski@gnu.org>
43033
43034 * fs/minix.c (grub_minix_mount): Handle error reading
43035 superblock.
43036
43037 2008-06-08 Robert Millan <rmh@aybabtu.com>
43038
43039 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43040 don't append the RAID prefix afterwards.
43041 Reported by Clint Adams.
43042
43043 2008-06-08 Robert Millan <rmh@aybabtu.com>
43044
43045 Based on description from Pavel:
43046 * kern/disk.c (grub_disk_check_range): Rename to ...
43047 (grub_disk_adjust_range): ... this. Add a comment explaining the
43048 tasks performed by this function.
43049
43050 2008-06-08 Robert Millan <rmh@aybabtu.com>
43051
43052 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43053 `num_serial' (for consistency with other variables).
43054 (struct grub_ntfs_data): Add `uuid' member.
43055 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43056 (grub_ntfs_uuid): New function.
43057 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43058
43059 2008-06-07 Pavel Roskin <proski@gnu.org>
43060
43061 * util/biosdisk.c (open_device): Revert last change to the
43062 function, it broke installation. The sector needs to be
43063 different dependent on which device is opened.
43064
43065 2008-06-06 Robert Millan <rmh@aybabtu.com>
43066
43067 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43068 rest of GRUB, and breakage doesn't happen if its value were modified.
43069
43070 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43071 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43072 a constant (same value).
43073 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43074 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43075
43076 2008-06-06 Robert Millan <rmh@aybabtu.com>
43077
43078 * util/biosdisk.c (open_device): Do not modify sector offset when
43079 accessing a partition. kern/disk.c already handles this for us.
43080
43081 2008-06-06 Robert Millan <rmh@aybabtu.com>
43082
43083 * util/grub-emu.c (grub_machine_init): Move code in this function from
43084 here ...
43085 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43086 segfault in case grub_printf() is called).
43087
43088 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43089 grub_probe. Update all users not to explicitly add it again.
43090 (grub_device): New variable; contains corresponding device for grubdir.
43091 (fs_module, partmap_module, devabstraction_module): Pass
43092 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43093 every time.
43094
43095 2008-06-05 Robert Millan <rmh@aybabtu.com>
43096
43097 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43098 is found, print it (same layout as with labels).
43099
43100 2008-06-04 Robert Millan <rmh@aybabtu.com>
43101
43102 * util/biosdisk.c (get_drive): Rename to ...
43103 (find_grub_drive): ... this. Update all users.
43104
43105 (get_os_disk): Rename to ...
43106 (convert_system_partition_to_system_disk): ... this. Update all users.
43107
43108 (find_drive): Rename to ...
43109 (find_system_device): ... this. Update all users.
43110
43111 2008-06-04 Robert Millan <rmh@aybabtu.com>
43112
43113 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43114 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43115 (make_device_map): Likewise.
43116
43117 2008-06-01 Robert Millan <rmh@aybabtu.com>
43118
43119 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43120 before dereferencing it.
43121
43122 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43123 union with fat12/fat16-specific ones. Add some new fields, including
43124 `num_serial' for both versions.
43125 (struct grub_fat_data): Add `uuid' member.
43126 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43127 names. Initialize `data->uuid' using `num_serial'.
43128 (grub_fat_uuid): New function.
43129 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43130
43131 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43132 (grub_reiserfs_uuid): New function.
43133 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43134 member.
43135
43136 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43137 (grub_xfs_uuid): New function.
43138 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43139
43140 2008-06-01 Robert Millan <rmh@aybabtu.com>
43141
43142 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43143 code that is backward compatible with pre-uuid search command.
43144
43145 2008-05-31 Robert Millan <rmh@aybabtu.com>
43146
43147 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43148 floppies after everything else, to ensure floppy drive isn't accessed
43149 unnecessarily (patch from Bean).
43150
43151 2008-05-31 Robert Millan <rmh@aybabtu.com>
43152
43153 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43154 not print device names when we were asked to set a variable.
43155
43156 2008-05-31 Robert Millan <rmh@aybabtu.com>
43157
43158 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43159 using "cursor-on" and "cursor-off" commands (understood at least by
43160 the Open Firmware flavour on OLPC).
43161
43162 2008-05-31 Michael Gorven <michael@gorven.za.net>
43163
43164 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43165 on and off sequences.
43166
43167 2008-05-31 Robert Millan <rmh@aybabtu.com>
43168
43169 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43170 * util/update-grub.in: Likewise.
43171
43172 2008-05-30 Pavel Roskin <proski@gnu.org>
43173
43174 * util/biosdisk.c (linux_find_partition): Simplify logic and
43175 make the code more universal. Keep special processing for
43176 devfs, but use a simple rule for all other devices. If the
43177 device ends with a number, append 'p' and the partition number.
43178 Otherwise, append only the partition number.
43179
43180 2008-05-30 Robert Millan <rmh@aybabtu.com>
43181
43182 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43183 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43184 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43185 the `root' parameter to Linux.
43186
43187 2008-05-30 Robert Millan <rmh@aybabtu.com>
43188
43189 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43190 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43191 --fs_uuid with --fs-uuid.
43192 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43193 all filesystems support them).
43194
43195 2008-05-30 Robert Millan <rmh@aybabtu.com>
43196
43197 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
43198 grub_printf() flags, since we're printing in units of 2 bytes.
43199
43200 2008-05-30 Robert Millan <rmh@aybabtu.com>
43201
43202 * util/grub.d/00_header.in: Remove obsolete comment referencing
43203 convert_system_path_to_grub_path().
43204 * util/update-grub.in: Likewise.
43205 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43206 (convert_system_path_to_grub_path): Add a warning message explaining
43207 that this function is deprecated. Rely on is_path_readable_by_grub()
43208 for the readability checks.
43209 (font_path): Use is_path_readable_by_grub() for the readability
43210 check rather than convert_system_path_to_grub_path().
43211
43212 2008-05-30 Robert Millan <rmh@aybabtu.com>
43213
43214 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43215 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43216 converting it first.
43217 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43218 grub.cfg for access to font file, and afterwards call it again to set
43219 the root device.
43220
43221 2008-05-30 Robert Millan <rmh@aybabtu.com>
43222
43223 * commands/search.c (options): Add --fs_uuid option.
43224 (search_fs_uuid): New function.
43225 (grub_cmd_search): Fix --set argument passing.
43226 Use search_fs_uuid() when requested via --fs_uuid.
43227 (grub_search_init): Update help message.
43228 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43229 and redeclare it as an array of 16-bit words.
43230 (grub_ext2_uuid): New function.
43231 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43232 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43233 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43234 (GRUB_DEVICE_BOOT_UUID): New variables.
43235 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43236 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43237 whenever possible.
43238 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43239 just assume `root' variable has the right value.
43240 * util/grub.d/10_linux.in: Likewise.
43241 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43242 via PRINT_FS_UUID.
43243 (main): Recognise `-t fs_uuid' argument.
43244
43245 2008-05-30 Robert Millan <rmh@aybabtu.com>
43246
43247 * util/biosdisk.c (map): Redefine structure to hold information
43248 about GRUB drive name.
43249 (get_drive): Reimplement without assuming (and verifying) BIOS-like
43250 drive names.
43251 (call_hook): Remove.
43252 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43253 member. Assume drive has partitions.
43254 (grub_util_biosdisk_open): Access device names via `.device' struct
43255 member.
43256 (open_device): Likewise.
43257 (find_drive): Likewise.
43258 (read_device_map): Adjust map[] usage to match the new struct
43259 definition. Don't check for duplicates (still possible, but not cheap
43260 anymore).
43261 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43262 (make_device_name): Remove assumption of BIOS-like drive names.
43263
43264 2008-05-30 Pavel Roskin <proski@gnu.org>
43265
43266 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43267 compiling execute.c doesn't need grub_script.tab.h anymore.
43268 (normal/command.c_DEPENDENCIES): Likewise.
43269 (normal/function.c_DEPENDENCIES): Likewise.
43270 * conf/i386-ieee1275.rmk: Likewise.
43271 * conf/i386-linuxbios.rmk: Likewise.
43272 * conf/i386-pc.rmk: Likewise.
43273 * conf/powerpc-ieee1275.rmk: Likewise.
43274 * conf/sparc64-ieee1275.rmk: Likewise.
43275
43276 2008-05-29 Pavel Roskin <proski@gnu.org>
43277
43278 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43279 when scanning metadata for volume group name.
43280
43281 * include/grub/script.h: Don't include grub_script.tab.h. It's
43282 a generated file, which may only be included from the files with
43283 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43284 use union YYSTYPE, as the later allows forward declaration.
43285 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43286
43287 2008-05-29 Robert Millan <rmh@aybabtu.com>
43288
43289 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43290 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43291 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43292 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43293 scan codes.
43294
43295 2008-05-29 Robert Millan <rmh@aybabtu.com>
43296
43297 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43298 control key combinations.
43299
43300 2008-05-29 Robert Millan <rmh@aybabtu.com>
43301
43302 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43303 * util/ieee1275/grub-install.in: ... to here.
43304 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43305 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43306 (grub_install_SOURCES): Likewise.
43307
43308 2008-05-29 Robert Millan <rmh@aybabtu.com>
43309
43310 * fs/affs.c: Update copyright year.
43311 * fs/ext2.c: Likewise.
43312 * fs/fshelp.c: Likewise.
43313 * fs/hfsplus.c: Likewise.
43314 * fs/ntfs.c: Likewise.
43315 * fs/xfs.c: Likewise.
43316 * include/grub/fshelp.h: Likewise.
43317 * util/grub-mkdevicemap.c: Likewise.
43318
43319 2008-05-28 Robert Millan <rmh@aybabtu.com>
43320
43321 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43322 might need to be fatfs to support some firmware implementations
43323 (e.g. OFW or EFI).
43324
43325 2008-05-28 Robert Millan <rmh@aybabtu.com>
43326
43327 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43328 devices.
43329 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43330 (make_device_map): Likewise.
43331
43332 2008-05-20 Bean <bean123ch@gmail.com>
43333
43334 * fs/fshelp.c (grub_fshelp_map_block): New function.
43335 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43336 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43337
43338 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43339 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43340 (grub_fshelp_journal): New structure.
43341 (grub_fshelp_map_block): New function prototype.
43342 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43343 (grub_fshelp_map_block): Likewise.
43344
43345 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43346 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43347 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43348 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43349 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43350 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43351 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43352 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43353 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43354 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43355 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43356 (grub_ext2_sblock): New members for journal support.
43357 (grub_ext3_journal_header): New structure.
43358 (grub_ext3_journal_revoke_header): Likewise.
43359 (grub_ext3_journal_block_tag): Likewise.
43360 (grub_ext3_journal_sblock): Likewise.
43361 (grub_fshelp_node): New members logfile and journal.
43362 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43363 grub_fshelp_map_block to get real block number.
43364 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43365 number.
43366 (grub_ext2_read_inode): Likewise.
43367 (grub_ext3_get_journal): New function.
43368 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43369 (grub_ext2_close): Release memory used by journal.
43370
43371 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43372 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43373 (grub_reiserfs_transaction_header): Renamed to
43374 grub_reiserfs_description_block, replace field data with real_blocks.
43375 (grub_reiserfs_commit_block): New structure.
43376 (grub_reiserfs_data): New member journal.
43377 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43378 number.
43379 (grub_reiserfs_read_symlink): Likewise.
43380 (grub_reiserfs_iterate_dir): Likewise.
43381 (grub_reiserfs_open): Likewise.
43382 (grub_reiserfs_read): Likewise.
43383 (grub_reiserfs_get_journal): New function.
43384 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43385 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43386 using grub_reiserfs_get_journal.
43387 (grub_reiserfs_close): Release memory used by journal.
43388
43389 * fs/affs.c (grub_affs_read_block): Change block type to
43390 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43391
43392 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43393
43394 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43395
43396 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43397
43398 * fs/udf.c (grub_udf_read_block): Change block type to
43399 grub_disk_addr_t. Use type cast to avoid warning.
43400
43401 * fs/xfs.c (grub_xfs_read_block): Likewise.
43402
43403 2008-05-16 Christian Franke <franke@computer.org>
43404
43405 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43406 to ensure that break with ESC will always work.
43407 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43408 Remove ESC from keyboard queue.
43409
43410 2008-05-16 Christian Franke <franke@computer.org>
43411
43412 * util/biosdisk.c: [__CYGWIN__] Add includes.
43413 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43414 (get_os_disk): Move variable declarations to OS specific
43415 parts to avoid warning.
43416 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43417 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43418 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43419 Cygwin.
43420 * util/getroot.c: [__CYGWIN__] Add includes.
43421 (strip_extra_slashes): Fix "/" case.
43422 [__CYGWIN__] (get_win32_path): New function.
43423 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43424 [__CYGWIN__] (find_root_device): Disable.
43425 [__CYGWIN__] (get_bootsec_serial): New function.
43426 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43427 [__linux__] (grub_guess_root_device): Add early returns to simplify
43428 structure.
43429 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43430 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43431 check for Linux only.
43432
43433 2008-05-15 Bean <bean123ch@gmail.com>
43434
43435 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43436 keyboard hang problem in apple's intel mac.
43437
43438 2008-05-09 Robert Millan <rmh@aybabtu.com>
43439
43440 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43441 devices.
43442 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43443 (make_device_map): Likewise.
43444 Reported by Aurelien Jarno <aurel32@debian.org>
43445
43446 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
43447
43448 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43449 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43450 (make_device_map): Output entries for xvd type disks.
43451
43452 2008-05-07 Robert Millan <rmh@aybabtu.com>
43453
43454 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43455 devices.
43456 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43457 (make_device_map): Likewise.
43458 Reported by Roland Dreier <rdreier@cisco.com>
43459
43460 2008-05-07 Robert Millan <rmh@aybabtu.com>
43461
43462 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43463 grub_strstr() call. Correct a few mistakes in failure path handling.
43464
43465 2008-05-06 Robert Millan <rmh@aybabtu.com>
43466
43467 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43468 Do not print a trailing slash (therefore, the root directory is an
43469 empty string).
43470 (convert_system_path_to_grub_path): Do not remove trailing slash
43471 from make_system_path_relative_to_its_root() output.
43472
43473 * util/i386/pc/grub-install.in: Add trailing slash to output from
43474 make_system_path_relative_to_its_root().
43475
43476 2008-05-06 Robert Millan <rmh@aybabtu.com>
43477
43478 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43479 ensures that output lines aren't intermangled with those sent to
43480 stderr (via grub_util_info()).
43481 * util/grub-probe.c (grub_refresh): Likewise.
43482 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43483
43484 2008-05-05 Christian Franke <franke@computer.org>
43485
43486 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43487 Add Cygwin device names.
43488 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43489 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43490 (check_device): Return error instead of success on empty name.
43491 (make_device_map): Move label inside linux specific code to
43492 prevent compiler warning.
43493
43494 2008-04-30 Robert Millan <rmh@aybabtu.com>
43495
43496 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43497 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43498 first boot option.
43499 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43500
43501 2008-04-29 Robert Millan <rmh@aybabtu.com>
43502
43503 * docs/grub.cfg: New file (example GRUB configuration).
43504
43505 2008-04-26 Robert Millan <rmh@aybabtu.com>
43506
43507 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43508 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43509 and `disk/ieee1275/nand.c'.
43510
43511 2008-04-25 Bean <bean123ch@gmail.com>
43512
43513 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43514 i386-linuxbios.
43515
43516 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43517 change the buffer size to 4096 for cdrom device.
43518
43519 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43520 and nand.mod.
43521 (_linux_mod_SOURCES): New variable.
43522 (_linux_mod_CFLAGS): Likewise.
43523 (_linux_mod_LDFLAGS): Likewise.
43524 (linux_mod_SOURCES): Likewise.
43525 (linux_mod_CFLAGS): Likewise.
43526 (linux_mod_LDFLAGS): Likewise.
43527 (nand_mod_SOURCES): Likewise.
43528 (nand_mod_CFLAGS): Likewise.
43529 (nand_mod_LDFLAGS): Likewise.
43530
43531 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43532 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43533 type property. (nand device in olpc don't have this property)
43534
43535 * include/grub/disk.h (grub_disk_dev_id): New macro
43536 GRUB_DISK_DEVICE_NAND_ID.
43537
43538 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43539 function prototype.
43540 (grub_rescue_cmd_initrd): Likewise.
43541
43542 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43543 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43544 ofw_cif_handler and ofw_idt, adjust padding number.
43545
43546 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43547 GRUB_MACHINE_IEEE1275 is defined.
43548
43549 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43550 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43551
43552 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43553 on nested function heap_init.
43554 (grub_upper_mem): New variable for i386-ieee1275.
43555 (grub_get_extended_memory): New function for i386-ieee1275.
43556 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43557
43558 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43559 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43560 property.
43561
43562 * loader/i386/ieee1275/linux.c: New file.
43563
43564 * loader/i386/ieee1275/linux_normal.c: New file.
43565
43566 * disk/ieee1275/nand.c: New file.
43567
43568 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43569
43570 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43571 value.
43572 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43573
43574 2008-04-18 Robert Millan <rmh@aybabtu.com>
43575
43576 Restructures early code path on ieee1275 to unify grub_main() as
43577 the first C function that is executed in every platform.
43578
43579 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43580 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43581 cmain().
43582 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43583 * kern/ieee1275/cmain.c (cmain): Rename to ...
43584 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43585 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43586 at the beginning.
43587
43588 2008-04-18 Robert Millan <rmh@aybabtu.com>
43589
43590 * util/update-grub.in: Fix syntax error when setting
43591 `GRUB_PRELOAD_MODULES'.
43592 Reported by Stephane Chazelas <stephane@artesyncp.com>
43593
43594 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43595
43596 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43597 section into account, newer toolchains generate unique build ids
43598 * configure.ac: remove the test for --build-id=none acceptance,
43599 we want build ids to be preserved
43600 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43601 far from other sections don't cause the raw binary images grow
43602 size
43603
43604 2008-04-15 Robert Millan <rmh@aybabtu.com>
43605
43606 * disk/lvm.c: Update copyright year.
43607 * kern/misc.c: Likewise.
43608
43609 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43610
43611 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
43612 there is no memory left for physical volume name.
43613
43614 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43615
43616 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43617 volume name mapping to support bigger than 9 character names properly.
43618
43619 2008-04-13 Robert Millan <rmh@aybabtu.com>
43620
43621 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43622 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43623
43624 2008-04-13 Christian Franke <franke@computer.org>
43625
43626 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43627 to create a floppy emulation boot CD when non emulation mode
43628 does not work.
43629 Enable Joliet CD filesystem extension.
43630
43631 2008-04-13 Robert Millan <rmh@aybabtu.com>
43632
43633 * kern/misc.c (grub_strncat): Fix off-by-one error.
43634 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43635
43636 * kern/env.c (grub_env_context_close): Clear current context, not
43637 previous one.
43638 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43639
43640 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43641
43642 2008-04-13 Robert Millan <rmh@aybabtu.com>
43643
43644 Improve robustness when handling LVM.
43645
43646 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
43647 (and leave `*p' unmodified).
43648 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43649 through it.
43650 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43651 iterating through it.
43652 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43653 through it.
43654 (grub_lvm_scan_device): Check the return value (and fail gracefully
43655 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43656 Don't assume `vg->pvs != NULL' when iterating through it.
43657
43658 2008-04-13 Robert Millan <rmh@aybabtu.com>
43659
43660 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43661 * genmk.rb (partmap): New variable.
43662 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43663 (#{partmap}): New target rule.
43664 * genpartmaplist.sh: New file.
43665 * Makefile.in (pkglib_DATA): Add partmap.lst.
43666 (partmap.lst): New target rule.
43667 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43668 modules (including all partition maps), instead of preloading them.
43669
43670 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43671
43672 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43673 `linux-boot-prober' (if installed) to detect other operating
43674 systems which are installed on the computer and add them to
43675 the boot menu.
43676 * conf/common.rmk: Build and install 30_os-prober.
43677
43678 2008-04-12 Robert Millan <rmh@aybabtu.com>
43679
43680 * kern/powerpc/ieee1275/init.c: Move from here ...
43681 * kern/ieee1275/init.c: ... to here. Update all users.
43682
43683 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43684 * kern/ieee1275/cmain.c: ... to here. Update all users.
43685
43686 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43687 * kern/ieee1275/openfw.c: ... to here. Update all users.
43688
43689 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43690 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43691
43692 2008-04-10 Pavel Roskin <proski@gnu.org>
43693
43694 * configure.ac: Always use "_cv_" in cache variables for
43695 compatibility with Autoconf 2.62.
43696
43697 2008-04-07 Robert Millan <rmh@aybabtu.com>
43698
43699 Revert grub/machine/init.h addition by Pavel (since it breaks on
43700 i386-ieee1275 and others):
43701 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43702 * util/powerpc/ieee1275/misc.c: Likewise.
43703
43704 2008-04-07 Robert Millan <rmh@aybabtu.com>
43705
43706 * util/grub-probe.c (probe): Improve error message.
43707
43708 2008-04-07 Robert Millan <rmh@aybabtu.com>
43709
43710 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43711 (this prevents the presence of a bogus entry from ruining the whole
43712 thing).
43713
43714 2008-04-06 Pavel Roskin <proski@gnu.org>
43715
43716 * util/biosdisk.c: Include grub/util/biosdisk.h.
43717 * util/grub-fstest.c (execute_command): Make static.
43718 * util/grub-mkdevicemap.c (check_device): Likewise.
43719 * util/i386/pc/misc.c: Include grub/machine/init.h.
43720 * util/powerpc/ieee1275/misc.c: Likewise.
43721 * util/lvm.c: Include grub/util/lvm.h.
43722 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43723 grub/cache.h.
43724 * util/raid.c: Include grub/util/raid.h.
43725 (grub_util_getdiskname): Make static.
43726
43727 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43728 grub_hostfs_fini(), as they are called from grub_init_all() and
43729 grub_fini_all() respectively. This fixes an infinite loop in
43730 grub-fstest due to double registration of hostfs.
43731 Reported by Christian Franke <Christian.Franke@t-online.de>
43732
43733 2008-04-05 Pavel Roskin <proski@gnu.org>
43734
43735 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43736 all 8 functions. Otherwise, probe function 0 only.
43737
43738 2008-04-04 Pavel Roskin <proski@gnu.org>
43739
43740 * commands/lspci.c (grub_lspci_iter): Print the bus number
43741 correctly.
43742
43743 * commands/lspci.c (grub_pci_classes): Fix typos.
43744 (grub_lspci_iter): Don't print func twice. Print vendor ID
43745 before device ID, as it's normally done.
43746
43747 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43748 Fix signedness warnings.
43749 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43750 Likewise.
43751 * util/ieee1275/get_disk_name.c: Include config.h so that
43752 _GNU_SOURCE is defined and getline() is declared. Mark an
43753 unused argument as such. Fix a signedness warning.
43754
43755 2008-04-02 Pavel Roskin <proski@gnu.org>
43756
43757 * genkernsyms.sh.in: Use more robust assignments for CC and
43758 srcdir. Quote srcdir.
43759 * gensymlist.sh.in: Likewise. Assert at the compile time that
43760 the symbol table is not empty.
43761
43762 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43763 * fs/cpio.c (grub_cpio_read): Likewise.
43764
43765 2008-04-01 Pavel Roskin <proski@gnu.org>
43766
43767 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43768 * disk/host.c (grub_host_open): Likewise.
43769 * disk/loopback.c (grub_loopback_open): Likewise.
43770 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43771 disk->id as in disk/host.c, not a multi-character constant.
43772
43773 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43774 later is obsolete, potentially dangerous and sets a bad example.
43775 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43776 * util/misc.c (grub_util_get_image_size): Likewise.
43777
43778 * disk/loopback.c (options): Improve help for "--partitions".
43779
43780 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43781 options to align them with the short options, e.g. "echo -e".
43782
43783 2008-03-31 Bean <bean123ch@gmail.com>
43784
43785 * video/reader/png.c (grub_png_data): New member is_16bit and
43786 image_data.
43787 (grub_png_decode_image_header): Detect 16 bit png image.
43788 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43789 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43790 (grub_video_reader_png): Release memory occupied by image_data.
43791
43792 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43793 4096 bytes.
43794 (grub_nfs_mount): Skip the test for sector per cluster.
43795
43796 * include/grub/ntfs.h (MAX_SPC): Removed.
43797
43798 2008-03-31 Bean <bean123ch@gmail.com>
43799
43800 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43801 (grub_probe_SOURCES): Add fs/afs.c.
43802 (grub_fstest_SOURCES): Likewise.
43803 (afs_mod_SOURCES): New variable.
43804 (afs_mod_CFLAGS): Likewise.
43805 (afs_mod_LDFLAGS): Likewise.
43806
43807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43808 (grub_emu_SOURCES): Likewise.
43809
43810 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43811
43812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43813
43814 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43815
43816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43817
43818 * fs/afs.c: New file.
43819
43820 2008-03-30 Pavel Roskin <proski@gnu.org>
43821
43822 * disk/host.c: Include grub/misc.h to fix a warning.
43823 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43824 warnings about implicit declarations.
43825
43826 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43827 variable.
43828 * include/grub/i386/loader.h: Change declaration of
43829 grub_linux_boot() to match what grub_loader_set() expects.
43830 * util/getroot.c (grub_guess_root_device): Return const char* to
43831 fix a warning.
43832 * util/grub-probe.c (probe): Fix a warning about uninitialized
43833 abstraction_name variable.
43834 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43835 second argument as unused to fix a warning.
43836
43837 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43838 missing grub_error() call.
43839
43840 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43841 2.60 and newer uses it to define datadir.
43842
43843 * commands/sleep.c: Fix warning about implicit declaration.
43844 * disk/memdisk.c: Likewise.
43845 * loader/aout.c: Likewise.
43846 * loader/i386/bsd_normal.c: Likewise.
43847 * util/grub-probe.c: Likewise.
43848
43849 * commands/i386/cpuid.c (has_longmode): Make static.
43850 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43851 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43852
43853 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43854 GDT. This is more robust, as %ds can change.
43855 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43856 calling real_to_prot().
43857 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43858
43859 2008-03-28 Pavel Roskin <proski@gnu.org>
43860
43861 * kern/i386/pc/startup.S: Assert that uncompressed functions
43862 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43863 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43864 code, as they push parts of the code (error handlers) beyond
43865 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43866 code as correctness and size.
43867
43868 2008-03-28 Pavel Roskin <proski@gnu.org>
43869
43870 * kern/i386/pc/startup.S
43871 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43872 data block address to the real mode, keep offset minimal. This
43873 works around a bug in AWARD BIOS on old Athlon systems, which
43874 makes CD detection hang.
43875
43876 2008-03-26 Pavel Roskin <proski@gnu.org>
43877
43878 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43879 const.
43880 * include/grub/normal.h: Add grub_parse_color_name_pair()
43881 declaration.
43882
43883 2008-03-24 Bean <bean123ch@gmail.com>
43884
43885 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43886 (cd_count): Removed.
43887 (cd_drive): New variable.
43888 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43889 (grub_biosdisk_call_hook): Likewise.
43890 (grub_biosdisk_iterate): Change cdrom detection method.
43891 (grub_biosdisk_open): Replace cd_start with cd_drive.
43892 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43893 detect cdrom device.
43894
43895 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43896 Removed.
43897 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43898 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43899 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43900 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43901 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43902 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43903 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43904 (grub_biosdisk_cdrp): New structure.
43905 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43906
43907 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43908
43909 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43910 device.
43911
43912 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43913 New function.
43914
43915 2008-03-20 Robert Millan <rmh@aybabtu.com>
43916
43917 Remove 2 TiB limit in ata.mod.
43918 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43919 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43920 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43921 grub_uint64_t instead of grub_uint32_t.
43922
43923 2008-03-05 Bean <bean123ch@gmail.com>
43924
43925 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43926 (grub_multiboot): Set boot device.
43927
43928 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43929
43930 2008-03-02 Bean <bean123ch@gmail.com>
43931
43932 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43933 symlink_buffer.
43934
43935 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43936
43937 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43938 texinfo.tex.
43939
43940 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43941 modified.
43942
43943 * docs/fdl.texi: New file.
43944
43945 * docs/mdate-sh: New file. Copied from gnulib.
43946 * docs/texinfo.tex: Likewise.
43947
43948 * config.guess: Updated from gnulib.
43949 * install-sh: Likewise.
43950
43951 2008-02-28 Robert Millan <rmh@aybabtu.com>
43952
43953 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43954 (aout_mod_SOURCES): New variable.
43955 (aout_mod_CFLAGS): Likewise.
43956 (aout_mod_LDFLAGS): Likewise.
43957
43958 * conf/i386-ieee1275.rmk: Likewise.
43959
43960 2008-02-28 Robert Millan <rmh@aybabtu.com>
43961
43962 * util/update-grub.in: Reorganise terminal validity check. Accept
43963 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43964 Based on suggestion by Franklin PIAT.
43965
43966 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43967
43968 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43969 function.
43970 * util/getroot.c (grub_util_check_block_device): New function that
43971 returns the given argument if it is a block device and returns NULL else.
43972 * util/grub-probe.c (argument_is_device): New variable.
43973 (probe): Promote device_name from a variable to an argument. Receive
43974 device_name from grub_util_check_block_device() if path is NULL and from
43975 grub_guess_root_device() else. Do not free() device_name anymore.
43976 (options): Introduce new parameter '-d, --device'.
43977 (main): Add description of the new parameter to the help screen.
43978 Rename path variable to argument. Set argument_is_device if the '-d'
43979 option is given. Pass argument to probe() depending on
43980 argument_is_device.
43981
43982 2008-02-24 Bean <bean123ch@gmail.com>
43983
43984 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43985 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43986 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43987 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43988 (GRUB_ISO9660_VOLDESC_END): Likewise.
43989 (grub_iso9660_primary_voldesc): New member escape.
43990 (grub_iso9660_data): New member joliet.
43991 (grub_iso9660_convert_string): New function.
43992 (grub_iso9660_mount): Detect joliet extension.
43993 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43994 (grub_iso9660_iso9660_label): Likewise.
43995
43996 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43997 (grub_setup_SOURCES): Add fs/udf.c.
43998 (grub_fstest_SOURCES): Likewise.
43999 (udf_mod_SOURCES): New variable.
44000 (udf_mod_CFLAGS): Likewise.
44001 (udf_mod_LDFLAGS): Likewise.
44002
44003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44004 (grub_emu_SOURCES): Likewise.
44005
44006 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44007
44008 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44009
44010 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44011
44012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44013
44014 * fs/udf.c: New file.
44015
44016 2008-02-24 Robert Millan <rmh@aybabtu.com>
44017
44018 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44019 (normal/lexer.c_DEPENDENCIES): New variables.
44020 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44021 (normal/lexer.c_DEPENDENCIES): Likewise.
44022 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44023 (normal/lexer.c_DEPENDENCIES): Likewise.
44024 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44025 (normal/lexer.c_DEPENDENCIES): Likewise.
44026 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44027 (normal/lexer.c_DEPENDENCIES): Likewise.
44028 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44029 (normal/lexer.c_DEPENDENCIES): Likewise.
44030
44031 2008-02-23 Robert Millan <rmh@aybabtu.com>
44032
44033 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44034 since they were intended to be in hex. This didn't break previously
44035 because of a bug in gpt_partition_map_iterate() (see below).
44036
44037 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44038 when checking the validity of GPT header.
44039 Remove `partno', since it always provides the same information as `i'.
44040
44041 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44042
44043 * include/grub/efi/time.h: Fix a wrong comment.
44044
44045 2008-02-19 Pavel Roskin <proski@gnu.org>
44046
44047 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44048 message.
44049
44050 2008-02-19 Bean <bean123ch@gmail.com>
44051
44052 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44053 (aout_mod_SOURCES): New variable.
44054 (aout_mod_CFLAGS): Likewise.
44055 (aout_mod_LDFLAGS): Likewise.
44056 (_bsd_mod_SOURCES): New variable.
44057 (_bsd_mod_CFLAGS): Likewise.
44058 (_bsd_mod_LDFLAGS): Likewise.
44059 (bsd_mod_SOURCES): New variable.
44060 (bsd_mod_CFLAGS): Likewise.
44061 (bsd_mod_LDFLAGS): Likewise.
44062
44063 * include/grub/aout.h: New file.
44064
44065 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44066
44067 * include/grub/i386/bsd.h: New file.
44068
44069 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44070 to make it public.
44071
44072 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44073 function is called, so that it's possible to change it inside the hook.
44074 (grub_elf64_load): Likewise.
44075 (grub_elf_file): Don't close the file if elf header is not found.
44076 (grub_elf_close): Close the file if grub_elf_file fails (The new
44077 grub_elf_file won't close it).
44078 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44079 (grub_elf64_size): Likewise.
44080
44081 * kern/i386/loader.S (grub_unix_real_boot): New function.
44082
44083 * loader/aout.c: New file.
44084
44085 * loader/i386/bsd.c: New file.
44086
44087 * loader/i386/bsd_normal.c: New file.
44088
44089 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44090
44091 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
44092 can test other formats.
44093
44094 2008-02-19 Robert Millan <rmh@aybabtu.com>
44095
44096 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44097 (grub_gpt_partition_type_empty): Redefine with macro from
44098 `<grub/gpt_partition.h>'.
44099 (gpt_partition_map_iterate): Adjust partition type comparison.
44100
44101 Export `entry' as partmap-specific `part.data' struct.
44102 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44103
44104 * include/grub/gpt_partition.h (grub_gpt_header)
44105 (grub_gpt_partentry): ... to here (new file).
44106
44107 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44108
44109 (grub_gpt_partition_type_bios_boot): New const variable, defined
44110 with macro from `<grub/gpt_partition.h>'.
44111
44112 (setup): Replace `first_start' with `embed_region', which keeps
44113 track of the embed region (and is partmap-agnostic).
44114
44115 Replace find_first_partition_start() with find_usable_region(),
44116 which finds a usable region for embedding using partmap-specific
44117 knowledge (supports PC/MSDOS and GPT).
44118
44119 Fix all assumptions that the embed region start at sector 1, using
44120 `embed_region.start' from now on. Similarly, use `embed_region.end'
44121 rather than `first_start' to calculate available size.
44122
44123 In grub_util_info() message, replace "into after the MBR" with an
44124 indication of the specific sector our embed region starts at.
44125
44126 2008-02-19 Robert Millan <rmh@aybabtu.com>
44127
44128 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44129 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44130 `commands/reboot.c'.
44131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44132 (halt_mod_SOURCES): Likewise.
44133 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44134 (halt_mod_SOURCES): Likewise.
44135
44136 2008-02-17 Christian Franke <franke@computer.org>
44137
44138 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44139
44140 2008-02-17 Robert Millan <rmh@aybabtu.com>
44141
44142 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44143 set `first_start' to 0 for non-PC/MSDOS partition maps.
44144
44145 2008-02-16 Robert Millan <rmh@aybabtu.com>
44146
44147 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44148 do not assume partition map is PC/MSDOS before performing checks that
44149 are specific to that layout.
44150
44151 2008-02-13 Robert Millan <rmh@aybabtu.com>
44152
44153 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44154 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44155 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44156
44157 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44158
44159 * configure.ac: Only a cosmetic change on the handling of
44160 -fno-stack-protector.
44161
44162 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
44163
44164 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44165 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44166 reboot.c.
44167 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44168 (halt_mod_SOURCES): New variable.
44169 (halt_mod_CFLAGS): Likewise.
44170 (halt_mod_LDFLAGS): Likewise.
44171 (reboot_mod_SOURCES): Likewise.
44172 (reboot_mod_CFLAGS): Likewise.
44173 (reboot_mod_LDFLAGS): Likewise.
44174
44175 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44176 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44177 reboot.c.
44178 (halt_mod_SOURCES): Likewise.
44179 (reboot_mod_SOURCES): Likewise.
44180
44181 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44182 commands/i386/pc/reboot.c by commands/reboot.c.
44183 (reboot_mod_SOURCES): Likewise.
44184
44185 * commands/i386/pc/reboot.c: merge this file ...
44186
44187 * commands/ieee1275/reboot.c: ... and this file ...
44188
44189 * commands/reboot.c: ... to this file.
44190 Add some precompiler directive to include the correct header for
44191 each machine.
44192
44193 * commands/ieee1275/halt.c: move this file ...
44194
44195 * commands/halt.c: ... to here.
44196 Add some precompiler directive to include the correct header for
44197 each machine.
44198
44199 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44200 (grub_halt): Likewise.
44201
44202 * kern/efi/efi.c (grub_reboot): New function.
44203 (grub_halt): Likewise.
44204
44205 2008-02-12 Robert Millan <rmh@aybabtu.com>
44206
44207 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44208 /dev (like it is done for /dev/mapper). This doesn't provide support
44209 for EVMS, but at least it is now easy to identify the problem when it
44210 arises.
44211
44212 2008-02-11 Robert Millan <rmh@aybabtu.com>
44213
44214 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44215 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44216 comparing it with -1, not 0.
44217
44218 2008-02-10 Robert Millan <rmh@aybabtu.com>
44219
44220 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44221 `disk/lvm.c'.
44222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44223 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44224
44225 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44226 `disk/lvm.c' to the end of the list.
44227 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44228 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44229
44230 2008-02-10 Robert Millan <rmh@aybabtu.com>
44231
44232 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44233 grub_print_error() instead. This will let user know why we're entering
44234 rescue mode.
44235 Based on suggestions from Sam Morris.
44236
44237 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
44238
44239 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44240 on remaining N args, instead of "--" arg N times.
44241
44242 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44243
44244 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44245 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44246 pattern for unknown glyphs.
44247
44248 2008-02-09 Robert Millan <rmh@aybabtu.com>
44249
44250 * configure.ac: Probe for `help2man'.
44251 * Makefile.in (builddir): New variable.
44252 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44253 or otherwise add a few flags/options to it.
44254 (install-local): For every executable utility or script that is
44255 installed, invoke $(HELP2MAN) to install a manpage based on --help
44256 output.
44257
44258 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44259 that it doesn't prevent --help from working in build tree.
44260
44261 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44262 with `bug-grub@gnu.org'.
44263 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44264 * util/update-grub.in (usage): New function.
44265 Implement proper argument check, with support for --help and --version
44266 (as well as existing -y).
44267
44268 2008-02-09 Christian Franke <franke@computer.org>
44269
44270 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44271 avoid overwriting previous output.
44272 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44273
44274 2008-02-09 Robert Millan <rmh@aybabtu.com>
44275
44276 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44277 drawing the menu.
44278
44279 2008-02-09 Robert Millan <rmh@aybabtu.com>
44280
44281 * commands/sleep.c: New file.
44282 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44283 (sleep_mod_SOURCES): New variable.
44284 (sleep_mod_CFLAGS): Likewise.
44285 (sleep_mod_LDFLAGS): Likewise.
44286
44287 2008-02-09 Robert Millan <rmh@aybabtu.com>
44288
44289 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44290 situations in which we can deduce the RAID size and the superblock
44291 doesn't match it.
44292
44293 2008-02-09 Robert Millan <rmh@aybabtu.com>
44294
44295 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44296 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44297 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44298
44299 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44300 and return a grub_diskmemberlist_t composed of physical array members.
44301 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44302
44303 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44304 prototype.
44305 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44306 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44307 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44308
44309 * util/grub-probe.c (probe): Move partmap probing code from here ...
44310 (probe_partmap): ... to here.
44311 (probe): Use probe_partmap() once for the disk we're probing, and
44312 additionally, when such disk contains a memberlist() struct member,
44313 once for each disk that is contained in the structure returned by
44314 memberlist().
44315
44316 2008-02-09 Robert Millan <rmh@aybabtu.com>
44317
44318 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44319 environment variable to 'all' in order to obtain debug output from
44320 non-util/ code.
44321 * util/i386/pc/grub-setup.c (main): Likewise.
44322
44323 2008-02-08 Robert Millan <rmh@aybabtu.com>
44324
44325 * disk/raid.c (grub_raid_scan_device): Check for
44326 `array->device[sb.this_disk.number]' rather than for
44327 `array->device[sb.this_disk.number]->name', since the latter is not
44328 guaranteed to be accessible.
44329
44330 2008-02-08 Robert Millan <rmh@aybabtu.com>
44331
44332 * disk/raid.c: Update copyright.
44333 * fs/cpio.c: Likewise.
44334 * include/grub/raid.h: Likewise.
44335 * loader/i386/pc/multiboot.c: Likewise.
44336 * util/hostfs.c: Likewise.
44337
44338 2008-02-08 Robert Millan <rmh@aybabtu.com>
44339
44340 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44341 to a grub_disk_t array.
44342 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44343 `device[x]'.
44344 (grub_raid_scan_device): Replace `device[x].name' accesses with
44345 `device[x]->name'. Simplify initialization of `array->device[x]'.
44346
44347 2008-02-08 Robert Millan <rmh@aybabtu.com>
44348
44349 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44350 grub_dprintf() calls.
44351 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44352 error message.
44353
44354 2008-02-07 Christian Franke <franke@computer.org>
44355
44356 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44357 instead of fseek and ftell to support large files.
44358 (grub_hostfs_read): Likewise.
44359
44360 2008-02-07 Robert Millan <rmh@aybabtu.com>
44361
44362 Patch from Jeroen Dekkers.
44363 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
44364 failure, since successfully reading all array members might not be
44365 required.
44366
44367 2008-02-06 Robert Millan <rmh@aybabtu.com>
44368
44369 * util/grub-probe.c (probe): Simplify partmap probing (with the
44370 assumption that the first word up to the underscore equals to
44371 the module name).
44372
44373 2008-02-06 Christian Franke <franke@computer.org>
44374
44375 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44376 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44377 last block of a cpio or tar stream.
44378 Check for "TRAILER!!!" instead of any empty data
44379 block to detect last block of a cpio stream.
44380 (grub_cpio_dir): Fix constness of variable np.
44381 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44382 cpio or tar trailer is detected. This fixes a crash
44383 on open of a non existing file.
44384
44385 2008-02-05 Bean <bean123ch@gmail.com>
44386
44387 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44388 address of entry.
44389 (grub_multiboot_load_elf64): Likewise.
44390 (grub_multiboot): Initialize mbi structure.
44391
44392 * util/grub-fstest.c: Don't include unused header file script.h.
44393
44394 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
44395 of file.
44396 (grub_fstest_SOURCES): Likewise.
44397
44398 2008-02-05 Robert Millan <rmh@aybabtu.com>
44399
44400 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44401 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44402 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44403 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44404
44405 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44406 (translation_table): Replace hardcoded values with macros
44407 provided by `<grub/term.h>'.
44408
44409 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44410 (keyboard_map): Correct/add a few values, with macros provided
44411 by `<grub/term.h>'.
44412 (keyboard_map_shift): Zero values that don't differ from their
44413 `keyboard_map' equivalents.
44414 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44415 Discard the second scan code that is always sent by Caps lock.
44416 Only use `keyboard_map_shift' when it provides a non-zero value,
44417 otherwise fallback to `keyboard_map'.
44418
44419 2008-02-04 Bean <bean123ch@gmail.com>
44420
44421 * Makefile.in (enable_grub_fstest): New variable.
44422
44423 * conf/common.rmk (grub_fstest_init.lst): New rule.
44424 (grub_fstest_init.h): Likewise.
44425 (grub_fstest_init.c): Likewise.
44426 (util/grub-fstest.c_DEPENDENCIES): New variable.
44427 (grub_fstest_SOURCES): Likewise.
44428
44429 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44430
44431 * util/grub-fstest.c: New file.
44432
44433 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44434
44435 Make grub-setup handle a separate root device.
44436
44437 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44438 so that the root device can be compared with the destination
44439 device.
44440 When embedding the core image, if the root and destination devices
44441 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44442 0xFF.
44443 When not embedding, set ROOT_DRIVE to 0xFF.
44444
44445 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44446
44447 Add support for having a grub directory in a different drive. This
44448 is still only the data handling part.
44449
44450 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44451 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44452 (grub_root_drive): New variable.
44453
44454 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44455 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44456 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44457 as it was.
44458
44459 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44460
44461 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44462 macro.
44463 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44464
44465 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44466 is bogus, because PXE booting does not specify any drive
44467 correctly.
44468
44469 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44470 am not sure if this is really correct.
44471
44472 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44473 is always identical to the boot drive when booting from a CD.
44474
44475 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44476 longer.
44477 (root_drive): New variable.
44478 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44479 (setup_sectors): Push %dx right after popping it, because %dh will
44480 be modified later.
44481 (copy_buffer): Restore %dx.
44482
44483 2008-02-03 Robert Millan <rmh@aybabtu.com>
44484
44485 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44486 use `cdboot.img' for cdrom images.
44487
44488 2008-02-03 Robert Millan <rmh@aybabtu.com>
44489
44490 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44491 only setup gfxterm when `font' command has succeeded.
44492
44493 2008-02-03 Robert Millan <rmh@aybabtu.com>
44494
44495 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44496 (grub_rescue_cmd_multiboot_loader)
44497 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44498
44499 2008-02-03 Pavel Roskin <proski@gnu.org>
44500
44501 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
44502 %edx and %esi from stack only after grub_gate_a20() is called.
44503 grub_gate_a20() clobbers %edx.
44504
44505 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44506
44507 * configure.ac (AC_INIT): Bumped to 1.96.
44508
44509 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44510 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44511 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44512 video/readers/png.c.
44513
44514 2008-02-03 Bean <bean123ch@gmail.com>
44515
44516 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44517 (cdboot_img_SOURCES): New variable.
44518 (cdboot_img_ASFLAGS): New variable.
44519 (cdboot_img_LDFLAGS): New variable.
44520
44521 * boot/i386/pc/cdboot.S: New file.
44522
44523 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44524 (cd_count): Likewise.
44525 (grub_biosdisk_get_drive): Add support for cd device.
44526 (grub_biosdisk_call_hook): Likewise.
44527 (grub_biosdisk_iterate): Likewise.
44528 (grub_biosdisk_open): Likewise.
44529 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44530 (grub_biosdisk_rw): Support reading from cd device.
44531 (GRUB_MOD_INIT): Iterate cd devices.
44532
44533 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44534 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44535 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44536
44537 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44538
44539 2008-02-02 Robert Millan <rmh@aybabtu.com>
44540
44541 * commands/read.c: New file.
44542 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44543 (read_mod_SOURCES): New variable.
44544 (read_mod_CFLAGS): Likewise.
44545 (read_mod_LDFLAGS): Likewise.
44546
44547 2008-02-02 Robert Millan <rmh@aybabtu.com>
44548
44549 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44550 determining whether menu has to be displayed.
44551
44552 2008-02-02 Marco Gerards <marco@gnu.org>
44553
44554 * bus/pci.c: New file.
44555
44556 * include/grub/pci.h: Likewise.
44557
44558 * include/grub/i386/pc/pci.h: Likewise.
44559
44560 * commands/lspci.c: Likewise.
44561
44562 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44563 `lspci.mod'.
44564 (pci_mod_SOURCES): New variable.
44565 (pci_mod_CFLAGS): Likewise.
44566 (pci_mod_LDFLAGS): Likewise.
44567 (lspci_mod_SOURCES): Likewise.
44568 (lspci_mod_CFLAGS): Likewise.
44569 (lspci_mod_LDFLAGS): Likewise.
44570
44571 2008-02-02 Bean <bean123ch@gmail.com>
44572
44573 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44574 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44575
44576 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44577 (grub_xfs_btree_node): New structure.
44578 (grub_xfs_btree_root): New structure.
44579 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44580 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44581 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44582 (GRUB_XFS_EXTENT_SIZE): Likewise.
44583 (grub_xfs_read_block): Support btree format type.
44584 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44585 Use directory block as basic unit.
44586
44587 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44588
44589 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44590 __attribute__ ((__regparm__ (1))).
44591
44592 2008-02-01 Robert Millan <rmh@aybabtu.com>
44593
44594 Correct a mistake in previous commit.
44595
44596 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44597 top.
44598 (normal/command.c_DEPENDENCIES): New variable.
44599
44600 2008-02-01 Robert Millan <rmh@aybabtu.com>
44601
44602 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44603 top.
44604 (normal/command.c_DEPENDENCIES): New variable.
44605 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44606 * conf/i386-ieee1275.rmk: Likewise.
44607 * conf/i386-linuxbios.rmk: Likewise.
44608 * conf/i386-pc.rmk: Likewise.
44609 * conf/sparc64-ieee1275.rmk: Likewise.
44610 * conf/powerpc-ieee1275.rmk: Likewise.
44611 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44612
44613 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44614
44615 2008-02-01 Robert Millan <rmh@aybabtu.com>
44616
44617 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44618 call at beginning of function.
44619
44620 2008-01-31 Pavel Roskin <proski@gnu.org>
44621
44622 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
44623 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44624 (grub_mkrescue_SOURCES): Likewise.
44625 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44626
44627 2008-01-30 Robert Millan <rmh@aybabtu.com>
44628
44629 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44630 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44631 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44632 (grub_probe_SOURCES): ... to here.
44633
44634 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44635 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44636 * conf/i386-ieee1275.rmk: Likewise.
44637 * conf/i386-linuxbios.rmk: Likewise.
44638 * conf/powerpc-ieee1275.rmk: Likewise.
44639
44640 2008-01-30 Tristan Gingold <gingold@free.fr>
44641
44642 * kern/rescue.c: Silently accept empty lines.
44643
44644 2008-01-29 Bean <bean123ch@gmail.com>
44645
44646 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44647 (real_code_2): Code cleanup and change comment style.
44648 (move_memory): Avoid using 32-bit address mode.
44649
44650 2008-01-29 Bean <bean123ch@gmail.com>
44651
44652 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44653 (png_mod_SOURCES): New variable.
44654 (png_mod_CFLAGS): Likewise.
44655 (png_mod_LDFLAGS): Likewise.
44656
44657 * video/readers/png.c: New file.
44658
44659 2008-01-28 Robert Millan <rmh@aybabtu.com>
44660
44661 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44662 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44663 `ifndef GRUB_MOD_GAP' hack.
44664 * util/elf/grub-mkimage.c (add_segments): Likewise.
44665
44666 2008-01-27 Robert Millan <rmh@aybabtu.com>
44667
44668 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44669 `GRUB_MOD_GAP' for platforms in which it's not defined.
44670 * util/elf/grub-mkimage.c (add_segments): Likewise.
44671
44672 2008-01-27 Robert Millan <rmh@aybabtu.com>
44673
44674 Get grub-emu to build again (including parallel builds).
44675
44676 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44677 Split into ...
44678 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44679 (normal/execute.c_DEPENDENCIES): ... this, ...
44680 (grub-emu_DEPENDENCIES): ... and this.
44681
44682 * conf/i386-efi.rmk: Likewise.
44683 * conf/i386-linuxbios.rmk: Likewise.
44684 * conf/i386-ieee1275.rmk: Likewise.
44685 * conf/powerpc-ieee1275.rmk: Likewise.
44686 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44687
44688 2008-01-27 Robert Millan <rmh@aybabtu.com>
44689
44690 * NEWS: Add a few items.
44691
44692 2008-01-27 Robert Millan <rmh@aybabtu.com>
44693
44694 Fix parallel builds with grub-emu. Based on earlier commit for
44695 grub-probe and grub-setup.
44696
44697 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44698 (util/grub-emu.c_DEPENDENCIES): ... this.
44699 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44700 (util/grub-emu.c_DEPENDENCIES): ... this.
44701 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44702 (util/grub-emu.c_DEPENDENCIES): ... this.
44703 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44704 (util/grub-emu.c_DEPENDENCIES): ... this.
44705 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44706 (util/grub-emu.c_DEPENDENCIES): ... this.
44707
44708 2008-01-27 Pavel Roskin <proski@gnu.org>
44709
44710 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44711 to create a gap between _end and the modules added to the image
44712 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44713 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44714 * util/elf/grub-mkimage.c (add_segments): Likewise.
44715
44716 2008-01-26 Pavel Roskin <proski@gnu.org>
44717
44718 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44719 just return an error.
44720
44721 2008-01-26 Bean <bean123ch@gmail.com>
44722
44723 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44724 (grub_reiserfs_get_item): Save offset of the next item.
44725 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44726
44727 2008-01-25 Robert Millan <rmh@aybabtu.com>
44728
44729 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44730 make all filesystem sources appear together (possibly fixing omissions
44731 while at it).
44732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44733 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44734 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44736
44737 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44738 add `kern/file.c'.
44739 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44740 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44741 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44742 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44743
44744 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44745 (probe): Add a sanity check to make sure of our ability to read
44746 requested files when probing for filesystem type.
44747
44748 * genmk.rb: Update copyright year (2007).
44749
44750 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44751 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44752 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44753 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44754 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44755 : Remove function prototypes.
44756
44757 2008-01-25 Robert Millan <rmh@aybabtu.com>
44758
44759 Revert my previous commits (based on wrong assumption of how grub_errno
44760 works).
44761
44762 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
44763 * kern/file.c (grub_file_open): Likewise.
44764
44765 2008-01-24 Pavel Roskin <proski@gnu.org>
44766
44767 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44768 that hang if GRUB tries to setup colors.
44769 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44770 colors for firmwares that don't support it.
44771 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44772 Recognize Open Hack'Ware, set flags to work around its
44773 limitations.
44774
44775 2008-01-24 Robert Millan <rmh@aybabtu.com>
44776
44777 * kern/file.c (grub_file_open): Do not account previous failures of
44778 unrelated functions when grub_errno is checked for.
44779 Reported by Oleg Strikov.
44780
44781 2008-01-24 Bean <bean123ch@gmail.com>
44782
44783 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44784 (grub_ufs_sblock): New member volume name.
44785 (grub_ufs_find_file): Fix string copy bug.
44786 (grub_ufs_label): Implement this function properly.
44787
44788 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44789 (grub_hfs_iterate_records): Use the correct file number for extents
44790 and catalog file. Fix problem in next index calculation.
44791 (grub_hfs_find_node): Replace recursive function call with loop.
44792 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44793
44794 2008-01-23 Robert Millan <rmh@aybabtu.com>
44795
44796 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44797 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44798 (grub_multiboot2_real_boot): New function prototype.
44799
44800 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44801 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44802
44803 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44804 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44805
44806 2008-01-23 Robert Millan <rmh@aybabtu.com>
44807
44808 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44809 #ifdef'ed out grub_printf().
44810
44811 2008-01-23 Robert Millan <rmh@aybabtu.com>
44812
44813 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44814 grub_dprintf calls, since they make "debug=all" mode unusable.
44815 (grub_console_checkkey): Likewise.
44816
44817 2008-01-23 Robert Millan <rmh@aybabtu.com>
44818
44819 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44820 `term/i386/pc/at_keyboard.c'.
44821 (pkglib_MODULES): Add `serial.mod'.
44822 (serial_mod_SOURCES): New variable.
44823 (serial_mod_CFLAGS): Likewise.
44824 (serial_mod_LDFLAGS): Likewise.
44825
44826 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44827 `<grub/powerpc/ieee1275/console.h>'.
44828 (grub_keyboard_controller_init): New function prototype.
44829 (grub_console_checkkey): Likewise.
44830 (grub_console_getkey): Likewise.
44831
44832 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44833 keyboard on i386.
44834
44835 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44836 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44837
44838 2008-01-23 Robert Millan <rmh@aybabtu.com>
44839
44840 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44841 present, "(memdisk)/boot/grub" becomes the default prefix.
44842
44843 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44844 a memdisk tarball with all the modules. Add --overlay=DIR option that
44845 allows users to overlay additional files into the image.
44846
44847 2008-01-23 Robert Millan <rmh@aybabtu.com>
44848
44849 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44850 and `machine/memory.h'.
44851 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44852 (_multiboot_mod_SOURCES): New variable.
44853 (_multiboot_mod_CFLAGS): Likewise.
44854 (_multiboot_mod_LDFLAGS): Likewise.
44855 (multiboot_mod_SOURCES): Likewise.
44856 (multiboot_mod_CFLAGS): Likewise.
44857 (multiboot_mod_LDFLAGS): Likewise.
44858
44859 * include/grub/i386/ieee1275/loader.h: New file.
44860
44861 * include/grub/i386/ieee1275/machine.h: Likewise.
44862
44863 * include/grub/i386/ieee1275/memory.h: Likewise.
44864
44865 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44866 variable declaration.
44867 (grub_os_area_size): Likewise.
44868
44869 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44870 (grub_lower_mem, grub_upper_mem): New variables.
44871 (grub_stop_floppy): New function (just to make
44872 grub_multiboot2_real_boot() happy).
44873
44874 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44875 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44876 (grub_stop): New function.
44877 Include `"../realmode.S"' and `"../loader.S"'.
44878
44879 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44880 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44881
44882 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44883 rely on grub_multiboot2_real_boot() for final boot.
44884
44885 2008-01-22 Robert Millan <rmh@aybabtu.com>
44886
44887 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44888 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44889 device that doesn't look like an SD card.
44890 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44891 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44892 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44893 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44894 found.
44895
44896 2008-01-22 Robert Millan <rmh@aybabtu.com>
44897
44898 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44899 avoid claiming over our own code.
44900
44901 2008-01-22 Bean <bean123ch@gmail.com>
44902
44903 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44904 (jpeg_mod_SOURCES): New variable.
44905 (jpeg_mod_CFLAGS): Likewise.
44906 (jpeg_mod_LDFLAGS): Likewise.
44907
44908 * video/readers/jpeg.c : New file.
44909
44910 2008-01-22 Bean <bean123ch@gmail.com>
44911
44912 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44913 there are no more items.
44914
44915 2008-01-21 Robert Millan <rmh@aybabtu.com>
44916
44917 * kern/mm.c (grub_mm_init_region): Improve debug message.
44918
44919 2008-01-21 Robert Millan <rmh@aybabtu.com>
44920
44921 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44922 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44923 address.
44924 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44925 a C macro.
44926 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44927 Indicates start of upper memory.
44928 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44929 (generate_image): Abort when image size is big enough to corrupt
44930 upper memory.
44931
44932 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44933 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44934 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44935 instead of hardcoding 0xA0000.
44936 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44937 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44938 instead of hardcoding 0xA0000.
44939
44940 2008-01-21 Robert Millan <rmh@aybabtu.com>
44941
44942 * disk/memdisk.c (memdisk_size): New variable.
44943 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44944 `memdisk_size'.
44945 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44946 image to dynamic memory.
44947 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44948 `memdisk_size'. Free memdisk block.
44949
44950 2008-01-21 Robert Millan <rmh@aybabtu.com>
44951
44952 Fix detection of very small filesystems (like tar).
44953
44954 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44955 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44956 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44957 a problem with this disk).
44958
44959 2008-01-21 Robert Millan <rmh@aybabtu.com>
44960
44961 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44962 on grub_biosdisk_rw_standard() error.
44963
44964 2008-01-21 Robert Millan <rmh@aybabtu.com>
44965
44966 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44967 recent changes.
44968 * kern/elf.c: Likewise.
44969 * kern/ieee1275/ieee1275.c: Likewise.
44970 * kern/powerpc/ieee1275/openfw.c: Likewise.
44971 * term/ieee1275/ofconsole.c: Likewise.
44972
44973 2008-01-21 Robert Millan <rmh@aybabtu.com>
44974
44975 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44976
44977 * include/grub/kernel.h (grub_arch_memdisk_addr)
44978 (grub_arch_memdisk_size): Moved from here ...
44979
44980 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44981 (grub_arch_memdisk_size): ... to here.
44982
44983 2008-01-21 Robert Millan <rmh@aybabtu.com>
44984
44985 Mostly based on bugfix from Bean.
44986
44987 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44988 attribute with hook() parameter.
44989 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44990 declaration.
44991 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44992 attribute with hook() parameter.
44993 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44994 declaration.
44995
44996 2008-01-21 Robert Millan <rmh@aybabtu.com>
44997
44998 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44999 (pkglib_MODULES): Add `memdisk.mod'.
45000 (memdisk_mod_SOURCES): New variable.
45001 (memdisk_mod_CFLAGS): Likewise.
45002 (memdisk_mod_LDFLAGS): Likewise.
45003
45004 * disk/memdisk.c: New file.
45005
45006 * include/grub/disk.h (grub_disk_dev_id): Add
45007 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45008
45009 * include/grub/i386/pc/kernel.h
45010 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45011 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45012 (grub_kernel_image_size): New variable declaration.
45013 (grub_total_module_size): Likewise.
45014 (grub_memdisk_image_size): Likewise.
45015
45016 * include/grub/i386/pc/memory.h
45017 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45018
45019 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45020 (grub_arch_memdisk_addr): New variable declaration.
45021 (grub_arch_memdisk_size): Likewise.
45022
45023 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45024 (grub_arch_memdisk_size): Likewise.
45025
45026 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45027 (codestart): Replace hardcoded `0x100000' with
45028 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45029
45030 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45031 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45032 not NULL, append the contents of the file it refers to, at the end of
45033 the compressed kernel image. Initialize `grub_memdisk_image_size'
45034 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45035 (options): Add "memdisk"|'m' option.
45036 (main): Parse --memdisk|-m option, and pass user-provided path as
45037 parameter to generate_image().
45038
45039 2008-01-20 Robert Millan <rmh@aybabtu.com>
45040
45041 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45042 grub_dprintf() calls from here ...
45043 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45044
45045 2008-01-20 Robert Millan <rmh@aybabtu.com>
45046
45047 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45048
45049 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45050 declaration.
45051 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45052 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45053 `GRUB_IEEE1275_FLAG_REAL_MODE'.
45054 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
45055 property).
45056 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45057 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45058
45059 2008-01-19 Robert Millan <rmh@aybabtu.com>
45060
45061 Get rid of confusing function (superseded by
45062 `grub_ieee1275_get_integer_property')
45063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45064 prototype.
45065 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45066 function.
45067 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45068 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
45069 in native endianness from grub_ieee1275_get_integer_property().
45070
45071 2008-01-19 Robert Millan <rmh@aybabtu.com>
45072
45073 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45074 command after "shut-down", since implementations differ on which
45075 the command for halt is.
45076
45077 2008-01-19 Robert Millan <rmh@aybabtu.com>
45078
45079 * include/grub/i386/linuxbios/console.h: Add header protection.
45080 (grub_keyboard_controller_init): New function prototype.
45081 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45082 (KEYBOARD_COMMAND_READ): Likewise.
45083 (KEYBOARD_COMMAND_WRITE): Likewise.
45084 (KEYBOARD_SCANCODE_SET1): Likewise.
45085 (grub_keyboard_controller_write): New function.
45086 (grub_keyboard_controller_read): Likewise.
45087 (grub_keyboard_controller_init): Likewise.
45088
45089 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45090 (grub_console_init): On coreboot/LinuxBIOS, call
45091 grub_keyboard_controller_init().
45092
45093 2008-01-19 Robert Millan <rmh@aybabtu.com>
45094
45095 PowerPC changes provided by Pavel Roskin.
45096
45097 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45098 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45099 don't rely on cmain() doing it.
45100 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45101 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45102
45103 2008-01-16 Robert Millan <rmh@aybabtu.com>
45104
45105 * include/grub/i386/linuxbios/memory.h
45106 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45107 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45108 receive `table_header' as argument. Instead, probe for it in the
45109 known memory ranges where it can be present.
45110 (grub_available_iterate): Do not pass a fixed `table_header' address
45111 to grub_linuxbios_table_iterate().
45112
45113 2008-01-15 Robert Millan <rmh@aybabtu.com>
45114
45115 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45116 * conf/i386-ieee1275.rmk: New file.
45117 * include/grub/i386/ieee1275/console.h: Likewise.
45118 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45119 * include/grub/i386/ieee1275/kernel.h: Likewise.
45120 * include/grub/i386/ieee1275/time.h: Likewise.
45121 * kern/i386/ieee1275/init.c: Likewise.
45122 * kern/i386/ieee1275/startup.S: Likewise.
45123
45124 2008-01-15 Robert Millan <rmh@aybabtu.com>
45125
45126 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45127 when pointers are 32-bit (but still do set it to one when they are
45128 64-bit).
45129
45130 2008-01-15 Robert Millan <rmh@aybabtu.com>
45131
45132 * include/grub/ieee1275/ieee1275.h
45133 (grub_ieee1275_get_integer_property): New function prototype.
45134
45135 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45136 (grub_ieee1275_get_integer_property): New function. Wraps around
45137 grub_ieee1275_get_property() to handle endianness.
45138
45139 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45140 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
45141 where appropriate.
45142 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45143 (grub_map): Likewise.
45144 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45145
45146 2008-01-15 Bean <bean123ch@gmail.com>
45147
45148 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45149 (grub_script_execute_cmdline): Reset grub_errno.
45150
45151 * normal/main.c (read_config_file): Reset grub_errno.
45152
45153 * normal/parse.y (script_init): New.
45154 (script): Move function and menuentry here.
45155 (delimiter): New.
45156 (command): Add delimiter at the end of command.
45157 (commands): Adjust to match the new command.
45158 (commandblock): Remove grub_script_lexer_record_start.
45159 (menuentry): Add grub_script_lexer_record_start, use the new commands.
45160 (if): Use the new commands.
45161
45162 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45163
45164 2008-01-15 Robert Millan <rmh@aybabtu.com>
45165
45166 * normal/menu.c (run_menu): Move timeout message from here ...
45167 (print_timeout): ... to here.
45168 (run_menu): Use print_timeout() once during initial draw to print
45169 the whole message, and again in every clock tick to update only
45170 the number of seconds.
45171
45172 2008-01-15 Robert Millan <rmh@aybabtu.com>
45173
45174 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45175 actual size of `available' from grub_ieee1275_get_property(), and
45176 restrict parsing to that bound.
45177
45178 2008-01-15 Christian Franke <franke@computer.org>
45179
45180 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45181 (argp_program_version): Remove variable.
45182 (argp_program_bug_address): Likewise.
45183 (options): Convert from struct argp_option to struct option.
45184 (struct arguments): Remove.
45185 (parse_opt): Remove.
45186 (usage): New function.
45187 (main): Replace struct args members by simple variables.
45188 Replace argp_parse() by getopt_long().
45189 Add switch to evaluate options.
45190 Add missing "(...)" around root_dev in prefix string.
45191
45192 2008-01-14 Robert Millan <rmh@aybabtu.com>
45193
45194 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45195 for grub_ieee1275_exit(), in order to improve portability.
45196
45197 2008-01-14 Robert Millan <rmh@aybabtu.com>
45198
45199 * util/grub.d/10_linux.in (prefix): Define.
45200 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45201
45202 2008-01-13 Pavel Roskin <proski@gnu.org>
45203
45204 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45205 grub_errno if no errors have been detected.
45206
45207 2008-01-12 Robert Millan <rmh@aybabtu.com>
45208
45209 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45210 (grub_util_get_dev_abstraction): New function prototype.
45211
45212 * util/getroot.c: Include `<grub/util/getroot.h>'
45213 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45214 (grub_util_get_dev_abstraction): ... here (new function).
45215
45216 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45217 `PRINT_ABSTRACTION'.
45218 (probe): Probe for abstraction type when requested.
45219 (main): Understand `--target=abstraction'.
45220
45221 * util/i386/efi/grub-install.in: Add abstraction module to core
45222 image when it is found to be necessary.
45223 * util/i386/pc/grub-install.in: Likewise.
45224 * util/powerpc/ieee1275/grub-install.in: Likewise.
45225
45226 * util/update-grub_lib.in (font_path): Return system path without
45227 converting to GRUB path.
45228 * util/update-grub.in: Convert system path returned by font_path()
45229 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45230 abstraction module is needed for loading fonts (if any). Export
45231 that as `GRUB_PRELOAD_MODULES'.
45232 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45233 insmod commands).
45234
45235 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45236
45237 Remove some unused code from reiserfs.
45238
45239 * fs/reiserfs.c (struct grub_reiserfs_key)
45240 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45241 (struct grub_reiserfs_node_body): Removed.
45242 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45243 Likewise.
45244 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45245 Likewise.
45246 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45247 Likewise.
45248 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45249 Likewise.
45250 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45251 Likewise.
45252 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45253 Likewise.
45254 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45255 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45256 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45257
45258 2008-01-10 Robert Millan <rmh@aybabtu.com>
45259
45260 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45261 Determines if a file is garbage left by packaging systems, etc.
45262 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45263 for processing /etc/grub.d scripts.
45264 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45265 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45266 as a condition for processing Linux images.
45267
45268 2008-01-10 Pavel Roskin <proski@gnu.org>
45269
45270 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45271 to compile reiserfs.c on PowerPC.
45272
45273 2008-01-10 Robert Millan <rmh@aybabtu.com>
45274
45275 * kern/device.c (grub_device_iterate): Do not abort device iteration
45276 when one of the devices cannot be opened.
45277 * kern/disk.c (grub_disk_open): Do not account previous failures of
45278 unrelated functions when grub_errno is checked for.
45279
45280 2008-01-08 Robert Millan <rmh@aybabtu.com>
45281
45282 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45283 `! grub_linux_is_bzimage', change order of address comparison to make
45284 it more intuitive, and improve "too big zImage" error message.
45285
45286 2008-01-08 Robert Millan <rmh@aybabtu.com>
45287
45288 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45289 `$(update-grub_DATA)'.
45290 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45291 targets.
45292
45293 2008-01-07 Robert Millan <rmh@aybabtu.com>
45294
45295 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45296 which instruction is modified by grub-setup during installation
45297 (since it wasn't obvious by only looking at this file).
45298
45299 2008-01-07 Robert Millan <rmh@aybabtu.com>
45300
45301 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45302 listing actual TODO items.
45303
45304 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45307 correctly.
45308 (grub_reiserfs_get_key_offset): Likewise.
45309 (grub_reiserfs_set_key_offset): Likewise.
45310 (grub_reiserfs_set_key_type): Likewise.
45311 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
45312
45313 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45314 better to remove the bitfield version completely.
45315
45316 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45317
45318 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45319 allocated from the heap, due to the fshelp implementation.
45320 (grub_reiserfs_dir): Free NODE, due to the same reason.
45321
45322 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45323
45324 Mostly from Vincent Pelletier:
45325
45326 * fs/reiserfs.c: New file.
45327
45328 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45329 (reiserfs_mod_SOURCES): New variable.
45330 (reiserfs_mod_CFLAGS): Likewise.
45331 (reiserfs_mod_LDFLAGS): Likewise.
45332
45333 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45334 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45335 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45336 normal/color.c.
45337
45338 2008-01-06 Robert Millan <rmh@aybabtu.com>
45339
45340 * normal/color.c: Remove `<grub/env.h>'.
45341
45342 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45343
45344 * include/grub/normal.h: Include <grub/env.h>.
45345
45346 2008-01-05 Robert Millan <rmh@aybabtu.com>
45347
45348 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45349 usage example with `(hd0,1)'.
45350 Reported by Samuel Thibault.
45351
45352 2008-01-05 Robert Millan <rmh@aybabtu.com>
45353
45354 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45355 (grub_linux_boot_zimage): Rename to ...
45356 (grub_linux_boot): ... this.
45357 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45358 (grub_linux_boot_zimage): Conditionalize zImage copy.
45359
45360 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45361 (grub_linux_boot_bzimage): Remove prototype.
45362 (grub_linux_boot_zimage): Rename to ...
45363 (grub_linux_boot): ... this.
45364
45365 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45366 (grub_linux_boot): Remove function.
45367
45368 2008-01-05 Robert Millan <rmh@aybabtu.com>
45369
45370 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45371 (grub_env_write_color_highlight): Likewise.
45372 (grub_wait_after_message): Likewise.
45373
45374 * normal/color.c: New file.
45375
45376 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45377 (normal_mod_DEPENDENCIES): Likewise.
45378
45379 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45380 (normal_mod_DEPENDENCIES): Likewise.
45381
45382 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45383 (normal_mod_DEPENDENCIES): Likewise.
45384
45385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45386 (normal_mod_DEPENDENCIES): Likewise.
45387
45388 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45389 for waiting after a message is printed.
45390 * normal/main.c (read_config_file): Likewise.
45391 (grub_normal_init): Register grub_env_write_color_normal() and
45392 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45393 `color_highlight' variables as global.
45394
45395 * normal/menu.c (grub_wait_after_message): New function.
45396 (grub_color_menu_normal): New variable. Replaces ...
45397 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45398 (grub_color_menu_highlight): New variable. Replaces ...
45399 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45400 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45401 `GRUB_TERM_COLOR_STANDARD'.
45402 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45403 `normal_code' and `highlight_code' to `old_color_normal' and
45404 `old_color_highlight', respectively.
45405 (grub_menu_init_page): Update colors when drawing the menu, based on
45406 `menu_color_normal' and `menu_color_highlight' variables.
45407 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45408 a message is printed.
45409
45410 2008-01-05 Robert Millan <rmh@aybabtu.com>
45411
45412 * kern/env.c (grub_env_context_open): Propagate hooks for global
45413 variables to new context.
45414
45415 * kern/main.c (grub_set_root_dev): Export `root' variable.
45416
45417 2008-01-05 Robert Millan <rmh@aybabtu.com>
45418
45419 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
45420 discs unconditionally, since udev and others have options to provide
45421 them.
45422
45423 2008-01-05 Robert Millan <rmh@aybabtu.com>
45424
45425 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45426
45427 2008-01-04 Christian Franke <franke@computer.org>
45428
45429 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45430 of eisa_mmap.
45431
45432 2008-01-03 Pavel Roskin <proski@gnu.org>
45433
45434 * kern/i386/linuxbios/init.c: Put "void" to all function
45435 declarations with no arguments.
45436 * kern/powerpc/ieee1275/init.c: Likewise.
45437 * term/i386/pc/at_keyboard.c: Likewise.
45438 * term/i386/pc/vga_text.c: Likewise.
45439 * util/grub-mkdevicemap.c: Likewise.
45440
45441 2008-01-02 Robert Millan <rmh@aybabtu.com>
45442
45443 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45444 message when loaded image is out of bounds.
45445 (grub_multiboot_load_elf64): Likewise.
45446
45447 2008-01-02 Pavel Roskin <proski@gnu.org>
45448
45449 * util/grub.d/10_linux.in: Try version without ".old" when
45450 looking for initrd. It's better to use initrd from the newer
45451 kernel of the same version than no initrd at all.
45452
45453 2008-01-01 Robert Millan <rmh@aybabtu.com>
45454
45455 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45456
45457 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45458
45459 * include/grub/video.h: Added grub_video_unmap_color and
45460 grub_video_get_active_render_target.
45461 (grub_video_adapter): Added unmap_color and get_active_render_target.
45462
45463 * video/video.c: Added grub_video_unmap_color and
45464 grub_video_get_active_render_target.
45465 (grub_video_get_info): Changed method to accept NULL pointer as an
45466 argument to allow detection of active video adapter.
45467
45468 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45469 grub_video_vbe_unmap_color_int.
45470 Added grub_video_vbe_unmap_color and
45471 grub_video_vbe_get_active_render_target.
45472 (grub_video_vbe_adapter): Added unmap_color and
45473 get_active_render_target.
45474
45475 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
45476 with grub_video_vbe_unmap_color_int.
45477
45478 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45479 (DEFAULT_NORMAL_COLOR): Likewise.
45480 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45481 (DEFAULT_FG_COLOR): Removed.
45482 (DEFAULT_BG_COLOR): Likewise.
45483 (DEFAULT_CURSOR_COLOR): Changed value.
45484 (grub_virtual_screen): Added standard_color_setting,
45485 normal_color_setting, highlight_color_setting and term_color.
45486 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45487 (bitmap_width): Added.
45488 (bitmap_height): Likewise.
45489 (bitmap): Likewise.
45490 (set_term_color): Likewise.
45491 (grub_virtual_screen_setup): Changed to use new terminal coloring
45492 settings.
45493 (grub_gfxterm_init): Added init for bitmap.
45494 (grub_gfxterm_fini): Added destroy for bitmap.
45495 (redraw_screen_rect): Updated to use background bitmap and new
45496 terminal coloring.
45497 (scroll_up): Added optimization for case when there is no bitmap.
45498 (grub_gfxterm_cls): Fixed to use correct background color.
45499 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45500 coloring.
45501 (grub_virtual_screen_setcolor): Likewise.
45502 (grub_virtual_screen_getcolor): Added.
45503 (grub_gfxterm_background_image_cmd): Likewise.
45504 (grub_video_term): Added setcolor and getcolor.
45505 (MOD_INIT): Added registration of background_image command.
45506 (MOD_TERM): Added unregistration for background_image command.
45507
45508 2007-12-30 Pavel Roskin <proski@gnu.org>
45509
45510 * loader/multiboot_loader.c: Fix multiboot command
45511 unregistration. Fix all typos in the word "multiboot".
45512
45513 2007-12-29 Pavel Roskin <proski@gnu.org>
45514
45515 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45516 support for initrd names used in Fedora.
45517
45518 2007-12-26 Bean <bean123ch@gmail.com>
45519
45520 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45521 (cpio_mod_SOURCES): New variable.
45522 (cpio_mod_CFLAGS): Likewise.
45523 (cpio_mod_LDFLAGS): Likewise.
45524
45525 * fs/cpio.c: New file.
45526
45527 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45528
45529 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45530
45531 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45532
45533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45534
45535 2007-12-25 Robert Millan <rmh@aybabtu.com>
45536
45537 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45538 (grub_getcolor): New function.
45539
45540 * kern/term.c (grub_getcolor): New function.
45541 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45542 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45543 (print_entry): Set normal and highlight colors to
45544 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45545 respectively, before printing and restore them to old
45546 values afterwards.
45547 (grub_menu_init_page): Likewise. Fill an additional colored space
45548 that would otherwise be left blank.
45549
45550 * term/efi/console.c (grub_console_getcolor): New function.
45551 (struct grub_console_term.getcolor): New variable.
45552 * term/i386/pc/console.c (grub_console_getcolor): New function.
45553 (struct grub_console_term.getcolor): New variable.
45554 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45555 (struct grub_console_term.getcolor): New variable.
45556
45557 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45558 (struct grub_console_term.setcolor): Remove variable.
45559 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45560 (struct grub_console_term.setcolor): Remove variable.
45561 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45562 (struct grub_console_term.setcolor): Remove variable.
45563 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45564 (struct grub_console_term.setcolor): Remove variable.
45565
45566 2007-12-25 Robert Millan <rmh@aybabtu.com>
45567
45568 * configure.ac: Search for possible unifont.hex locations, and
45569 define UNIFONT_HEX if found.
45570
45571 * Makefile.in (UNIFONT_HEX): Define variable.
45572 (DATA): Rename to ...
45573 (PKGLIB): ... this. Update all users.
45574 (PKGDATA): New variable.
45575 (pkgdata_IMAGES): Rename to ...
45576 (pkglib_IMAGES): ... this. Update all users.
45577 (pkgdata_MODULES): Rename to ...
45578 (pkglib_MODULES): ... this. Update all users.
45579 (pkgdata_PROGRAMS): Rename to ...
45580 (pkglib_PROGRAMS): ... this. Update all users.
45581 (pkgdata_DATA): Rename to ...
45582 (pkglib_DATA): ... this. Update all users.
45583 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45584 (unicode.pff, ascii.pff): New rules.
45585 (all-local): Add `$(PKGDATA)' dependency.
45586 (install-local): Process `$(PKGDATA)'.
45587
45588 * util/update-grub_lib.in (font_path): Search for *.pff files in
45589 a few more locations, including `${pkgdata}'.
45590
45591 2007-12-23 Robert Millan <rmh@aybabtu.com>
45592
45593 Patch from Bean <bean123ch@gmail.com>:
45594 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45595 `size'.
45596
45597 2007-12-21 Bean <bean123ch@gmail.com>
45598
45599 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45600 (ntfscomp_mod_SOURCES): New variable.
45601 (ntfscomp_mod_CFLAGS): Likewise.
45602 (ntfscomp_mod_LDFLAGS): Likewise.
45603
45604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45605 (grub_probe_SOURCES): Likewise.
45606 (grub_emu_SOURCES): Likewise.
45607
45608 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45609 (grub_emu_SOURCES): Likewise.
45610
45611 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45612 (grub_emu_SOURCES): Likewise.
45613
45614 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45615 (grub_emu_SOURCES): Likewise.
45616
45617 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45618 (read_run_list): Renamed to grub_ntfs_read_run_list.
45619 (decomp_nextvcn): Moved to ntfscomp.c.
45620 (decomp_getch): Likewise.
45621 (decomp_get16): Likewise.
45622 (decomp_block): Likewise.
45623 (read_block): Likewise.
45624 (read_data): Partially moved to ntfscomp.c.
45625 (fixup): Change unsigned to grub_uint16_t.
45626 (read_mft): Change unsigned long to grub_uint32_t.
45627 (read_attr): Likewise.
45628 (read_data): Likewise.
45629 (read_run_data): Likewise.
45630 (read_run_list): Likewise.
45631 (read_mft): Likewise.
45632
45633 * fs/ntfscomp.c: New file.
45634
45635 * include/grub/ntfs.h: New file.
45636
45637 2007-12-16 Robert Millan <rmh@aybabtu.com>
45638
45639 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45640 IDE disk check, since Linux is known to support 20 IDE disks.
45641 Reported by Colin Watson.
45642
45643 2007-12-15 Bean <bean123ch@gmail.com>
45644
45645 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45646 (lnxboot_img_SOURCES): New variable.
45647 (lnxboot_img_ASFLAGS): Likewise.
45648 (lnxboot_img_LDFLAGS): Likewise.
45649
45650 * boot/i386/pc/lnxboot.S: New file.
45651
45652 2007-11-24 Pavel Roskin <proski@gnu.org>
45653
45654 * configure.ac: Test if '--build-id=none' is supported by the
45655 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45656 objcopy to generate incorrect binary files (binutils
45657 2.17.50.0.18-1 as shipped by Fedora 8).
45658 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45659 linking, so that build ID doesn't break the test.
45660
45661 2007-11-24 Pavel Roskin <proski@gnu.org>
45662
45663 * include/grub/i386/time.h: use "void" in the argument list
45664 of grub_cpu_idle().
45665 * include/grub/powerpc/time.h: Likewise.
45666 * include/grub/sparc64/time.h: Likewise.
45667
45668 2007-11-18 Christian Franke <franke@computer.org>
45669
45670 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45671 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45672 This fixes the problem that function keys did not work in grub-emu.
45673
45674 2007-11-18 Christian Franke <franke@computer.org>
45675
45676 * disk/host.c (grub_host_open): Remove attribute unused from
45677 name parameter. Add check for "host". This fixes the problem
45678 that grub-emu does not find partitions.
45679
45680 2007-11-18 Christian Franke <franke@computer.org>
45681
45682 * util/hostfs.c (is_dir): New function.
45683 (grub_hostfs_dir): Handle missing dirent.d_type case.
45684 (grub_hostfs_read): Add missing fseek().
45685 (grub_hostfs_label): Clear label pointer. This fixes a crash
45686 of grub-emu on "ls (host)".
45687
45688 2007-11-18 Christian Franke <franke@computer.org>
45689
45690 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45691 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45692 to 64 bit boundary by default.
45693
45694 2007-11-18 Bean <bean123ch@gmail.com>
45695
45696 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45697 (hexdump_mod_SOURCES): New variable.
45698 (hexdump_mod_CFLAGS): Likewise.
45699 (hexdump_mod_LDFLAGS): Likewise.
45700
45701 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45702
45703 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45704
45705 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45706
45707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45708
45709 * include/grub/hexdump.h: New file.
45710
45711 * commands/hexdump.c: New file.
45712
45713 2007-11-10 Robert Millan <rmh@aybabtu.com>
45714
45715 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45716 in grub_outb() calls.
45717 (beep_on): Likewise.
45718
45719 2007-11-10 Christian Franke <franke@computer.org>
45720
45721 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45722 (grub_menu_run): Likewise.
45723
45724 2007-11-10 Robert Millan <rmh@aybabtu.com>
45725
45726 * include/grub/i386/efi/machine.h: New file.
45727 * include/grub/i386/linuxbios/machine.h: Likewise.
45728 * include/grub/i386/pc/machine.h: Likewise.
45729 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45730 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45731
45732 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45733 (serial_hw_io_addr): New variable.
45734 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45735 instead of `(unsigned short *) 0x400'.
45736
45737 2007-11-10 Bean <bean123ch@gmail.com>
45738
45739 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45740
45741 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45742
45743 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45744 (vga_mod_SOURCES): Added.
45745 (vga_mod_CFLAGS): Likewise.
45746 (vga_mod_LDFLAGS): Likewise.
45747
45748 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45749 grub_outb() calls.
45750 (set_map_mask): Likewise.
45751 (set_read_map): Likewise.
45752 (set_read_address): Likewise.
45753 (vga_font): Removed variable.
45754 (get_vga_glyph): Removed function.
45755 (invalidate_char): Likewise.
45756 (write_char): Changed to use grub_font_get_glyph() for font
45757 information.
45758 (grub_vga_putchar): Likewise.
45759 (grub_vga_getcharwidth): Likewise.
45760
45761 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45762
45763 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45764 flags.
45765 (pxeboot_img_LDFLAGS): Likewise.
45766 (diskboot_img_LDFLAGS): Likewise.
45767 (kernel_img_LDFLAGS): Likewise.
45768
45769 2007-11-06 Robert Millan <rmh@aybabtu.com>
45770
45771 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45772 in grub_outb() calls.
45773 (serial_hw_init): Likewise.
45774
45775 2007-11-05 Robert Millan <rmh@aybabtu.com>
45776
45777 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45778 spaces. Skip non-regular files.
45779
45780 2007-11-05 Robert Millan <rmh@aybabtu.com>
45781
45782 * kern/disk.c (grub_disk_firmware_fini)
45783 (grub_disk_firmware_is_tainted): New variables.
45784
45785 * include/grub/disk.h (grub_disk_firmware_fini)
45786 (grub_disk_firmware_is_tainted): Likewise.
45787
45788 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45789 (grub_disk_biosdisk_fini): ... to here.
45790 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45791 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45792 is set. Register grub_disk_biosdisk_fini() in
45793 `grub_disk_firmware_fini'.
45794
45795 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45796 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45797 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45798 to finish existing firmware disk interface.
45799
45800 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45801 (ata_mod_SOURCES): New variable.
45802 (ata_mod_CFLAGS): Likewise.
45803 (ata_mod_LDFLAGS): Likewise.
45804
45805 2007-11-05 Robert Millan <rmh@aybabtu.com>
45806
45807 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45808 (grub_ata_wait): Reimplement using grub_millisleep().
45809
45810 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45811 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45812
45813 2007-11-03 Marco Gerards <marco@gnu.org>
45814
45815 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45816 (CRTC_ADDR_PORT): New macro.
45817 (CRTC_DATA_PORT): Likewise.
45818 (CRTC_CURSOR): Likewise.
45819 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45820 (CRTC_CURSOR_ADDR_LOW): Likewise.
45821 (update_cursor): New function.
45822 (grub_console_real_putchar): Call `update_cursor'.
45823 (grub_console_gotoxy): Likewise.
45824 (grub_console_cls): Set the default color when clearing the
45825 screen.
45826 (grub_console_setcursor): Implemented.
45827
45828 2007-11-03 Marco Gerards <marco@gnu.org>
45829
45830 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45831 become activate.
45832 (grub_ata_pio_write): Likewise.
45833
45834 (grub_atapi_identify): Wait after issuing an ATA command.
45835 (grub_atapi_packet): Likewise.
45836 (grub_ata_identify): Likewise.
45837 (grub_ata_readwrite): Likewise.
45838
45839 2007-11-03 Marco Gerards <marco@gnu.org>
45840
45841 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45842 (grub_ata_pio_write): Likewise.
45843 (grub_ata_readwrite): Use `grub_error', instead of
45844 returning `grub_errno'.
45845
45846 2007-11-03 Marco Gerards <marco@gnu.org>
45847
45848 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45849 grub_ata_pio_write once for every single sector, instead of for
45850 multiple sectors.
45851
45852 2007-10-31 Robert Millan <rmh@aybabtu.com>
45853
45854 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45855
45856 * conf/i386-linuxbios.rmk: New file.
45857
45858 * kern/i386/pc/hardware.c: Likewise.
45859 * term/i386/pc/at_keyboard.c: Likewise.
45860 * term/i386/pc/vga_text.c: Likewise.
45861
45862 * include/grub/i386/linuxbios/boot.h: Likewise.
45863 * include/grub/i386/linuxbios/console.h: Likewise.
45864 * include/grub/i386/linuxbios/init.h: Likewise.
45865 * include/grub/i386/linuxbios/kernel.h: Likewise.
45866 * include/grub/i386/linuxbios/loader.h: Likewise.
45867 * include/grub/i386/linuxbios/memory.h: Likewise.
45868 * include/grub/i386/linuxbios/serial.h: Likewise.
45869 * include/grub/i386/linuxbios/time.h: Likewise.
45870
45871 * kern/i386/linuxbios/init.c: Likewise.
45872 * kern/i386/linuxbios/startup.S: Likewise.
45873 * kern/i386/linuxbios/table.c: Likewise.
45874
45875 2007-10-31 Marco Gerards <marco@gnu.org>
45876
45877 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45878 (ata_mod_SOURCES): New variable.
45879 (ata_mod_CFLAGS): Likewise.
45880 (ata_mod_LDFLAGS): Likewise.
45881
45882 * disk/ata.c: New file.
45883
45884 * include/grub/disk.h (grub_disk_dev_id): Add
45885 `GRUB_DISK_DEV_ATA_ID'.
45886
45887 2007-10-31 Robert Millan <rmh@aybabtu.com>
45888
45889 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45890 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45891
45892 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45893 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45894
45895 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45896 `<grub/types.h>'.
45897
45898 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45899
45900 2007-10-27 Robert Millan <rmh@aybabtu.com>
45901
45902 * include/grub/types.h (ULONG_MAX): Define macro.
45903
45904 2007-10-22 Robert Millan <rmh@aybabtu.com>
45905
45906 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45907 `"../realmode.S"'.
45908 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45909
45910 2007-10-22 Robert Millan <rmh@aybabtu.com>
45911
45912 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45913 (pkgdata_MODULES): Add `biosdisk.mod'.
45914 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45915 variables.
45916
45917 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45918 (grub_biosdisk_init): Replace with ...
45919 (GRUB_MOD_INIT(biosdisk)): ... this.
45920 (grub_biosdisk_fini): Replace with ...
45921 (GRUB_MOD_FINI(biosdisk)): ... this.
45922
45923 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45924 (grub_machine_init): Remove call to grub_biosdisk_init().
45925 (grub_machine_fini): Remove call to grub_machine_fini().
45926
45927 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45928
45929 2007-10-22 Robert Millan <rmh@aybabtu.com>
45930
45931 * include/grub/time.h: New file.
45932 * include/grub/i386/time.h: Likewise.
45933 * include/grub/powerpc/time.h: Likewise.
45934 * include/grub/sparc64/time.h: Likewise.
45935
45936 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45937 instances to ...
45938 (KERNEL_MACHINE_TIME_HEADER): ... this.
45939 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45940 instances to ...
45941 (KERNEL_MACHINE_TIME_HEADER): ... this.
45942 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45943 instances to ...
45944 (KERNEL_MACHINE_TIME_HEADER): ... this.
45945
45946 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45947 (grub_millisleep): New function.
45948 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45949 (grub_millisleep): New function.
45950 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45951 Remove `grub/machine/time.h' include.
45952 (grub_millisleep): New function.
45953 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45954 Remove `grub/machine/time.h' include.
45955 (grub_millisleep): New function.
45956
45957 * include/grub/misc.h (grub_div_roundup): New function.
45958
45959 * kern/misc.c: Include `<grub/time.h>'.
45960 (grub_millisleep_generic): New function.
45961
45962 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45963 Add `time.h'.
45964 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45965 Add `time.h'.
45966 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45967 `machine/time.h'. Add `time.h'.
45968 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45969
45970 2007-10-21 Robert Millan <rmh@aybabtu.com>
45971
45972 * include/grub/misc.h (grub_max): New function.
45973
45974 2007-10-21 Robert Millan <rmh@aybabtu.com>
45975
45976 * util/misc.c (grub_util_info): Call fflush() before returning.
45977
45978 2007-10-20 Robert Millan <rmh@aybabtu.com>
45979
45980 * genmk.rb (Image): Copy `extra_flags' from here ...
45981 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45982
45983 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45984 to `argc' and `args' arguments.
45985
45986 2007-10-17 Robert Millan <rmh@aybabtu.com>
45987
45988 * kern/i386/loader.S: New file.
45989
45990 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45991 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45992 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45993 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45994 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45995 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45996 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45997 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45998 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45999 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46000 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46001 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46002 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46003 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46004
46005 * kern/i386/realmode.S: New file.
46006
46007 * kern/i386/pc/startup.S (protstack): Moved from here ...
46008 * kern/i386/realmode.S (protstack)... to here.
46009 * kern/i386/pc/startup.S (gdt): Moved from here ...
46010 * kern/i386/realmode.S (gdt)... to here.
46011 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46012 * kern/i386/realmode.S (prot_to_real)... to here.
46013
46014 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46015 `kern/i386/realmode.S'.
46016
46017 2007-10-17 Robert Millan <rmh@aybabtu.com>
46018
46019 * include/grub/i386/loader.h: New file.
46020
46021 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46022 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46023 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46024 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46025 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46026 * include/grub/i386/loader.h (grub_linux_prot_size)
46027 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46028 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46029 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46030 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46031
46032 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46033
46034 2007-10-15 Robert Millan <rmh@aybabtu.com>
46035
46036 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46037 filesystem when dev->disk is unset.
46038 Do probe for filesystem even when dev->disk->has_partitions is set.
46039 In case a filesystem is found, always report it.
46040 In case it isn't, if dev->disk->has_partitions is set, report that
46041 a partition table was found instead of reporting that no filesystem
46042 could be identified.
46043
46044 2007-10-12 Robert Millan <rmh@aybabtu.com>
46045
46046 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46047 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46048
46049 * include/grub/types.h (grub_host_to_target16): New macro.
46050 (grub_host_to_target32): Likewise.
46051 (grub_host_to_target64): Likewise.
46052 (grub_target_to_host16): Likewise.
46053 (grub_target_to_host32): Likewise.
46054 (grub_target_to_host64): Likewise.
46055
46056 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46057 Renamed from to ...
46058 (GRUB_MOD_ALIGN): ...this. Update all users.
46059
46060 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46061 grub_host_to_target32.
46062 Replace grub_be_to_cpu32 with grub_target_to_host32.
46063 (load_modules): Likewise.
46064 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46065 Replace grub_be_to_cpu32 with grub_target_to_host32.
46066 Replace grub_cpu_to_be16 with grub_host_to_target16.
46067 Replace grub_cpu_to_be32 grub_host_to_target32.
46068
46069 2007-10-12 Robert Millan <rmh@aybabtu.com>
46070
46071 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46072 * util/elf/grub-mkimage.c: ... here.
46073
46074 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46075 `util/powerpc/ieee1275/grub-mkimage.c'.
46076
46077 2007-10-07 Robert Millan <rmh@aybabtu.com>
46078
46079 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46080 and make it easier to figure out.
46081 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46082 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46083 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46084 leave us with less than HEAP_MIN_SIZE total heap.
46085 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
46086
46087 2007-10-03 Robert Millan <rmh@aybabtu.com>
46088
46089 * include/grub/i386/io.h: New file.
46090 * commands/i386/pc/play.c (inb): Removed.
46091 (outb): Removed.
46092 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46093 with grub_outb().
46094 * term/i386/pc/serial.c (inb): Removed.
46095 (outb): Removed.
46096 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46097 with grub_outb().
46098 * term/i386/pc/vga.c (inb): Removed.
46099 (outb): Removed.
46100 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46101 with grub_outb().
46102
46103 2007-10-02 Robert Millan <rmh@aybabtu.com>
46104
46105 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46107 Reported by Marcin Kurek.
46108
46109 2007-09-07 Robert Millan <rmh@aybabtu.com>
46110
46111 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46112 SmartFirmware version updates (as released by Sven Luther), and avoid
46113 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46114 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46115 known broken.
46116
46117 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46118
46119 From Hitoshi Ozeki:
46120 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46121 when merging two regions.
46122
46123 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46124
46125 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46126 * normal/completion.c (grub_normal_do_completion): Likewise.
46127 Reported by Hitoshi Ozeki.
46128
46129 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46130
46131 Do not use devices at boot in chainloading.
46132
46133 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46134 (boot_part_addr): Likewise.
46135 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46136 with BOOT_DRIVE and BOOT_PART_ADDR.
46137 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46138 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46139
46140 2007-08-29 Robert Millan <rmh@aybabtu.com>
46141
46142 Patch from Simon Peter <dn.tlp@gmx.net>:
46143 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46144 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46145 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46146 util/i386/pc/grub-setup.c_DEPENDENCIES.
46147 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46148 util/grub-probe.c_DEPENDENCIES.
46149 * conf/powerpc-ieee1275.rmk: Likewise.
46150
46151 2007-08-28 Robert Millan <rmh@aybabtu.com>
46152
46153 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46154 to tell grub-mkdevicemap how to name devices.
46155 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46156 feature).
46157
46158 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46159 util/i386/get_disk_name.c.
46160 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46161 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46162 util/ieee1275/get_disk_name.c.
46163
46164 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46165
46166 * DISTLIST: Add util/i386/get_disk_name.c and
46167 util/ieee1275/get_disk_name.c.
46168
46169 * util/grub-mkdevicemap.c: Replace device naming logic with
46170 grub_util_get_disk_name() calls.
46171
46172 2007-08-20 Robert Millan <rmh@aybabtu.com>
46173
46174 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46175 (so that it works for both plural and singular quantities).
46176
46177 2007-08-05 Robert Millan <rmh@aybabtu.com>
46178
46179 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46180 so that [xz] isn't taken into account when determining order.
46181
46182 2007-08-02 Marco Gerards <marco@gnu.org>
46183
46184 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46185 `include/multiboot2.h', `include/grub/elfload.h',
46186 `include/multiboot.h', `include/grub/multiboot.h',
46187 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46188 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46189 `kern/elf.c', `loader/multiboot_loader.c',
46190 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46191 `loader/i386/pc/multiboot2.c',
46192 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46193 `util/i386/pc/grub-mkrescue.in'. Remove
46194 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46195 `include/grub/i386/pc/util/biosdisk.h' and
46196 `include/grub/powerpc/ieee1275/multiboot.h'.
46197
46198 2007-08-02 Bean <bean123ch@gmail.com>
46199
46200 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46201 (ntfs_mod_SOURCES): New variable.
46202 (ntfs_mod_CFLAGS): Likewise.
46203 (ntfs_mod_LDFLAGS): Likewise.
46204
46205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46206 (grub_probe_SOURCES): Likewise.
46207 (grub_emu_SOURCES): Likewise.
46208
46209 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46210 (grub_emu_SOURCES): Likewise.
46211
46212 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46213 (grub_emu_SOURCES): Likewise.
46214
46215 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46216
46217 * fs/ntfs.c: New file.
46218
46219 2007-08-02 Bean <bean123ch@gmail.com>
46220
46221 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46222
46223 * file.h (grub_file): Likewise.
46224
46225 * fshelp.h (grub_fshelp_read_file): Likewise.
46226
46227 * util/i386/pc/grub-setup.c (setup): Likewise.
46228 (save_first_sector): Likewise.
46229 (save_blocklists): Likewise.
46230
46231 * fs/affs.c (grub_affs_read_file): Likewise.
46232
46233 * fs/ext2.c (grub_ext2_read_file): Likewise.
46234
46235 * fs/fat.c (grub_fat_read_data): Likewise.
46236
46237 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46238
46239 * fs/hfs.c (grub_hfs_read_file): Likewise.
46240
46241 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46242
46243 * fs/jfs.c (grub_jfs_read_file): Likewise.
46244
46245 * fs/minix.c (grub_minix_read_file): Likewise.
46246
46247 * fs/sfs.c (grub_sfs_read_file): Likewise.
46248
46249 * fs/ufs.c (grub_ufs_read_file): Likewise.
46250
46251 * fs/xfs.c (grub_xfs_read_file): Likewise.
46252
46253 * command/blocklist.c (read_blocklist): Likewise.
46254 (print_blocklist): Likewise.
46255
46256 2007-08-02 Marco Gerards <marco@gnu.org>
46257
46258 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46259 `util/hostfs.c'.
46260
46261 * disk/host.c: New file.
46262
46263 * util/hostfs.c: Likewise.
46264
46265 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46266 return `GRUB_ERR_BAD_FS'.
46267 * fs/sfs.c (grub_sfs_mount): Likewise.
46268 * fs/xfs.c (grub_xfs_mount): Likewise.
46269
46270 * include/grub/disk.h (enum grub_disk_dev_id): Add
46271 `GRUB_DISK_DEVICE_HOST_ID'.
46272
46273 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46274
46275 2007-07-24 Jerone Young <jerone@gmail.com>
46276
46277 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
46278 modules for compilation.
46279 * conf/powerpc-ieee1275.rmk: Likewise.
46280
46281 * include/multiboot.h: Move multiboot definitions to one file. Rename
46282 many definitions to not get grub specific.
46283 * include/multiboot2.h: Create header with multiboot 2 definitions.
46284 * include/grub/multiboot.h: Header for grub specific function
46285 prototypes and definitions.
46286 * include/grub/multiboot2.h: Likewise.
46287 * include/grub/multiboot_loader.h: Likewise.
46288 * include/grub/i386/pc/multiboot.h: Removed.
46289 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46290
46291 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46292 and 2 to allow for one multiboot and module commands.
46293 * loader/multiboot2.c: Add multiboot2 functionality.
46294 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46295 and definition names.
46296 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46297 2 functions.
46298 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46299 ieee1275 specific multiboot2 code.
46300
46301 * kern/i386/pc/startup.S: Change headers and definition names for
46302 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46303
46304 2007-07-22 Robert Millan <rmh@aybabtu.com>
46305
46306 * geninitheader.sh: Process file specified in first parameter rather
46307 than hardcoding grub_modules_init.lst.
46308 * geninit.sh: Likewise. Also, construct header name dynamically rather
46309 than hardcoding grub_modules_init.h.
46310
46311 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46312 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46313 grub_probe_init.[ch] and grub_setup_init.[ch].
46314
46315 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46316 grub_modules_init.h with grub_emu_init.h.
46317 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46318 grub_probe_init.[ch] files.
46319 * conf/i386-efi.rmk: Likewise.
46320 * conf/i386-pc.rmk: Likewise.
46321 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46322 grub_setup_init.[ch] files.
46323
46324 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46325 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46326 to initialize modules rather than a list of hardcoded functions.
46327 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46328 grub_init_all() to initialize modules rather than a list of hardcoded
46329 functions.
46330
46331 2007-07-22 Robert Millan <rmh@aybabtu.com>
46332
46333 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46334 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46335
46336 2007-07-22 Robert Millan <rmh@aybabtu.com>
46337
46338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46339 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46341 flag when running on SmartFirmware.
46342 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46343 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46344 was set.
46345
46346 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46347 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46348 rather than decreasing it.
46349
46350 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46351 there's not enough space to do it, fail in the same way as when it
46352 can't be done because there are no partitions.
46353
46354 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46355 when nvsetenv failed.
46356
46357 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46358
46359 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46360 because this rule is automatically generated.
46361 (grub-mkrescue): Removed for the same reason as above.
46362
46363 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46364
46365 Migrate to GNU General Public License Version 3.
46366
46367 * COPYING: Replaced with the plain text version of GPLv3.
46368
46369 * config.guess: Updated from gnulib.
46370 * config.sub: Likewise.
46371
46372 * geninit.sh: Output a GPLv3 copyright notice.
46373 * geninitheader.sh: Likewise.
46374 * genmodsrc.sh: Likewise.
46375 * gensymlist.sh.in: Likewise.
46376
46377 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46378 * boot/i386/pc/diskboot.S: Likewise.
46379 * boot/i386/pc/pxeboot.S: Likewise.
46380 * commands/blocklist.c: Likewise.
46381 * commands/boot.c: Likewise.
46382 * commands/cat.c: Likewise.
46383 * commands/cmp.c: Likewise.
46384 * commands/configfile.c: Likewise.
46385 * commands/echo.c: Likewise.
46386 * commands/help.c: Likewise.
46387 * commands/ls.c: Likewise.
46388 * commands/search.c: Likewise.
46389 * commands/terminal.c: Likewise.
46390 * commands/test.c: Likewise.
46391 * commands/videotest.c: Likewise.
46392 * commands/i386/cpuid.c: Likewise.
46393 * commands/i386/pc/halt.c: Likewise.
46394 * commands/i386/pc/play.c: Likewise.
46395 * commands/i386/pc/reboot.c: Likewise.
46396 * commands/i386/pc/vbeinfo.c: Likewise.
46397 * commands/i386/pc/vbetest.c: Likewise.
46398 * commands/ieee1275/halt.c: Likewise.
46399 * commands/ieee1275/reboot.c: Likewise.
46400 * commands/ieee1275/suspend.c: Likewise.
46401 * disk/loopback.c: Likewise.
46402 * disk/lvm.c: Likewise.
46403 * disk/raid.c: Likewise.
46404 * disk/efi/efidisk.c: Likewise.
46405 * disk/i386/pc/biosdisk.c: Likewise.
46406 * disk/ieee1275/ofdisk.c: Likewise.
46407 * font/manager.c: Likewise.
46408 * fs/affs.c: Likewise.
46409 * fs/ext2.c: Likewise.
46410 * fs/fat.c: Likewise.
46411 * fs/fshelp.c: Likewise.
46412 * fs/hfs.c: Likewise.
46413 * fs/hfsplus.c: Likewise.
46414 * fs/iso9660.c: Likewise.
46415 * fs/jfs.c: Likewise.
46416 * fs/minix.c: Likewise.
46417 * fs/sfs.c: Likewise.
46418 * fs/ufs.c: Likewise.
46419 * fs/xfs.c: Likewise.
46420 * hello/hello.c: Likewise.
46421 * include/grub/acorn_filecore.h: Likewise.
46422 * include/grub/arg.h: Likewise.
46423 * include/grub/bitmap.h: Likewise.
46424 * include/grub/boot.h: Likewise.
46425 * include/grub/cache.h: Likewise.
46426 * include/grub/device.h: Likewise.
46427 * include/grub/disk.h: Likewise.
46428 * include/grub/dl.h: Likewise.
46429 * include/grub/elfload.h: Likewise.
46430 * include/grub/env.h: Likewise.
46431 * include/grub/err.h: Likewise.
46432 * include/grub/file.h: Likewise.
46433 * include/grub/font.h: Likewise.
46434 * include/grub/fs.h: Likewise.
46435 * include/grub/fshelp.h: Likewise.
46436 * include/grub/gzio.h: Likewise.
46437 * include/grub/hfs.h: Likewise.
46438 * include/grub/kernel.h: Likewise.
46439 * include/grub/loader.h: Likewise.
46440 * include/grub/lvm.h: Likewise.
46441 * include/grub/misc.h: Likewise.
46442 * include/grub/mm.h: Likewise.
46443 * include/grub/net.h: Likewise.
46444 * include/grub/normal.h: Likewise.
46445 * include/grub/parser.h: Likewise.
46446 * include/grub/partition.h: Likewise.
46447 * include/grub/pc_partition.h: Likewise.
46448 * include/grub/raid.h: Likewise.
46449 * include/grub/rescue.h: Likewise.
46450 * include/grub/script.h: Likewise.
46451 * include/grub/setjmp.h: Likewise.
46452 * include/grub/symbol.h: Likewise.
46453 * include/grub/term.h: Likewise.
46454 * include/grub/terminfo.h: Likewise.
46455 * include/grub/tparm.h: Likewise.
46456 * include/grub/types.h: Likewise.
46457 * include/grub/video.h: Likewise.
46458 * include/grub/efi/api.h: Likewise.
46459 * include/grub/efi/chainloader.h: Likewise.
46460 * include/grub/efi/console.h: Likewise.
46461 * include/grub/efi/console_control.h: Likewise.
46462 * include/grub/efi/disk.h: Likewise.
46463 * include/grub/efi/efi.h: Likewise.
46464 * include/grub/efi/pe32.h: Likewise.
46465 * include/grub/efi/time.h: Likewise.
46466 * include/grub/i386/linux.h: Likewise.
46467 * include/grub/i386/setjmp.h: Likewise.
46468 * include/grub/i386/types.h: Likewise.
46469 * include/grub/i386/efi/kernel.h: Likewise.
46470 * include/grub/i386/efi/loader.h: Likewise.
46471 * include/grub/i386/efi/time.h: Likewise.
46472 * include/grub/i386/pc/biosdisk.h: Likewise.
46473 * include/grub/i386/pc/boot.h: Likewise.
46474 * include/grub/i386/pc/chainloader.h: Likewise.
46475 * include/grub/i386/pc/console.h: Likewise.
46476 * include/grub/i386/pc/init.h: Likewise.
46477 * include/grub/i386/pc/kernel.h: Likewise.
46478 * include/grub/i386/pc/loader.h: Likewise.
46479 * include/grub/i386/pc/memory.h: Likewise.
46480 * include/grub/i386/pc/multiboot.h: Likewise.
46481 * include/grub/i386/pc/serial.h: Likewise.
46482 * include/grub/i386/pc/time.h: Likewise.
46483 * include/grub/i386/pc/vbe.h: Likewise.
46484 * include/grub/i386/pc/vbeblit.h: Likewise.
46485 * include/grub/i386/pc/vbefill.h: Likewise.
46486 * include/grub/i386/pc/vbeutil.h: Likewise.
46487 * include/grub/i386/pc/vga.h: Likewise.
46488 * include/grub/ieee1275/ieee1275.h: Likewise.
46489 * include/grub/ieee1275/ofdisk.h: Likewise.
46490 * include/grub/powerpc/libgcc.h: Likewise.
46491 * include/grub/powerpc/setjmp.h: Likewise.
46492 * include/grub/powerpc/types.h: Likewise.
46493 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46494 * include/grub/powerpc/ieee1275/console.h: Likewise.
46495 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46496 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46497 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46498 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46499 * include/grub/powerpc/ieee1275/time.h: Likewise.
46500 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46501 * include/grub/sparc64/libgcc.h: Likewise.
46502 * include/grub/sparc64/setjmp.h: Likewise.
46503 * include/grub/sparc64/types.h: Likewise.
46504 * include/grub/sparc64/ieee1275/console.h: Likewise.
46505 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46506 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46507 * include/grub/sparc64/ieee1275/time.h: Likewise.
46508 * include/grub/util/biosdisk.h: Likewise.
46509 * include/grub/util/getroot.h: Likewise.
46510 * include/grub/util/lvm.h: Likewise.
46511 * include/grub/util/misc.h: Likewise.
46512 * include/grub/util/raid.h: Likewise.
46513 * include/grub/util/resolve.h: Likewise.
46514 * io/gzio.c: Likewise.
46515 * kern/device.c: Likewise.
46516 * kern/disk.c: Likewise.
46517 * kern/dl.c: Likewise.
46518 * kern/elf.c: Likewise.
46519 * kern/env.c: Likewise.
46520 * kern/err.c: Likewise.
46521 * kern/file.c: Likewise.
46522 * kern/fs.c: Likewise.
46523 * kern/loader.c: Likewise.
46524 * kern/main.c: Likewise.
46525 * kern/misc.c: Likewise.
46526 * kern/mm.c: Likewise.
46527 * kern/parser.c: Likewise.
46528 * kern/partition.c: Likewise.
46529 * kern/rescue.c: Likewise.
46530 * kern/term.c: Likewise.
46531 * kern/efi/efi.c: Likewise.
46532 * kern/efi/init.c: Likewise.
46533 * kern/efi/mm.c: Likewise.
46534 * kern/i386/dl.c: Likewise.
46535 * kern/i386/efi/init.c: Likewise.
46536 * kern/i386/efi/startup.S: Likewise.
46537 * kern/i386/pc/init.c: Likewise.
46538 * kern/i386/pc/lzo1x.S: Likewise.
46539 * kern/i386/pc/startup.S: Likewise.
46540 * kern/ieee1275/ieee1275.c: Likewise.
46541 * kern/powerpc/cache.S: Likewise.
46542 * kern/powerpc/dl.c: Likewise.
46543 * kern/powerpc/ieee1275/cmain.c: Likewise.
46544 * kern/powerpc/ieee1275/crt0.S: Likewise.
46545 * kern/powerpc/ieee1275/init.c: Likewise.
46546 * kern/powerpc/ieee1275/openfw.c: Likewise.
46547 * kern/sparc64/cache.S: Likewise.
46548 * kern/sparc64/dl.c: Likewise.
46549 * kern/sparc64/ieee1275/init.c: Likewise.
46550 * kern/sparc64/ieee1275/openfw.c: Likewise.
46551 * loader/efi/chainloader.c: Likewise.
46552 * loader/efi/chainloader_normal.c: Likewise.
46553 * loader/i386/efi/linux.c: Likewise.
46554 * loader/i386/efi/linux_normal.c: Likewise.
46555 * loader/i386/pc/chainloader.c: Likewise.
46556 * loader/i386/pc/chainloader_normal.c: Likewise.
46557 * loader/i386/pc/linux.c: Likewise.
46558 * loader/i386/pc/linux_normal.c: Likewise.
46559 * loader/i386/pc/multiboot.c: Likewise.
46560 * loader/i386/pc/multiboot_normal.c: Likewise.
46561 * loader/powerpc/ieee1275/linux.c: Likewise.
46562 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46563 * normal/arg.c: Likewise.
46564 * normal/cmdline.c: Likewise.
46565 * normal/command.c: Likewise.
46566 * normal/completion.c: Likewise.
46567 * normal/execute.c: Likewise.
46568 * normal/function.c: Likewise.
46569 * normal/lexer.c: Likewise.
46570 * normal/main.c: Likewise.
46571 * normal/menu.c: Likewise.
46572 * normal/menu_entry.c: Likewise.
46573 * normal/misc.c: Likewise.
46574 * normal/parser.y: Likewise.
46575 * normal/script.c: Likewise.
46576 * normal/i386/setjmp.S: Likewise.
46577 * normal/powerpc/setjmp.S: Likewise.
46578 * normal/sparc64/setjmp.S: Likewise.
46579 * partmap/acorn.c: Likewise.
46580 * partmap/amiga.c: Likewise.
46581 * partmap/apple.c: Likewise.
46582 * partmap/gpt.c: Likewise.
46583 * partmap/pc.c: Likewise.
46584 * partmap/sun.c: Likewise.
46585 * term/gfxterm.c: Likewise.
46586 * term/terminfo.c: Likewise.
46587 * term/efi/console.c: Likewise.
46588 * term/i386/pc/console.c: Likewise.
46589 * term/i386/pc/serial.c: Likewise.
46590 * term/i386/pc/vesafb.c: Likewise.
46591 * term/i386/pc/vga.c: Likewise.
46592 * term/ieee1275/ofconsole.c: Likewise.
46593 * util/biosdisk.c: Likewise.
46594 * util/console.c: Likewise.
46595 * util/genmoddep.c: Likewise.
46596 * util/getroot.c: Likewise.
46597 * util/grub-emu.c: Likewise.
46598 * util/grub-mkdevicemap.c: Likewise.
46599 * util/grub-probe.c: Likewise.
46600 * util/lvm.c: Likewise.
46601 * util/misc.c: Likewise.
46602 * util/raid.c: Likewise.
46603 * util/resolve.c: Likewise.
46604 * util/update-grub.in: Likewise.
46605 * util/update-grub_lib.in: Likewise.
46606 * util/grub.d/00_header.in: Likewise.
46607 * util/grub.d/10_hurd.in: Likewise.
46608 * util/grub.d/10_linux.in: Likewise.
46609 * util/i386/efi/grub-install.in: Likewise.
46610 * util/i386/efi/grub-mkimage.c: Likewise.
46611 * util/i386/pc/grub-install.in: Likewise.
46612 * util/i386/pc/grub-mkimage.c: Likewise.
46613 * util/i386/pc/grub-mkrescue.in: Likewise.
46614 * util/i386/pc/grub-setup.c: Likewise.
46615 * util/i386/pc/misc.c: Likewise.
46616 * util/powerpc/ieee1275/grub-install.in: Likewise.
46617 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46618 * util/powerpc/ieee1275/misc.c: Likewise.
46619 * video/bitmap.c: Likewise.
46620 * video/video.c: Likewise.
46621 * video/i386/pc/vbe.c: Likewise.
46622 * video/i386/pc/vbeblit.c: Likewise.
46623 * video/i386/pc/vbefill.c: Likewise.
46624 * video/i386/pc/vbeutil.c: Likewise.
46625 * video/readers/tga.c: Likewise.
46626
46627 2007-07-02 Robert Millan <rmh@aybabtu.com>
46628
46629 * conf/i386-efi.rmk: Replace obsolete reference to
46630 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46631 with util/getroot.c.
46632 * conf/powerpc-ieee1275.rmk: Likewise.
46633 * conf/sparc64-ieee1275.rmk: Likewise.
46634
46635 * util/grub-emu.c (main): Fix unchecked pointer handling.
46636
46637 2007-07-02 Robert Millan <rmh@aybabtu.com>
46638
46639 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46640 invocation to fail, in order to support partition-less media.
46641
46642 * util/i386/pc/grub-install.in: Likewise.
46643
46644 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46645 which fs or partmap modules are needed (akin to its sister scripts).
46646
46647 Also use grub-probe to get rid of unportable /proc/mounts check.
46648
46649 Print the same informational message that the other scripts do, before
46650 exiting.
46651
46652 2007-06-23 Robert Millan <rmh@aybabtu.com>
46653
46654 * util/update-grub_lib.in (font_path): New function. Determine whether
46655 a font file can be found and, if so, echo the GRUB path to it.
46656
46657 * util/update-grub.in: Handle multiple terminals depending on user
46658 input, platform availability and font file presence. Propagate
46659 variables of our findings to /etc/grub.d/ children.
46660
46661 * util/grub.d/00_header.in: Handle multiple terminals, based on
46662 environment setup by update-grub.
46663
46664 2007-06-23 Robert Millan <rmh@aybabtu.com>
46665
46666 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
46667
46668 2007-06-21 Robert Millan <rmh@aybabtu.com>
46669
46670 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46671 indicate end of data section in kernel image.
46672 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46673 GRUB_KERNEL_MACHINE_DATA_END.
46674
46675 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46676 space for it.
46677 * kern/i386/efi/startup.S: Likewise.
46678
46679 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46680 during image generation. Implement --prefix option to override this
46681 patch.
46682 * util/i386/efi/grub-mkimage.c: Likewise.
46683
46684 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46685 code to make path relative to its root into a separate function.
46686
46687 * util/i386/pc/grub-install.in: Use newly provided
46688 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46689 pass the result to grub-install --prefix.
46690
46691 2007-06-13 Robert Millan <rmh@aybabtu.com>
46692
46693 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46694 DEFAULT_DEVICE_MAP.
46695 * util/grub-emu.c: Use above definitions from misc.h instead of
46696 defining them.
46697 * util/grub-mkdevicemap.c: Likewise.
46698 * util/i386/pc/grub-setup.c: Likewise.
46699 * util/grub-probe.c: Likewise.
46700 (probe): Abort with grub_util_error() when either
46701 grub_guess_root_device or grub_util_get_grub_dev fails.
46702
46703 2007-06-12 Robert Millan <rmh@aybabtu.com>
46704
46705 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46706 "pager" assignment.
46707 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46708 "pcdata".
46709 * util/grub-probe.c (probe): Likewise for "drive_name".
46710
46711 2007-06-11 Robert Millan <rmh@aybabtu.com>
46712
46713 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46714 not just the cdrom one.
46715
46716 2007-06-11 Robert Millan <rmh@aybabtu.com>
46717
46718 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46719 Add --pkglibdir=DIR option to override pkglibdir.
46720 Mention --image-type=TYPE in help output.
46721 Fix --grub-mkimage (it was a no-op).
46722 Abort gracefully when no parameter is given.
46723
46724 2007-06-11 Robert Millan <rmh@aybabtu.com>
46725
46726 * util/i386/pc/grub-mkrescue.in: New file.
46727 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46728 * Makefile.in: Handle bin_SCRIPTS.
46729
46730 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46731
46732 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46733 list of video modes.
46734
46735 2007-06-06 Robert Millan <rmh@aybabtu.com>
46736
46737 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46738 file doesn't exist, or if it is in a filesystem grub can't read.
46739
46740 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46741 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46742 header comment to fit in 80 columns when the variables are resolved.
46743
46744 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46745 could be identified by update-grub. Remove redundant check for
46746 unifont.pff existence (since convert_system_path_to_grub_path now
46747 handles that).
46748
46749 2007-06-04 Robert Millan <rmh@aybabtu.com>
46750
46751 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46752
46753 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46754
46755 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46756
46757 2007-06-04 Robert Millan <rmh@aybabtu.com>
46758
46759 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46760
46761 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46762 grub_apple_partition_map_fini.
46763
46764 * util/biosdisk.c
46765 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46766 to access >2 TiB disks).
46767
46768 Print disk->total_sectors with %llu instead of %lu, since this
46769 variable is always 64-bit (prevents wrong disk size from being displayed
46770 on either >2 TiB disk or big-endian CPU).
46771
46772 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46773 into a generic case that supports all (sane) partition maps.
46774
46775 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46776 breaks big-endian.
46777
46778 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46779 and grub_apple_partition_map_fini() after that.
46780
46781 2007-06-01 Robert Millan <rmh@aybabtu.com>
46782
46783 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46784
46785 * util/grub.d/00_header.in: Only enable gfxterm when
46786 convert_system_path_to_grub_path() succeeds.
46787
46788 2007-05-20 Robert Millan <rmh@aybabtu.com>
46789
46790 * util/update-grub_lib.in: New file.
46791 * DISTLIST: Add update-grub_lib.in.
46792 * conf/common.rmk: Generate update-grub_lib and install it in
46793 $(lib_DATA).
46794 * Makefile.in: Add install routine for $(lib_DATA).
46795
46796 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46797 function provided by update-grub_lib to support arbitrary paths of
46798 unifont.pff.
46799 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46800 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46801
46802 2007-05-19 Robert Millan <rmh@aybabtu.com>
46803
46804 * commands/i386/cpuid.c: New module.
46805 * DISTLIST: Add it.
46806 * conf/i386-efi.rmk: Enable cpuid.mod.
46807 * conf/i386-pc.rmk: Likewise.
46808
46809 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46810
46811 * kern/disk.c (grub_disk_read): Check return value of
46812 grub_realloc().
46813
46814 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46815
46816 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46817 arrays.
46818 * disk/raid.c (grub_raid_open): Likewise.
46819
46820 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46821
46822 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46823 stack instead of on the heap.
46824
46825 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46826 before doing a read on it.
46827
46828 * configure.ac: Only use -fno-stack-protector for the target
46829 environment.
46830
46831 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46832
46833 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46834 __attribute_ ((unused)) to mode_type argument.
46835
46836 * util/getroot.c (grub_guess_root_device): Fix #endif.
46837
46838 * kern/misc.c (memcmp): Fix prototype.
46839
46840 * include/grub/partition.h [GRUB_UTIL]
46841 (grub_gpt_partition_map_init): Add prototype.
46842 (grub_gpt_partition_map_fini): Likewise.
46843
46844 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46845 at the right place.
46846
46847 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46848 (grub_fat_read_data): Likewise.
46849 (grub_fat_find_dir): Likewise.
46850
46851 * font/manager.c (find_glyph): Make table a const.
46852 (grub_font_get_glyph): Remove bitmap from if statement.
46853
46854 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46855
46856 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46857 code, first search for device in /dev/mapper, then in /dev.
46858 (grub_util_get_grub_dev): New function.
46859 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46860 prototype.
46861 * util/grub-probe.c (probe): Remove check for RAID, call
46862 grub_util_get_grub_dev() instead of
46863 grub_util_biosdisk_get_grub_dev().
46864 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46865 grub_util_biosdisk_get_grub_dev().
46866 * util/i386/pc/grub-setup.c (main): Likewise.
46867
46868 2007-05-16 Robert Millan <rmh@aybabtu.com>
46869
46870 * DISTLIST: Update for the latest changes.
46871 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46872 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46873 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46874 grub/util/biosdisk.h.
46875 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46876 grub/util/biosdisk.h.
46877
46878 2007-05-16 Robert Millan <rmh@aybabtu.com>
46879
46880 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46881
46882 2007-05-16 Robert Millan <rmh@aybabtu.com>
46883
46884 * util/i386/efi/grub-install.in: New.
46885 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46886 newly added grub-install.
46887 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46888 include.
46889 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46890 grub/util/biosdisk.h.
46891 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46892 grub/util/biosdisk.h.
46893
46894 2007-05-16 Robert Millan <rmh@aybabtu.com>
46895
46896 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46897 * include/grub/util/biosdisk.h: ... here.
46898 * util/i386/pc/biosdisk.c: Moved to ...
46899 * util/biosdisk.c: ... here.
46900 * util/i386/pc/getroot.c: Moved to ...
46901 * util/getroot.c: ... here.
46902 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46903 * util/grub-mkdevicemap.c: ... here.
46904 * util/i386/pc/grub-probe.c: Moved to ...
46905 * util/grub-probe.c: ... here.
46906
46907 2007-05-15 Robert Millan <rmh@aybabtu.com>
46908
46909 * util/update-grub.in: Remove duplicated line in grub.cfg header
46910 message.
46911
46912 2007-05-13 Robert Millan <rmh@aybabtu.com>
46913
46914 * util/update-grub.in: Fix a few assumptions about the devices holding
46915 /, /boot and /boot/grub being the same.
46916 * util/grub.d/00_header.in: Likewise.
46917 * util/grub.d/10_hurd.in: Likewise.
46918 * util/grub.d/10_linux.in: Likewise.
46919
46920 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46921 patterns. Use that to define the `.old' suffix as older than `'.
46922
46923 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46924
46925 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46926 the grub.cfg header message.
46927
46928 2007-05-11 Robert Millan <rmh@aybabtu.com>
46929
46930 * util/update-grub.in: Create device.map if it doesn't already exist,
46931 before attempting to run grub-probe.
46932 Check for grub-probe and grub-mkdevicemap with the same code
46933 grub-install is using.
46934 Remove test mode.
46935
46936 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46937
46938 * Makefile.in: Add the datarootdir autoconf variable.
46939
46940 2007-05-09 Robert Millan <rmh@aybabtu.com>
46941
46942 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
46943 fail gracefully if dev->disk->partition == NULL.
46944
46945 2007-05-07 Robert Millan <rmh@aybabtu.com>
46946
46947 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46948 determine partition map module.
46949 * util/i386/pc/grub-install.in: Use this feature to decide which
46950 partition module to load, instead of hardcoding pc and gpt.
46951
46952 2007-05-07 Robert Millan <rmh@aybabtu.com>
46953
46954 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46955 source directory differs from build directory.
46956
46957 2007-05-05 Robert Millan <rmh@aybabtu.com>
46958
46959 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46960 initialisation.
46961
46962 2007-05-05 Robert Millan <rmh@aybabtu.com>
46963
46964 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46965
46966 2007-05-05 Robert Millan <rmh@aybabtu.com>
46967
46968 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46969 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46970
46971 2007-05-05 Robert Millan <rmh@aybabtu.com>
46972
46973 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46974 (grub_probe_SOURCES): Likewise.
46975 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46976 GPT and initialize dos_part and bsd_part accordingly.
46977 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46978 install_bsd_part.
46979 (main): Activate gpt module for use during partition identification,
46980 and deactivate it afterwards.
46981 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46982 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46983 partition identification, and deactivate it afterwards.
46984
46985 2007-05-05 Robert Millan <rmh@aybabtu.com>
46986
46987 * term/i386/pc/console.c (grub_console_fini): Call
46988 grub_term_set_current() before grub_term_unregister().
46989
46990 2007-05-04 Robert Millan <rmh@aybabtu.com>
46991
46992 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46993 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46994 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46995 and update-grub_DATA.
46996 * conf/common.rmk: Build and install update-grub components.
46997 * conf/common.mk: Regenerate.
46998 * util/update-grub.in: New. Core of update-grub.
46999 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47000 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47001 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47002 * util/grub.d/README: New. Document grub.d directory layout.
47003
47004 2007-05-01 Robert Millan <rmh@aybabtu.com>
47005
47006 * util/grub-emu.c: Move initialization functions
47007 grub_util_biosdisk_init() and grub_init_all() before
47008 grub_util_biosdisk_get_grub_dev(), which relies on them.
47009
47010 2007-04-19 Robert Millan <rmh@aybabtu.com>
47011
47012 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47013 it is used later.
47014
47015 2007-04-18 Jerone Young <jerone@gmail.com>
47016
47017 * kernel/elf.c: Add missing parenthesis for conditional statement
47018 stanza.
47019
47020 2007-04-10 Jerone Young <jerone@gmail.com>
47021
47022 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47023 continue on and look for device node with real device name.
47024
47025 2007-04-10 Jerone Young <jerone@gmail.com>
47026
47027 * configure.ac: Add argument for autoconf to use transformation
47028 ability.
47029 * Makefile.in: Add autoconf package transformation code.
47030 * util/i386/pc/grub-install.in: Likewise.
47031 * util/powerpc/ieee1275/grub-install.in: Likewise.
47032
47033 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47034
47035 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47036 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47037 (EXT2_REVISION): Likewise.
47038 (EXT2_INODE_SIZE): Likewise.
47039 (struct grub_ext2_block_group): Added a missing member
47040 "used_dirs".
47041 (grub_ext2_read_inode): Divide by the inode size in a superblock
47042 instead of 128 to obtain INODES_PER_BLOCK.
47043 Use the macro EXT2_INODE_SIZE instead of directly using
47044 SBLOCK->INODE_SIZE.
47045
47046 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47047
47048 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47049 superblock instead of the structure size to compute an
47050 offset. This fixes the problem that GRUB could not read a
47051 filesystem when inode size is different from 128-byte.
47052
47053 2007-03-05 Marco Gerards <marco@gnu.org>
47054
47055 * normal/main.c (read_config_file): When "menu" is not set, create
47056 an initial context.
47057
47058 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47059
47060 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47061 (HEAP_LIMIT): New macro.
47062 (grub_claim_heap): Claim memory up to `heaplimit'.
47063
47064 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47065
47066 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47067 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47068 (_start): Likewise.
47069 (grub_arch_modules_addr): Return address after `_end'.
47070 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47071 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47072 (add_segments): Calculate `_end' from phdr size and location.
47073 (ALIGN_UP): Moved to ...
47074 * include/grub/misc.h: here.
47075 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47076 New macro.
47077 (GRUB_IEEE1275_MODULE_BASE): Removed.
47078
47079 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47080
47081 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47082 loop boundary.
47083
47084 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47085
47086 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47087 All users updated.
47088 (grub_elf64_load_hook_t): Likewise.
47089 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47090 debug output.
47091
47092 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47093
47094 * kern/mm.c: Update copyright.
47095 (grub_mm_debug): Correct syntax error.
47096 (grub_mm_dump_free): New function.
47097 (grub_debug_free): Call `grub_free'.
47098 * include/grub/mm.h: Update copyright.
47099 (grub_mm_dump_free): Add declaration.
47100
47101 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47102
47103 * include/grub/ieee1275/ieee1275.h: Update copyright.
47104 * kern/powerpc/ieee1275/init.c: Likewise.
47105 * kern/powerpc/ieee1275/openfw.c: Likewise.
47106
47107 * loader/powerpc/ieee1275/linux.c: Likewise.
47108 * include/grub/elfload.h: Likewise.
47109 * kern/elf.c: Likewise.
47110 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47111 callers.
47112 (grub_elf64_load): Likewise.
47113 (grub_elf32_load_segment): Move to a nested function.
47114 (grub_elf64_load_segment): Likewise.
47115
47116 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47117
47118 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47119 prototype.
47120 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47121 (grub_heap_len): Likewise.
47122 (HEAP_SIZE): New macro.
47123 (grub_claim_heap): New function.
47124 (grub_machine_init): Don't claim heap directly. Call
47125 `grub_claim_heap'.
47126 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47127 (grub_available_iterate): New function.
47128
47129 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47130
47131 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47132 * configure.ac: Use it for testing the HOST and TARGET compilers.
47133
47134 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47135
47136 * Makefile.in (enable_grub_emu): New variable.
47137 * configure.ac (--enable-grub-emu): New option.
47138 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47139 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47140 * conf/i386-pc.rmk: Likewise.
47141 * conf/powerpc-ieee1275.rmk: Likewise.
47142 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47143
47144 2006-12-12 Marco Gerards <marco@gnu.org>
47145
47146 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47147
47148 * kern/env.c (grub_env_unset): Don't free the member `value' when
47149 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47150 pointer.
47151
47152 * normal/main.c (current_menu): Removed.
47153 (free_menu): Unset the `menu' environment variable.
47154 (grub_normal_menu_addentry): Make use of the environment variable
47155 `menu', instead of using the global `current_menu'. Allocate
47156 memory for the sourcecode of this entry.
47157 (read_config_file): New argument `nested', changed all callers.
47158 Only in the case of a new context, initialize a new menu. Set the
47159 `menu' environment variable.
47160 (grub_normal_execute): Don't set and unset the environment
47161 variable `menu' here anymore. Only free the menu when leaving the
47162 context.
47163
47164 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47165 leak.
47166
47167 2006-12-11 Marco Gerards <marco@gnu.org>
47168
47169 * normal/menu_entry.c (run): Fix off by one bug so the last line
47170 is executed. Move the loader check to outside the loop.
47171
47172 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47173
47174 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47175
47176 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47177
47178 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47179 the number of sectors. Reported by Andrey Shuvikov
47180 <mr_hyro@yahoo.com>.
47181
47182 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47183
47184 * kern/disk.c (grub_disk_read): When there is a read error, always
47185 try to read only the necessary data.
47186
47187 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47188 disk/raid.c.
47189 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47190 prototype.
47191 [GRUB_UTIL] (grub_raid_fini): Likewise.
47192 [GRUB_UTIL] (grub_lvm_init): Likewise.
47193 [GRUB_UTIL] (grub_lvm_fini): Likewise.
47194 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47195 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47196 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47197 and grub_raid_fini().
47198
47199 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47200
47201 * include/grub/types.h (__unused): Rename to UNUSED.
47202 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47203 (grub_elf64_size): Likewise.
47204
47205 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47206
47207 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47208 grub_error_push and grub_error_pop in the error-handling path.
47209 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47210 length.
47211
47212 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47213
47214 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47215 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47217 (kernel_elf_SOURCES): Likewise.
47218 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47219 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47220 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47221 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47222 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47223 (elf_mod_SOURCES): New variable.
47224 (elf_mod_CFLAGS): Likewise.
47225 (elf_mod_LDFLAGS): Likewise.
47226 * include/grub/types.h (__unused): New macro.
47227 * include/grub/elfload.h: New file.
47228 * kern/elf.c: Likewise.
47229 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47230 (ELF32_LOADMASK): New macro.
47231 (ELF64_LOADMASK): Likewise.
47232 (vmlinux): Removed.
47233 (grub_linux_load32): New function.
47234 (grub_linux_load64): Likewise.
47235 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47236 Use grub_elf_t instead of grub_file_t.
47237
47238 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47239
47240 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47241 `catch_result' to struct set_color_args.
47242
47243 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47244
47245 * normal/menu.c: Include grub/script.h.
47246 * normal/menu_entry.c: Likewise.
47247 * include/grub/normal.h: Do not include grub/script.h.
47248
47249 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47250
47251 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47252
47253 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47254
47255 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47256 disk.
47257 (grub_disk_close): Print debug messages when closing a disk.
47258 (grub_disk_read): Print debug messages when disk read fails.
47259 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47260 filesystem type.
47261 * kern/partition.c: Include misc.h.
47262 (grub_partition_iterate): Print debug messages when detecting
47263 partition type.
47264
47265 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47266
47267 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47268 is negative.
47269 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47270
47271 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47272
47273 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47274 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47275
47276 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47277
47278 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47279 instead of sizeof(lv). Patch by Michael Guntsche.
47280
47281 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47282
47283 * disk/lvm.c: Rename VGS to VG_LIST.
47284 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47285 (grub_lvm_open): Likewise.
47286 Thanks to Michael Guntsche for finding this bug.
47287
47288 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47289
47290 * configure.ac (AC_INIT): Bumped to 1.95.
47291
47292 2006-10-14 Robert Millan <rmh@aybabtu.com>
47293
47294 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47295 with "/dev/.static/dev/md".
47296
47297 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47298
47299 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47300 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47301 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47302 DRIVE_NAME are always freed.
47303
47304 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47305 DOS_PART, as a DOS partition is counted from one instead of zero
47306 now. Reported by Robert Millan.
47307
47308 2006-10-14 Robert Millan <rmh@aybabtu.com>
47309
47310 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47311 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47312 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47313 string returned by grub_guess_root_device.
47314 * util/i386/pc/grub-setup.c: Likewise.
47315 * util/i386/pc/grub-probefs.c: Likewise.
47316
47317 * util/i386/pc/grub-probefs.c: Rename to ...
47318 * util/i386/pc/grub-probe.c: ... this.
47319 * DISTLIST: Remove grub-probefs, add grub-probe.
47320 * conf/i386-efi.rmk: Likewise.
47321 * conf/i386-pc.rmk: Likewise.
47322 * util/i386/pc/grub-install.in: Likewise.
47323
47324 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47325 choose which information we want to print.
47326
47327 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47328
47329 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47330 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47331 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47332 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47333 video/readers/tga.c and video/i386/pc/vbeutil.c.
47334
47335 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47336
47337 Added support for RAID and LVM.
47338
47339 * disk/lvm.c: New file.
47340 * disk/raid.c: Likewise.
47341 * include/grub/lvm.h: Likewise.
47342 * include/grub/raid.h: Likewise.
47343 * include/grub/util/lvm.h: Likewise.
47344 * include/grub/util/raid.h: Likewise.
47345 * util/lvm.c: Likewise.
47346 * util/raid.c: Likewise.
47347
47348 * include/grub/disk.h (grub_disk_dev_id): Add
47349 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47350 (grub_disk_get_size): New prototype.
47351 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47352 returns a partition.
47353 (grub_disk_get_size): New function.
47354
47355 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47356 verbatim if grub_install_dos_part is -2.
47357
47358 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47359 and LVM devices.
47360
47361 * util/i386/pc/grub-setup.c (setup): New argument
47362 MUST_EMBED. Force embedding of GRUB when the argument is
47363 true. Close FILE before returning.
47364 (main): Add support for RAID and LVM.
47365
47366 * conf/common.rmk: Add RAID and LVM modules.
47367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47368 util/lvm.c.
47369 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47370
47371 * kern/misc.c (grub_strstr): New function.
47372 * include/grub/misc.h (grub_strstr): New prototype.
47373
47374 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47375
47376 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47377
47378 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47379
47380 * kern/misc.c (grub_strtoull): Guess the base only if not
47381 specified.
47382
47383 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
47384
47385 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47386 PowerMac support.
47387
47388 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
47389
47390 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47391
47392 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47393 Remove `flags' argument. All callers changed.
47394 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47395 (IEEE1275_IHANDLE_INVALID): New variable.
47396 (IEEE1275_CELL_INVALID): New variable.
47397 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47398 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47399 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47400 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47401 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47402 codes from Open Firmware. All callers updated.
47403 (grub_ieee1275_next_property): Directly return Open Firmware return
47404 code.
47405 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47406 Standardize error checking from `grub_ieee1275_get_property'.
47407 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47408 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47409
47410 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
47411
47412 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47413 `instance_to_package_args' to `instance_to_path_args'.
47414
47415 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47416 `grub_ieee1275_chosen'.
47417
47418 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47419 `grub_ieee1275_interpret'.
47420
47421 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
47422
47423 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47424
47425 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
47426
47427 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47428 (__cmpdi): Likewise.
47429
47430 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47431 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47432 `grub_ssize_t'.
47433
47434 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
47435
47436 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47437 to type `grub_ssize_t'.
47438 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47439
47440 2006-09-22 Marco Gerards <marco@gnu.org>
47441
47442 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47443 newlines.
47444
47445 2006-09-22 Marco Gerards <marco@gnu.org>
47446
47447 * commands/echo.c: New file.
47448
47449 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47450
47451 * conf/common.rmk (echo_mod_SOURCES): New variable.
47452 (echo_mod_CFLAGS): Likewise.
47453 (echo_mod_LDFLAGS): Likewise.
47454
47455 2006-09-22 Marco Gerards <marco@gnu.org>
47456
47457 * normal/main.c (get_line): Malloc memory instead of using
47458 preallocated memory. Removed the arguments `cmdline' and
47459 `max_len'. Updated all callers.
47460
47461 2006-09-22 Marco Gerards <marco@gnu.org>
47462
47463 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47464 (normal_mod_DEPENDENCIES): Likewise.
47465
47466 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47467 (normal_mod_DEPENDENCIES): Likewise.
47468
47469 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47470
47471 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
47472
47473 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47474 programs.
47475 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47476 (normal_mod_DEPENDENCIES): Likewise.
47477 * conf/i386-pc.mk: Regenerate.
47478 * conf/i386-efi.mk: Likewise
47479 * conf/common.mk: Likewise.
47480 * conf/powerpc-ieee1275.mk: Likewise.
47481 * conf/sparc64-ieee1275.mk: Likewise.
47482
47483 2006-09-22 Robert Millan <rmh@aybabtu.com>
47484
47485 Sync with i386 version.
47486 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47487 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47488
47489 2006-09-21 Robert Millan <rmh@aybabtu.com>
47490
47491 Import from GRUB Legacy (lib/device.c):
47492 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47493 (init_device_map) [__linux__]: Add support for I2O devices.
47494
47495 2006-09-14 Marco Gerards <marco@gnu.org>
47496
47497 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47498 `-melf_i386'.
47499
47500 2006-09-14 Robert Millan <rmh@aybabtu.com>
47501
47502 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47503 /boot/grub/*.lst.
47504
47505 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
47506
47507 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47508 before adding it to device.map.
47509
47510 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
47511
47512 * genmk.rb: Let GCC generate dependencies the first time it
47513 compiles a file; using the -MD option.
47514 * conf/common.mk: Regenerate.
47515 * conf/i386-pc.mk: Likewise.
47516 * conf/i386-efi.mk: Likewise.
47517 * conf/powerpc-ieee1275.mk: Likewise.
47518 * conf/sparc64-ieee1275.mk: Likewise.
47519
47520 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47521
47522 Move the prototypes of grub_setjmp and grub_longjmp to
47523 cpu/setjmp.h, so that each architecture may specify different
47524 attributes.
47525
47526 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47527 (grub_longjmp): Likewise.
47528 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47529 (grub_longjmp): Likewise.
47530 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47531 (grub_longjmp): Likewise.
47532
47533 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47534 [!GRUB_UTIL] (grub_longjmp): Removed.
47535
47536 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47537
47538 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47539 "color!" method does not return any value.
47540
47541 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47542
47543 * include/grub/bitmap.h: New file.
47544
47545 * include/grub/i386/pc/vbeutil.h: Likewise.
47546
47547 * video/bitmap.c: Likewise.
47548
47549 * video/readers/tga.c: Likewise.
47550
47551 * video/i386/pc/vbeutil.c: Likewise.
47552
47553 * commands/videotest.c: Code cleanup and updated to reflect to new
47554 video API.
47555
47556 * term/gfxterm.c: Likewise.
47557
47558 * video/video.c: Likewise.
47559
47560 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47561 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47562 (bitmap_mod_SOURCES): New entry.
47563 (bitmap_mod_CFLAGS): Likewise.
47564 (bitmap_mod_LDFLAGS): Likewise.
47565 (tga_mod_SOURCES): Likewise.
47566 (tga_mod_CFLAGS): Likewise.
47567 (tga_mod_LDFLAGS): Likewise.
47568
47569 * include/grub/video.h (grub_video_blit_operators): New enum type.
47570 (grub_video_render_target): Changed as forward declaration and moved
47571 actual definition to be video driver specific.
47572 (grub_video_adapter.blit_bitmap): Added blitting operator.
47573 (grub_video_adapter.blit_render_target): Likewise.
47574 (grub_video_blit_bitmap): Likewise.
47575 (grub_video_blit_render_target): Likewise.
47576
47577 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47578 driver specific render target definition.
47579 (grub_video_vbe_map_rgba): Added driver internal helper.
47580 (grub_video_vbe_unmap_color): Updated to use
47581 grub_video_i386_vbeblit_info.
47582 (grub_video_vbe_get_video_ptr): Likewise.
47583
47584 * include/grub/i386/pc/vbeblit.h
47585 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47586 grub_video_i386_vbeblit_info.
47587 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47588 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47589 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47590 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47591 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47592 (grub_video_i386_vbeblit_index_index): Likewise.
47593 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47594 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47595 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47596 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47597 operator.
47598 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47599 operator.
47600
47601 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47602 include/grub/i386/pc/vbeblit.h.
47603
47604 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47605 Updated to use grub_video_i386_vbeblit_info.
47606 (grub_video_i386_vbefill_R8G8B8): Likewise.
47607 (grub_video_i386_vbefill_index): Likewise.
47608 (grub_video_i386_vbefill): Added generic filler.
47609
47610 * video/i386/pc/vbefill.c: Updated to reflect changes on
47611 include/grub/i386/pc/vbefill.h.
47612
47613 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47614 grub_video_i386_vbeblit_info.
47615 (grub_video_vbe_unmap_color): Likewise.
47616 (grub_video_vbe_blit_glyph): Likewise.
47617 (grub_video_vbe_scroll): Likewise.
47618 (grub_video_vbe_draw_pixel): Removed function.
47619 (grub_video_vbe_get_pixel): Likewise.
47620 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47621 updated code to use it.
47622 (common_blitter): Added common blitter for render target and bitmap.
47623 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47624 (grub_video_vbe_blit_render_target): Likewise.
47625
47626 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
47627
47628 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47629 is in text mode if there is no console control protocol instance
47630 available.
47631
47632 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47633
47634 * include/grub/video.h: Code cleanup.
47635
47636 * include/grub/i386/pc/vbe.h: Likewise.
47637
47638 * video/i386/pc/vbe.c: Likewise.
47639
47640 * video/i386/pc/vbeblit.c: Likewise.
47641
47642 * video/i386/pc/vbefill.c: Likewise.
47643
47644 * video/video.c: Likewise. Also added more comments.
47645
47646 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47647
47648 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47649 (struct grub_biosdisk_dap): Likewise.
47650
47651 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47652 linkage settings for all functions.
47653
47654 2006-07-12 Marco Gerards <marco@gnu.org>
47655
47656 * configure.ac (--enable-mm-debug): Fix typo.
47657
47658 * genkernsyms.sh.in: Use proper quoting for `CC'.
47659
47660 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47661
47662 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47663 (normal_mod_ASFLAGS): Remove "-m32".
47664
47665 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47666
47667 * util/misc.c: Include config.h.
47668 [!HAVE_MEMALIGN]: Do not include malloc.h.
47669 (grub_memalign): Use posix_memalign, if present. Then, use
47670 memalign, if present. Otherwise, emit an error.
47671
47672 * util/grub-emu.c: Do not include malloc.h.
47673
47674 * include/grub/util/misc.h: Include unistd.h. This is required for
47675 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47676 D. Eades III <hde@foobar-qux.org>.
47677
47678 * configure.ac (AC_GNU_SOURCE): Added.
47679 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47680 type.
47681
47682 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47683
47684 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47685 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47686
47687 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47688
47689 * include/grub/types.h (grub_host_addr_t): Rename to
47690 grub_target_addr_t.
47691 (grub_host_off_t): Rename to grub_target_off_t.
47692 (grub_host_size_t): Rename to grub_target_size_t.
47693 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47694 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47695
47696 * include/grub/kernel.h (struct grub_module_header): Change type
47697 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47698 (grub_module_info): Likewise.
47699
47700 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47701
47702 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47703 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47704 Velazquez <jesus.velazquez@gmail.com>.
47705
47706 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47707
47708 Count partitions from 1 instead of 0 in the string representation
47709 of partitions. Still use 0-based internally.
47710
47711 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47712 (sun_partition_map_iterate): Use grub_partition_t instead of
47713 struct grub_partition *. Cast DESC->START_CYLINDER to
47714 grub_uint64_t after converting the endian.
47715 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47716 (sun_partition_map_get_name): Add 1 to P->INDEX.
47717
47718 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47719 PCDATA->DOS_PART.
47720 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47721
47722 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47723 zero instead of one.
47724 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47725 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47726
47727 * partmap/apple.c (apple_partition_map_iterate): Change the type
47728 of POS to unsigned.
47729 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47730 (apple_partition_map_get_name): Add 1 into P->INDEX.
47731
47732 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47733 of POS to unsigned.
47734 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47735 calculate the offset of a partition.
47736 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47737 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47738
47739 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47740 SECTOR to grub_disk_addr_t.
47741 (acorn_partition_map_iterate): Likewise.
47742 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47743 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47744 top.
47745 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47746
47747 * kern/i386/pc/init.c (make_install_device): Add 1 into
47748 GRUB_INSTALL_DOS_PART.
47749
47750 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47751 conditional.
47752
47753 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47754
47755 Clean up the code to support 64-bit addressing in disks and
47756 files. This change is not enough for filesystems yet.
47757
47758 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47759 type of "start" to grub_uint64_t.
47760 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47761 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47762 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47763 convert addresses.
47764
47765 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47766 to grub_disk_addr_t.
47767
47768 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47769 string.
47770
47771 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47772
47773 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47774 to char *.
47775
47776 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47777
47778 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47779
47780 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47781
47782 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47783 to grub_off_t, to detect an error from grub_file_seek.
47784 (grub_multiboot_load_elf32): Likewise.
47785
47786 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47787 maximum unsigned long value when an overflow is detected.
47788 (grub_strtoull): New function.
47789 (grub_divmod64): Likewise.
47790 (grub_lltoa): use grub_divmod64.
47791
47792 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47793 grub_disk_addr_t.
47794 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47795 the pointer to next character. Use grub_strtoull instead of
47796 grub_strtoul.
47797 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47798 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47799 respectively.
47800
47801 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
47802 return value is signed.
47803 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47804 test if OFFSET is less than zero, as OFFSET is unsigned now.
47805
47806 * kern/disk.c (struct grub_disk_cache): Change the type of
47807 "sector" to grub_disk_addr_t.
47808 (grub_disk_cache_get_index): Change the type of SECTOR to
47809 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47810 unsigned after shifting.
47811 (grub_disk_cache_invalidate): Change the type of SECTOR to
47812 grub_disk_addr_t.
47813 (grub_disk_cache_unlock): Likewise.
47814 (grub_disk_cache_store): Likewise.
47815 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47816 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47817 grub_disk_addr_t and grub_uint64_t, respectively.
47818 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47819 body, as the value of OFFSET is tweaked by
47820 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47821 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47822 respectively.
47823 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47824 body, as the value of OFFSET is tweaked by
47825 grub_disk_check_range. Change the types of LEN and N to
47826 grub_size_t.
47827
47828 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47829 and "saved_offset" to grub_off_t.
47830 (test_header): Cast BUF to char *.
47831 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47832 to char *.
47833 (grub_gzio_read): Change the types of OFFSET and SIZE to
47834 grub_off_t and grub_size_t, respectively.
47835
47836 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47837 Removed.
47838 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47839 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47840 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47841 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47842 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47843
47844 * include/grub/types.h (grub_off_t): Unconditionally set to
47845 grub_uint64_t.
47846 (grub_disk_addr_t): Changed to grub_uint64_t.
47847
47848 * include/grub/partition.h (struct grub_partition): Change the
47849 types of "start", "len" and "offset" to grub_disk_addr_t,
47850 grub_uint64_t and grub_disk_addr_t, respectively.
47851 (grub_partition_get_start): Return grub_disk_addr_t.
47852 (grub_partition_get_len): Return grub_uint64_t.
47853
47854 * include/grub/misc.h (grub_strtoull): New prototype.
47855 (grub_divmod64): Likewise.
47856
47857 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47858 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47859 grub_off_t, respectively.
47860 All callers and references changed.
47861
47862 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47863 grub_size_t in "read".
47864 All callers and references changed.
47865
47866 * include/grub/file.h (struct grub_file): Change the types of
47867 "offset" and "size" to grub_off_t and grub_off_t,
47868 respectively. Change the type of SECTOR to grub_disk_addr_t in
47869 "read_hook".
47870 (grub_file_read): Change the type of LEN to grub_size_t.
47871 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47872 grub_off_t.
47873 (grub_file_size): Return grub_off_t.
47874 (grub_file_tell): Likewise.
47875 All callers and references changed.
47876
47877 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47878 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47879 "write".
47880 (struct grub_disk): Change the type of "total_sectors" to
47881 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
47882 "read_hook".
47883 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47884 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47885 (grub_disk_write): Likewise.
47886 All callers and references changed.
47887
47888 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47889 char * for grub_strncmp to silence gcc.
47890 (grub_iso9660_mount): Likewise.
47891 (grub_iso9660_mount): Likewise.
47892 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47893 return statement.
47894 (grub_iso9660_iterate_dir): Likewise.
47895 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47896
47897 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47898 LEN to grub_disk_addr_t and grub_size_t, respectively.
47899
47900 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47901
47902 * fs/jfs.c (grub_jfs_read_file): Likewise.
47903
47904 * fs/minix.c (grub_jfs_read_file): Likewise.
47905
47906 * fs/sfs.c (grub_jfs_read_file): Likewise.
47907
47908 * fs/ufs.c (grub_jfs_read_file): Likewise.
47909
47910 * fs/xfs.c (grub_jfs_read_file): Likewise.
47911
47912 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47913 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47914 respectively.
47915
47916 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47917 BLKNR to -1 instead of returning GRUB_ERRNO.
47918 (grub_ext2_read_file): Change the types of SECTOR and
47919 LEN to grub_disk_addr_t and grub_size_t, respectively.
47920
47921 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47922 LEN to grub_disk_addr_t and grub_size_t, respectively.
47923
47924 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47925 grub_file_read.
47926
47927 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47928 string. Do not cast SECTOR explicitly.
47929
47930 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47931 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47932 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47933 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47934 over 2TB and LBA mode is not supported, raise an error.
47935 (get_safe_sectors): New function.
47936 (grub_biosdisk_read): Use get_safe_sectors.
47937 (grub_biosdisk_write): Likewise.
47938
47939 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47940 (grub_efidisk_write): Likewise.
47941
47942 * disk/loopback.c (delete_loopback): Cosmetic changes.
47943 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47944 correctly.
47945 (grub_loopback_open): Likewise.
47946 (grub_loopback_read): Likewise. Also, change the type of POS to
47947 grub_off_t, and fix the usage of grub_memset.
47948
47949 * commands/i386/pc/play.c: Include grub/machine/time.h.
47950
47951 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47952 print FILE->SIZE.
47953
47954 * commands/configfile.c: Include grub/env.h.
47955
47956 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47957 GRUB_ERRNO directly instead. Change the type of POS to
47958 grub_off_t. Follow the coding standard.
47959
47960 * commands/blocklist.c: Include grub/partition.h.
47961 (grub_cmd_blocklist): Return an error if the underlying device is
47962 not a disk. Take the starting sector of a partition into account,
47963 if a partition is used.
47964
47965 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47966 a length field.
47967 (lba_mode): Support 64-bit addresses.
47968 (chs_mode): Likewise.
47969 (copy_buffer): Adapted to the new offsets of a length field and a
47970 segment field.
47971 (blocklist_default_start): Allocate 64-bit space.
47972
47973 * boot/i386/pc/boot.S (force_lba): Removed.
47974 (boot_drive): Moved to under KERNEL_SECTOR.
47975 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
47976 space.
47977 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47978 is useless.
47979 (lba_mode): Refactored to support a 64-bit address. More size
47980 optimization.
47981 (setup_sectors): Likewise.
47982
47983 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47984
47985 * DISTLIST: Added include/grub/i386/linux.h. Removed
47986 include/grub/i386/pc/linux.h
47987
47988 * configure.ac (AC_INIT): Bumped to 1.94.
47989
47990 * config.guess: Updated from gnulib.
47991 * config.sub: Likewise.
47992 * install-sh: Likewise.
47993 * mkinstalldirs: Likewise.
47994
47995 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47996
47997 * conf/common.rmk (grub_modules_init.lst): Depended on
47998 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47999 MODSRCFILES.
48000
48001 * genmk.rb (PModule::rule): Reverted the previous change.
48002
48003 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48004
48005 * conf/common.rmk (grub_modules_init.lst): Depends on
48006 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48007 that the target does not exist before producing.
48008 (grub_modules_init.h): Remove the target before generating.
48009 (grub_emu_init.c): Likewise.
48010
48011 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48012
48013 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48014
48015 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48016 for the target-specific tests. Make sure that we also have the
48017 up-to-date target variables for those tests.
48018
48019 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48020
48021 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48022 (PModule::rule): Likewise.
48023
48024 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48025
48026 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48027 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48028 target-specific flags should be prefixed.
48029 (PModule::rule): Likewise.
48030
48031 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48032
48033 * configure.ac (CMP): Check if cmp is available explicitly.
48034
48035 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48036
48037 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48038 (target_cpu): New variable.
48039 (pkglibdir): Use target_cpu instead of host_cpu.
48040
48041 * util/i386/pc/grub-install.in (host_cpu): Removed.
48042 (target_cpu): New variable.
48043 (pkglibdir): Use target_cpu instead of host_cpu.
48044
48045 * util/genmoddep.c: Removed.
48046
48047 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48048 instead of GRUB_HOST_SIZEOF_VOID_P.
48049 * kern/dl.c: Likewise.
48050
48051 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48052 ...
48053 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48054 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48055 (GRUB_TARGET_SIZEOF_LONG): ... this.
48056 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48057 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48058 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48059 to ...
48060 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48061 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48062 (GRUB_TARGET_SIZEOF_LONG): ... this.
48063 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48064 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48065 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48066 to ...
48067 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48068 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48069 (GRUB_TARGET_SIZEOF_LONG): ... this.
48070 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48071 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48072
48073 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48074 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48075 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48076 instead of GRUB_HOST_SIZEOF_LONG.
48077 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48078 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48079 GRUB_CPU_WORDS_BIGENDIAN.
48080 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48081 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48082 grub_host_ssize_t.
48083
48084 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48085 (genmoddep_SOURCES): Likewise.
48086 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48087 (genmoddep_SOURCES): Likewise.
48088 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48089 (genmoddep_SOURCES): Likewise.
48090 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48091 Likewise.
48092 (genmoddep_SOURCES): Likewise.
48093
48094 * genmoddep.awk: New file.
48095
48096 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48097 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48098 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48099 (PModule::rule): Likewise.
48100 (Program::rule): Likewise.
48101 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48102 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48103 respectively.
48104
48105 * configure.ac: Rewritten intensively to use host and target
48106 instead of build and host, respectively.
48107
48108 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48109 (host_cpu): Removed.
48110 (target_cpu): New variable.
48111 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48112 (BUILD_CC): Removed.
48113 (BUILD_CFLAGS): Likewise.
48114 (BUILD_CPPFLAGS): Likewise.
48115 (TARGET_CC): New variable.
48116 (TARGET_CFLAGS): Likewise.
48117 (TARGET_CPPFLAGS): Likewise.
48118 (TARGET_LDFLAGS): Likewise.
48119 (AWK): Likewise.
48120 (include): Use target_cpu instead of host_cpu.
48121 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
48122
48123 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48124
48125 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48126
48127 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48128 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48129 field 'false' to 'exec_on_false'.
48130 (grub_script_create_cmdif): Renamed argument names to reflect above
48131 changes.
48132
48133 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48134
48135 * normal/script.c (grub_script_create_cmdif): Likewise.
48136
48137 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48138
48139 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48140 top.
48141 (grub_hfsplus_btree_recptr): Likewise.
48142 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48143 FILEBLOCK both to pass a block number and store next block
48144 number.
48145 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48146 overflow file correctly. Specify errors appropriately, because
48147 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48148 grub_hfsplus_btree_recptr to get the pointer to a found key.
48149 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48150 is found.
48151
48152 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48153 linux.mod.
48154 (_linux_mod_SOURCES): New variable.
48155 (_linux_mod_CFLAGS): Likewise.
48156 (_linux_mod_LDFLAGS): Likewise.
48157 (linux_mod_SOURCES): Likewise.
48158 (linux_mod_CFLAGS): Likewise.
48159 (linux_mod_LDFLAGS): Likewise.
48160
48161 * DISTLIST: Added loader/i386/efi/linux.c,
48162 loader/i386/efi/linux_normal.c and
48163 include/grub/i386/efi/loader.h.
48164
48165 * loader/i386/efi/linux.c: New file.
48166 * loader/i386/efi/linux_normal.c: Likewise.
48167 * include/grub/i386/efi/loader.h: Likewise.
48168
48169 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48170
48171 * commands/blocklist.c: New file.
48172
48173 * DISTLIST: Added commands/blocklist.c.
48174
48175 * term/efi/console.c (grub_console_highlight_color): Use a lighter
48176 color for the background, and a darker color for the foreground.
48177 (grub_console_checkkey): Return READ_KEY.
48178 (grub_console_cls): Set the background to
48179 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48180
48181 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48182
48183 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48184 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48185
48186 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48187 prototype.
48188
48189 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48190 BG. The spec is wrong again.
48191
48192 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48193 prototype.
48194 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48195
48196 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48197 commands/blocklist.c.
48198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48199
48200 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48201 (blocklist_mod_SOURCES): New variable.
48202 (blocklist_mod_CFLAGS): Likewise.
48203 (blocklist_mod_LDFLAGS): Likewise.
48204
48205 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48206
48207 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48208 duplication.
48209 (lba_mode): Use %eax more intensively to reduce the code size.
48210
48211 2006-05-20 Marco Gerards <marco@gnu.org>
48212
48213 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48214
48215 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48216 for `menuentry'.
48217 (script): Accept leading newlines.
48218 (newlines): New rule to describe 0 or more newlines.
48219 (commands): Accept `command' with trailing newline. Fixed the
48220 order in which arguments were passed to `grub_script_add_cmd'.
48221 Accept commands separated by newlines.
48222 (function): Changed to accept newlines.
48223 (menuentry) Rewritten.
48224
48225 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48226 front of the list, instead of to the end.
48227
48228 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48229
48230 * util/i386/pc/grub-install.in (bindir): New variable.
48231 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48232 Shaver <lbgwjl@gmail.com>.
48233
48234 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48235
48236 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48237 grub/machine/linux.h
48238 * loader/i386/pc/linux.c: Likewise.
48239
48240 * include/grub/i386/pc/linux.h: Moved to ...
48241 * include/grub/i386/linux.h: ... here.
48242
48243 * include/grub/i386/linux.h (struct linux_kernel_params): New
48244 struct.
48245
48246 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48247
48248 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48249 checking.
48250 (grub_video_vbe_blit_glyph): Likewise.
48251 (grub_video_vbe_blit_bitmap): Likewise.
48252 (grub_video_vbe_blit_render_target): Likewise.
48253
48254 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48255
48256 * configure.ac (--with-platform): Properly quote the square
48257 brackets.
48258
48259 2006-05-08 Marco Gerards <marco@gnu.org>
48260
48261 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48262 this...
48263 (kernel_elf_HEADERS): ...to this. Updated all users.
48264 (grubof_symlist.c): Renamed from this...
48265 (kernel_elf_symlist.c): ...to this. Updated all users.
48266 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48267 (grubof_SOURCES): Renamed from this...
48268 (kernel_elf_SOURCES): ...to this.
48269 (grubof_HEADERS): Renamed from this...
48270 (kernel_elf_HEADERS): ...to this.
48271 (grubof_CFLAGS): Renamed from this...
48272 (kernel_elf_CFLAGS): ...to this.
48273 (grubof_ASFLAGS): Renamed from this...
48274 (kernel_elf_ASFLAGS): ...to this.
48275 (grubof_LDFLAGS): Renamed from this...
48276 (kernel_elf_LDFLAGS): ...to this.
48277
48278 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48279 this...
48280 (kernel_elf_HEADERS): ...to this. Updated all users.
48281 (grubof_symlist.c): Renamed from this...
48282 (kernel_elf_symlist.c): ...to this. Updated all users.
48283 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48284 (grubof_SOURCES): Renamed from this...
48285 (kernel_elf_SOURCES): ...to this.
48286 (grubof_HEADERS): Renamed from this...
48287 (kernel_elf_HEADERS): ...to this.
48288 (grubof_CFLAGS): Renamed from this...
48289 (kernel_elf_CFLAGS): ...to this.
48290 (grubof_ASFLAGS): Renamed from this...
48291 (kernel_elf_ASFLAGS): ...to this.
48292 (grubof_LDFLAGS): Renamed from this...
48293 (kernel_elf_LDFLAGS): ...to this.
48294
48295 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48296 `kernel.elf' instead of `grubof'.
48297
48298 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48299
48300 Add --with-platform to configure. Use pkglibdir instead of
48301 pkgdatadir. This is reported by Roger Leigh.
48302
48303 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48304 (host_vendor): Likewise.
48305 (host_os): Likewise.
48306 (pkgdatadir): Likewise.
48307 (platform): New variable.
48308 (pkglibdir): Likewise.
48309 Use PKGLIBDIR instead of PKGDATADIR.
48310
48311 * util/i386/pc/grub-install.in (datadir): Removed.
48312 (host_vendor): Likewise.
48313 (host_os): Likewise.
48314 (pkgdatadir): Likewise.
48315 (platform): New variable.
48316 (pkglibdir): Likewise.
48317 Use PKGLIBDIR instead of PKGDATADIR.
48318
48319 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48320 instead of GRUB_DATADIR.
48321 (main): Likewise.
48322 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48323 (main): Likewise.
48324 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48325 (main): Likewise.
48326
48327 * configure.ac (--with-platform): New option.
48328 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48329
48330 * Makefile.in: Include a makefile based on PLATFORM instead of
48331 HOST_VENDOR.
48332 (pkgdatadir): Not appended by the machine type.
48333 (pkglibdir): Appended by the machine type.
48334 (host_vendor): Removed.
48335 (platform): New variable.
48336 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48337 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48338 (uninstall): Likewise.
48339
48340 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48341
48342 Use the environment context in the menu. Remove the commands
48343 "default" and "timeout", and use variables instead.
48344
48345 * normal/menu.c: Include grub/env.h.
48346 (print_entry): Cast TITLE to silence gcc.
48347 (get_timeout): New function.
48348 (set_timeout): Likewise.
48349 (get_entry_number): Likewise.
48350 (run_menu): Use a default entry, a fallback entry and a timeout
48351 in the environment variables "default", "fallback" and
48352 "timeout". Also, tweak the default entry if it is not within the
48353 current menu entries.
48354 (grub_menu_run): Use a fallback entry in the environment variable
48355 "fallback".
48356
48357 * normal/main.c (read_config_file): Do not initialize
48358 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48359 NEWMENU->TIMEOUT.
48360 (grub_normal_execute): Use a data slot to store the menu.
48361
48362 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48363 fallback_entry and timeout.
48364 (struct grub_menu_list): Removed.
48365 (grub_menu_list_t): Likewise.
48366 (struct grub_context): Likewise.
48367 (grub_context_t): Likewise.
48368 (grub_context_get): Likewise.
48369 (grub_context_get_current_menu): Likewise.
48370 (grub_context_push_menu): Likewise.
48371 (grub_context_pop_menu): Likewise.
48372 (grub_default_init): Likewise.
48373 (grub_default_fini): Likewise.
48374 (grub_timeout_init): Likewise.
48375 (grub_timeout_fini): Likewise.
48376
48377 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48378 and timeout.mod.
48379 (normal_mod_SOURCES): Removed normal/context.c.
48380
48381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48382 commands/default.c, commands/timeout.c and normal/context.c.
48383 (normal_mod_SOURCES): Removed normal/context.c.
48384
48385 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48386 commands/timeout.c and normal/context.c.
48387 (normal_mod_SOURCES): Removed normal/context.c.
48388
48389 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48390 commands/default.c, commands/timeout.c and normal/context.c.
48391 (normal_mod_SOURCES): Removed normal/context.c.
48392
48393 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48394 timeout.mod.
48395 (default_mod_SOURCES): Removed.
48396 (default_mod_CFLAGS): Likewise.
48397 (default_mod_LDFLAGS): Likewise.
48398 (timeout_mod_SOURCES): Removed.
48399 (timeout_mod_CFLAGS): Likewise.
48400 (timeout_mod_LDFLAGS): Likewise.
48401
48402 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48403 normal/context.c.
48404
48405 * commands/default.c: Removed.
48406 * commands/timeout.c: Likewise.
48407 * normal/context.c: Likewise.
48408
48409 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48410
48411 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48412
48413 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48414
48415 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48416 "next" to "prev" for readability.
48417 (struct grub_env_sorted_var): New struct.
48418 (grub_env_context): Renamed to ...
48419 (initial_context): ... this.
48420 (grub_env_var_context): Renamed to ...
48421 (current_context): ... this.
48422 (grub_env_find): Look only at CURRENT_CONTEXT.
48423 (grub_env_context_open): Rewritten to copy exported variables from
48424 previous context.
48425 (grub_env_context_close): Rewritten according to the new
48426 scheme. Also, add an assertion to prevent the initial context from
48427 removed.
48428 (grub_env_insert): Removed the code for the sorted list.
48429 (grub_env_remove): Likewise.
48430 (grub_env_export): Simply mark the variable with
48431 GRUB_ENV_VAR_GLOBAL.
48432 (grub_env_set): A cosmetic change for naming consistency.
48433 (grub_env_get): Likewise.
48434 (grub_env_unset): Likewise.
48435 (grub_env_iterate): Rewritten to sort variables within this
48436 function.
48437 (grub_register_variable_hook): Fixed for naming consistency. Call
48438 grub_env_find again, only if NAME is not found at the first time.
48439 (mangle_data_slot_name): New function.
48440 (grub_env_set_data_slot): Likewise.
48441 (grub_env_get_data_slot): Likewise.
48442 (grub_env_unset_data_slot): Likewise.
48443
48444 * include/grub/env.h (grub_env_var_type): New enum.
48445 (GRUB_ENV_VAR_LOCAL): New constant.
48446 (GRUB_ENV_VAR_GLOBAL): Likewise.
48447 (GRUB_ENV_VAR_DATA): Likewise.
48448 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48449 "type".
48450 (grub_env_set): Replace VAR with NAME for consistency.
48451 (grub_register_variable_hook): Likewise.
48452 (grub_env_export): Specify the name of the argument.
48453 (grub_env_set_data_slot): New prototype.
48454 (grub_env_get_data_slot): Likewise.
48455 (grub_env_unset_data_slot): Likewise.
48456
48457 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48458
48459 Extend the loader so that GRUB can accept a loader which comes
48460 back to GRUB when a loaded image exits. Also, this change adds
48461 support for a chainloader on EFI.
48462
48463 * term/efi/console.c: Include grub/misc.h.
48464 (grub_console_checkkey): Display a scan code on the top for
48465 debugging. This will be removed once the EFI port gets stable.
48466 Correct the scan code mapping.
48467
48468 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48469 allocate memory from larger regions, in order to reduce the number
48470 of allocated regions. Otherwise, the MacOSX loader panics.
48471 (filter_memory_map): Avoid less than 1MB for compatibility with
48472 other loaders.
48473 (add_memory_regions): Allocate from the tail of a region, if
48474 possible, to avoid allocating a region near to 1MB, for the MacOSX
48475 loader.
48476
48477 * kern/efi/init.c (grub_efi_set_prefix): Specify
48478 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48479
48480 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48481 argument IMAGE_HANDLE and specify it to get a loaded image.
48482 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48483 grub_efi_get_loaded_image.
48484 (grub_efi_get_filename): Divide the length by the size of
48485 grub_efi_char16_t.
48486 (grub_efi_get_device_path): New function.
48487 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48488 the length by the size of grub_efi_char16_t for a file path device
48489 path node.
48490
48491 * kern/loader.c (grub_loader_noreturn): New variable.
48492 (grub_loader_set): Accept a new argument NORETURN. Set
48493 GRUB_LOADER_NORETURN to NORETURN.
48494 All callers changed.
48495 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48496 grub_machine_fini.
48497
48498 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48499 prototype.
48500 (grub_efi_get_loaded_image): Take an argument to specify an image
48501 handle.
48502
48503 * include/grub/loader.h (grub_loader_set): Added one more argument
48504 NORETURN.
48505
48506 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48507 instead of grub_efi_open_protocol.
48508 (grub_efidisk_get_device_name): Likewise.
48509 (grub_efidisk_close): Print a newline.
48510 (grub_efidisk_get_device_handle): Fixed to use
48511 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48512 GRUB_EFI_DEVICE_PATH_TYPE.
48513
48514 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48515 * kern/efi/efi.c (device_path_guid): ... here.
48516
48517 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48518 chain.mod.
48519 (kernel_mod_HEADERS): Added efi/disk.h.
48520 (_chain_mod_SOURCES): New variable.
48521 (_chain_mod_CFLAGS): Likewise.
48522 (_chain_mod_LDFLAGS): Likewise.
48523 (chain_mod_SOURCES): Likewise.
48524 (chain_mod_CFLAGS): Likewise.
48525 (chain_mod_LDFLAGS): Likewise.
48526
48527 * DISTLIST: Added include/grub/efi/chainloader.h,
48528 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48529
48530 * include/grub/efi/chainloader.h: New file.
48531 * loader/efi/chainloader.c: Likewise.
48532 * loader/efi/chainloader_normal.c: Likewise.
48533
48534 2006-04-30 Marco Gerards <marco@gnu.org>
48535
48536 * commands/configfile.c (grub_cmd_source): New function.
48537 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48538 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48539
48540 2006-04-30 Marco Gerards <marco@gnu.org>
48541
48542 * normal/execute.c (grub_script_execute_cmd): Change the return
48543 type to `grub_err_t'. Correctly return the error.
48544 (grub_script_execute_cmdline): In case a command line is not a
48545 command or a function, try to interpret it as an assignment.
48546
48547 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48548
48549 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48550 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48551 skip a node whose name is obviously invalid as UTF-16,
48552 i.e. contains a NUL character. Stop the iteration when the last
48553 directory entry is found. Instead of using the return value of
48554 grub_hfsplus_btree_iterate_node, store the value in RET and use
48555 it, because the iterator can be stopped by the last directory
48556 entry.
48557
48558 2006-04-30 Marco Gerards <marco@gnu.org>
48559
48560 * include/grub/env.h (grub_env_export): New prototype. Reported
48561 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48562
48563 2006-04-30 Marco Gerards <marco@gnu.org>
48564
48565 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48566 size of the extents in a catalog file record.
48567
48568 2006-04-29 Marco Gerards <marco@gnu.org>
48569
48570 * commands/configfile.c (grub_cmd_configfile): Execute the
48571 configfile within its own context.
48572
48573 * include/grub/env.h (grub_env_context_open): New prototype.
48574 (grub_env_context_close): Likewise.
48575
48576 * kern/env.c (grub_env): Removed.
48577 (grub_env_sorted): Likewise.
48578 (grub_env_context): New variable.
48579 (grub_env_var_context): Likewise.
48580 (grub_env_find): Search both the active context and the global
48581 context.
48582 (grub_env_context_open): New function.
48583 (grub_env_context_close): Likewise.
48584 (grub_env_insert): Likewise.
48585 (grub_env_remove): Likewise.
48586 (grub_env_export): Likewise.
48587 (grub_env_set): Changed to use helper functions to avoid code
48588 duplication.
48589 (grub_env_iterate): Rewritten so both the current context and the
48590 global context are being used.
48591
48592 * normal/command.c (export_command): New function.
48593 (grub_command_init): Register the `export' function.
48594
48595 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48596
48597 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48598 explicitly to suppress gcc's warnings.
48599 * fs/fat.c (grub_fat_find_dir): Likewise.
48600 (grub_fat_label): Likewise.
48601 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48602 (grub_xfs_mount): Likewise.
48603 (grub_xfs_label): Likewise.
48604 * fs/affs.c (grub_affs_mount): Likewise.
48605 (grub_affs_label): Likewise.
48606 (grub_affs_iterate_dir): Likewise.
48607 * fs/sfs.c (grub_sfs_mount): Likewise.
48608 (grub_sfs_iterate_dir): Likewise.
48609 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48610 * fs/hfs.c (grub_hfs_mount): Likewise.
48611 (grub_hfs_cmp_catkeys): Likewise.
48612 (grub_hfs_find_dir): Likewise.
48613 (grub_hfs_dir): Likewise.
48614 (grub_hfs_label): Likewise.
48615 * fs/jfs.c (grub_jfs_mount): Likewise.
48616 (grub_jfs_opendir): Likewise.
48617 (grub_jfs_getent): Likewise.
48618 (grub_jfs_lookup_symlink): Likewise.
48619 (grub_jfs_label): Likewise.
48620 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48621 (grub_hfsplus_iterate_dir): Likewise.
48622 (grub_hfsplus_btree_iterate_node): Made static.
48623
48624 * util/grub-emu.c (prefix): New variable.
48625 (grub_machine_set_prefix): New function.
48626 (main): Do not set the environment variable "prefix" here. Only
48627 set PREFIX, which is used later by grub_machine_set_prefix.
48628
48629 * include/grub/video.h: Do not include grub/symbol.h.
48630 (grub_video_register): Not exported. This symbol is not defined in
48631 the kernel.
48632 (grub_video_unregister): Likewise.
48633 (grub_video_iterate): Likewise.
48634 (grub_video_setup): Likewise.
48635 (grub_video_restore): Likewise.
48636 (grub_video_get_info): Likewise.
48637 (grub_video_get_blit_format): Likewise.
48638 (grub_video_set_palette): Likewise.
48639 (grub_video_get_palette): Likewise.
48640 (grub_video_set_viewport): Likewise.
48641 (grub_video_get_viewport): Likewise.
48642 (grub_video_map_color): Likewise.
48643 (grub_video_map_rgb): Likewise.
48644 (grub_video_map_rgba): Likewise.
48645 (grub_video_fill_rect): Likewise.
48646 (grub_video_blit_glyph): Likewise.
48647 (grub_video_blit_bitmap): Likewise.
48648 (grub_video_blit_render_target): Likewise.
48649 (grub_video_scroll): Likewise.
48650 (grub_video_swap_buffers): Likewise.
48651 (grub_video_create_render_target): Likewise.
48652 (grub_video_delete_render_target): Likewise.
48653 (grub_video_set_active_render_target): Likewise.
48654
48655 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48656 Undefined.
48657 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48658
48659 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48660 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48661 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48662 instead of $(srcdir)/genkernsyms.sh.
48663
48664 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48665 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48666 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48667 instead of $(srcdir)/genkernsyms.sh.
48668
48669 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48670 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48671 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48672 instead of $(srcdir)/genkernsyms.sh.
48673
48674 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48675 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48676 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48677 instead of $(srcdir)/genkernsyms.sh.
48678
48679 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48680 genkernsyms.sh.
48681
48682 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48683 genkernsyms.sh.
48684 (gensymlist.sh): New target.
48685 (genkernsyms.sh): Likewise.
48686
48687 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48688 genkernsyms.sh.in and gensymlist.sh.in.
48689
48690 * genkernsyms.sh: Removed.
48691 * gensymlist.sh: Likewise.
48692
48693 * genkernsyms.sh.in: New file.
48694 * gensymlist.sh.in: Likewise.
48695
48696 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48697
48698 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48699 clobber "prefix", since we may have already set it manually.
48700
48701 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48702
48703 * kern/misc.c (abort): New alias for grub_abort.
48704
48705 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48706
48707 A new machine-specific function "grub_machine_set_prefix" is
48708 defined. This is called after loading modules, so that a prefix
48709 initialization can use modules. Also, this change adds an
48710 intensive debugging feature for the memory manager via the
48711 configure option "--enable-mm-debug".
48712
48713 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48714 PART.LEN.
48715
48716 * kern/sparc64/ieee1275/init.c (abort): Removed.
48717 (grub_stop): Likewise.
48718 (grub_exit): New function.
48719 (grub_set_prefix): Renamed to ...
48720 (grub_machine_set_prefix): ... this.
48721 (grub_machine_init): Do not call grub_set_prefix.
48722
48723 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48724 (grub_machine_set_prefix): ... this.
48725 (grub_machine_init): Do not call grub_set_prefix.
48726
48727 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48728 (grub_machine_init): Do not set the prefix here.
48729
48730 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48731
48732 * kern/efi/init.c: Include grub/mm.h.
48733 (grub_efi_set_prefix): New function.
48734
48735 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48736 (grub_efi_get_filename): New function.
48737 (grub_print_device_path): Renamed to ...
48738 (grub_efi_print_device_path): ... this.
48739
48740 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48741 [MM_DEBUG] (grub_realloc): Likewise.
48742 [MM_DEBUG] (grub_free): Likewise.
48743 [MM_DEBUG] (grub_memalign): Likewise.
48744 [MM_DEBUG] (grub_mm_debug): New variable.
48745 [MM_DEBUG] (grub_debug_malloc): New function.
48746 [MM_DEBUG] (grub_debug_free): New function.
48747 [MM_DEBUG] (grub_debug_realloc): New function.
48748 [MM_DEBUG] (grub_debug_memalign): New function.
48749
48750 * kern/misc.c (grub_abort): Print a newline to distinguish
48751 the message.
48752
48753 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48754 grub_set_root_dev after loading modules. This is necessary when
48755 setting a prefix depends on modules.
48756
48757 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48758 (grub_efi_print_device_path): ... this.
48759 (grub_efi_get_filename): New prototype.
48760 (grub_efi_set_prefix): Likewise.
48761
48762 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48763 and grub/disk.h.
48764 (grub_efidisk_get_device_handle): New prototype.
48765 (grub_efidisk_get_device_name): Likewise.
48766
48767 * include/grub/mm.h: Include config.h.
48768 (MM_DEBUG): Removed.
48769 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48770 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48771 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48772 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48773 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48774 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48775 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48776 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48777 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48778
48779 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48780
48781 * disk/efi/efidisk.c: Include grub/partition.h.
48782 (iterate_child_devices): New function.
48783 (add_device): First, compare only last device path nodes, so that
48784 devices are sorted by the types.
48785 (grub_efidisk_get_device_handle): New function.
48786 (grub_efidisk_get_device_name): Likewise.
48787
48788 * configure.ac (--enable-mm-debug): New option to enable the
48789 memory manager debugging feature. This makes the binary much
48790 bigger, so is disabled by default.
48791
48792 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48793
48794 Use grub_abort instead of grub_stop, and grub_exit must be
48795 define in each architecture now. Also, this change adds support
48796 for EFI disks.
48797
48798 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48799 (grub_getkey): New function.
48800 (grub_term_get_current): Likewise.
48801
48802 * util/i386/pc/grub-setup.c: Include grub/term.h.
48803 (grub_getkey): New function.
48804 (grub_term_get_current): Likewise.
48805
48806 * util/misc.c (grub_stop): Renamed to ...
48807 (grub_exit): ... this.
48808
48809 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48810 (grub_exit): ... this.
48811 (grub_machine_init): Use grub_abort instead of abort.
48812 (grub_stop): Removed.
48813
48814 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48815 abort.
48816
48817 * kern/i386/pc/startup.S (grub_exit): New function.
48818 (cold_reboot): New label.
48819
48820 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48821 (grub_efi_init): Call grub_efidisk_init.
48822 (grub_efi_fini): Call grub_efidisk_fini.
48823
48824 * kern/efi/efi.c: Include grub/mm.h.
48825 (grub_efi_console_control_guid): Renamed to ...
48826 (console_control_guid): ... this.
48827 (grub_efi_loaded_image_guid): Renamed to ...
48828 (loaded_image_guid): ... this.
48829 (grub_efi_locate_handle): New function.
48830 (grub_efi_open_protocol): Likewise.
48831 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48832 GRUB_EFI_CONSOLE_CONTROL_GUID.
48833 (grub_efi_exit): Removed.
48834 (grub_stop): Likewise.
48835 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48836 (grub_exit): New function.
48837 (grub_print_device_path): Likewise.
48838
48839 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48840 (grub_enter_rescue_mode): Register "exit".
48841
48842 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48843 (grub_abort): New function.
48844
48845 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48846
48847 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48848
48849 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48850
48851 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48852 (grub_print_device_path): New prototype.
48853 (grub_efi_locate_handle): Likewise.
48854 (grub_efi_open_protocol): Likewise.
48855
48856 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48857 * disk/efi/efidisk.c: Likewise.
48858
48859 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48860
48861 * include/grub/efi/console_control.h
48862 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48863
48864 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48865 last 8 bytes as an array.
48866 (GRUB_EFI_DISK_IO_GUID): New macro.
48867 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48868 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48869 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48870 grub_uint8_t.
48871 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48872 (struct grub_efi_device_path): Rename the member "sub_type" to
48873 "subtype".
48874 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48875 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48876 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48877 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48878 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48879 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48880 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48881 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48882 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48883 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48884 (struct grub_efi_pci_device_path): New structure.
48885 (grub_efi_pci_device_path_t): New type.
48886 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48887 (struct grub_efi_pccard_device_path): New structure.
48888 (grub_efi_pccard_device_path_t): New type.
48889 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48890 (struct grub_efi_memory_mapped_device_path): New structure.
48891 (grub_efi_memory_mapped_device_path_t): New type.
48892 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48893 (struct grub_efi_vendor_device_path): New structure.
48894 (grub_efi_vendor_device_path_t): New type.
48895 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48896 (struct grub_efi_controller_device_path): New structure.
48897 (grub_efi_controller_device_path_t): New type.
48898 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48899 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48900 (struct grub_efi_acpi_device_path): New structure.
48901 (grub_efi_acpi_device_path_t): New type.
48902 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48903 (struct grub_efi_expanded_acpi_device_path): New structure.
48904 (grub_efi_expanded_acpi_device_path_t): New type.
48905 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48906 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48907 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48908 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48909 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48910 (struct grub_efi_atapi_device_path): New structure.
48911 (grub_efi_atapi_device_path_t): New type.
48912 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48913 (struct grub_efi_fibre_channel_device_path): New structure.
48914 (grub_efi_fibre_channel_device_path_t): New type.
48915 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48916 (struct grub_efi_1394_device_path): New structure.
48917 (grub_efi_1394_device_path_t): New type.
48918 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48919 (struct grub_efi_usb_device_path): New structure.
48920 (grub_efi_usb_device_path_t): New type.
48921 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48922 (struct grub_efi_usb_class_device_path): New structure.
48923 (grub_efi_usb_class_device_path_t): New type.
48924 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48925 (struct grub_efi_i2o_device_path): New structure.
48926 (grub_efi_i2o_device_path_t): New type.
48927 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48928 (struct grub_efi_mac_address_device_path): New structure.
48929 (grub_efi_mac_address_device_path_t): New type.
48930 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48931 (struct grub_efi_ipv4_device_path): New structure.
48932 (grub_efi_ipv4_device_path_t): New type.
48933 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48934 (struct grub_efi_ipv6_device_path): New structure.
48935 (grub_efi_ipv6_device_path_t): New type.
48936 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48937 (struct grub_efi_infiniband_device_path): New structure.
48938 (grub_efi_infiniband_device_path_t): New type.
48939 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48940 (struct grub_efi_uart_device_path): New structure.
48941 (grub_efi_uart_device_path_t): New type.
48942 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48943 (struct grub_efi_vendor_messaging_device_path): New structure.
48944 (grub_efi_vendor_messaging_device_path_t): New type.
48945 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48946 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48947 (struct grub_efi_hard_drive_device_path): New structure.
48948 (grub_efi_hard_drive_device_path_t): New type.
48949 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48950 (struct grub_efi_cdrom_device_path): New structure.
48951 (grub_efi_cdrom_device_path_t): New type.
48952 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48953 (struct grub_efi_vendor_media_device_path): New structure.
48954 (grub_efi_vendor_media_device_path_t): New type.
48955 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48956 (struct grub_efi_file_path_device_path): New structure.
48957 (grub_efi_file_path_device_path_t): New type.
48958 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48959 (struct grub_efi_protocol_device_path): New structure.
48960 (grub_efi_protocol_device_path_t): New type.
48961 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48962 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48963 (struct grub_efi_bios_device_path): New structure.
48964 (grub_efi_bios_device_path_t): New type.
48965 (struct grub_efi_disk_io): New structure.
48966 (grub_efi_disk_io_t): New type.
48967 (struct grub_efi_block_io_media): New structure.
48968 (grub_efi_block_io_media_t): New type.
48969 (struct grub_efi_block_io): New structure.
48970 (grub_efi_block_io_t): New type.
48971
48972 * include/grub/misc.h (grub_stop): Removed.
48973 (grub_exit): New prototype.
48974 (grub_abort): Likewise.
48975
48976 * include/grub/disk.h (enum grub_disk_dev_id): Added
48977 GRUB_DISK_DEVICE_EFIDISK_ID.
48978
48979 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48980 disk/efi/efidisk.c.
48981 (kernel_syms.lst): Remove the target if an error occurs.
48982
48983 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48984
48985 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48986 as it was simply too buggy.
48987
48988 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48989
48990 * kern/misc.c (grub_lltoa): New function.
48991 (grub_vsprintf): Added support for the long long suffix,
48992 i.e. "ll".
48993
48994 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48995
48996 * Makefile.in (LDFLAGS): Add variable.
48997 (LD): Remove variable.
48998 * configure.ac: Add -m32 to LDFLAGS.
48999 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49000 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49001 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49002 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49003 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49004 variables.
49005 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49006 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49007 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49008
49009 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49010
49011 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49012 length for unknown glyph.
49013
49014 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49015
49016 Add support for pre-loaded modules into the EFI port.
49017
49018 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49019 completely. Accept one more argument DIR. The caller has changed.
49020
49021 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49022
49023 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49024 (grub_efi_loaded_image_guid): New variable.
49025 (grub_efi_get_loaded_image): New function.
49026 (grub_arch_modules_addr): Likewise.
49027
49028 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49029 prototype.
49030
49031 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49032 (struct grub_efi_loaded_image): New structure.
49033 (grub_efi_loaded_image_t): New type.
49034
49035 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49036
49037 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49038 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49039 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49040
49041 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49042
49043 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49044
49045 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49046
49047 * DISTLIST: Added include/grub/efi/console.h,
49048 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49049 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49050
49051 * include/grub/efi/console.h: New file.
49052 * include/grub/efi/time.h: Likewise.
49053 * include/grub/i386/efi/kernel.h: Likewise.
49054 * kern/efi/init.c: Likewise.
49055 * kern/efi/mm.c: Likewise.
49056 * term/efi/console.c: Likewise.
49057
49058 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49059 (grub_stop): Removed.
49060 (grub_get_rtc): Likewise.
49061 (grub_machine_init): Simply call grub_efi_init.
49062 (grub_machine_fini): Call grub_efi_fini.
49063
49064 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49065 (grub_efi_output_string): Removed.
49066 (grub_efi_stall): New function.
49067 (grub_stop): Likewise.
49068 (grub_get_rtc): Likewise.
49069
49070 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49071 (grub_efi_stall): New prototype.
49072 (grub_efi_allocate_pages): Likewise.
49073 (grub_efi_free_pages): Likewise.
49074 (grub_efi_get_memory_map): Likewise.
49075 (grub_efi_mm_init): Likewise.
49076 (grub_efi_mm_fini): Likewise.
49077 (grub_efi_init): Likewise.
49078 (grub_efi_fini): Likewise.
49079
49080 * include/grub/i386/efi/time.h: Do not include
49081 grub/symbol.h. Include grub/efi/time.h.
49082 (GRUB_TICKS_PER_SECOND): Removed.
49083 (grub_get_rtc): Likewise.
49084
49085 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49086 Added padding. The EFI spec is buggy.
49087 (GRUB_EFI_BLACK): New macro.
49088 (GRUB_EFI_BLUE): Likewise.
49089 (GRUB_EFI_GREEN): Likewise.
49090 (GRUB_EFI_CYAN): Likewise.
49091 (GRUB_EFI_RED): Likewise.
49092 (GRUB_EFI_MAGENTA): Likewise.
49093 (GRUB_EFI_BROWN): Likewise.
49094 (GRUB_EFI_LIGHTGRAY): Likewise.
49095 (GRUB_EFI_BRIGHT): Likewise.
49096 (GRUB_EFI_DARKGRAY): Likewise.
49097 (GRUB_EFI_LIGHTBLUE): Likewise.
49098 (GRUB_EFI_LIGHTGREEN): Likewise.
49099 (GRUB_EFI_LIGHTCYAN): Likewise.
49100 (GRUB_EFI_LIGHTRED): Likewise.
49101 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49102 (GRUB_EFI_YELLOW): Likewise.
49103 (GRUB_EFI_WHITE): Likewise.
49104 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49105 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49106 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49107 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49108 (GRUB_EFI_BACKGROUND_RED): Likewise.
49109 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49110 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49111 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49112 (GRUB_EFI_TEXT_ATTR): Likewise.
49113
49114 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49115 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49116 (kernel_mod_HEADERS): Added efi/time.h.
49117
49118 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49119
49120 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49121 include/grub/efi/api.h, include/grub/efi/console_control.h,
49122 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49123 include/grub/i386/efi/time.h, kern/efi/efi.c,
49124 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49125 and util/i386/efi/grub-mkimage.c.
49126
49127 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49128
49129 * genmk.rb (PModule#rule): Do not export symbols if
49130 #{prefix}_EXPORTS is set to "no".
49131
49132 * conf/i386-efi.mk: New file.
49133 * conf/i386-efi.rmk: Likewise.
49134 * include/grub/efi/api.h: Likewise.
49135 * include/grub/efi/console_control.h: Likewise.
49136 * include/grub/efi/efi.h: Likewise.
49137 * include/grub/efi/pe32.h: Likewise.
49138 * include/grub/i386/efi/time.h: Likewise.
49139 * kern/efi/efi.c: Likewise.
49140 * kern/i386/efi/init.c: Likewise.
49141 * kern/i386/efi/startup.S: Likewise.
49142 * util/i386/efi/grub-mkimage.c: Likewise.
49143
49144 2006-04-17 Marco Gerards <marco@gnu.org>
49145
49146 * include/grub/script.h: Include <grub/parser.h> and
49147 "grub_script.tab.h".
49148 (struct grub_lexer_param): New struct.
49149 (struct grub_parser_param): Likewise.
49150 (grub_script_create_arglist): Pass the state in an argument.
49151 (grub_script_add_arglist): Likewise.
49152 (grub_script_create_cmdline): Likewise.
49153 (grub_script_create_cmdblock): Likewise.
49154 (grub_script_create_cmdif): Likewise.
49155 (grub_script_create_cmdmenu): Likewise.
49156 (grub_script_add_cmd): Likewise.
49157 (grub_script_arg_add): Likewise.
49158 (grub_script_lexer_ref): Likewise.
49159 (grub_script_lexer_deref): Likewise.
49160 (grub_script_lexer_record_start): Likewise.
49161 (grub_script_lexer_record_stop): Likewise.
49162 (grub_script_mem_record): Likewise.
49163 (grub_script_mem_record_stop): Likewise.
49164 (grub_script_malloc): Likewise.
49165 (grub_script_yylex): Likewise.
49166 (grub_script_yyparse): Likewise.
49167 (grub_script_yyerror): Likewise.
49168 (grub_script_yylex): Likewise.
49169 (grub_script_lexer_init): Return the state.
49170
49171 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49172 (grub_script_lexer_done): Likewise.
49173 (grub_script_lexer_getline): Likewise.
49174 (grub_script_lexer_refs): Likewise.
49175 (script): Likewise.
49176 (newscript): Likewise.
49177 (record): Likewise.
49178 (recording): Likewise.
49179 (recordpos): Likewise.
49180 (recordlen): Likewise.
49181 (grub_script_lexer_init): Return the state instead of setting
49182 global variables.
49183 (grub_script_lexer_ref): Use the newly added argument for state
49184 instead of globals.
49185 (grub_script_lexer_deref): Likewise.
49186 (grub_script_lexer_record_start): Likewise.
49187 (grub_script_lexer_record_stop): Likewise.
49188 (recordchar): Likewise.
49189 (nextchar): Likewise.
49190 (grub_script_yylex2): Likewise.
49191 (grub_script_yylex): Likewise.
49192 (grub_script_yyerror): Likewise.
49193
49194 * normal/parser.y (func_mem): Removed variable.
49195 (menu_entry): Likewise.
49196 (err): Likewise.
49197 (%lex-param): New parser option.
49198 (%parse-param): Likewise.
49199 (script): Always return the AST.
49200 (argument): Pass the state around.
49201 (arguments): Likewise.
49202 (grubcmd): Likewise.
49203 (commands): Likewise.
49204 (function): Likewise.
49205 (menuentry): Likewise.
49206 (if_statement): Likewise.
49207 (if): Likewise.
49208
49209 * normal/script.c (grub_script_memused): Removed variable.
49210 (grub_script_parsed): Likewise.
49211 (grub_script_malloc): Added a state argument. Use that instead of
49212 global variables.
49213 (grub_script_mem_record): Likewise.
49214 (grub_script_mem_record_stop): Likewise.
49215 (grub_script_arg_add): Likewise.
49216 (grub_script_add_arglist): Likewise.
49217 (grub_script_create_cmdline): Likewise.
49218 (grub_script_create_cmdif): Likewise.
49219 (grub_script_create_cmdmenu): Likewise.
49220 (grub_script_add_cmd): Likewise.
49221 (grub_script_parse): Setup the state before calling the parser.
49222
49223 2006-04-16 Marco Gerards <marco@gnu.org>
49224
49225 * normal/command.c (grub_command_init): Remove the title command.
49226
49227 * normal/lexer.c (grub_script_yylex): Renamed from this...
49228 (grub_script_yylex2): ... to this.
49229 (grub_script_yylex): New function. Temporary
49230 introduced to filter some tokens.
49231 (grub_script_yyerror): Print a newline.
49232
49233 * normal/main.c (read_config_file): Output information about the
49234 lines that contain errors. Wait for a key after all lines have
49235 been processed. Don't return an empty menu.
49236
49237 * normal/parser.y (func_mem): Don't initialize.
49238 (menu_entry): Likewise.
49239 (err): New variable.
49240 (script): Don't return anything when an error was encountered.
49241 (ws, returns): Removed rules.
49242 (argument): Disabled concatenated variable support.
49243 (arguments): Remove explicit separators.
49244 (grubcmd): Likewise.
49245 (function): Likewise.
49246 (menuentry): Likewise.
49247 (if): Likewise.
49248 (commands): Likewise. Add error handling.
49249
49250 * normal/script.c (grub_script_create_cmdline): If
49251 `grub_script_parsed' is 0, assume the parser encountered an error.
49252
49253 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49254
49255 * configure.ac: Add support for EFI. Fix the typo
49256 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49257
49258 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49259
49260 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49261 foreign multibyte characters should be shown correctly.
49262
49263 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49264
49265 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49266 calculation.
49267 (read_config_file): Made it to close file before returning.
49268
49269 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49270
49271 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49272 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49273 video/i386/pc/vbefill.c.
49274
49275 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49276 video/i386/pc/vbefill.c.
49277
49278 * include/grub/video.h (grub_video_blit_format): New enum.
49279 (grub_video_mode_info): Added new member blit_format.
49280 (grub_video_get_blit_format): New function prototype.
49281
49282 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49283 function prototype.
49284 (grub_video_vbe_map_rgb): Likewise.
49285 (grub_video_vbe_unmap_color): Likewise.
49286
49287 * include/grub/i386/pc/vbeblit.h: New file.
49288
49289 * include/grub/i386/pc/vbefill.h: New file.
49290
49291 * video/video.c (grub_video_get_blit_format): New function.
49292 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49293 (grub_video_vbe_map_rgb): Likewise.
49294 (grub_video_vbe_unmap_color): Likewise.
49295
49296 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49297 optimized fills.
49298 (grub_video_vbe_blit_render_target): Changed to use more optimized
49299 blits.
49300 (grub_video_vbe_setup): Added detection for optimized settings.
49301 (grub_video_vbe_create_render_target): Likewise.
49302
49303 * video/i386/pc/vbeblit.c: New file.
49304
49305 * video/i386/pc/vbefill.c: New file.
49306
49307 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49308
49309 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49310 here...
49311
49312 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49313 parsing to support both hex and dec ranges. If filename was missing
49314 show usage information.
49315
49316 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49317
49318 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49319 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49320
49321 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49322 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49323 (video_mod_SOURCES): Added.
49324 (video_mod_CFLAGS): Likewise.
49325 (video_mod_LDFLAGS): Likewise.
49326 (gfxterm_mod_SOURCES): Likewise.
49327 (gfxterm_mod_CFLAGS): Likewise.
49328 (gfxterm_mod_LDFLAGS): Likewise.
49329 (videotest_mod_SOURCES): Likewise.
49330 (videotest_mod_CFLAGS): Likewise.
49331 (videotest_mod_LDFLAGS): Likewise.
49332 (vesafb_mod_SOURCES): Removed.
49333 (vesafb_mod_CFLAGS): Likewise.
49334 (vesafb_mod_LDFLAGS): Likewise.
49335 (vga_mod_SOURCES): Likewise.
49336 (vga_mod_CFLAGS): Likewise.
49337 (vga_mod_LDFLAGS): Likewise.
49338
49339 * commands/videotest.c: New file.
49340
49341 * font/manager.c (fill_with_default_glyph): Modified to use
49342 grub_font_glyph.
49343 (grub_font_get_glyph): Likewise.
49344 (fontmanager): Renamed from this...
49345 (font_manager): ... to this.
49346
49347 * include/grub/font.h (grub_font_glyph): Added new structure.
49348 (grub_font_get_glyph): Modified to use grub_font_glyph.
49349
49350 * include/grub/misc.h (grub_abs): Added as inline function.
49351
49352 * include/grub/video.h: New file.
49353
49354 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49355 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49356 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49357 (grub_vbe_get_controller_info): Renamed from this...
49358 (grub_vbe_bios_get_controller_info): ... to this.
49359 (grub_vbe_get_mode_info): Renamed from this...
49360 (grub_vbe_bios_get_mode_info): ... to this.
49361 (grub_vbe_set_mode): Renamed from this...
49362 (grub_vbe_bios_set_mode): ... to this.
49363 (grub_vbe_get_mode): Renamed from this...
49364 (grub_vbe_bios_get_mode): ... to this.
49365 (grub_vbe_set_memory_window): Renamed from this...
49366 (grub_vbe_bios_set_memory_window): ... to this.
49367 (grub_vbe_get_memory_window): Renamed from this...
49368 (grub_vbe_bios_get_memory_window): ... to this.
49369 (grub_vbe_set_scanline_length): Renamed from this...
49370 (grub_vbe_set_scanline_length): ... to this.
49371 (grub_vbe_get_scanline_length): Renamed from this...
49372 (grub_vbe_bios_get_scanline_length): ... to this.
49373 (grub_vbe_set_display_start): Renamed from this...
49374 (grub_vbe_bios_set_display_start): ... to this.
49375 (grub_vbe_get_display_start): Renamed from this...
49376 (grub_vbe_bios_get_display_start): ... to this.
49377 (grub_vbe_set_palette_data): Renamed from this...
49378 (grub_vbe_bios_set_palette_data): ... to this.
49379 (grub_vbe_set_pixel_rgb): Removed.
49380 (grub_vbe_set_pixel_index): Likewise.
49381
49382 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49383 from this...
49384 (grub_vbe_bios_get_controller_info): ... to this.
49385 (grub_vbe_get_mode_info): Renamed from this...
49386 (grub_vbe_bios_get_mode_info): ... to this.
49387 (grub_vbe_set_mode): Renamed from this...
49388 (grub_vbe_bios_set_mode): ... to this.
49389 (grub_vbe_get_mode): Renamed from this...
49390 (grub_vbe_bios_get_mode): ... to this.
49391 (grub_vbe_set_memory_window): Renamed from this...
49392 (grub_vbe_bios_set_memory_window): ... to this.
49393 (grub_vbe_get_memory_window): Renamed from this...
49394 (grub_vbe_bios_get_memory_window): ... to this.
49395 (grub_vbe_set_scanline_length): Renamed from this...
49396 (grub_vbe_set_scanline_length): ... to this.
49397 (grub_vbe_get_scanline_length): Renamed from this...
49398 (grub_vbe_bios_get_scanline_length): ... to this.
49399 (grub_vbe_set_display_start): Renamed from this...
49400 (grub_vbe_bios_set_display_start): ... to this.
49401 (grub_vbe_get_display_start): Renamed from this...
49402 (grub_vbe_bios_get_display_start): ... to this.
49403 (grub_vbe_set_palette_data): Renamed from this...
49404 (grub_vbe_bios_set_palette_data): ... to this.
49405 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49406 getting corrupted after calling it. Added more pushes and pops.
49407 (grub_vbe_bios_set_mode): Likewise.
49408 (grub_vbe_bios_get_mode): Likewise.
49409 (grub_vbe_bios_get_memory_window): Likewise.
49410 (grub_vbe_bios_set_scanline_length): Likewise.
49411 (grub_vbe_bios_get_scanline_length): Likewise.
49412 (grub_vbe_bios_get_display_start): Likewise.
49413 (grub_vbe_bios_set_palette_data): Likewise.
49414
49415 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49416 (cl_insert): Likewise.
49417 (cl_delete): Likewise.
49418
49419 * term/gfxterm.c: New file.
49420
49421 * term/i386/pc/vesafb.c: Removed file.
49422
49423 * video/video.c: New file.
49424
49425 * video/i386/pc/vbe.c (real2pm): Added new function.
49426 (grub_video_vbe_draw_pixel): Likewise.
49427 (grub_video_vbe_get_video_ptr): Likewise.
49428 (grub_video_vbe_get_pixel): Likewise
49429 (grub_video_vbe_init): Likewise.
49430 (grub_video_vbe_fini): Likewise.
49431 (grub_video_vbe_setup): Likewise.
49432 (grub_video_vbe_get_info): Likewise.
49433 (grub_video_vbe_set_palette): Likewise.
49434 (grub_video_vbe_get_palette): Likewise.
49435 (grub_video_vbe_set_viewport): Likewise.
49436 (grub_video_vbe_get_viewport): Likewise.
49437 (grub_video_vbe_map_color): Likewise.
49438 (grub_video_vbe_map_rgb): Likewise.
49439 (grub_video_vbe_map_rgba): Likewise.
49440 (grub_video_vbe_unmap_color): Likewise.
49441 (grub_video_vbe_fill_rect): Likewise.
49442 (grub_video_vbe_blit_glyph): Likewise.
49443 (grub_video_vbe_blit_bitmap): Likewise.
49444 (grub_video_vbe_blit_render_target): Likewise.
49445 (grub_video_vbe_scroll): Likewise.
49446 (grub_video_vbe_swap_buffers): Likewise.
49447 (grub_video_vbe_create_render_target): Likewise.
49448 (grub_video_vbe_delete_render_target): Likewise.
49449 (grub_video_vbe_set_active_render_target): Likewise.
49450 (grub_vbe_set_pixel_rgb): Remove function.
49451 (grub_vbe_set_pixel_index): Likewise.
49452 (index_color_mode): Remove static variable.
49453 (active_mode): Likewise.
49454 (framebuffer): Likewise.
49455 (bytes_per_scan_line): Likewise.
49456 (grub_video_vbe_adapter): Added new static variable.
49457 (framebuffer): Likewise.
49458 (render_target): Likewise.
49459 (initial_mode): Likewise.
49460 (mode_in_use): Likewise.
49461 (mode_list): Likewise.
49462
49463 2006-03-10 Marco Gerards <marco@gnu.org>
49464
49465 * configure.ac (AC_INIT): Bumped to 1.93.
49466
49467 * DISTLIST: Added `include/grub/hfs.h'.
49468
49469 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49470
49471 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49472 18H, which might help the BIOS falling back to next boot media.
49473
49474 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49475
49476 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49477 Poe Chen <poe.poechen@gmail.com>.
49478
49479 2006-01-17 Marco Gerards <marco@gnu.org>
49480
49481 * include/grub/normal.h: Include <grub/script.h>.
49482 (grub_command_list): Removed struct.
49483 (grub_command_list_t): Removed type.
49484 (grub_menu_entry): Remove members `num' and `command_list'. Add
49485 members `commands' and `sourcecode'.
49486 * include/grub/script.h: Add inclusion guards.
49487 (grub_script_cmd_menuentry): New struct.
49488 (grub_script_execute_menuentry): New prototype.
49489 (grub_script_lexer_record_start): Likewise.
49490 (grub_script_lexer_record_stop): Likewise.
49491 * normal/execute.c (grub_script_execute_menuentry): New function.
49492 * normal/lexer.c (record, recording, recordpos, recordlen): New
49493 variables.
49494 (grub_script_lexer_record_start): New function.
49495 (grub_script_lexer_record_stop): Likewise.
49496 (recordchar): Likewise.
49497 (nextchar): Likewise.
49498 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49499 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49500 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49501 (current_menu): New variable.
49502 (free_menu): Mainly rewritten.
49503 (grub_normal_menu_addentry): New function.
49504 (read_config_file): Rewritten.
49505 * normal/menu.c (run_menu_entry): Mainly rewritten.
49506 * normal/menu_entry.c (make_screen): Rewritten the code to insert
49507 the menu entry.
49508 (run): Mainly rewritten.
49509 * normal/parser.y (menu_entry): New variable.
49510 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49511 (menuentry): New rule.
49512 (command): Add `menuentry'.
49513 (if_statement): Allow additional returns before `fi'.
49514 * normal/script.c (grub_script_create_cmdmenu): New function.
49515
49516 2006-01-03 Marco Gerards <marco@gnu.org>
49517
49518 * INSTALL: GNU Bison is required.
49519 * configure.ac: Rewritten the test to detect Bison.
49520 * Makefile.in (YACC): New variable. Reported by Xun Sun
49521 <xun.sun.cn@gmail.com>.
49522
49523 2006-01-03 Marco Gerards <marco@gnu.org>
49524
49525 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49526 the HFS+ filesystem to filesystem blocks.
49527 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49528 GCC warning is silenced.
49529
49530 2006-01-03 Marco Gerards <marco@gnu.org>
49531
49532 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49533 read from disk from big endian to host byte order.
49534
49535 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49536
49537 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49538 documentation.
49539 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49540 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49541 embedded HFS+ filesystem.
49542 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49543 (grub_hfs_sblock): Move from here...
49544 * include/grub/hfs.h: To here... New file.
49545 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49546 documentation.
49547 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49548 New macros.
49549 (grub_hfsplus_volheader): Change type of member `magic' to
49550 `grub_uint16_t'.
49551 (grub_hfsplus_data): Add new member `embedded_offset'.
49552 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49553 returned block.
49554 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49555 Calculate the offset.
49556
49557 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49558
49559 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49560 Removed.
49561 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49562
49563 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49564
49565 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49566 ENV->NAME is NULL after allocating ENV->VALUE.
49567
49568 2005-12-25 Marco Gerards <marco@gnu.org>
49569
49570 * kern/env.c (grub_env_set): Rewritten the error handling code.
49571
49572 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49573
49574 * geninit.sh: Made more robust, and more portable.
49575
49576 2005-12-25 Marco Gerards <marco@gnu.org>
49577
49578 Add support for Apple HFS+ filesystems.
49579
49580 * fs/hfsplus.c: New file.
49581
49582 * DISTLIST: Added `fs/hfsplus.c'.
49583
49584 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49585 (hfsplus_mod_SOURCES): New variable.
49586 (hfsplus_mod_CFLAGS): Likewise.
49587 (hfsplus_mod_LDFLAGS): Likewise.
49588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49589 (grub_setup_SOURCES): Likewise.
49590 (grub_mkdevicemap_SOURCES): Likewise.
49591 (grub_emu_SOURCES): Likewise.
49592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49593
49594 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49595
49596 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49597
49598 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49599
49600 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49601 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49602 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49603 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49604 normal/lexer.c, normal/parser.y, normal/script.c, and
49605 partmap/gpt.c.
49606 Removed kern/sparc64/cache.c.
49607
49608 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49609 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49610 grub_emu_init.c.
49611
49612 * configure.ac (AC_INIT): Bumped to 1.92.
49613
49614 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49615
49616 * kern/err.c (grub_error_push): Added new function to support error
49617 stacks.
49618 (grub_error_pop): Likewise.
49619 (grub_error_stack_items): New local variable to support error stacks.
49620 (grub_error_stack_pos): Likewise.
49621 (grub_error_stack_assert): Likewise.
49622 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49623 stack depth.
49624 (grub_print_error): Added support to print errors from error stack.
49625
49626 * include/grub/err.h (grub_error_push): Added function prototype.
49627 (grub_error_pop): Likewise.
49628
49629 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49630
49631 * configure.ac: Accept `powerpc64' as host_cpu.
49632 (amd64): Rename to `biarch32'.
49633
49634 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49635 non-cacheline-aligned addresses.
49636
49637 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49638 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49639 if `size' is non-zero.
49640
49641 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
49642
49643 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49644 and `cd' to make sure the filename is not prefixed with a
49645 directory name.
49646 (pkgdata_MODULES): Add `gpt.mod'.
49647 (gpt_mod_SOURCES): New variable.
49648 (gpt_mod_CFLAGS): Likewise.
49649 (gpt_mod_LDFLAGS): Likewise.
49650
49651 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49652
49653 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49654 New macro.
49655
49656 * partmap/gpt.c: New file.
49657
49658 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49659 GPT partition map is detected.
49660
49661 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49662
49663 * commands/i386/pc/play.c: New file.
49664 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49665 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49666 macros.
49667
49668 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
49669
49670 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49671 ((unused))' to silence gcc warning.
49672
49673 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49674
49675 * configure.ac: Correct `AC_PROG_YACC' test.
49676
49677 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49678
49679 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49680 check before installing files.
49681
49682 2005-11-22 Mike Small <smallm@panix.com>
49683
49684 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49685 number regex so multidigit numbers are recognized correctly.
49686
49687 2005-11-22 Mike Small <smallm@panix.com>
49688
49689 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49690 debugging message before attempting to claim memory.
49691 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49692 multiple addresses in case of failure.
49693
49694 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49695
49696 * term/tparm.c (get_space): Remove empty `if' statement.
49697
49698 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49699
49700 * kern/parser.c (check_varstate): Rename `state' to 's'.
49701
49702 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49703
49704 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49705 variable definitions to the beginning of each function. Sort stack
49706 variables by size.
49707 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49708 `buf' argument to `char *'.
49709
49710 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49711
49712 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49713 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49714 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49715 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49716 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49717 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49718 configfile.mod, search.mod, gzio.mod and test.mod.
49719 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49720 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49721 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49722 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49723 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49724 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49725 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49726 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49727 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49728 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49729 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49730 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49731 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49732 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49733 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49734 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49735 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49736 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49737 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49738 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49739 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49740 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49741 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49742
49743 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49744 `grep --include'.
49745 (pkgdata_MODULES): Add test.mod.
49746
49747 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49748
49749 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49750 appending to variables with "+=".
49751 (PModule): Use full pathname to generate *.lst filenames.
49752
49753 * Makefile.in: Fixed list rules moved from genmk.rb.
49754 (.DELETE_ON_ERROR): New special target.
49755 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49756
49757 * conf/i386-pc.rmk: Include conf/common.mk.
49758 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49759 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49760 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49761 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49762 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49763 configfile.mod, search.mod, gzio.mod and test.mod.
49764 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49765 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49766 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49767 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49768 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49769 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49770 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49771 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49772 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49773 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49774 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49775 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49776 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49777 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49778 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49779 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49780 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49781 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49782 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49783 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49784 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49785 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49786 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49787 here...
49788 * conf/common.rmk: ... to here. New file.
49789
49790 * conf/common.mk: New file.
49791
49792 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49793
49794 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49795 (grub_script.tab.c): ... here.
49796
49797 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49798 (grub_script.tab.c): ... here.
49799
49800 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49801 (grub_script.tab.c): ... here.
49802
49803 * normal/command.c (grub_command_find): Fixed a memory leak of
49804 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49805
49806 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49807
49808 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49809 "@" which marks the start of a comment on ARM.
49810 (VARIABLE): Likewise.
49811
49812 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49813
49814 Add support for Linux/ADFS partition tables.
49815
49816 * partmap/acorn.c: New file.
49817
49818 * include/grub/acorn_filecore.h: Likewise.
49819
49820 * DISTLIST: Added `partmap/acorn.c' and
49821 `include/grub/acorn_filecore.h'.
49822
49823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49824 `partmap/acorn.c'.
49825 (pkgdata_MODULES): Add `acorn.mod'.
49826 (acorn_mod_SOURCES): New variable.
49827 (acorn_mod_CFLAGS): Likewise.
49828
49829 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49830 `partmap/acorn.c'.
49831 (pkgdata_MODULES): Add `acorn.mod'.
49832 (acorn_mod_SOURCES): New variable.
49833 (acorn_mod_CFLAGS): Likewise.
49834
49835 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49836 (pkgdata_MODULES): Add `acorn.mod'.
49837 (acorn_mod_SOURCES): New variable.
49838 (acorn_mod_CFLAGS): Likewise.
49839 (acorn_mod_LDFLAGS): Likewise.
49840
49841 * include/types.h (grub_disk_addr_t): New typedef.
49842
49843 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
49844
49845 * geninit.sh: New file.
49846
49847 * geninitheader.sh: Likewise.
49848
49849 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49850 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49851 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49852 * commands/configfile.c (grub_configfile_init)
49853 (grub_configfile_fini): Likewise.
49854 * commands/default.c (grub_default_init, grub_default_fini):
49855 Likewise.
49856 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49857 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49858 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49859 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49860 Likewise.
49861 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49862 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49863 Likewise.
49864 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
49865 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
49866 Likewise.
49867 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49868 Likewise.
49869 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
49870 Likewise.
49871 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49872 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49873 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49874 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49875 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49876 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49877 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49878 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49879 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49880 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49881 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49882 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49883 * partmap/amiga.c (grub_amiga_partition_map_init)
49884 (grub_amiga_partition_map_fini): Likewise.
49885 * partmap/apple.c (grub_apple_partition_map_init)
49886 (grub_apple_partition_map_fini): Likewise.
49887 * partmap/pc.c (grub_pc_partition_map_init)
49888 (grub_pc_partition_map_fini): Likewise.
49889 * partmap/sun.c (grub_sun_partition_map_init,
49890 grub_sun_partition_map_fini): Likewise.
49891 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49892 Likewise.
49893
49894 * util/grub-emu.c: Include <grub_modules_init.h>.
49895 (main): Don't initialize and de-initialize any modules directly,
49896 use `grub_init_all' and `grub_fini_all' instead.
49897
49898 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49899 `grub_vesafb_mod_init'.
49900 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49901 all users.
49902 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49903 `grub_vga_mod_init'. Updated all users.
49904 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
49905
49906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49907 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49908 rules.
49909
49910 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49911 Generate a function to initialize the module in utilities.
49912 Updated all callers.
49913 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49914 initialize the module in utilities. Updated all callers.
49915
49916 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49917
49918 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49919 escape sequence and a literal ^L to clear the screen.
49920
49921 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49922 when returning from Open Firmware.
49923
49924 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49925
49926 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49927 (grub_ofconsole_height): Likewise.
49928 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49929 manually insert a '\n'.
49930 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49931 `grub_ofconsole_height'. Return early if these are already set.
49932
49933 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49934
49935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49936 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49937 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49938 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49939 and `normal/script.c'.
49940 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49941 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49942 (test_mod_SOURCES): New variable.
49943 (test_mod_CFLAGS): Likewise.
49944 (test_mod_LDFLAGS): Likewise.
49945 (pkgdata_MODULES): Add `test.mod'.
49946 (grub_script.tab.c): New rule.
49947 (grub_script.tab.h): Likewise.
49948
49949 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
49950
49951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49952 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49953 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49954 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49955 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49956 (test_mod_SOURCES): New variable.
49957 (test_mod_CFLAGS): Likewise.
49958 (pkgdata_MODULES): Add `test.mod'.
49959 (grub_script.tab.c): New rule.
49960 (grub_script.tab.h): Likewise.
49961
49962 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
49963
49964 Add initial scripting support.
49965
49966 * commands/test.c: New file.
49967 * include/grub/script.h: Likewise.
49968 * normal/execute.c: Likewise.
49969 * normal/function.c: Likewise.
49970 * normal/lexer.c: Likewise.
49971 * normal/parser.y: Likewise.
49972 * normal/script.c: Likewise.
49973
49974 * configure.ac: Add `AC_PROG_YACC' test.
49975
49976 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49977 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49978 `normal/function.c' and `normal/script.c'.
49979 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49980 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49981 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49982 variables.
49983 (pkgdata_MODULES): Add `test.mod'.
49984 (grub_script.tab.c): New rule.
49985 (grub_script.tab.h): Likewise.
49986
49987 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49988
49989 * include/grub/normal.h (grub_test_init): New prototype.
49990 (grub_test_fini): Likewise.
49991
49992 * normal/command.c: Include <grub/script.h>.
49993 (grub_command_execute): Rewritten.
49994
49995 * util/grub-emu.c (main): Call `grub_test_init' and
49996 `grub_test_fini'.
49997
49998 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49999
50000 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50001 to 0.
50002 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50003 there are no pending characters.
50004
50005 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50006
50007 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50008 `grub_strndup' to drop device arguments. Replace unnecessary
50009 `grub_strndup' with `grub_strdup'.
50010
50011 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50012
50013 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50014 `debug' environment variable has been set.
50015
50016 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
50017
50018 * Makefile.in (install-local): Use $(DATA).
50019 (uninstall): Likewise.
50020 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50021 (sbin_UTILITIES): ... to here.
50022 (sbin_SCRIPTS): New variable.
50023 (grub_install_SOURCES): New variable.
50024 * util/powerpc/ieee1275/grub-install.in: New file.
50025 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50026 variable.
50027 (add_segments): Call `grub_util_get_path'.
50028
50029 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50030
50031 From Timothy Baldwin:
50032 * commands/ls.c (grub_ls_list_files): Close FILE with
50033 grub_file_close.
50034 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50035
50036 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
50037
50038 * include/grub/parser.h: New file.
50039
50040 * kern/parser.c: Likewise.
50041
50042 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50043 (grub_setup_SOURCES): Likewise.
50044 (grub_probefs_SOURCES): Likewise.
50045 (grub_emu_SOURCES): Likewise.
50046 (kernel_img_HEADERS): Add `parser.h'.
50047
50048 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50049 (grub_emu_SOURCES): Add `kern/parser.c'.
50050 (grubof_SOURCES): Likewise.
50051
50052 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50053 (grubof_SOURCES): Add `kern/parser.c'.
50054
50055 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50056
50057 * kern/misc.c (grub_split_cmdline): Removed function.
50058
50059 * kern/rescue.c: Include <grub/parser.h>.
50060 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50061 of `grub_split_cmdline'.
50062
50063 * normal/command.c: Include <grub/parser.h>.
50064 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50065 of `grub_split_cmdline'.
50066
50067 * normal/completion.c: Include <grub/parser.h>.
50068 (cmdline_state): New variable.
50069 (iterate_dir): End the filename with a quote depending on the
50070 command line state.
50071 (get_state): new function.
50072 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50073 split the arguments and determine the current argument. When the
50074 argument string is not quoted, escape all spaces.
50075
50076 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50077
50078 * normal/sparc64/setjmp.S: New file.
50079
50080 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50081
50082 * include/grub/sparc64/libgcc.h: New file.
50083 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50084 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50085 normal/sparc64/setjmp.c.
50086
50087 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50088
50089 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50090 * kern/sparc64/cache.S: New file.
50091 * kern/sparc64/cache.c: Removed.
50092 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50093 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50094 -mtune=ultrasparc.
50095 (COMMON_LDFLAGS): Add -melf64_sparc.
50096 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50097 (grubof_SOURCES): Use cache.S instead of cache.c.
50098 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50099 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50100 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50101 commented though.
50102 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50103 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50104 (linux_mod_CFLAGS): Commented out.
50105 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50106 out because module isn't built.
50107 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50108 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50109 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50110 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50111 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50112 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50113 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50114 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50115 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50116 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50117 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50118 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50119 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50120 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50121
50122 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50123
50124 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50125 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50126 longer, because HFS should not be used on PC.
50127
50128 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50129
50130 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50131 consistently within the loop.
50132
50133 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
50134
50135 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50136 directory can not be read.
50137
50138 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50139
50140 * configure.ac (AC_INIT): Increase the version number to 1.91.
50141
50142 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50143 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50144 term/i386/pc/serial.c.
50145
50146 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50147
50148 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50149 file size must be permitted.
50150
50151 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50152 between %ah and %al.
50153
50154 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50155
50156 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50157 grub_uint64_t.
50158 Call the hook with a NUL-terminated filename.
50159 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50160 grub_cpu_to_be32.
50161
50162 * kern/term.c (cursor_state): New variable.
50163 (grub_term_set_current): Reset the cursor state on a new
50164 terminal.
50165 (grub_setcursor): Rewritten to use CURSOR_STATE.
50166 (grub_getcursor): New function.
50167
50168 * include/grub/term.h (grub_getcursor): New prototype.
50169
50170 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50171 integers on ARM. Reported by Timothy Baldwin
50172 <T.E.Baldwin99@members.leeds.ac.uk>.
50173
50174 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
50175
50176 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50177 allocated.
50178 (grub_sfs_dir): Likewise.
50179
50180 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
50181
50182 Add support for the SFS filesystem.
50183
50184 * fs/sfs.c: New file.
50185
50186 * DISTLIST: Added `fs/sfs.c'.
50187
50188 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50189 (grub_probefs_SOURCES): Likewise.
50190 (grub_emu_SOURCES): Likewise.
50191 (pkgdata_MODULES): Add `sfs.mod'.
50192 (sfs_mod_SOURCES): New variable.
50193 (sfs_mod_CFLAGS): Likewise.
50194 (sfs_mod_LDFLAGS): Likewise.
50195
50196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50197 (pkgdata_MODULES): Add `sfs.mod'.
50198 (sfs_mod_SOURCES): New variable.
50199 (sfs_mod_CFLAGS): Likewise.
50200
50201 * util/grub-emu.c (main): Call `grub_sfs_init' and
50202 `grub_sfs_fini'.
50203
50204 * include/grub/fs.h (grub_sfs_init): New prototype.
50205 (grub_sfs_fini): Likewise.
50206
50207 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
50208
50209 Add support for the AFFS filesystem.
50210
50211 * fs/affs.c: New file.
50212
50213 * DISTLIST: Added `fs/affs.c'.
50214
50215 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50216 (grub_probefs_SOURCES): Likewise.
50217 (grub_emu_SOURCES): Likewise.
50218 (pkgdata_MODULES): Add `affs.mod'.
50219 (affs_mod_SOURCES): New variable.
50220 (affs_mod_CFLAGS): Likewise.
50221 (affs_mod_LDFLAGS): Likewise.
50222
50223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50224 (pkgdata_MODULES): Add `affs.mod'.
50225 (affs_mod_SOURCES): New variable.
50226 (affs_mod_CFLAGS): Likewise.
50227
50228 * util/grub-emu.c (main): Call `grub_affs_init' and
50229 `grub_affs_fini'.
50230
50231 * include/grub/fs.h (grub_affs_init): New prototype.
50232 (grub_affs_fini): Likewise.
50233
50234 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
50235
50236 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50237
50238 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
50239
50240 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50241 `-m32' to CFLAGS.
50242
50243 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50244 linking.
50245
50246 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50247 (COMMON_LDFLAGS): New variable.
50248 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50249 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50250 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50251 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50252 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50253 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50254 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50255 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50256 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50257 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50258 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50259 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50260 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50261 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50262 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50263 variables.
50264 (normal_mod_ASFLAGS): Add `-m32'.
50265
50266 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50267 (grub_host_size_t, grub_host_ssize_t): New types.
50268 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
50269 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
50270 `GRUB_HOST_SIZEOF_VOID_P'.
50271
50272 * include/grub/kernel.h (struct grub_module_header): Type of
50273 member offset changed to `grub_host_off_t'. Type of member size
50274 changed to `grub_host_size_t'.
50275 (struct grub_module_info): Type of member offset changed to
50276 `grub_host_off_t'. Type of member size changed to
50277 `grub_host_size_t'.
50278
50279 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50280
50281 Make GRUB's kernel compliant to Multiboot Specification.
50282
50283 * kern/i386/pc/startup.S (multiboot_header): New label.
50284 (multiboot_entry): Likewise.
50285 (multiboot_trampoline): Likewise.
50286
50287 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50288 Increased to 0x4A0.
50289
50290 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50291 put parentheses after a question mark.
50292 [!GRUB_UTIL] (my_mod): New variable.
50293
50294 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50295
50296 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
50297
50298 Adds support for the XFS filesystem. Btrees are not supported
50299 yet.
50300
50301 * fs/xfs.c: New file.
50302
50303 * DISTLIST: Added `fs/xfs.c'.
50304
50305 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50306 (grub_probefs_SOURCES): Likewise.
50307 (grub_emu_SOURCES): Likewise.
50308 (pkgdata_MODULES): Add `xfs.mod'.
50309 (xfs_mod_SOURCES): New variable.
50310 (xfs_mod_CFLAGS): Likewise.
50311
50312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50313 (pkgdata_MODULES): Add `xfs.mod'.
50314 (xfs_mod_SOURCES): New variable.
50315 (xfs_mod_CFLAGS): Likewise.
50316
50317 * util/grub-emu.c (main): Call `grub_xfs_init' and
50318 `grub_xfs_fini'.
50319
50320 * include/grub/fs.h (grub_xfs_init): New prototype.
50321 (grub_xfs_fini): Likewise.
50322
50323
50324 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50325
50326 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50327 color modes, allow greater than 16 colors to be configured as
50328 a default palette.
50329
50330 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50331
50332 * normal/completion.c (complete_arguments): Add the qualifier
50333 const into OPTIONS.
50334
50335 From Omniflux <omniflux+lists@omniflux.com>:
50336 * include/grub/terminfo.h: New file.
50337 * include/grub/tparm.h: Likewise.
50338 * include/grub/i386/pc/serial.h: Likewise.
50339 * term/terminfo.c: Likewise.
50340 * term/tparm.c: Likewise.
50341 * term/i386/pc/serial.c: Likewise.
50342 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50343 serial.mod.
50344 (terminfo_mod_SOURCES): New variable.
50345 (terminfo_mod_CFLAGS): Likewise.
50346 (serial_mod_SOURCES): Likewise.
50347 (serial_mod_CFLAGS): Likewise.
50348
50349 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50350
50351 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50352 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50353 and kern/powerpc/ieee1275/cmain.c, respectively.
50354
50355 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50356 * kern/powerpc/ieee1275/crt0.S: ... here.
50357
50358 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50359 * kern/powerpc/ieee1275/cmain.c: ... here.
50360
50361 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50362 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50363 instead of boot/powerpc/ieee1275/crt0.S and
50364 boot/powerpc/ieee1275/cmain.c, respectively.
50365
50366 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50367 sectors. It was not used anyway.
50368
50369 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50370
50371 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50372 `unused parameter' warning.
50373
50374 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50375
50376 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50377 function.
50378 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50379 getcharwidth.
50380
50381 2005-08-28 Marco Gerards <metgerards@student.han.nl>
50382
50383 * include/grub/normal.h (enum grub_completion_type): Added
50384 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50385
50386 * normal/cmdline.c (print_completion): Handle
50387 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50388 * normal/menu_entry.c (store_completion): Likewise.
50389
50390 * normal/completion.c (complete_arguments): New function.
50391 (grub_normal_do_completion): Call `complete_arguments' when the
50392 current words start with a dash.
50393
50394 2005-08-27 Marco Gerards <metgerards@student.han.nl>
50395
50396 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50397 `gzio.mod' instead of `io.mod').
50398
50399 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50400
50401 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50402 (DISTDIRS): Added io and video.
50403 Rewrite the search routine to make an output consistently.
50404
50405 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50406 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50407 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50408 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50409 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50410 util/powerpc/ieee1275/misc.c.
50411
50412 * include/grub/gzio.h: New file.
50413 * io/gzio.c: Likewise.
50414
50415 * kern/file.c (grub_file_close): Call grub_device_close only if
50416 FILE->DEVICE is not NULL.
50417
50418 * include/grub/mm.h [!NULL] (NULL): New macro.
50419
50420 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50421
50422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50423 (pkgdata_MODULES): Added gzio.mod.
50424 (gzio_mod_SOURCES): New variable.
50425 (gzio_mod_CFLAGS): Likewise.
50426
50427 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50428 (pkgdata_MODULES): Added gzio.mod.
50429 (gzio_mod_SOURCES): New variable.
50430 (gzio_mod_CFLAGS): Likewise.
50431
50432 * commands/cat.c: Include grub/gzio.h.
50433 (grub_cmd_cat): Use grub_gzfile_open instead of
50434 grub_file_open.
50435
50436 * commands/cmp.c: Include grub/gzio.h.
50437 (grub_cmd_cmp): Use grub_gzfile_open instead of
50438 grub_file_open.
50439
50440 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50441 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50442 grub_file_open.
50443 (grub_rescue_cmd_module): Likewise.
50444
50445 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50446
50447 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50448 kern/sparc64/ieee1275/init.c because it contains _start.
50449 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50450
50451 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50452
50453 * configure.ac: Add support for sparc64 host with ieee1275
50454 firmware.
50455 * configure: Generated from configure.ac.
50456 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50457 instead of int.
50458 (grub_ofdisk_read): Likewise.
50459 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50460 pointers as (void *) to remove a warning.
50461 (grub_ofdisk_close): Likewise.
50462 (grub_ofdisk_read): Likewise.
50463 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50464 returns, so make it return void to remove a warning.
50465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50466 Corresponding prototype change.
50467 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50468 values, and cast the pointers as (void *) to remove a warning.
50469 (grub_mm_dump): Likewise.
50470 * conf/sparc64-ieee1275.mk: New file.
50471 * conf/sparc64-ieee1275.rmk: Likewise.
50472 * include/grub/sparc64/setjmp.h: Likewise.
50473 * include/grub/sparc64/types.h: Likewise.
50474 * include/grub/sparc64/ieee1275/console.h: Likewise.
50475 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50476 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50477 * include/grub/sparc64/ieee1275/time.h: Likewise.
50478 * kern/sparc64/cache.c: Likewise.
50479 * kern/sparc64/dl.c: Likewise.
50480 * kern/sparc64/ieee1275/init.c: Likewise.
50481 * kern/sparc64/ieee1275/openfw.c: Likewise.
50482
50483 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50484
50485 * util/console.c (grub_ncurses_putchar): If C is greater than
50486 0x7f, set C to a question mark.
50487 (grub_ncurses_getcharwidth): New function.
50488 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50489 getcharwidth.
50490
50491 * normal/menu.c (print_entry): Made aware of Unicode. First,
50492 convert TITLE to UCS-4, and predict the cursor position by
50493 grub_getcharwidth.
50494
50495 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50496 const to SRC.
50497 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50498
50499 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50500
50501 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50502 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50503 grub_strcat.
50504
50505 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50506 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50507 grub_strcpy and grub_strlen. Take it into account that a space
50508 character is inserted as a delimiter.
50509
50510 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50511
50512 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
50513 invalid magic in the error.
50514
50515 * commands/search.c: New file.
50516
50517 * util/grub-emu.c (main): Call grub_search_init and
50518 grub_search_fini.
50519
50520 * kern/rescue.c (grub_rescue_print_disks): Removed.
50521 (grub_rescue_print_devices): New function.
50522 (grub_rescue_cmd_ls): Use grub_device_iterate with
50523 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50524 grub_rescue_print_disks.
50525
50526 * kern/partition.c (grub_partition_iterate): Return the result of
50527 PARTMAP->ITERATE instead of GRUB_ERRNO.
50528
50529 * kern/device.c: Include grub/partition.h.
50530 (grub_device_iterate): New function.
50531
50532 * include/grub/partition.h (grub_partition_iterate): Return int
50533 instead of grub_err_t.
50534
50535 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50536 prototype.
50537 [GRUB_UTIL] (grub_search_fini): Likewise.
50538
50539 * include/grub/device.h (grub_device_iterate): New prototype.
50540
50541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50542 commands/search.c.
50543 (pkgdata_MODULES): Added search.mod.
50544 (search_mod_SOURCES): New variable.
50545 (search_mod_CFLAGS): Likewise.
50546
50547 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50548 (pkgdata_MODULES): Added search.mod.
50549 (search_mod_SOURCES): New variable.
50550 (search_mod_CFLAGS): Likewise.
50551
50552 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50553 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50554 All callers changed.
50555
50556 * DISTLIST: Added commands/search.c.
50557
50558 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50559
50560 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50561 conversion.
50562 (grub_getcharwidth): New function.
50563
50564 * kern/misc.c (grub_utf8_to_ucs4): New function.
50565
50566 * include/grub/term.h (struct grub_term): Added a new member
50567 "getcharwidth".
50568 (grub_getcharwidth): New prototype.
50569
50570 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50571
50572 * term/i386/pc/console.c (map_char): New function. Segregated from
50573 grub_console_putchar.
50574 (grub_console_putchar): Use map_char.
50575 (grub_console_getcharwidth): New function.
50576 (grub_console_term): Specified grub_console_getcharwidth as
50577 getcharwidth.
50578
50579 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50580 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50581
50582 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50583 GRUB_ERRNO.
50584 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50585 on grub_strtoul completely.
50586 (write_char): Declare local variables in the beginning of the
50587 function.
50588 (grub_vesafb_getcharwidth): New function.
50589 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50590 getcharwidth.
50591
50592 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50593
50594 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50595 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50596 commands/i386/pc/vbetest.c.
50597
50598 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50599 call grub_vbe_get_controller_info again, because the returned
50600 information is volatile.
50601 (grub_vbe_set_video_mode): Mostly rewritten.
50602 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50603 grub_vbe_status_t correctly.
50604 (grub_vbe_get_video_mode_info): Likewise.
50605 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50606 several if statements.
50607
50608 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50609 * commands/i386/pc/vbeinfo.c: ... this.
50610
50611 * commands/i386/pc/vbe_test.c: Renamed to ...
50612 * commands/i386/pc/vbetest.c: ... this.
50613
50614 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50615 ...
50616 (grub_cmd_vbeinfo): ... this. Save video modes before
50617 iterating. Skip a video mode, if it is not available, not enough
50618 information is given or it is monochrome. Show the memory
50619 model. Leave the interpretation of MODEVAR to grub_strtoul
50620 completely.
50621 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50622 (GRUB_MOD_FINI): Likewise.
50623
50624 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50625 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50626 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50627 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50628 grub_strtoul completely.
50629 (real2pm): Removed.
50630 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50631 (GRUB_MOD_FINI): Likewise.
50632
50633 * normal/misc.c: Include grub/mm.h.
50634
50635 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50636 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50637 (vbe_list_modes_mod_SOURCES): Removed.
50638 (vbe_list_modes_mod_CFLAGS): Likewise.
50639 (vbe_test_mod_SOURCES): Likewise.
50640 (vbe_test_mod_CFLAGS): Likewise.
50641 (vbeinfo_mod_SOURCES): New variable.
50642 (vbeinfo_mod_CFLAGS): Likewise.
50643 (vbetest_mod_SOURCES): Likewise.
50644 (vbetest_mod_CFLAGS): Likewise.
50645
50646 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50647
50648 * normal/misc.c: New file.
50649
50650 * DISTLIST: Added normal/misc.c.
50651
50652 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50653 DISK to HOOK. Call HOOK with DISK.
50654 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50655 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50656 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50657
50658 * normal/menu_entry.c (struct screen): Added a new member
50659 "completion_shown".
50660 (completion_buffer): New global variable.
50661 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50662 (store_completion): New function.
50663 (complete): Likewise.
50664 (clear_completions): Likewise.
50665 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50666 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50667 a tab, call complete.
50668
50669 * normal/completion.c (disk_dev): Removed.
50670 (print_simple_completion): Likewise.
50671 (print_partition_completion): Likewise.
50672 (print_func): New global variable.
50673 (add_completion): Do not take the arguments WHAT or PRINT any
50674 longer. Added a new argument TYPE. Instead of printing directly,
50675 call PRINT_FUNC if not NULL.
50676 All callers changed.
50677 (complete_device): Use a local variable DEV instead of
50678 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50679 (grub_normal_do_completion): Take a new argument HOOK. Do not
50680 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50681 empty string, return NULL instead.
50682 All callers changed.
50683
50684 * normal/cmdline.c (print_completion): New function.
50685
50686 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50687 to HOOK.
50688 All callers changed.
50689
50690 * kern/disk.c (grub_print_partinfo): Removed.
50691
50692 * include/grub/partition.h (struct grub_partition_map): Add a new
50693 argument DISK into HOOK of ITERATE.
50694 (grub_partition_iterate): Add a new argument DISK to HOOK.
50695
50696 * include/grub/normal.h (enum grub_completion_type): New enum.
50697 (grub_completion_type_t): New type.
50698 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50699 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50700 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50701 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50702 (grub_normal_do_completion): Added a new argument HOOK.
50703 (grub_normal_print_device_info): New prototype.
50704
50705 * include/grub/disk.h (grub_print_partinfo): Removed.
50706
50707 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50708 (normal_mod_SOURCES): Likewise.
50709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50710 (normal_mod_SOURCES): Likewise.
50711
50712 * commands/ls.c (grub_ls_list_disks): Use
50713 grub_normal_print_device_info instead of grub_print_partinfo. Free
50714 PNAME.
50715 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50716 duplicating the code.
50717
50718 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50719
50720 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
50721 follow GCS more precisely.
50722 * commands/i386/pc/vbe_test.c: Likewise.
50723 * include/grub/i386/pc/vbe.h: Likewise.
50724 * term/i386/pc/vesafb.c: Likewise.
50725 * video/i386/pc/vbe.c: Likewise.
50726
50727 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50728
50729 * DISTLIST: Added term/i386/pc/vesafb.c
50730 DISTLIST: Added video/i386/pc/vbe.c
50731 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50732 DISTLIST: Added commands/i386/pc/vbe_test.c.
50733 * commands/i386/pc/vbe_list_modes.c: New file.
50734 * commands/i386/pc/vbe_test.c: Likewise.
50735 * term/i386/pc/vesafb.c: Likewise.
50736 * video/i386/pc/vbe.c: Likewise.
50737 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50738 (grub_vbe_probe) Added prototype.
50739 (grub_vbe_set_video_mode) Likewise.
50740 (grub_vbe_get_video_mode) Likewise.
50741 (grub_vbe_get_video_mode_info) Likewise.
50742 (grub_vbe_set_pixel_rgb) Likewise.
50743 (grub_vbe_set_pixel_index) Likewise.
50744 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50745 (pkgdata_MODULES): Added vesafb.mod.
50746 (pkgdata_MODULES): Added vbe_list_modes.mod.
50747 (pkgdata_MODULES): Added vbe_test.mod.
50748 (vbe_mod_SOURCES): Added.
50749 (vbe_mod_CFLAGS): Likewise.
50750 (vesafb_mod_SOURCES): Likewise.
50751 (vesafb_mod_CFLAGS): Likewise.
50752 (vbe_list_modes_mod_SOURCES): Likewise.
50753 (vbe_list_modes_mod_CFLAGS): Likewise.
50754 (vbe_test_mod_SOURCES): Likewise.
50755 (vbe_test_mod_CFLAGS): Likewise.
50756
50757 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50758
50759 * normal/command.c (grub_command_execute): If INTERACTIVE is
50760 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50761 CMDLINE. Disable the pager if INTERACTIVE is true.
50762 All callers are changed.
50763
50764 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50765 before reading a config file.
50766 * normal/main.c (read_config_file): Even if a command is not
50767 found, register it if it is within an entry.
50768
50769 * util/grub-emu.c: Include sys/types.h and unistd.h.
50770 (options): Added --hold.
50771 (struct arguments): Added a new member "hold".
50772 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50773 missing.
50774 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50775 cleared by a debugger, if it is not zero.
50776
50777 * include/grub/normal.h (grub_command_execute): Add an argument
50778 INTERACTIVE.
50779
50780 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50781
50782 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50783
50784 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50785
50786 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50787 program with another one, because the old one didn't detect a bug
50788 in gcc-3.4. Always use regparm 2, because the new test is still
50789 not enough for gcc-4.0. Someone must investigate a simple test
50790 case which detects a bug in gcc-4.0.
50791
50792 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50793
50794 * DISTLIST: Added normal/completion.c.
50795
50796 * normal/completion.c: New file.
50797
50798 * term/i386/pc/console.c (grub_console_getwh): New function.
50799 (grub_console_term): Assign grub_console_getwh to getwh.
50800
50801 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50802 function is defined in normal/completion.c as
50803 grub_normal_do_completion.
50804 (grub_cmdline_get): Use grub_normal_do_completion instead of
50805 grub_tab_complete.
50806
50807 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50808 returns non-zero, otherwise return 0.
50809 (grub_partition_iterate): First, probe the partition map. Then,
50810 call ITERATE only for this partition map.
50811
50812 * kern/misc.c (grub_strncmp): Rewritten.
50813
50814 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50815 returns non-zero. Otherwise return 0.
50816
50817 * include/grub/partition.h (grub_partition_map_iterate): Return
50818 int instead of void.
50819
50820 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50821
50822 * include/grub/misc.h (grub_strncmp): Change the type of N to
50823 grub_size_t.
50824
50825 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50826 of void.
50827
50828 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
50829 unsigned explicitly before comparing it with I.
50830
50831 * kern/main.c (grub_env_write_root): Add the attribute unused into
50832 VAR.
50833
50834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50835 normal/completion.c.
50836 (normal_mod_SOURCES): Likewise.
50837 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50838 (normal_mod_SOURCES): Likewise.
50839
50840 * normal/command.c (grub_iterate_commands): If ITERATE returns
50841 non-zero, return one immediately.
50842
50843 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50844
50845 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50846 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50847 descriptions.
50848 (grub_vbe_get_controller_info): New function.
50849 (grub_vbe_get_mode_info): Likewise.
50850 (grub_vbe_set_mode): Likewise.
50851 (grub_vbe_get_mode): Likewise.
50852 (grub_vbe_set_memory_window): Likewise.
50853 (grub_vbe_get_memory_window): Likewise.
50854 (grub_vbe_set_scanline_length): Likewise.
50855 (grub_vbe_get_scanline_length): Likewise.
50856 (grub_vbe_set_display_start): Likewise.
50857 (grub_vbe_get_display_start): Likewise.
50858 (grub_vbe_set_palette_data): Likewise.
50859 * include/grub/i386/pc/vbe.h: New file.
50860
50861 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50862
50863 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50864 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50865 * DISTLIST: Likewise.
50866 * kern/ieee1275/of.c: Moved to ...
50867 * kern/ieee1275/ieee1275.c: ... here.
50868
50869 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50870
50871 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50872 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50873 Pass 0 as `end' parameter to grub_strtoul().
50874
50875 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50876
50877 * include/grub/powerpc/ieee1275/console.h: Do not include
50878 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50879 ifdef.
50880 (grub_console_cur_color): Remove i386-specific prototype.
50881 (grub_console_real_putchar): Likewise.
50882 (grub_console_checkkey): Likewise.
50883 (grub_console_getkey): Likewise.
50884 (grub_console_getxy): Likewise.
50885 (grub_console_gotoxy): Likewise.
50886 (grub_console_cls): Likewise.
50887 (grub_console_setcursor): Likewise.
50888 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50889 Include <grub/machine/console.h>.
50890 * term/ieee1275/ofconsole.c: Likewise.
50891
50892 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50893
50894 * Makefile.in (LIBLZO): New variable.
50895
50896 * configure.ac: Check for LZO version 2.
50897
50898 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50899 lzo/lzo1x.h instead of lzo1x.h.
50900
50901 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50902 of -llzo.
50903
50904 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50905 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50906
50907 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50908 copying the data from PARTITION to P.
50909
50910 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50911
50912 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50913 negative, unload the module.
50914
50915 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50916 map is "pc_partition_map" but not "pc".
50917 (usage): Fix the description. The options are --boot-image and
50918 --core-image but not --boot-file or --core-file.
50919 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50920 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50921 DEFAULT_DIRECTORY.
50922
50923 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50924 --core-file. Specify INSTALL_DEVICE as an argument.
50925
50926 * util/console.c: Include config.h.
50927 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50928 [HAVE_NCURSES_H]: Include ncurses.h.
50929 [HAVE_CURSES_H]: Include curses.h.
50930 [!A_NORMAL] (A_NORMAL): Defined as zero.
50931 [!A_STANDOUT] (A_STANDOUT): Likewise.
50932
50933 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50934 -lncurses.
50935 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50936
50937 * configure.ac: Check for curses libraries and headers.
50938
50939 * Makefile.in (LIBCURSES): New variable.
50940
50941 * genmk.rb (Script::rule): Set the executable bits.
50942
50943 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50944 name of the PC partition map is "pc_partition_map" but not "pc".
50945
50946 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50947
50948 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50949 (modules): Likewise.
50950 (usage): Added descriptions for --modules and --grub-probefs.
50951 Handle --modules and --grub-probefs. Save the arguments in MODULES
50952 and GRUB_PROBEFS, respectively.
50953 Auto-detect a filesystem module against GRUBDIR. If the result is
50954 empty and modules are not specified explicitly, abort the
50955 installation. Add the result to MODULES.
50956
50957 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50958 disk/powerpc/ieee1275/ofdisk.c,
50959 include/grub/powerpc/ieee1275/init.h and
50960 term/powerpc/ieee1275/ofconsole.c.
50961 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50962 term/ieee1275/ofconsole.c.
50963
50964 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50965
50966 * COPYING: Upgraded to the latest version. Only the address of the
50967 FSF office has changed.
50968
50969 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50970
50971 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50972 kern/ieee1275.c with kern/ieee1275/of.c.
50973
50974 * kern/ieee1275.c: Moved to ...
50975 * kern/ieee1275/of.c: ... here.
50976
50977 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50978
50979 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
50980 readability.
50981
50982 * config.guess: Updated to the latest version from gnulib.
50983 * config.sub: Likewise.
50984 * install.sh: Likewise.
50985 * mkinstalldirs: Likewise.
50986
50987 * include/grub/console.h: Removed. This file is arch-specific. Do
50988 not put this in include/grub.
50989
50990 * include/grub/i386/pc/console.h: Resurrected.
50991
50992 * util/console.c: Include grub/machine/console.h instead of
50993 grub/console.h.
50994 * util/grub-emu.c: Likewise.
50995
50996 2005-08-04 Marco Gerards <metgerards@student.han.nl>
50997
50998 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50999 hardcoded value.
51000
51001 From Vincent Pelletier <subdino2004@yahoo.fr>
51002 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51003 Redefined to use grub_getwh.
51004 (grub_term): New member named getwh.
51005 (grub_getwh): New prototype.
51006 * kern/term.c (grub_getwh): New function.
51007 * term/i386/pc/console.c (grub_console_getwh): New function.
51008 (grub_console_term): New member `getwh'.
51009 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51010 (grub_vga_term): New member `getwh'.
51011 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
51012 grub_ssize_t.
51013 (grub_ofconsole_getw): New function.
51014 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51015 (grub_ofconsole_term): New field named getwh and new initial
51016 value.
51017
51018 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51019
51020 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51021 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51022 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51023 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51024 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51025 of <grub/machine/ieee1275.h>.
51026 * commands/ieee1275/reboot.c: Likewise.
51027 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51028 * kern/ieee1275.c: ... to here. All users updated. Change all
51029 parameter structs to use new type `grub_ieee1275_cell_t'.
51030 * term/powerpc/ieee1275/ofconsole.c: Move ...
51031 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51032 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51033 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51034 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51035 to return int.
51036 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51037 Remove unused prototypes. All users updated.
51038 * include/grub/powerpc/ieee1275/console.h: Removed.
51039 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51040 `grub_ieee1275_cell_t'.
51041 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51042 Cast comparisons with -1 to the correct type.
51043 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51044 type to match `grub_ieee1275_entry_fn'.
51045
51046 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51047
51048 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51049
51050 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51051 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51052 partmap/sun.c.
51053 (grub_probefs_SOURCES): New variable.
51054
51055 * util/i386/pc/grub-probefs.c: New file.
51056
51057 * util/i386/pc/grub-setup.c (main): Call
51058 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51059 grub_hfs_init and grub_jfs_init to initialize the system. Call
51060 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51061 grub_pc_partition_map_fini to finish the system.
51062
51063 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51064
51065 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51066 function.
51067 (grub_multiboot_load_elf32): Likewise.
51068 (grub_multiboot_is_elf64): Likewise.
51069 (grub_multiboot_load_elf64): Likewise.
51070 (grub_multiboot_load_elf): Likewise.
51071 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51072 an ELF32 or ELF64 file.
51073 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51074
51075 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51076 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51077 NULL before calling FS->LABEL.
51078 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51079 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51080 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51081 before calling FS->LABEL.
51082
51083 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51084
51085 * util/i386/pc/grub-install.in (datadir): New variable.
51086 (libdir): Removed.
51087 (pkgdatadir): New variable.
51088 (pkglibdir): Removed.
51089
51090 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51091
51092 * DISTLIST: Added util/i386/pc/grub-install.in.
51093
51094 * util/i386/pc/grub-install.in: New file.
51095
51096 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51097 (grub_install_SOURCES): Likewise.
51098
51099 * genmk.rb: Added support for scripts.
51100 (Script): New class.
51101 (scripts): New variable.
51102
51103 * Makefile.in (install-local): Install sbin_SCRIPTS by
51104 INSTALL_SCRIPT.
51105 (uninstall): Remove sbin_SCRIPTS.
51106
51107 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51108 device, try to get a GRUB device by
51109 grub_util_biosdisk_get_grub_dev.
51110 Free DEST_DEV.
51111
51112 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51113 description for --device-map.
51114
51115 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51116
51117 Change the semantics of variable hooks. They now return strings
51118 instead of error values.
51119
51120 * util/i386/pc/grub-setup.c: Include grub/env.h.
51121 (setup): Use grub_device_set_root instead of grub_env_set.
51122
51123 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51124 grub_env_get instead of grub_device_set_root and
51125 grub_device_get_root, respectively.
51126
51127 * kern/main.c (grub_env_write_root): New function.
51128 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51129 grub_env_set instead of grub_device_set_root.
51130
51131 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51132 many variables.
51133 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51134 rather than calling ENV->WRITE_HOOK afterwards.
51135 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51136 passing a pointer of a pointer.
51137 (grub_register_variable_hook): Change the types of "read_hook" and
51138 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51139 respectively.
51140 Allocate the default empty string on the heap, because this string
51141 may be freed later.
51142
51143 * kern/device.c: Include grub/env.h.
51144 (grub_device_set_root): Removed.
51145 (grub_device_get_root): Likewise.
51146 (grub_device_open): Use grub_env_get instead of
51147 grub_device_get_root.
51148
51149 * include/grub/env.h (grub_env_read_hook_t): New type.
51150 (grub_env_write_hook_t): Likewise.
51151 (grub_env_var): Change the types of "read_hook" and "write_hook"
51152 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51153 (grub_register_variable_hook): Likewise.
51154
51155 * include/grub/device.h (grub_device_set_root): Removed.
51156 (grub_device_set_root): Likewise.
51157
51158 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51159 make sure that DIRNAME terminates with '/', so that
51160 grub_fat_find_dir will fail if PATH is not a directory.
51161
51162 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51163 from DIRNAME.
51164 Use the qualifier auto for print_files and print_files_long.
51165 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51166 as a regular file.
51167 Put a newline only if there is no error.
51168 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51169 used.
51170
51171 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51172
51173 * kern/partition.c (grub_partition_probe): Initialize PART to
51174 NULL. Otherwise, when no partition map is registered, this returns
51175 a garbage.
51176
51177 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51178
51179 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51180 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51181 valid.
51182
51183 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51184
51185 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51186 information on each device, if it does not have partitions. Print
51187 "Device" instead of "Disk", because this function is not specific
51188 to disk devices.
51189
51190 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51191 static to ensure that it is put on the memory rather than a
51192 register.
51193
51194 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
51195
51196 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51197 (grub_cat_init): Likewise.
51198 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51199 (options): Likewise.
51200 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51201 (grub_configfile_init): Likewise.
51202 * font/manager.c (GRUB_MOD_INIT): Likewise.
51203 * commands/help.c (GRUB_MOD_INIT): Likewise.
51204 (grub_help_init): Likewise.
51205 * normal/command.c (grub_command_init): Likewise.
51206 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51207 * disk/loopback.c (grub_loop_init): Likewise.
51208 (GRUB_MOD_INIT): Likewise.
51209 * commands/ls.c (grub_ls_init): Likewise.
51210 (GRUB_MOD_INIT): Likewise.
51211 (options): Likewise.
51212 * commands/boot.c (grub_boot_init): Likewise.
51213 (GRUB_MOD_INIT): Likewise.
51214 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51215 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51216 (GRUB_MOD_INIT): Likewise.
51217 * commands/cmp.c (grub_cmp_init): Likewise.
51218 (GRUB_MOD_INIT): Likewise.
51219
51220 * normal/arg.c: Use <> instead of "" to include header files.
51221 (SHORT_ARG_HELP): New macro.
51222 (SHORT_ARG_USAGE): Likewise.
51223 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51224 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51225 descriptions.
51226 (find_short): Check if C is 'h' or 'u' explicitly.
51227 (grub_arg_show_help): Use space characters instead of tabs. Treat
51228 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51229 are shown with --help and --usage only if they are not used for
51230 the command itself.
51231 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51232 'h' and 'u'.
51233
51234 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51235 const into "longarg". Change the type of "shortarg" to int.
51236
51237 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
51238
51239 * boot/i386/pc/boot.S (boot_drive_check): New label.
51240
51241 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51242 macro.
51243
51244 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51245 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51246
51247 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
51248
51249 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51250 When turning off Gate A20, skip the check and return immediately,
51251 because this is not fatal usually.
51252
51253 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
51254
51255 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51256 be 0x7C00 instead of 0x8000.
51257
51258 * boot/i386/pc/pxeboot.S: Rewritten.
51259
51260 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51261 EXT_C.
51262 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51263 result.
51264
51265 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51266
51267 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51268 robustness. This routine now supports a BIOS call and System
51269 Control Port A to modify the gate A20.
51270
51271 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51272 Increased to 0x440.
51273
51274 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51275
51276 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51277 device path and resulting ihandle.
51278 (grub_ofdisk_close): dprintf the ihandle being closed.
51279 (grub_ofdisk_read): dprintf function parameters.
51280 * kern/mm.c (grub_mm_init_region): Likewise.
51281 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51282 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51283 size, and boot arguments.
51284 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51285 before loading into memory.
51286 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51287 before loading into memory.
51288
51289 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51290
51291 * kern/mm.c: Added much documentation.
51292 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51293 8, set to 5 instead of 8.
51294
51295 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
51296
51297 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51298
51299 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51300 (grub_mkdevicemap_SOURCES): New variable.
51301
51302 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51303 lib/device.c of GRUB Legacy.
51304
51305 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
51306
51307 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51308 instead of PATH is NULL.
51309
51310 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51311
51312 * commands/cmp.c (BUFFER_SIZE): New macro.
51313 (grub_cmd_cmp): Close the right file at the right time. Compare
51314 only data just read. Don't report files of different size as
51315 identical. Dynamically allocate buffers. Move variable
51316 declarations at the beginning of function.
51317
51318 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
51319
51320 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51321 reverse.
51322
51323 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51324
51325 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51326 when backspace is pressed at beginning of line.
51327
51328 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
51329
51330 * DISTLIST: Added genfslist.sh.
51331
51332 * normal/main.c (fs_module_list): New variable.
51333 (autoload_fs_module): New function.
51334 (read_fs_list): Likewise.
51335 (grub_normal_execute): Call read_fs_list.
51336
51337 * kern/fs.c (grub_fs_autoload_hook): New variable.
51338 (grub_fs_probe): Added support for auto-loading.
51339
51340 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51341 (grub_fs_module_list_t): New type.
51342
51343 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51344 (grub_fs_autoload_hook): New prototype.
51345
51346 * genfslist.sh: New file.
51347
51348 * genmk.rb: Added a rule to generate a filesystem list.
51349
51350 2005-06-30 Marco Gerards <metgerards@student.han.nl>
51351
51352 * configure.ac: Fix the test for cross-compiling.
51353
51354 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51355 define GRUB_UTIL anymore.
51356
51357 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51358 so this function works on other systems than just big endian.
51359 (load_modules): Likewise.
51360 (add_segments): Likewise.
51361
51362 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51363
51364 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51365 contains `l' modifier, get a long from va_arg().
51366
51367 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51368
51369 * kern/mm.c (grub_free): If the next free block which is being
51370 merged is the first free block, set the first block to the block
51371 being freed.
51372 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51373
51374 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51375
51376 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51377 `grub_ieee1275_chosen'.
51378
51379 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51380
51381 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51382 (grub_ieee1275_chosen): New variable.
51383 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51384 `chosen'.
51385 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51386 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51387 Rename first argument to `phandle' for consistency.
51388 (grub_ieee1275_get_property_length): Likewise.
51389 (grub_ieee1275_next_property): Likewise. Change type of first argument
51390 to grub_ieee1275_phandle_t.
51391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51392 Move export next to declaration.
51393 (grub_ieee1275_chosen): New variable.
51394 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51395 Correct cosmetic typo.
51396 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51397 `grub_ieee1275_chosen'.
51398 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51399 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51400 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51401 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51402 `grub_ieee1275_chosen'.
51403
51404 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51405
51406 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51407 /chosen/bootargs.
51408 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51409 /chosen/bootargs as "variable=value" pairs.
51410
51411 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51412
51413 * include/grub/misc.h (grub_dprintf): New macro.
51414 (grub_real_dprintf): New prototype.
51415 (grub_strword): Likewise.
51416 (grub_iswordseparator): Likewise.
51417 * kern/misc.c (grub_real_dprintf): New function.
51418 (grub_strword): Likewise.
51419 (grub_iswordseparator): Likewise.
51420
51421 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51422
51423 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51424 (roundup): Remove macro.
51425 (grub_ieee1275_flags): Make static.
51426 (grub_ieee1275_realmode): Remove.
51427 (grub_ieee1275_test_flag): New function.
51428 (grub_ieee1275_set_flag): Likewise.
51429 (find_options): Rename to `grub_ieee1275_find_options'; update
51430 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51431 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51432 (cmain): New prototype.
51433 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51434 `grub_ieee1275_flags' directly.
51435 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51436 machine/biosdisk.h.
51437 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51438 Don't include grub/machine/init.h.
51439 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51440 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51441 Remove prototype.
51442 (grub_ieee1275_realmode): Likewise.
51443 (grub_ieee1275_flag): New enum.
51444 (grub_ieee1275_test_flag): New prototype.
51445 (grub_ieee1275_set_flag): New prototype.
51446 * include/grub/powerpc/ieee1275/init.h: Remove file.
51447 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51448 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51449 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51450 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51451 comment.
51452 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51453 `grub_ieee1275_test_flag'.
51454 (grub_ieee1275_encode_devname): Likewise.
51455
51456 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51457
51458 * include/grub/powerpc/ieee1275/ieee1275.h
51459 (grub_ieee1275_encode_devname): New prototype.
51460 (grub_ieee1275_get_filename): Likewise.
51461 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51462 function.
51463 (grub_set_prefix): Likewise.
51464 (grub_machine_init): Call grub_set_prefix.
51465 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51466 (grub_parse_type): New enum.
51467 (grub_ieee1275_get_devargs): New function.
51468 (grub_ieee1275_get_devname): Likewise.
51469 (grub_ieee1275_parse_args): Likewise.
51470 (grub_ieee1275_get_filename): Likewise.
51471 (grub_ieee1275_encode_devname): Likewise.
51472
51473 2005-03-30 Marco Gerards <metgerards@student.han.nl>
51474
51475 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51476 `grub_loader_unset'.
51477
51478 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51479
51480 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51481 instead of grub_ieee1275_interpret.
51482 (grub_halt_init): New function.
51483 (grub_halt_fini): Likewise.
51484 (GRUB_MOD_INIT): Correct message grammar.
51485 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51486 instead of grub_ieee1275_interpret.
51487 (grub_reboot_init): New function.
51488 (grub_reboot_fini): Likewise.
51489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51490 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51491 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51492 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51493 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51494 function.
51495 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51496 Add prototype.
51497 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51498 prototype.
51499 (grub_halt): Likewise.
51500 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51501 (cmain): Remove __attribute__((unused)).
51502 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51503 (grub_heap_len): Likewise.
51504 (grub_machine_fini): New function.
51505 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51506 (grub_halt): Likewise.
51507 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51508 function.
51509 * util/powerpc/ieee1275/misc.c: New file.
51510
51511 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51512
51513 * DISTLIST: New file.
51514 * gendistlist.sh: Likewise.
51515
51516 * Makefile.in (COMMON_DISTFILES): Removed.
51517 (BOOT_DISTFILES): Likewise.
51518 (CONF_DISTFILES): Likewise.
51519 (DISK_DISTFILES): Likewise.
51520 (FS_DISTFILES): Likewise.
51521 (INCLUDE_DISTFILES): Likewise.
51522 (KERN_DISTFILES): Likewise.
51523 (LOADER_DISTFILES): Likewise.
51524 (TERM_DISTFILES): Likewise.
51525 (UTIL_DISTFILES): Likewise.
51526 (DISTFILES): Likewise.
51527 (uninstall): Uninstall files in $(pkgdata_DATA).
51528 (DISTLIST): New target.
51529 (distdir): Use the contents of the file DISTLIST to get a list of
51530 distributed files.
51531
51532 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51533
51534 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51535 descriptor. This is ported from GRUB Legacy.
51536
51537 * gencmdlist.sh: Added an extra semicolon to make it work with
51538 old sed versions. Reported by Robert Bihlmeyer
51539 <robbe@orcus.priv.at>.
51540
51541 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
51542
51543 Automatic loading of commands is supported.
51544
51545 * normal/main.c (read_command_list): New function.
51546 (grub_normal_execute): Call read_command_list.
51547
51548 * normal/command.c (grub_register_command): Return zero or CMD.
51549 Allocate CMD->NAME from the heap.
51550 Initialize CMD->MODULE_NAME to zero.
51551 Find the same name as well. If the same command is found and it is
51552 a dummy command, overwrite members. If it is not a dummy command,
51553 return zero.
51554 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51555 (grub_command_find): If a dummy command is found, load a module
51556 and retry to find a command only once.
51557
51558 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51559 make sure that each command is loaded.
51560
51561 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51562 macro.
51563 (struct grub_command): Remove const from the member `name'.
51564 Add a new member `module_name'.
51565 (grub_register_command): Return grub_command_t.
51566
51567 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51568 sure that each command is loaded.
51569
51570 * genmk.rb (PModule::rule): Specify a module name without the
51571 suffix ".mod" to gencmdlist.sh.
51572
51573 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51574
51575 * gencmdlist.sh: New file.
51576
51577 * genmk.rb (PModule::rule): Generate a rule for a command list.
51578 Clean command.lst.
51579 Generate command.lst from $(COMMANDFILES).
51580
51581 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51582 (DATA): Added $(pkgdata_DATA).
51583 (install-local): Install files in $(pkgdata_DATA).
51584
51585 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51586
51587 * term/i386/pc/vga.c (debug_command): Removed.
51588 (GRUB_MOD_INIT): Do not register the command "debug".
51589
51590 From Hollis Blanchard:
51591 * commands/configfile.c: New file.
51592 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51593 commands/configfile.c.
51594 (pkgdata_MODULES): Added configfile.mod.
51595 (configfile_mod_SOURCES): New variable.
51596 (configfile_mod_CFLAGS): Likewise.
51597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51598 commands/configfile.c.
51599 (pkgdata_MODULES): Added configfile.mod.
51600 (configfile_mod_SOURCES): New variable.
51601 (configfile_mod_CFLAGS): Likewise.
51602 * util/grub-emu.c (main): Call grub_configfile_init and
51603 grub_configfile_fini.
51604 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51605 prototype.
51606 [GRUB_UTIL] (grub_configfile_fini): Likewise.
51607
51608 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51609
51610 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51611 address.
51612
51613 * commands/help.c (grub_cmd_help): Do not print newlines after
51614 the last command in print_command_help.
51615
51616 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51617
51618 * commands/default.h: New file.
51619 * commands/timeout.h: Likewise.
51620 * normal/context.c: Likewise.
51621
51622 * util/misc.c: Do not include sys/times.h.
51623 Include sys/time.h and grub/machine/time.h.
51624 (grub_get_rtc): Rewritten with gettimeofday.
51625
51626 * util/grub-emu.c (main): Call grub_default_init and
51627 grub_timeout_init before grub_normal_init, and call
51628 grub_timeout_fini and grub_default_fini after grub_main.
51629
51630 * util/console.c (grub_ncurses_checkkey): Return the read
51631 character or -1.
51632
51633 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51634 timeouts.
51635
51636 * normal/main.c (read_config_file): Push MENU. If this fails,
51637 print an error and wait for a user input.
51638 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51639 If a menu is empty or an error occurs, pop MENU.
51640 (grub_normal_execute): Pop and free MENU after grub_menu_run
51641 returns.
51642
51643 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51644
51645 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51646 include time.h.
51647 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51648 without GRUB_UTIL.
51649 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51650 time.h.
51651 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51652 without GRUB_UTIL.
51653
51654 * include/grub/normal.h (struct grub_menu_list): New struct.
51655 (grub_menu_list_t): New type.
51656 (struct grub_context): New struct.
51657 (grub_context_t): New type.
51658 (grub_register_command): Got rid of EXPORT_FUNC.
51659 (grub_unregister_command): Likewise.
51660 (grub_context_get): New prototype.
51661 (grub_context_get_current_menu): Likewise.
51662 (grub_context_push_menu): Likewise.
51663 (grub_context_pop_menu): Likewise.
51664 [GRUB_UTIL] (grub_default_init): Likewise.
51665 [GRUB_UTIL] (grub_default_fini): Likewise.
51666 [GRUB_UTIL] (grub_timeout_init): Likewise.
51667 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51668
51669 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51670 commands/timeout.c and normal/context.c.
51671 (pkgdata_MODULES): Added default.mod and timeout.mod.
51672 (normal_mod_SOURCES): Added normal/context.c.
51673 (default_mod_SOURCES): New variable.
51674 (default_mod_CFLAGS): Likewise.
51675 (timeout_mod_SOURCES): Likewise.
51676 (timeout_mod_CFLAGS): Likewise.
51677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51678 conf/i386-pc.rmk.
51679 (pkgdata_MODULES): Added default.mod and timeout.mod.
51680 (normal_mod_SOURCES): Added normal/context.c.
51681 (default_mod_SOURCES): New variable.
51682 (default_mod_CFLAGS): Likewise.
51683 (timeout_mod_SOURCES): Likewise.
51684 (timeout_mod_CFLAGS): Likewise.
51685
51686 * Makefile.in (all-local): Added $(MKFILES).
51687
51688 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51689
51690 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51691 (grub_emu_SOURCES): Likewise.
51692 (pkgdata_MODULES): Add `sun.mod'.
51693 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51695 `partmap/sun.c'.
51696 (pkgdata_MODULES): Add `sun.mod'.
51697 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51698 * include/grub/partition.h (grub_sun_partition_map_init): New
51699 prototype.
51700 (grub_sun_partition_map_fini): Likewise.
51701 * partmap/sun.c: New file.
51702 * util/grub-emu.c (main): Initialize and de-initialize the sun
51703 partitionmap support.
51704
51705 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51706
51707 This implements an Emacs-like menu entry editor.
51708
51709 * normal/menu_entry.c: New file.
51710
51711 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51712 characters to ASCII.
51713 (saved_char): New variable.
51714 (grub_ncurses_checkkey): Rewritten completely.
51715 (grub_ncurses_getkey): Likewise.
51716 (grub_ncurses_init): Call raw instead of cbreak.
51717
51718 * normal/menu.c (print_entry): Do not put a space.
51719 (init_page): Renamed to ...
51720 (grub_menu_init_page): ... this. All callers changed.
51721 (edit_menu_entry): Removed.
51722 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51723
51724 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51725
51726 * kern/misc.c (grub_vprintf): Call grub_refresh.
51727
51728 * normal/menu.c (DISP_LEFT): Renamed to ...
51729 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51730 * normal/menu.c (DISP_UP): Renamed to ...
51731 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51732 * normal/menu.c (DISP_RIGHT): Renamed to ...
51733 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51734 * normal/menu.c (DISP_DOWN): Renamed to ...
51735 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51736 * normal/menu.c (DISP_HLINE): Renamed to ...
51737 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51738 * normal/menu.c (DISP_VLINE): Renamed to ...
51739 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51740 * normal/menu.c (DISP_UL): Renamed to ...
51741 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51742 * normal/menu.c (DISP_UR): Renamed to ...
51743 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51744 * normal/menu.c (DISP_LL): Renamed to ...
51745 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51746 * normal/menu.c (DISP_LR): Renamed to ...
51747 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51748 * normal/menu.c (TERM_WIDTH): Renamed to ...
51749 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51750 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51751 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51752 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51753 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51754 * normal/menu.c (TERM_MARGIN): Renamed to ...
51755 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51756 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51757 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51758 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51759 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51760 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51761 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51762 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51763 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51764 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51765 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51766 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51767 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51768 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51769 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51770 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51771 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51772 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51773 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51774 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51775 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51776 All callers changed.
51777
51778 * include/grub/normal.h: New prototype.
51779
51780 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51781 normal/menu_entry.c.
51782 (normal_mod_SOURCES): Likewise.
51783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51784 (normal_mod_SOURCES): Likewise.
51785
51786 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51787
51788 * include/grub/normal.h (grub_halt_init): New prototype.
51789 (grub_halt_fini): Likewise.
51790 (grub_reboot_init): Likewise.
51791 (grub_reboot_fini): Likewise.
51792
51793 * util/grub-emu.c: Include signal.h.
51794 (main_env): New global variable.
51795 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51796 catch C-c.
51797 (grub_machine_fini): New function.
51798 (main): Call grub_halt_init and grub_reboot_init before
51799 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51800 Call setjmp with MAIN_ENV to go back afterwards.
51801 Call grub_machine_fini right before return.
51802
51803 * include/grub/util/misc.h: Include setjmp.h.
51804 (main_env): New prototype.
51805
51806 * include/grub/kernel.h (grub_machine_fini): New prototype.
51807 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51808 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51809
51810 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51811 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51812 * term/i386/pc/console.c (grub_console_fini): Likewise.
51813
51814 * util/i386/pc/misc.c: New file.
51815
51816 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51817 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51818 commands/i386/pc/reboot.c.
51819
51820 2005-02-14 Guillem Jover <guillem@hadrons.org>
51821
51822 * include/grub/dl.h (grub_dl_check_header): New prototype.
51823 (grub_arch_dl_check_header): Change return type to grub_err_t,
51824 remove size parameter and export function. Update all callers.
51825 * kern/dl.c (grub_dl_check_header): New function.
51826 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51827 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51828 are inside the core.
51829 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51830 independent ELF header checks.
51831 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51832 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51833 `grub_dl_check_header' instead of explicit checks. Check for the
51834 ELF type.
51835 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51836 `grub_dl_check_header' instead of explicit checks. Remove arch
51837 specific ELF header checks.
51838
51839 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51840 argument SIZE.
51841
51842 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51843
51844 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51845 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51846
51847 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51848
51849 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
51850 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
51851 (part_map_iterate): Clear `grub_errno' and return 0 if
51852 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
51853 * partmap/amiga.c (amiga_partition_map_iterate): Return
51854 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51855 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51856
51857 2005-02-01 Guillem Jover <guillem@hadrons.org>
51858
51859 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51860 help info.
51861
51862 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51863
51864 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51865 Removed prototype.
51866 (grub_rescue_cmd_linux): New prototype.
51867 (grub_rescue_cmd_initrd): Likewise.
51868 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51869 `bi_rec'.
51870 (grub_linux_release_mem): Release the memory for the initrd.
51871 (grub_load_linux): Renamed from this...
51872 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51873 Changed `entry' not to be static. Loop over memory regions to
51874 find another one when the default fails.
51875 (grub_rescue_cmd_initrd): New function.
51876 (grub_linux_init): Remove function.
51877 (grub_linux_fini): Likewise.
51878 (GRUB_MOD_INIT): Register `initrd'.
51879 (GRUB_MOD_FINI): Unregister `initrd'.
51880 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51881 Function removed.
51882 (grub_linux_normal_fini): Likewise.
51883 (GRUB_MOD_INIT): Register `initrd'.
51884 (GRUB_MOD_FINI): Unregister `initrd'.
51885
51886 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51887
51888 * commands/help.c: New file.
51889 * normal/arg.c (show_help): Renamed to...
51890 (grub_arg_show_help): ... this.
51891 * commands/i386/pc/halt.c: New file.
51892 * commands/i386/pc/reboot.c: Likewise.
51893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51894 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51895 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51896 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51897 variables.
51898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51899 `commands/help.c'.
51900 (pkgdata_MODULES): Add `help.mod'.
51901 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51902 * grub/i386/pc/init.h (grub_reboot): New prototype.
51903 (grub_halt): Likewise.
51904 * include/grub/normal.h (grub_arg_show_help): New prototype.
51905 (grub_help_init): Likewise.
51906 (grub_help_fini): Likewise.
51907 * util/grub-emu.c (main): Initialize and deinitialize the help
51908 command.
51909
51910 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51911
51912 * normal/command.c (grub_command_init): Fixed the description of
51913 the `set' and `unset' commands.
51914
51915 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51916
51917 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51918 function.
51919 * commands/ieee1275/halt.c: New file.
51920 * commands/ieee1275/reboot.c: Likewise.
51921 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51922 `__attribute__ ((unused))'. Some GCS related fixed.
51923 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51924 (grub_suspend_fini): Likewise.
51925 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51926 and `halt.mod'.
51927 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51928 (halt_mod_CFLAGS): New variables.
51929 * include/grub/powerpc/ieee1275/ieee1275.h
51930 (grub_ieee1275_interpret): New prototype.
51931
51932 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51933
51934 * include/grub/misc.h (memmove): New prototype.
51935 (memcpy): Likewise.
51936
51937 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51938
51939 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51940 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51941
51942 2005-01-22 Marco Gerards <metgerards@student.han.nl>
51943
51944 * kern/misc.c (grub_strndup): Function rewritten.
51945
51946 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51947
51948 * normal/menu.c (TERM_WIDTH): Macro redefined.
51949 (TERM_TOP_BORDER_Y): Likewise.
51950 (draw_border): Replaced while-loop by a for-loop. Make the number
51951 of lines consistent with the number of lines displayed in
51952 print_entries. Added a margin below the rectangle.
51953 (print_entry): Make the entry fit in the rectangle.
51954 (print_entries): Display the scroll arrows next to the right
51955 border.
51956
51957 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51958
51959 * fs/minix.c (grub_minix_find_file): Reserve more space for
51960 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51961 `grub_strncpy' to copy `path' into it.
51962
51963 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51964
51965 Add the loopback device, a device via which files can be accessed
51966 as devices.
51967
51968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51969 (pkgdata_MODULES): Add loopback.mod.
51970 (loopback_mod_SOURCES): New variable.
51971 (loopback_mod_CFLAGS): Likewise.
51972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51973 `disk/loopback.c'.
51974 (pkgdata_MODULES): Add loopback.mod.
51975 (loopback_mod_SOURCES): New variable.
51976 (loopback_mod_CFLAGS): Likewise.
51977 * disk/loopback.c: new file.
51978 * include/grub/normal.h (grub_loop_init): New prototype.
51979 (grub_loop_fini): New prototype.
51980 * util/grub-emu.c (main): Initialize and de-initialize loopback
51981 support.
51982 * include/grub/disk.h (grub_disk_dev_id): Add
51983 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51984
51985 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51986
51987 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51988 function.
51989 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51990 (suspend_mod_SOURCES): New variable.
51991 (suspend_mod_CFLAGS): Likewise.
51992 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51993 New prototype.
51994 * commands/ieee1275/suspend.c: New file.
51995
51996 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51997
51998 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
51999 ((unused))' to `__attribute__ ((used))'.
52000 (GRUB_MOD_FINI): Likewise.
52001 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52002 * genmk.rb (PModule): Assign space to common symbols when linking
52003 modules.
52004
52005 2005-01-20 Marco Gerards <metgerards@student.han.nl>
52006
52007 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52008 `unsigned' arguments to `grub_size_t'.
52009 (grub_malloc): Likewise.
52010 (grub_realloc): Likewise.
52011 (grub_memalign): Likewise.
52012 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52013 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52014 * util/misc.c (grub_malloc): Likewise.
52015 (grub_realloc): Likewise.
52016 * kern/mm.c (get_header_from_pointer): Change the casts to
52017 `unsigned' into a cast to `grub_size_t'.
52018
52019 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52020 point to `currnode' when `currnode' is changed.
52021
52022 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52023 Schottelius <nico-linux@schottelius.org>.
52024
52025 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52026
52027 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52028 (note_path): Remove variable.
52029 (GRUB_IEEE1275_NOTE_NAME): New macro.
52030 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52031 (grub_ieee1275_note_hdr): New structure.
52032 (grub_ieee1275_note_desc): Likewise.
52033 (grub_ieee1275_note): Likewise.
52034 (load_note): Remove `dir' argument. All callers updated. Remove
52035 `note_img' and `path'. Do not load a file from `note_path'.
52036 Initialize a struct grub_ieee1275_note and write that to `out'.
52037 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52038
52039 2005-01-05 Marco Gerards <metgerards@student.han.nl>
52040
52041 * util/misc.c (grub_util_read_image): Revert last change. It
52042 called `grub_util_read_at', which seeks from the beginning of the
52043 file.
52044
52045 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52046
52047 * TODO: Add note about endianness in grub-mkimage.
52048 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52049 section.
52050 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52051 (grub_mkimage_SOURCES): New target.
52052 * include/grub/kernel.h (grub_start_addr): Remove variable.
52053 (grub_end_addr): Likewise.
52054 (grub_total_module_size): Likewise.
52055 (grub_kernel_image_size): Likewise.
52056 (GRUB_MODULE_MAGIC): New constant.
52057 (grub_module_info): New structure.
52058 (grub_arch_modules_addr): New prototype.
52059 (grub_get_end_addr): Remove prototype.
52060 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52061 * include/grub/powerpc/ieee1275/kernel.h: New file.
52062 * include/grub/util/misc.h (grub_util_get_fp_size): New
52063 prototype.
52064 (grub_util_read_at): Likewise.
52065 (grub_util_write_image_at): Likewise.
52066 * kern/main.c (grub_get_end_addr): Remove function.
52067 (grub_load_modules): Call grub_arch_modules_addr instead of using
52068 grub_end_addr. Look for a grub_module_info struct in memory. Use
52069 the grub_module_info fields instead of calling grub_get_end_addr
52070 as loop conditions. Move grub_add_unused_region code here.
52071 (grub_add_unused_region): Remove function.
52072 * kern/i386/pc/init.c: Include grub/cache.h.
52073 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52074 one call to add_mem_region.
52075 (grub_arch_modules_addr): New function.
52076 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52077 (grub_total_module_size): Likewise.
52078 Include grub/machine/kernel.h.
52079 (grub_arch_modules_addr): New function.
52080 * util/grub-emu.c (grub_end_addr): Remove variable.
52081 (grub_total_module_size): Likewise.
52082 (grub_arch_modules_addr): New function.
52083 * util/misc.c: Include unistd.h.
52084 (grub_util_get_fp_size): New function.
52085 (grub_util_read_at): Likewise.
52086 (grub_util_write_image_at): Likewise.
52087 (grub_util_read_image): Call grub_util_read_at.
52088 (grub_util_write_image): Call grub_util_write_image_at.
52089 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52090 additional memory in kernel_img for a struct grub_module_info.
52091 Fill in that grub_module_info.
52092 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52093
52094 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52095
52096 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52097 New function.
52098 * include/grub/powerpc/ieee1275/ieee1275.h
52099 (grub_ieee1275_milliseconds): New prototype.
52100 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52101 Change to 1000.
52102 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52103 grub_ieee1275_milliseconds.
52104
52105 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52106
52107 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52108 variable.
52109 (find_options): New function.
52110 (cmain): Call find_options.
52111 * include/grub/powerpc/ieee1275/ieee1275.h
52112 (grub_ieee1275_realmode): New extern variable.
52113 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52114 grub_map if grub_ieee1275_realmode is false.
52115
52116 2004-12-29 Marco Gerards <metgerards@student.han.nl>
52117
52118 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52119 lines are inserted and make it work like readline. Reported by
52120 Vincent Pelletier <subdino2004@yahoo.fr>.
52121
52122 2004-12-28 Marco Gerards <metgerards@student.han.nl>
52123
52124 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52125
52126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52127 `kern/powerpc/cache.S'.
52128
52129 2004-12-27 Marco Gerards <metgerards@student.han.nl>
52130
52131 * genmk.rb: Handle the `Program' class in the main loop. Written
52132 by Johan Rydberg <jrydberg@gnu.org>.
52133 (Program): New class.
52134 (programs): New variable.
52135 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52136 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52137 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52138 (help_arch): Function removed.
52139 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52140 `powerpc/libgcc.h' and `loader.h'.
52141 (pkgdata_PROGRAMS): New variable.
52142 (sbin_UTILITIES): Variable removed.
52143 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52144 (grubof_SOURCES): Variable re-defined so it only includes the
52145 core functionality.
52146 (grubof_CFLAGS): Remove `-DGRUBOF'.
52147 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52148 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52149 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52150 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52151 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52152 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52153 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52154 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52155 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52156 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52157 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52158 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52159 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52160 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52161 (pc_mod_CFLAGS): New variables.
52162 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52163 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52164 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52165 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52166 Moved from here...
52167 * include/grub/i386/pc/init.h (grub_os_area_addr)
52168 (rub_os_area_size): ... to here.
52169 * include/grub/powerpc/ieee1275/ieee1275.h
52170 (grub_ieee1275_entry_fn): Export symbol.
52171 * include/grub/powerpc/ieee1275/init.h: New file.
52172 * include/grub/powerpc/libgcc.h: Likewise.
52173 * include/grub/cache.h: Likewise.
52174 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52175 <hollis@penguinppc.org>.
52176 * kern/dl.c: Include <grub/cache.h>.
52177 (grub_dl_flush_cache): New function.
52178 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52179 for this module.
52180 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52181 (grub_console_init): Removed prototypes.
52182 (grub_machine_init): Don't initialize the modules anymore.
52183 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52184 static.
52185 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52186 Macro undef removed.
52187 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52188 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52189 relocation `R_PPC_REL32'. Return an error when the relocation is
52190 unknown.
52191 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52192 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52193 * util/misc.c (grub_arch_sync_caches): Likewise.
52194
52195 2004-12-19 Marco Gerards <metgerards@student.han.nl>
52196
52197 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52198 `symlist.c', add `grubof_symlist.c'.
52199 (symlist.c): Variable removed.
52200 (grubof_HEADERS): Variable added.
52201 (grubof_symlist.c): New target.
52202 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52203 `kernel_img_HEADERS'.
52204 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52205 * kern/powerpc/dl.c: New file.
52206 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52207 Function removed.
52208 (grub_arch_dl_relocate_symbols): Likewise.
52209 (grub_register_exported_symbols): Likewise.
52210
52211 2004-12-13 Marco Gerards <metgerards@student.han.nl>
52212
52213 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52214 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52215 to fail instead. Reported by Vincent Pelletier
52216 <subdino2004@yahoo.fr>.
52217
52218 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52219 it is not allocated. Reported by Vincent Pelletier
52220 <subdino2004@yahoo.fr>.
52221
52222 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52223 output so the output looks better.
52224
52225 2004-12-04 Marco Gerards <metgerards@student.han.nl>
52226
52227 Modulize the partition map support and add support for the amiga
52228 partition map.
52229
52230 * commands/ls.c: Include <grub/partition.h> instead of
52231 <grub/machine/partition.h>.
52232 * kern/disk.c: Likewise.
52233 * kern/rescue.c: Likewise.
52234 * loader/i386/pc/chainloader.c: Likewise.
52235 * normal/cmdline.c: Likewise.
52236 * kern/powerpc/ieee1275/init.c: Likewise.
52237 (grub_machine_init): Call `grub_pc_partition_map_init',
52238 `grub_amiga_partition_map_init' and
52239 `grub_apple_partition_map_init'.
52240 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52241 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52242 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52243 `partition.h' and `pc_partition.h'.
52244 (grub_setup_SOURCES): Remove
52245 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52246 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52247 (grub_emu_SOURCES): Likewise.
52248 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52249 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52250 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52252 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52253 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52254 (grubof_SOURCES): Likewise.
52255 * disk/i386/pc/partition.c: File removed.
52256 * disk/powerpc/ieee1275/partition.c: Likewise.
52257 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52258 * include/grub/i386/pc/partition.h: Likewise.
52259 * kern/partition.c: New file.
52260 * partmap/amiga.c: Likewise.
52261 * partmap/apple.c: Likewise.
52262 * partmap/pc.c: Likewise.
52263 * include/grub/partition.h: Likewise..
52264 * include/grub/pc_partition.h: Likewise.
52265 * util/grub-emu.c: Include <grub/partition.h> instead of
52266 <grub/machine/partition.h>.
52267 (main): Call `grub_pc_partition_map_init',
52268 `grub_amiga_partition_map_init' and
52269 `grub_apple_partition_map_init' and deinitialize afterwards.
52270 * util/i386/pc/biosdisk.c: Include `#include
52271 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52272 `<grub/machine/partition.h>'.
52273 * util/i386/pc/grub-setup.c: Likewise.
52274 * util/i386/pc/biosdisk.c: Likewise.
52275 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52276 partition information in case of a PC partition.
52277 * util/i386/pc/grub-setup.c: Include `#include
52278 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52279 `<grub/machine/partition.h>'.
52280 (setup): Only access the PC specific partition information in case
52281 of a PC partition.
52282
52283 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
52284
52285 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52286 (grub_longjmp): Likewise.
52287 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52288 20.
52289 * normal/powerpc/setjmp.S: New file.
52290 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52291 `normal/powerpc/setjmp.S'.
52292 (grubof_CFLAGS): Add `-DGRUBOF'.
52293 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52294 [GRUB_UTIL && !GRUBOF].
52295
52296 2004-11-16 Marco Gerards <metgerards@student.han.nl>
52297
52298 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52299 property named `name'. Correctly handle the error returned by
52300 `grub_ieee1275_finddevice' if a device can not be opened.
52301
52302 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52303
52304 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52305 `actual' for negativity.
52306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52307 kern/fshelp.c.
52308
52309 2004-11-01 Marco Gerards <metgerards@student.han.nl>
52310
52311 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52312 (PAGE_OFFSET): New macro.
52313 (CRTC_ADDR_PORT): Likewise.
52314 (CRTC_DATA_PORT): Likewise.
52315 (START_ADDR_HIGH_REGISTER): Likewise.
52316 (START_ADDR_LOW_REGISTER): Likewise.
52317 (GRAPHICS_ADDR_PORT): Likewise.
52318 (GRAPHICS_DATA_PORT): Likewise.
52319 (READ_MAP_REGISTER): Likewise.
52320 (INPUT_STATUS1_REGISTER): Likewise.
52321 (INPUT_STATUS1_VERTR_BIT): Likewise.
52322 (page): New variable.
52323 (wait_vretrace): New function.
52324 (set_read_map): Likewise.
52325 (set_start_address): Likewise.
52326 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52327 the right page.
52328 (check_vga_mem): Take the page into account.
52329 (write_char): Likewise.
52330 (write_cursor): Likewise.
52331 (scroll_up): Likewise. Copy the page to the page that is not
52332 shown and switch between both pages.
52333 (grub_vga_putchar): Fix off by one error.
52334 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52335 account.
52336
52337 2004-11-01 Marco Gerards <metgerards@student.han.nl>
52338
52339 Add support for iso9660 (including rockridge).
52340
52341 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52342 (iso9660_mod_SOURCES): New variable.
52343 (iso9660_mod_CFLAGS): Likewise.
52344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52345 * include/grub/fs.h (grub_iso9660_init): New prototype.
52346 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52347 * fs/iso9660.c: New file.
52348
52349 * include/grub/misc.h (grub_strncat): New prototype.
52350 * kern/misc.c (grub_strncat): New function.
52351
52352 * fs/hfs.c (grub_hfs_mount): Translate the error
52353 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52354 * fs/jfs.c (grub_jfs_mount): Likewise.
52355 * fs/ufs.c (grub_ufs_mount): Likewise.
52356
52357 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52358
52359 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52360 which initialized BAT registers.
52361 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52362 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52363 Move from here...
52364 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52365 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52366 ... to here.
52367 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52368 (grub_mapclaim): Likewise.
52369 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52370 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52371 hand.
52372
52373 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52374
52375 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52376 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52377 -ffreestanding and -msoft-float.
52378
52379 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52380
52381 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52382 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52383 set in grub_ieee1275_flags.
52384
52385 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52386
52387 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52388 prototype.
52389 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52390 grub_console_init first.
52391 Change the memory range used for grub_ieee1275_claim and
52392 grub_mm_init_region.
52393 Print an error message if the claim fails.
52394 Include <grub/misc.h>.
52395
52396 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52397
52398 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52399 Call grub_children_iterate for device nodes of type `scsi',
52400 `ide', or `ata'.
52401 (grub_ofdisk_open): Remove manual device alias resolution.
52402 Fix memory leak when device cannot be opened.
52403 * include/grub/powerpc/ieee1275/ieee1275.h
52404 (grub_children_iterate): New prototype.
52405 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52406 New function.
52407 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52408 Return -1 if args.size was -1.
52409
52410 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52411
52412 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52413 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52414 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52415 Open Firmware's memory for it; claim memory from _start to _end.
52416 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52417 (_end): New extern.
52418 (_start): Zero BSS from __bss_start to _end.
52419 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52420 New extern.
52421 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52422
52423 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52424
52425 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52426 -1 if args.base was -1.
52427
52428 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52429
52430 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52431 escape sequence instead of a literal ^L. Also call
52432 grub_ofconsole_gotoxy.
52433
52434 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52435
52436 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52437 void * arguments to grub_addr_t. All callers updated. Also make
52438 the `result' argument optional.
52439 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52440 All callers updated.
52441
52442 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52443
52444 * commands/ls.c (grub_ls_list_files): Use the string following the
52445 initial ')', if present, as the filesystem path.
52446 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52447
52448 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52449
52450 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52451
52452 Make the source code of the menu interface more readable.
52453
52454 * normal/menu.c: Include grub/mm.h.
52455 (TERM_WIDTH): New macro.
52456 (TERM_HEIGHT): Likewise.
52457 (TERM_INFO_HEIGHT): Likewise.
52458 (TERM_MARGIN): Likewise.
52459 (TERM_SCROLL_WIDTH): Likewise.
52460 (TERM_TOP_BORDER_Y): Likewise.
52461 (TERM_LEFT_BORDER_X): Likewise.
52462 (TERM_BORDER_WIDTH): Likewise.
52463 (TERM_MESSAGE_HEIGHT): Likewise.
52464 (TERM_BORDER_HEIGHT): Likewise.
52465 (TERM_NUM_ENTRIES): Likewise.
52466 (TERM_FIRST_ENTRY_Y): Likewise.
52467 (TERM_ENTRY_WIDTH): Likewise.
52468 (TERM_CURSOR_X): Likewise.
52469 (draw_border): Use macros instead of magic numbers.
52470 (print_entry): Likewise.
52471 (print_entries): Likewise.
52472 (run_menu): Likewise. Also, handle the key 'e'.
52473 (run_menu_entry): Ignore empty command lines.
52474 (print_message): Added a new argument EDIT. If EDIT is true,
52475 print a different message.
52476 (init_page): Likewise.
52477 (edit_menu_entry): New function. Not implemented yet.
52478
52479 2004-09-17 Marco Gerards <metgerards@student.han.nl>
52480
52481 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52482 can be loaded from normal mode.
52483
52484 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52485 `multiboot.mod'.
52486 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52487 (multiboot_mod_CFLAGS): New variables.
52488 * loader/i386/pc/linux_normal.c: New file.
52489 * loader/i386/pc/multiboot_normal.c: Likewise.
52490
52491 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52492 attribute `unused'.
52493
52494 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52495 `fdiro' to read the mode information from instead of `diro'.
52496
52497 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52498 looking up a symlink.
52499
52500 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52501 macro.
52502 * normal/command.c (grub_command_execute): Don't parse the
52503 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52504 flags of the command.
52505
52506 * normal/menu.c (grub_menu_run): Fix typo.
52507
52508 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52509
52510 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52511
52512 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52513 `y + 1' instead of `y - 1'.
52514
52515 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
52516
52517 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52518
52519 From Hollis Blanchard <hollis@penguinppc.org>:
52520 * kern/misc.c (memmove): New alias for grub_memmove.
52521 (memcmp): New alias for grub_memcmp.
52522 (memset): New alias for grub_memset.
52523 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52524 Change "int handle" to "grub_ieee1275_phandle_t handle".
52525 * include/grub/powerpc/ieee1275/ieee1275.h
52526 (grub_ieee1275_get_property): Likewise.
52527
52528 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52529
52530 Added normal mode command `chainloader' as module chain.mod, which
52531 depends on normal.mod and _chain.mod.
52532
52533 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52534 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52535 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52536 Deleted prototype.
52537 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52538 but arguments parsing moved to ...
52539 (grub_chainloader_cmd): ... here. New function.
52540 * include/grub/i386/pc/chainloader.h: New file.
52541 * loader/i386/pc/chainloader_normal.c: Likewise.
52542
52543 2004-09-11 Marco Gerards <metgerards@student.han.nl>
52544
52545 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52546 (grub_mkimage_LDFLAGS): Likewise.
52547 (grub_emu_SOURCES): Likewise.
52548 (kernel_img_HEADERS): Added fshelp.h.
52549 * fs/ext2.c: Include <grub/fshelp.h>.
52550 (FILETYPE_REG): New macro.
52551 (FILETYPE_INO_REG): Likewise.
52552 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52553 Changed all users.
52554 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52555 all users.
52556 (grub_fshelp_node): New struct.
52557 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52558 to a pointer.
52559 (grub_ext2_get_file_block): Removed function.
52560 (grub_ext2_read_block): New function.
52561 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52562 This function was written.
52563 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52564 (grub_ext2_find_file): Removed function.
52565 (grub_ext2_read_symlink): New function.
52566 (grub_ext2_iterate_dir): Likewise.
52567 (grub_ext2_open): Rewritten.
52568 (grub_ext2_dir): Rewritten.
52569 * include/grub/fshelp.h: New file.
52570 * fs/fshelp.c: Likewise.
52571
52572 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52573
52574 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52575 (print_message): Add a missing newline.
52576 (run_menu): Added timeout support.
52577 (run_menu_entry): New local function.
52578 (grub_menu_run): Added support for booting.
52579
52580 * kern/loader.c (grub_loader_is_loaded): New function.
52581
52582 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52583 (grub_get_rtc): Exported.
52584
52585 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52586 (grub_get_rtc): Exported.
52587
52588 * include/grub/normal.h (struct grub_command_list): Remove
52589 constant from the member `command'.
52590
52591 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52592
52593 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52594
52595 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52596
52597 2004-08-28 Marco Gerards <metgerards@student.han.nl>
52598
52599 Add support for the JFS filesystem.
52600
52601 * fs/jfs.c: New file.
52602 * include/grub/fs.h (grub_jfs_init): New prototype.
52603 (grub_jfs_fini): New prototype.
52604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52605 (grub_emu_SOURCES): Likewise.
52606 (pkgdata_MODULES): Add jfs.mod.
52607 (jfs_mod_SOURCES): New variable.
52608 (jfs_mod_CFLAGS): Likewise.
52609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52610 (grubof_SOURCES): Likewise.
52611 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52612
52613 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52614 endian to the host endian.
52615 (grub_fat_utf16_to_utf8): Move function from there...
52616 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
52617 the endianness of the source string anymore.
52618 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52619
52620 2004-08-24 Marco Gerards <metgerards@student.han.nl>
52621
52622 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52623 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52624 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52625 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
52626
52627 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52628 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52629 for `node_found' and `it_dir'.
52630 (grub_hfs_dir): Add prototype for `dir_hook'.
52631
52632 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52633 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52634 and `indir32' to silence a gcc warning.
52635
52636 * include/grub/fs.h (grub_hfs_init): New prototype.
52637 (grub_hfs_fini): Likewise.
52638
52639
52640 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52641
52642 Each disk device has its own id now. This is useful to make use
52643 of multiple disk devices.
52644
52645 * include/grub/disk.h (grub_disk_dev_id): New enum.
52646 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52647 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52648
52649 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52650 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52651
52652 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52653 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52654
52655 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52656 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52657
52658 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52659 "id" which is used by the cache manager.
52660
52661 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52662 of just "GRUB".
52663
52664 2004-08-18 Marco Gerards <metgerards@student.han.nl>
52665
52666 * fs/hfs.c: New file.
52667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52668 (grub_emu_SOURCES): Likewise.
52669 (pkgdata_MODULES): Add hfs.mod.
52670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52671 (grubof_SOURCES): Likewise.
52672 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52673
52674 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52675 * kern/misc.c (grub_strncasecmp): Add function.
52676
52677 2004-08-14 Marco Gerards <metgerards@student.han.nl>
52678
52679 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52680 with parentheses.
52681
52682 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52683 (grub_ext2_dir): In case the directory entry type is unknown, read
52684 it from the inode.
52685
52686 2004-08-02 Peter Bruin <pjbruin@dds.nl>
52687
52688 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52689 grub_load_linux instead of grub_rescue_cmd_linux as second
52690 argument of grub_rescue_register_command.
52691
52692 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52693
52694 2004-07-27 Marco Gerards <metgerards@student.han.nl>
52695
52696 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52697 function.
52698 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52699 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52700 `loader/powerpc/ieee1275/linux.c',
52701 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52702 * include/grub/powerpc/ieee1275/ieee1275.h
52703 (grub_ieee1275_release): New prototype.
52704 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52705 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52706 normal, boot, linux and linux_normal.
52707 * loader/powerpc/ieee1275/linux.c: New file.
52708 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52709
52710 2004-07-12 Marco Gerards <metgerards@student.han.nl>
52711
52712 * normal/arg.c (grub_arg_parse): Correct error handling after
52713 reallocating the argumentlist (check if `argl' is not null instead
52714 of checking if `args' is not null).
52715 * kern/mm.c (grub_realloc): Return the same pointer when using the
52716 same region, instead of returning the header address.
52717
52718 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52719
52720 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52721 one block instead of two when looking for the initial partition.
52722 (grub_partition_probe): Initialize the local variable `p' with 0.
52723 Use base 10 for the grub_strtoul call.
52724 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52725 need for one local variable.
52726 (grub_strtoul): Don't add the new value to `num', instead of that
52727 just assign it.
52728
52729 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52730
52731 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52732 (pxeboot_img_SOURCES): New variable.
52733 (pxeboot_img_ASFLAGS): Likewise.
52734 (pxeboot_img_LDFLAGS): Likewise.
52735 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52736 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52737 <lode_leroy@hotmail.com>.
52738
52739 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52740
52741 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52742 there was no input.
52743
52744 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52745
52746 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52747 the history buffer logic.
52748
52749 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52750
52751 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52752 (FILETYPE_INO_SYMLINK): New macros.
52753 (grub_ext2_find_file): Check if the node is a directory using the
52754 inode stat information instead of using the filetype in the
52755 dirent. Exclude the first character of an absolute symlink.
52756 (grub_ext2_dir): Mask out the filetype part of the mode member of
52757 the inode.
52758
52759 2004-05-24 Marco Gerards <metgerards@student.han.nl>
52760
52761 Add support for UFS version 1 and 2. Add support for the minix
52762 filesystem version 1 and 2, both the variants with 14 and 30 long
52763 filenames.
52764
52765 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52766 fs/minix.c.
52767 (grub_emu_SOURCES): Likewise.
52768 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52769 (ufs_mod_SOURCES): New variable.
52770 (ufs_mod_CFLAGS): Likewise.
52771 (minix_mod_SOURCES): Likewise.
52772 (minix_mod_CFLAGS): Likewise.
52773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52774 fs/minix.c.
52775 (grubof_SOURCES): Likewise.
52776 * fs/ufs.c: New file.
52777 * fs/minix.c: New file.
52778 * include/grub/fs.h (grub_ufs_init): New prototype.
52779 (grub_ufs_fini): Likewise.
52780 (grub_minix_init): Likewise.
52781 (grub_minix_fini): Likewise.
52782 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52783 minix fs.
52784
52785 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52786
52787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52788 commands/ls.c, commands/terminal.c, commands/boot.c,
52789 commands/cmp.c and commands/cat.c.
52790 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52791
52792 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52793 "env.h"
52794
52795 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52796
52797 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52798 and grub_, respectively. Because the conversion is trivial and
52799 mechanical, I omit the details here. Please refer to the CVS
52800 if you need more information.
52801
52802 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52803
52804 * include/pupa: Renamed to ...
52805 * include/grub: ... this.
52806 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52807 * util/i386/pc/grub-mkimage.c: ... this.
52808 * util/i386/pc/pupa-setup.c: Renamed to ...
52809 * util/i386/pc/grub-setup.c: ... this.
52810 * util/pupa-emu.c: Renamed to ...
52811 * util/grub-emu.c: ... this.
52812
52813 2004-03-29 Marco Gerards <metgerards@student.han.nl>
52814
52815 Add support for the newworld apple macintosh (PPC). This has been
52816 tested on the powerbook 2000 only. It only adds support for
52817 generic ieee1275 functions, console and disk support. This should
52818 be easy to port to other architectures with support for Open
52819 Firmware.
52820
52821 * configure.ac: Accept the powerpc as host_cpu. In the case of
52822 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52823 specific tests are only executed while building for the i386.
52824 Inverse test for crosscompile.
52825 * genmk.rb (Utility): Allow assembler files.
52826 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52827 * conf/powerpc-ieee1275.rmk: New file.
52828 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52829 * disk/powerpc/ieee1275/partition.c: Likewise.
52830 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52831 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52832 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52833 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52834 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52835 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52836 * include/pupa/powerpc/ieee1275/loader.h
52837 * include/pupa/powerpc/setjmp.h: Likewise.
52838 * include/pupa/powerpc/types.h: Likewise.
52839 * kern/powerpc/ieee1275/init.c: Likewise.
52840 * kern/powerpc/ieee1275/openfw.c: Likewise.
52841 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52842
52843 These files were written by Johan Rydberg
52844 (jrydberg@night.trouble.net) and I only modified them slightly.
52845
52846 * boot/powerpc/ieee1275/cmain.c: New file.
52847 * boot/powerpc/ieee1275/crt0.S: Likewise.
52848 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52849 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52850
52851 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52852
52853 * Makefile.in: Update copyright.
52854 * genmodsrc.sh: Likewise.
52855 * gensymlist.sh: Likewise.
52856 * term/i386/pc/vga.c: Indent correctly.
52857
52858 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52859 bugreporting address.
52860 * util/i386/pc/pupa-setup.c (usage): Likewise,
52861 (main): Call pupa_ext2_init and pupa_ext2_fini.
52862
52863 * fs/fat.c (log2): Renamed to ...
52864 (fat_log2): ... this.
52865 All callers changed.
52866 * kern/misc.c (memcpy): Alias to pupa_memmove.
52867 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52868 lvalue cast.
52869 * util/console.c (pupa_ncurses_fini): Return 0.
52870
52871 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52872 Move fail label here.
52873 [__GNU__]: Don't warn when using stat.
52874 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52875 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52876 long int. Use strtol instead of strtoul.
52877
52878 2004-03-14 Marco Gerards <metgerards@student.han.nl>
52879
52880 * commands/boot.c: New file.
52881 * commands/cat.c: Likewise.
52882 * commands/cmp.c: Likewise.
52883 * commands/ls.c: Likewise.
52884 * commands/terminal.c: Likewise.
52885 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52886 (pupa_register_command): Changed interface to match the new
52887 argument parser.
52888 (pupa_command_execute): Changed (almost rewritten) so it uses
52889 pupa_split_command. Added support for setting variables using the
52890 syntax `foo=bar'.
52891 (rescue_command): Changed to work with the new argument parser.
52892 (terminal_command): Moved from here to commands/terminal.c.
52893 (set_command): New function.
52894 (unset_command): New function.
52895 (insmod_command): New function.
52896 (rmmod_command): New function.
52897 (lsmod_command): New function.
52898 (pupa_command_init): Don't initialize the command terminal
52899 anymore. Initialize the commands set, unset, insmod, rmmod and
52900 lsmod.
52901 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52902 (kernel_img_HEADERS): Add arg.h and env.h.
52903 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52904 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52905 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52906 normal/arg.c.
52907 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52908 terminal.mod.
52909 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52910 (boot_mod_SOURCES): New variable.
52911 (terminal_mod_SOURCES): Likewise.
52912 (ls_mod_SOURCES): Likewise.
52913 (cmp_mod_SOURCES): Likewise.
52914 (cat_mod_SOURCES): Likewise.
52915
52916 * normal/arg.c: New file.
52917 * kern/env.c: Likewise.
52918 * include/pupa/arg.h: Likewise.
52919 * include/pupa/env.h: Likewise.
52920 * font/manager.c (font_command): Changed to match argument parsing
52921 interface changes.
52922 (PUPA_MOD_INIT): Likewise.
52923 * hello/hello.c (pupa_cmd_hello): Likewise.
52924 (PUPA_MOD_INIT): Likewise.
52925 * include/pupa/disk.h: Include <pupa/device.h>.
52926 (pupa_print_partinfo): New prototype.
52927 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52928 (pupa_dl_get_prefix): Likewise.
52929 * include/pupa/misc.h: Include <pupa/err.h>.
52930 (pupa_isgraph): New prototype.
52931 (pupa_isdigit): Likewise.
52932 (pupa_split_cmdline): Likewise.
52933 * include/pupa/normal.h: Include <pupa/arg.h>.
52934 (pupa_command): Changed the prototype of the member `func' to
52935 match the argument parsing interface. Added member `options'.
52936 (pupa_register_command): Updated to match function.
52937 (pupa_arg_parse): New prototype.
52938 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52939 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52940 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52941 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52942 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52943 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52944 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52945 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52946 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52947 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52948 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52949 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52950 * kern/disk.c: Include <pupa/file.h>.
52951 (pupa_print_partinfo): New function.
52952 * kern/dl.c: Include <pupa/env.h>.
52953 (pupa_dl_dir): Variable removed.
52954 (pupa_dl_load): Use the environment variable `prefix' instead of
52955 the variable pupa_dl_dir.
52956 (pupa_dl_set_prefix): Function removed.
52957 (pupa_dl_get_prefix): Likewise.
52958 * kern/i386/pc/init.c: Include <pupa/env.h>.
52959 (pupa_machine_init): Use the environment variable `prefix' instead of
52960 using pupa_dl_set_prefix to set the prefix.
52961 * kern/main.c: Include <pupa/env.h>.
52962 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52963 using pupa_dl_get_prefix to get the prefix.
52964 * kern/misc.c: Include <pupa/env.h>.
52965 (pupa_isdigit): New function.
52966 (pupa_isgraph): Likewise.
52967 (pupa_ftoa): Likewise.
52968 (pupa_vsprintf): Added support for printing values of the type
52969 `double'. Make it possible to format variable output when using
52970 formatting like `%1.2%f'.
52971 (pupa_split_cmdline): New function.
52972 * kern/rescue.c: Include <pupa/env.h>.
52973 (next_word): Removed function.
52974 (pupa_rescue_cmd_prefix): Likewise.
52975 (pupa_rescue_cmd_set): New function.
52976 (pupa_rescue_cmd_unset): New function.
52977 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52978 split the command line instead of splitting it here. Added
52979 support for setting variables using the syntax `foo=bar'. Don't
52980 initialize the prefix command anymore. Initialized the set and
52981 unset commands.
52982 * normal/cmdline.c: Include <pupa/env.h>.
52983 (pupa_tab_complete): Added prototypes for print_simple_completion,
52984 print_partition_completion, add_completion, iterate_commands,
52985 iterate_dev, iterate_part and iterate_dir. Moved code to print
52986 partition information from here to kern/disk.c.
52987 (pupa_cmdline_run): Don't check if the function exists anymore.
52988 * normal/main.c: Include <pupa/env.h>.
52989 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52990 instead of using pupa_dl_get_prefix to get the prefix.
52991 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52992 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52993 warning.
52994 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52995 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52996 ((unused))' to silence a gcc warning.
52997 (pupa_vga_setcolor): Likewise.
52998 (debug_command): Changed to match argument parsing
52999 interface changes.
53000 * util/pupa-emu.c: Include <pupa/env.h>.
53001 (options): Added 0's for unused fields to silence a gcc warning.
53002 (argp): Likewise.
53003 (main): Use the environment variable `prefix' instead of using
53004 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53005 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53006 and terminal.
53007
53008 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53009 * util/misc.c: Include <malloc.h>.
53010 (pupa_malloc): Rewritten so errors are correctly reported.
53011 (pupa_realloc): Likewise.
53012 (pupa_memalign): Likewise.
53013 (pupa_mm_init_region): Declare unused variables with
53014 `__attribute__ ((unused))' to silence a gcc warning.
53015 * normal/i386/setjmp.S: Remove tab at the end of the file to
53016 silence a gcc warning.
53017 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53018 variables with `__attribute__ ((unused))' to silence a gcc
53019 warning.
53020 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53021 local variable i unsigned to silence a gcc warning.
53022
53023 * kern/term.c: Include <pupa/misc.h>.
53024 (pupa_more_lines): New variable.
53025 (pupa_more): Likewise.
53026 (pupa_putcode): When the pager is active pause at the end of every
53027 screen.
53028 (pupa_set_more): New function.
53029 * include/pupa/term.h (pupa_set_more): New prototype.
53030
53031
53032 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53033
53034 Now this project is GRUB 2 rather than PUPA. The location of
53035 the CVS repository was moved to GRUB's.
53036
53037 * configure.ac: Use bug-grub as the reporting address.
53038 Use GRUB instead of PUPA.
53039 Change the version number to 1.90.
53040
53041 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53042
53043 * genkernsyms.sh: Updated copyright information.
53044 * genmk.rb: Likewise.
53045 * genmodsrc.sh: Likewise.
53046 * gensymlist.sh: Likewise.
53047 * boot/i386/pc/boot.S: Likewise.
53048 * boot/i386/pc/diskboot.S: Likewise.
53049 * disk/i386/pc/biosdisk.c: Likewise.
53050 * disk/i386/pc/partition.c: Likewise.
53051 * font/manager.c: Likewise.
53052 * fs/ext2.c: Likewise.
53053 * fs/fat.c: Likewise.
53054 * include/pupa/boot.h: Likewise.
53055 * include/pupa/device.h: Likewise.
53056 * include/pupa/disk.h: Likewise.
53057 * include/pupa/dl.h: Likewise.
53058 * include/pupa/elf.h: Likewise.
53059 * include/pupa/err.h: Likewise.
53060 * include/pupa/file.h: Likewise.
53061 * include/pupa/font.h: Likewise.
53062 * include/pupa/fs.h: Likewise.
53063 * include/pupa/kernel.h: Likewise.
53064 * include/pupa/loader.h: Likewise.
53065 * include/pupa/misc.h: Likewise.
53066 * include/pupa/mm.h: Likewise.
53067 * include/pupa/net.h: Likewise.
53068 * include/pupa/normal.h: Likewise.
53069 * include/pupa/rescue.h: Likewise.
53070 * include/pupa/setjmp.h: Likewise.
53071 * include/pupa/symbol.h: Likewise.
53072 * include/pupa/term.h: Likewise.
53073 * include/pupa/types.h: Likewise.
53074 * include/pupa/i386/setjmp.h: Likewise.
53075 * include/pupa/i386/types.h: Likewise.
53076 * include/pupa/i386/pc/biosdisk.h: Likewise.
53077 * include/pupa/i386/pc/boot.h: Likewise.
53078 * include/pupa/i386/pc/console.h: Likewise.
53079 * include/pupa/i386/pc/init.h: Likewise.
53080 * include/pupa/i386/pc/kernel.h: Likewise.
53081 * include/pupa/i386/pc/linux.h: Likewise.
53082 * include/pupa/i386/pc/loader.h: Likewise.
53083 * include/pupa/i386/pc/memory.h: Likewise.
53084 * include/pupa/i386/pc/multiboot.h: Likewise.
53085 * include/pupa/i386/pc/partition.h: Likewise.
53086 * include/pupa/i386/pc/time.h: Likewise.
53087 * include/pupa/i386/pc/vga.h: Likewise.
53088 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53089 * include/pupa/util/getroot.h: Likewise.
53090 * include/pupa/util/misc.h: Likewise.
53091 * include/pupa/util/resolve.h: Likewise.
53092 * kern/device.c: Likewise.
53093 * kern/disk.c: Likewise.
53094 * kern/dl.c: Likewise.
53095 * kern/err.c: Likewise.
53096 * kern/file.c: Likewise.
53097 * kern/fs.c: Likewise.
53098 * kern/loader.c: Likewise.
53099 * kern/main.c: Likewise.
53100 * kern/misc.c: Likewise.
53101 * kern/mm.c: Likewise.
53102 * kern/rescue.c: Likewise.
53103 * kern/term.c: Likewise.
53104 * kern/i386/dl.c: Likewise.
53105 * kern/i386/pc/init.c: Likewise.
53106 * kern/i386/pc/lzo1x.S: Likewise.
53107 * kern/i386/pc/startup.S: Likewise.
53108 * loader/i386/pc/chainloader.c: Likewise.
53109 * loader/i386/pc/linux.c: Likewise.
53110 * loader/i386/pc/multiboot.c: Likewise.
53111 * normal/cmdline.c: Likewise.
53112 * normal/command.c: Likewise.
53113 * normal/main.c: Likewise.
53114 * normal/menu.c: Likewise.
53115 * normal/i386/setjmp.S: Likewise.
53116 * term/i386/pc/console.c: Likewise.
53117 * term/i386/pc/vga.c: Likewise.
53118 * util/console.c: Likewise.
53119 * util/genmoddep.c: Likewise.
53120 * util/misc.c: Likewise.
53121 * util/pupa-emu.c: Likewise.
53122 * util/resolve.c: Likewise.
53123 * util/unifont2pff.rb: Likewise.
53124 * util/i386/pc/biosdisk.c: Likewise.
53125 * util/i386/pc/getroot.c: Likewise.
53126 * util/i386/pc/pupa-mkimage.c: Likewise.
53127 * util/i386/pc/pupa-setup.c: Likewise.
53128
53129 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53130
53131 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53132 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53133 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53134 reading and reset it after reading.
53135 (pupa_ext2_close): Return PUPA_ERR_NONE.
53136
53137 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53138 Correct value.
53139 (struct linux_kernel_header): Add kernel_version and
53140 initrd_addr_max.
53141 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53142 pupa_file_read succeeds.
53143 (pupa_rescue_cmd_initrd): Implement.
53144
53145 2003-12-03 Marco Gerards <metgerards@student.han.nl>
53146
53147 * fs/ext2.c (pupa_ext2_label): New function.
53148 (pupa_ext2_fs): Added label.
53149 * fs/fat.c (pupa_fat_label): New function.
53150 (pupa_fat_fs): Added label.
53151 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53152
53153 * kern/misc.c (pupa_strndup): New function.
53154 * include/pupa/misc.h (pupa_strndup): New prototype.
53155
53156 * include/pupa/normal.h: Include <pupa/err.h>.
53157 (pupa_set_history): New prototype.
53158 (pupa_iterate_commands): New prototype.
53159 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53160 <pupa/disk.h>, <pupa/file.h>.
53161 (hist_size): New variable.
53162 (hist_lines): Likewise.
53163 (hist_end): Likewise.
53164 (hist_used): Likewise.
53165 (pupa_set_history): New function.
53166 (pupa_history_get): Likewise.
53167 (pupa_history_add): Likewise.
53168 (pupa_history_replace): Likewise.
53169 (pupa_tab_complete): Likewise.
53170 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53171 completion shows partitionnames while completing partitions, this
53172 feature was suggested by Jeff Bailey.
53173 * normal/command.c (pupa_iterate_commands): New function.
53174 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53175 (pupa_normal_init): Initialize history buffer.
53176 (PUPA_MOD_INIT): Likewise.
53177 (pupa_normal_fini): Free the history buffer.
53178 (PUPA_MOD_FINI): Likewise.
53179
53180 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53181 key.
53182
53183 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53184 * configure.ac [i386]: Check for regparam bug.
53185 (NESTED_FUNC_ATTR) [! i386]: Defined.
53186
53187 2003-11-17 Marco Gerards <metgerards@student.han.nl>
53188
53189 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53190 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53191 (pupa_emu_SOURCES): New variable.
53192 (pupa_emu_LDFLAGS): Likewise.
53193 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53194 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53195 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53196 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53197 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53198 (pupa_jmp_buf): New typedef.
53199 (pupa_setjmp) [PUPA_UTIL]: New macro.
53200 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53201 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53202 (pupa_refresh): New prototype.
53203 * include/pupa/util/getroot.h: New file.
53204 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53205 it.
53206 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53207 (pupa_rescue_cmd_cat): Likewise.
53208 (pupa_rescue_cmd_ls): Likewise.
53209 (pupa_rescue_cmd_testload): Likewise.
53210 (pupa_rescue_cmd_lsmod): Likewise.
53211 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53212 * normal/menu.c (run_menu): Likewise.
53213 * kern/term.c (pupa_cls): Likewise.
53214 (pupa_refresh): New function.
53215 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53216 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53217 * util/console.c: New file.
53218
53219 * util/i386/pc/getroot.c: New file.
53220 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53221 (pupa_putchar): New function.
53222 (pupa_refresh): Likewise.
53223 (xgetcwd): Function moved to ...
53224 (strip_extra_slashes): Likewise.
53225 (get_prefix): Likewise.
53226 * util/i386/pc/getroot.c: ... here.
53227 (find_root_device): Function moved and renamed to...
53228 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53229 Changed all callers.
53230 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53231 and renamed to...
53232 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53233 Changed all callers.
53234 * util/misc.c (pupa_memalign): New function.
53235 (pupa_mm_init_region): Likewise.
53236 (pupa_register_exported_symbols): Likewise.
53237 (pupa_putchar): Function removed.
53238 * util/pupa-emu.c: New file.
53239
53240 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53241
53242 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53243 (_multiboot_mod_SOURCES): New variable.
53244 (_multiboot_mod_CFLAGS): Likewise.
53245 * loader/i386/pc/multiboot.c: New file.
53246 * include/pupa/i386/pc/multiboot.h: Likewise.
53247 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53248 (pupa_multiboot_real_boot): New function.
53249 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53250 (pupa_multiboot_real_boot): New prototype.
53251 (pupa_rescue_cmd_multiboot): Likewise
53252 (pupa_rescue_cmd_module): Likewise.
53253
53254 * kern/loader.c (pupa_loader_set): Continue when
53255 pupa_loader_unload_func() fails.
53256 (pupa_loader_unset): New function.
53257 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53258
53259 * kern/misc.c (pupa_stpcpy): New function.
53260 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53261
53262 2003-11-12 Marco Gerards <metgerards@student.han.nl>
53263
53264 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53265 for available extensions.
53266
53267 * include/pupa/i386/pc/time.h: New file.
53268 * kern/disk.c: Include <pupa/machine/time.h>.
53269 (PUPA_CACHE_TIMEOUT): New macro.
53270 (pupa_last_time): New variable.
53271 (pupa_disk_open): Flush the cache when there was a timeout.
53272 (pupa_disk_close): Reset the timer.
53273 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53274 pupa_currticks.
53275 * util/misc.c: Include <sys/times.h>
53276 (pupa_get_rtc): New function.
53277
53278 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53279
53280 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53281 as blocks.
53282 (pupa_ext2_get_file_block): Use blocks member.
53283
53284 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53285 first block. Return -1 instead of pupa_errno on error.
53286
53287 2003-10-27 Marco Gerards <metgerards@student.han.nl>
53288
53289 * README: In the pupa-mkimage example use _chain instead of chain
53290 and ext2 instead of fat.
53291 * TODO: Replace ext2fs with jfs as an example. Add an item for
53292 adding journal playback for ext2fs.
53293 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53294 (pkgdata_MODULES): Added ext2.mod.
53295 (ext2_mod_SOURCES): New variable.
53296 (ext2_mod_CFLAGS): Likewise.
53297 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53298 * include/pupa/misc.h (pupa_strncpy): New prototype.
53299 (pupa_strcat): Likewise.
53300 (pupa_strncmp): Likewise.
53301 * kern/misc.c (pupa_strcat): Enable function.
53302 (pupa_strncpy): New function.
53303 (pupa_strncmp): Likewise.
53304 * fs/ext2.c: New file.
53305
53306 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53307 when the read failed before retrying.
53308 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53309 (_FILE_OFFSET_BITS): Likewise.
53310 * configure.ac: Added AC_SYS_LARGEFILE.
53311
53312 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53313
53314 * genmk.rb (PModule#rule): Make sure to get only symbol names
53315 from the output of nm.
53316 Reported by Robert Millan <rmh.grub@aybabtu.com>.
53317
53318 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53319
53320 I forgot to check in these changes for a long time. This adds
53321 incomplete support for VGA console, and this is still very
53322 buggy. Also, a lot of consideration is required for I18N,
53323 UNICODE, and VGA font issues. Therefore, assume that this is
53324 such that "better than nothing".
53325
53326 * font/manager.c: New file.
53327 * include/pupa/font.h: Likewise.
53328 * include/pupa/i386/pc/vga.h: Likewise.
53329 * term/i386/pc/vga.c: Likewise.
53330 * util/unifont2pff.rb: Likewise.
53331
53332 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53333 (pkgdata_MODULES): Added vga.mod and font.mod.
53334 (vga_mod_SOURCES): New variables.
53335 (vga_mod_CFLAGS): Likewise.
53336 (font_mod_SOURCES): Likewise.
53337 (font_mod_CFLAGS): Likewise.
53338
53339 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53340
53341 * include/pupa/term.h: Include pupa/err.h.
53342 (struct pupa_term): Added init and fini.
53343 Changed the argument of putchar to pupa_uint32_t.
53344
53345 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53346 (pupa_console_real_putchar): New prototype.
53347 (pupa_console_putchar): Removed.
53348 (pupa_console_checkkey): Exported.
53349 (pupa_console_getkey): Likewise.
53350
53351 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53352 characters.
53353
53354 * kern/term.c (pupa_term_set_current): Rewritten.
53355 (pupa_putchar): Likewise.
53356 (pupa_putcode): New function.
53357
53358 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53359 (pupa_console_real_putchar): ... this.
53360 (pupa_vga_set_mode): New function.
53361 (pupa_vga_get_font): Likewise.
53362
53363 * normal/command.c: Include pupa/term.h.
53364 (terminal_command): New function.
53365 (pupa_command_init): Register the command "terminal".
53366
53367 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53368 (DISP_UP): Likewise.
53369 (DISP_RIGHT): Likewise.
53370 (DISP_DOWN): Likewise.
53371 (DISP_HLINE): Likewise.
53372 (DISP_VLINE): Likewise.
53373 (DISP_UL): Likewise.
53374 (DISP_UR): Likewise.
53375 (DISP_LL): Likewise.
53376 (DISP_LR): Likewise.
53377
53378 * term/i386/pc/console.c (pupa_console_putchar): New function.
53379
53380 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53381
53382 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53383 FIX. Reverse the path_list.
53384
53385 * include/pupa/normal.h: Export pupa_register_command and
53386 pupa_unregister_command.
53387
53388 * hello/hello.c (pupa_cmd_hello): New module.
53389 * conf/i386-pc.rmk: Added hello.mod.
53390
53391 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53392
53393 * kern/i386/pc/lzo1x.S: New file.
53394
53395 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53396 (compress_kernel): New variable.
53397 (generate_image): Heavily modified to support compressing a
53398 large part of the core image.
53399
53400 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53401 leak.
53402 (pupa_util_load_image): New function.
53403
53404 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53405 (pupa_compressed_size): New variable.
53406 (codestart): Enable Gate A20 here.
53407 Decompress the compressed part of the core image.
53408 Rearrange the code to put functions and variables which are
53409 required for initialization in the non-compressed part.
53410 Include lzo1x.S.
53411
53412 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53413 here.
53414
53415 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53416
53417 * include/pupa/i386/pc/kernel.h
53418 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53419 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53420 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53421 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53422 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53423
53424 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53425
53426 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53427 (Utility#rule): Likewise.
53428
53429 * configure.ac: Check if LZO is available.
53430
53431 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53432
53433 * include/pupa/normal.h: New file.
53434 * include/pupa/setjmp.h: Likewise.
53435 * include/pupa/i386/setjmp.h: Likewise.
53436 * normal/cmdline.c: Likewise.
53437 * normal/command.c: Likewise.
53438 * normal/main.c: Likewise.
53439 * normal/menu.c: Likewise.
53440 * normal/i386/setjmp.S: Likewise.
53441
53442 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53443 (pupa_rescue_cmd_initrd): Likewise.
53444
53445 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53446 Likewise.
53447
53448 * kern/i386/pc/startup.S (translation_table): New variable.
53449 (translate_keycode): New function.
53450 (pupa_console_getkey): Call translate_keycode.
53451
53452 * kern/rescue.c (attempt_normal_mode): New function.
53453 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53454 it failed, print a message.
53455
53456 * kern/mm.c (pupa_real_malloc): Print more information when a
53457 free magic is broken.
53458 (pupa_free): If the first free header is not free actually, set
53459 it to P.
53460
53461 * kern/main.c (pupa_load_normal_mode): Just load the module
53462 "normal".
53463 (pupa_main): Don't print the message
53464 "Entering into rescue mode..." here.
53465
53466 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53467 Declared.
53468 (pupa_rescue_cmd_initrd): Likewise.
53469 (pupa_rescue_cmd_initrd): Likewise.
53470
53471 * include/pupa/symbol.h (FUNCTION): Specify the type.
53472 (VARIABLE): Likewise.
53473
53474 * include/pupa/err.h (pupa_err_t): Added
53475 PUPA_ERR_UNKNOWN_COMMAND.
53476
53477 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53478 (pupa_dl_get_prefix): Likewise.
53479
53480 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53481 Added _chain.mod and _linux.mod instead of chain.mod and
53482 linux.mod.
53483 (chain_mod_SOURCES): Renamed to ...
53484 (_chain_mod_SOURCES): ... this.
53485 (chain_mod_CFLAGS): Renamed to ...
53486 (_chain_mod_CFLAGS): ... this.
53487 (linux_mod_SOURCES): Renamed to ...
53488 (_linux_mod_SOURCES): ... this.
53489 (linux_mod_CFLAGS): Renamed to ...
53490 (_linux_mod_CFLAGS): ... this.
53491 (normal_mod_SOURCES): New variable.
53492 (normal_mod_CFLAGS): Likewise.
53493 (normal_mod_ASFLAGS): Likewise.
53494
53495 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53496
53497 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53498 possible.
53499
53500 * kern/dl.c (pupa_dl_ref): Refer depending modules
53501 recursively.
53502 (pupa_dl_unref): Unrefer depending modules recursively.
53503 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53504 a module is unloaded before one depending on that module is
53505 unloaded.
53506 (pupa_dl_unload): Unload depending modules explicitly,
53507 if possible.
53508
53509 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53510
53511 * include/pupa/i386/pc/linux.h: New file.
53512 * loader/i386/pc/linux.c: Likewise.
53513
53514 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53515 Removed.
53516 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53517 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53518 of PUPA_CHAINLOADER_BOOT_SECTOR.
53519
53520 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53521 (pupa_linux_prot_size): New variable.
53522 (pupa_linux_tmp_addr): Likewise.
53523 (pupa_linux_real_addr): Likewise.
53524 (pupa_linux_boot_zimage): New function.
53525 (pupa_linux_boot_bzimage): Likewise.
53526
53527 * kern/i386/pc/init.c (struct mem_region): New structure.
53528 (MAX_REGIONS): New macro.
53529 (mem_regions): New variable.
53530 (num_regions): Likewise.
53531 (pupa_os_area_addr): Likewise.
53532 (pupa_os_area_size): Likewise.
53533 (pupa_lower_mem): Likewise.
53534 (pupa_upper_mem): Likewise.
53535 (add_mem_region): New function.
53536 (compact_mem_regions): Likewise.
53537 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53538 the size of the conventional memory and that of so-called upper
53539 memory (before the first memory hole).
53540 Instead of adding each found region to free memory, use
53541 add_mem_region and add them after removing overlaps.
53542 Also, add only 1/4 of the upper memory to free memory. The rest
53543 is used for loading OS images. Maybe this is ad hoc, but this
53544 makes it much easier to relocate OS images when booting.
53545
53546 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53547 (pupa_enter_rescue_mode): Don't register initrd and module.
53548
53549 * kern/mm.c: Include pupa/dl.h.
53550
53551 * kern/main.c: Include pupa/file.h and pupa/device.h.
53552
53553 * kern/loader.c (pupa_loader_load_module_func): Removed.
53554 (pupa_loader_load_module): Likewise.
53555
53556 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53557 ``.o''.
53558
53559 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53560 (pupa_linux_tmp_addr): Likewise.
53561 (pupa_linux_real_addr): Likewise.
53562 (pupa_linux_boot_zimage): Likewise.
53563 (pupa_linux_boot_bzimage): Likewise.
53564
53565 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53566 (pupa_upper_mem): Likewise.
53567 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53568 module is too dangerous.
53569
53570 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53571 (pupa_os_area_size): Likewise.
53572 (pupa_loader_set): Remove the first argument. Loader doesn't
53573 manage modules or initrd any longer.
53574 (pupa_loader_load_module): Removed.
53575
53576 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53577 (linux_mod_SOURCES): New variable.
53578 (linux_mod_CFLAGS): Likewise.
53579
53580 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53581
53582 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53583 the length of a blocklist correctly.
53584
53585 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53586 Use ioctl only if the OS file is a block device.
53587 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53588 not very useful for normal files.
53589
53590 * kern/main.c (pupa_set_root_dev): New function.
53591 (pupa_load_normal_mode): Likewise.
53592 (pupa_main): Call those above.
53593
53594 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53595 pupa_uint16_t.
53596
53597 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53598
53599 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53600
53601 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53602 (setup): Configure the installed partition information and the
53603 dl prefix.
53604
53605 * loader/i386/pc/chainloader.c (my_mod): New variable.
53606 (pupa_chainloader_unload): New function.
53607 (pupa_rescue_cmd_chainloader): Refer itself.
53608 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53609
53610 * kern/i386/pc/startup.S (install_partition): Removed.
53611 (version_string): Likewise.
53612 (config_file): Likewise.
53613 (pupa_install_dos_part): New variable.
53614 (pupa_install_bsd_part): Likewise.
53615 (pupa_prefix): Likewise.
53616 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53617
53618 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53619 and pupa/misc.h.
53620 (make_install_device): New function.
53621 (pupa_machine_init): Set the dl prefix.
53622
53623 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53624 (buf): Renamed to ...
53625 (linebuf): ... this.
53626 (pupa_rescue_cmd_prefix): New function.
53627 (pupa_rescue_cmd_insmod): Likewise.
53628 (pupa_rescue_cmd_rmmod): Likewise.
53629 (pupa_rescue_cmd_lsmod): Likewise.
53630 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53631 rmmod and lsmod.
53632
53633 * kern/mm.c (pupa_memalign): If failed even after invalidating
53634 disk caches, unload unneeded modules and retry.
53635
53636 * kern/misc.c (pupa_memmove): New function.
53637 (pupa_memcpy): Removed.
53638 (pupa_strcpy): New function.
53639 (pupa_itoa): Made static.
53640
53641 * kern/dl.c (pupa_dl_iterate): New function.
53642 (pupa_dl_ref): Likewise.
53643 (pupa_dl_unref): Likewise.
53644 (pupa_dl_unload): Return if succeeded or not.
53645 (pupa_dl_unload_unneeded): New function.
53646 (pupa_dl_unload_all): Likewise.
53647 (pupa_dl_init): Renamed to ...
53648 (pupa_dl_set_prefix): ... this.
53649 (pupa_dl_get_prefix): New function.
53650
53651 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53652 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53653 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53654 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53655 (pupa_install_dos_part): Declared.
53656 (pupa_install_bsd_part): Likewise.
53657 (pupa_prefix): Likewise.
53658 (pupa_boot_drive): Likewise.
53659
53660 * include/pupa/types.h: Fix a typo.
53661
53662 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53663 pupa_memmove.
53664 (pupa_memmove): Declared.
53665 (pupa_strcpy): Likewise.
53666
53667 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53668 pupa_mod_init takes one argument, its own module.
53669 (pupa_dl_unload_unneeded): Declared.
53670 (pupa_dl_unload_all): Likewise.
53671 (pupa_dl_ref): Likewise.
53672 (pupa_dl_unref): Likewise.
53673 (pupa_dl_iterate): Likewise.
53674 (pupa_dl_init): Renamed to ...
53675 (pupa_dl_set_prefix): ... this.
53676 (pupa_dl_get_prefix): Declared.
53677
53678 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
53679 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
53680 unloaded.
53681 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53682 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53683
53684 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53685 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53686
53687 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53688
53689 * util/i386/pc/pupa-setup.c (setup): Define the internal
53690 function find_first_partition_start at the top level, because GCC
53691 3.0.x cannot compile internal functions in deeper scopes
53692 correctly.
53693 (find_root_device): Use lstat instead of stat.
53694 Don't follow symbolic links.
53695 Fix the path-constructing code.
53696
53697 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53698 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53699 by a BLKGETSIZE ioctl first, because block devices don't fill
53700 the member st_mode of the structure stat on Linux.
53701 [__linux__] (linux_find_partition): Use a temporary buffer
53702 REAL_DEV for the working space. Copy it to DEV before returning.
53703 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53704 buffer cache consistent.
53705 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53706 strncmp. The previous value was merely wrong.
53707 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53708
53709 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53710 FAT size is 12. The previous value was merely wrong.
53711
53712 * kern/main.c (pupa_main): Don't split the starting message from
53713 newlines.
53714
53715 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53716 LF, because BIOS goes crazy about character attributes in this
53717 case.
53718
53719 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53720
53721 * include/i386/pc/util/biosdisk.h: New file.
53722 * util/i386/pc/biosdisk.c: Likewise.
53723 * util/i386/pc/pupa-setup.c: Likewise.
53724
53725 * Makefile.in (INCLUDE_DISTFILES): Added
53726 include/pupa/i386/pc/util/biosdisk.h.
53727 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53728 directory util/i386/pc.
53729 (install-local): Added a rule for sbin_UTILITIES.
53730 (uninstall): Likewise.
53731
53732 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53733
53734 * util/misc.c (xrealloc): New function.
53735 (pupa_malloc): Likewise.
53736 (pupa_free): Likewise.
53737 (pupa_realloc): Likewise.
53738 (pupa_stop): Likewise.
53739 (pupa_putchar): Likewise.
53740
53741 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53742
53743 * include/pupa/util/misc.h (xrealloc): Declared.
53744
53745 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53746 macro.
53747 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53748 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53749
53750 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53751 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53752
53753 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53754 way should be implemented.
53755 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53756
53757 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53758 the size of NAME for safety.
53759 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53760 0x88.
53761
53762 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53763 (pupa_setup_SOURCES): Likewise.
53764
53765 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53766
53767 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53768
53769 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53770 bunch of pushl's from pusha, because this destroys the return
53771 value.
53772
53773 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53774
53775 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53776 This means that any missing prototypes could be fatal. Also, you
53777 must take care when writing assembly code. See the comments at
53778 the beginning of startup.S, for more details.
53779
53780 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53781 compilation mechanism.
53782 (pupa_chainloader_real_boot): Likewise.
53783 (pupa_biosdisk_rw_int13_extensions): Likewise.
53784 (pupa_biosdisk_rw_standard): Likewise.
53785 (pupa_biosdisk_check_int13_extensions): Likewise.
53786 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53787 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53788 (pupa_get_memsize): Likewise.
53789 (pupa_get_mmap_entry): Likewise.
53790 (pupa_console_putchar): Likewise.
53791 (pupa_console_setcursor): Likewise.
53792 (pupa_getrtsecs): Use pushl instead of push.
53793
53794 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53795 memory instead of the stack for a mmap entry, because some
53796 BIOSes may ignore the maximum size and overflow.
53797
53798 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53799
53800 * genmk.rb (PModule#rule): Compile automatically generated
53801 sources with module-specific CFLAGS as well as other sources.
53802
53803 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53804
53805 * configure.ac: Check ld.
53806 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53807 respectively, before checking endianness and sizes.
53808
53809 * Makefile.in (LD): New variable.
53810
53811 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53812
53813 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53814
53815 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53816
53817 * Changelog: New file.
53818