]> git.proxmox.com Git - grub2.git/blob - ChangeLog
[fi] Finnish (Timo Jyrinki; closes: #774060).
[grub2.git] / ChangeLog
1 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Set version to 2.02~beta2.
4
5 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
8
9 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
10
11 * util/grub-probe.c: Improve help message and simplify list handling.
12
13 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Fix buffer overflow in grub_efi_print_device_path.
16
17 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Show SATA device path.
20
21 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
22
23 Revert grub-file usage in grub-mkconfig.
24
25 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Make newly-created files other than grub.cfg world-readable.
28
29 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
30
31 * util/grub.d/00_header.in: Improve compatibility with old config.
32
33 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Make rijndael.c respect aliasing rules.
36
37 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
38
39 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Make grub_util_device_is_mapped_stat available in grub-emu core.
42
43 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
44
45 Add -Qn to TARGET_CFLAGS if it's supported.
46 Fixes compilation on cygwin.
47
48 Reported by: Andrey Borzenkov.
49 Suggested by: Andrey Borzenkov.
50
51 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
52
53 Save TARGET_CC version in modinfo.sh.
54
55 Suggested by: Andrey Borzenkov.
56
57 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
60 follow the same algorithm to avoid method mismatch. Don't assume
61 DMRAID- UUID to mean full disk but instead check that mapping is linear.
62
63 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Declare GRUB_EFI_VENDOR_APPLE_GUID.
66
67 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
68
69 Dump type and vendor specific data when printing device path.
70
71 2013-12-23 Colin Watson <cjwatson@debian.org>
72
73 Update some documentation to refer to Git rather than Bazaar.
74
75 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
76 than Bazaar.
77 * po/README: Likewise. Fix spelling mistake.
78
79 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
80
81 Don't distribute config.h.
82
83 * Makefile.am (platform_HEADERS): Move to ...
84 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
85 failure when building from a distributed tarball.
86
87 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
88
89 * configure.ac: Fix spelling.
90 * grub-core/commands/parttool.c: Fix grammar.
91 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
92 Embedding Partition".
93
94 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
95
96 ARM64 support for grub-mkrescue.
97
98 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
99
100 Install modinfo.sh to keep build information around.
101
102 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/modinfo.sh.in: Add build config information.
105
106 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
107
108 ARM64 grub-file and grub-mkconfig support.
109
110 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Remove leftover options defines.
113
114 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
117
118 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/loader/arm64/linux.c: Add missing bracket.
121
122 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Add arm64-efi recognition to grub-file.
125
126 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
127
128 Fix ia64-efi recognition in grub-file.
129
130 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Recognize raspberry pi kernel in grub-file.
133
134 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Enable cache on ARM U-Boot port.
137
138 Without it the port is reidiculously slow.
139
140 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Fix ARM cache maintainance.
143
144 More code was converted from ASM to C for easier handling.
145
146 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
149 algorithm on v5.
150
151 Suggested by: Leif Lindholm.
152
153 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
154
155 * util/grub-mkconfig.in: Fix Xen platform conditions.
156
157 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
158
159 * util/grub-mkrescue.c: Split single help message string in several
160 strings used in previous shell version.
161
162 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
163
164 Add arm64 Linux loader.
165
166 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
167
168 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
169
170 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
171
172 Add module loading and parsing boot time checkpoints.
173
174 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
177 platforms.
178
179 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
180
181 * util/grub-mkconfig.in: Skip non-executable files.
182
183 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
184
185 Workaround buggy timer in raspberry pie by using our own timer
186 implementation.
187
188 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
191 Increase to 16 MiB to allow loading the whole memdisk.
192
193 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Fix ARM Linux Loader on non-FDT platforms.
196
197 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * configure.ac: Choose link format based on host_os on emu.
200
201 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
204
205 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/kern/emu/main.c: Build fix for emu.
208
209 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
210
211 Build fixes for argp.h with older gcc.
212
213 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
216 in strings.
217
218 Suggested by: David Prévot.
219
220 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
223
224 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
225
226 Enable -Wformat=2 if it's supported.
227
228 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
231 -Wmissing-declarations if supported.
232
233 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
236 u32 as both HFS and HFS+ have 32-bit inodes.
237
238 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * include/grub/misc.h (grub_strtol): Fix overflow.
241
242 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
245 as return type in both conditionals.
246
247 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
250 to use uint8_t for color.
251
252 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * util/misc.c (grub_util_get_image_size): Check for overflow.
255
256 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
259 for size.
260
261 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
264 for pointer difference.
265
266 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/import_gcry.py: Skip sample keys.
269
270 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
273
274 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * configure.ac: Remove duplicate warning arguments.
277
278 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Add missing static qualifiers.
281
282 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Add missing includes.
285
286 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
287
288 Inline printf templates when possible to enable format checking.
289
290 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * include/grub/crypto.h: Don't discard const attribute.
293
294 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
297 was intended.
298
299 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/lib/crypto.c: Don't discard const attribute.
302
303 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/lib/disk.c: Fix potential overflow.
306
307 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/lib/arg.c: Don't discard const attribute.
310
311 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/kern/dl.c: Don't discard const attribute.
314
315 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/kern/disk.c: Fix potential overflow.
318
319 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * conf/Makefile.common: Don't include non-existing directory
322 grub-core/lib/libgcrypt-grub/include.
323
324 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
325
326 Clarify several translatable messages.
327
328 2013-12-21 David Prévot <david@tilapin.org>
329
330 Correct some translatable strings.
331
332 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
333
334 * util/grub-mkrescue.c: Rephrase mkrescue description.
335
336 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
337 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
338
339 Clarify several translatable messages.
340
341 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
342
343 Be more verbose about some configure failures.
344
345 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
346
347 Fix various build problems on GNU/Hurd.
348
349 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
350 !defined (__GNU__).
351 (xgetcwd): Likewise.
352 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
353 [__GNU__]: Add prototype.
354 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
355 long int using %ld rather than %d.
356
357 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/grub-install.c: Inform user about install platform.
360
361 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * configure.ac: Set version to 2.02~beta1.
364
365 2013-12-18 Allen Pais <allen.pais@oracle.com>
366 2013-12-18 Bob Picco <bob.picco@oracle.com>
367
368 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
369
370 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Make grub_zlib_decompress handle incomplete chunks.
373
374 Fixes squash4.
375
376 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
379 on i386-multiboot.
380
381 2013-12-18 Aleš Nesrsta <starous@volny.cz>
382
383 * grub-core/disk/usbms.c: Retry on unknown errors.
384 Reuse the same tag on retries.
385
386 2013-12-18 Aleš Nesrsta <starous@volny.cz>
387
388 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
389
390 Avoid confusing them with already completed transfers.
391
392 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Remove xen VFB.
395
396 Due to XEN bug it prevents Linux boot. Remove it at least, until
397 workaround is found.
398
399 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * po/exclude.pot: Add 2 missing excludes.
402
403 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
404
405 Add missing license section in macbless.mod and macho.mod.
406
407 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
408
409 Allow compilation without thumb-interwork as long as no thumb is
410 involved or only thumb2 is used.
411
412 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
413
414 Use -Wl,--no-relax rather than -mno-relax for uniformity.
415
416 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * INSTALL: Update comment as to why sparc64 clang isn't usable.
419
420 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
421
422 Add __attribute__ ((sysv_abi)) only if it's really needed.
423
424 Some compilers don't support it.
425
426 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
429
430 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Remove -Wold-style-definition.
433
434 Not very useful and interaction of it with regexp depends on GCC
435 version.
436
437 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Make grub_util_get_windows_path_real static.
440
441 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/commands/fileXX.c: Silence cast-align.
444 * grub-core/loader/i386/xen_fileXX.c: Likewise.
445
446 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
449 rather than LL suffix.
450
451 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
454
455 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/loader/arm/linux.c: Use common initrd functions.
458
459 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Decrease number of strings to translate.
462
463 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
466
467 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
468
469 Mark strings for translation and add remaining ones to exclude list.
470
471 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * util/grub-file.c (main): Fix sizeof usage.
474
475 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
476
477 Silence spurious warning.
478
479 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
480
481 Remove check_nt_hiberfil as it's been superseeded by file command.
482
483 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * docs/osdetect.cfg: Add isolinux config to detected OSes.
486
487 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Implement syslinux parser.
490
491 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
494
495 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Support cpuid --pae.
498
499 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
500
501 Use AT keyboard on Yeeloong 3A.
502
503 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Add Yeeloong 3A reboot and halt.
506
507 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
508
509 Add Radeon Yeeloong 3A support.
510
511 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Add bonito 3A support.
514
515 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
518
519 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
522
523 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/loader/macho.c: Fix compilation on non-i386.
526
527 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
528
529 Add missing format_arg attribute to check that printf with translated
530 messages has proper arguments.
531
532 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
533
534 Use grub_xasprintf to format translated error messages containing
535 64-bit quantity.
536
537 2013-12-17 Jon McCune <jonmccune@google.com>
538
539 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
540
541 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
542
543 Unify message for unsupported relocation.
544
545 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
546
547 Mark miscompile error for translation.
548
549 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Use %I64 and not %ll when using OS printf if compiling for windows.
552
553 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Update Mac code to match new register_efi prototype.
556
557 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
558
559 Implement better integration with Mac firmware.
560
561 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/loader/multiboot_mbi2.c: Implement special value for
564 load_addr.
565
566 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
567
568 Include serial module in default_payload.elf.
569
570 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
571
572 Add explicit thumb interwork bx in asm files.
573
574 Shouldn't matter for armv >= 5 but let's be safe.
575
576 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Implement Truecrypt ISO loader.
579
580 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/lib/arg.c: Ensure at least a single space between commands.
583
584 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Implement grub_file tool and use it to implement generating of config
587 in separate root.
588
589 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Change to v1 xen grants.
592
593 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
596
597 GRUB relied on %ebx being preserved across hypercall which isn't true.
598
599 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
602
603 GRUB relied on %rdi being preserved across hypercall which isn't true.
604
605 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
606
607 Implement XEN VFB support.
608
609 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
610
611 Remove grub_bios_interrupt on coreboot.
612
613 It's not used currently and cannot be used safely currently.
614
615 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
616
617 Update exclude.pot and mark few strings for translation.
618
619 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
622
623 Reported by: Jon McCune
624
625 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
626
627 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
628 Add verbose information which firmware directories were tried.
629
630 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
631
632 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
633 function to optionally redirect all three standard descriptors.
634 Redefine grub_util_exec, grub_util_exec_redirect and
635 grub_util_exec_redirect_null to use it.
636 * include/grub/emu/exec.h: Define it.
637 * include/grub/osdep/exec_unix.h: Delete, it is unused.
638 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
639 Use grub_util_exec_redirect_all to redirect error to NULL.
640
641 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/tests/sleep_test.c: Silence spurious warning.
644
645 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
648 linker trying to "fixup" the code.
649
650 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/kern/x86_64/xen/startup.S: Align stack.
653
654 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
655
656 Add support for converting PE+ to Elf64.
657
658 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
661
662 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Remove practice of assigning random const pointers to device id.
665
666 This is not required as cache code already checks driver id as well.
667
668 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
671 with mingw.
672
673 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * include/grub/efi/api.h: Don't use call wrappers when compiled with
676 mingw or cygwin as API already matches.
677
678 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
681
682 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
685 not on long.
686
687 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Handle X86_64_PC64 relocation.
690
691 Those are generated by some cygwin compilers.
692
693 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
694
695 Determine the need for mingw-related stubs at compile time rather than
696 using not very significant $target_os.
697
698 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
701 may not work with ELF.
702
703 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Use unix functions for temporary files and special files on cygwin.
706
707 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Define functions explicitly rather than using --defsym in tests
710 whenever possible. Respect locality in remaining cases.
711
712 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
715
716 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
717
718 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
719 unlikely errors when getting EFI variables and make exhaustive search
720 for all BootNNNN variables to find matching one.
721
722 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
723
724 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
725
726 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
727
728 New functional test for sleep function.
729
730 This test allows to check sleep without qemu. Keep qemu version as
731 well as functional test won't notice if all clocks are going too fast
732 or too slow.
733
734 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
735
736 Add explicit sysv_abi on amd64 asm routines.
737
738 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
741 num_table_entries.
742
743 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
746 functions.
747
748 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
751 appropriate.
752
753 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
756
757 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
760 appropriate.
761
762 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
765
766 In case of quick removal of loopback and adding another one it may
767 get same ID, confusing the cache system.
768
769 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
772 appropriate.
773
774 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
777 than converting to long.
778
779 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
782
783 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
786 than almost useless pointer.
787
788 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
789
790 Add gcc_struct to all packed structures when compiling with mingw.
791
792 Just "packed" doesn't always pack the way we expect.
793
794 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
797
798 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * util/grub-pe2elf.c: Fix handling of .bss.
801
802 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Implement windows flavour of EFI install routines.
805
806 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
809
810 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Change grub_install_register_efi interface to pass GRUB device.
813
814 This allows grub_install_register_efi to request partition info
815 directly.
816
817 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
818
819 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
820
821 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Do not use TCHAR string functions as they are not available on cygwin.
824
825 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Workaround windows bug when querying EFI system partition parameters.
828
829 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
832 by using bitfields.
833
834 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
837
838 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Make i386-* other than i386-pc compileable under cygwin.
841
842 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Fix definition of grub_efi_hard_drive_device_path. Take care that
845 existing code would work even if by some reason bogus definition is
846 used by EFI implementations.
847
848 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
851
852 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
855 invocation.
856
857 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * util/config.c: Remove trailing newline from distributor in simple
860 parsing.
861
862 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * include/grub/efi/api.h: Rename protocol and interface to avoid
865 conflict.
866
867 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
870 entries.
871
872 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/osdep/exec.c: Use unix version on cygwin.
875
876 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Implement multiboot2 EFI BS specification.
879
880 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/normal/charset.c: Fix premature line wrap and crash.
883 Crash happened only in some cases like a string starting at the
884 half of the screen of same length.
885
886 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
889 with EFI counterpart.
890
891 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Propagate the EFI commits to x86-efi specific parts.
894
895 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/commands/efi/lssal.c: Fix terminating condition.
898
899 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Introduce grub_efi_packed_guid and use it where alignment is not
902 guaranteed.
903
904 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * include/grub/efi/api.h (grub_efi_device_path): Define length as
907 unaligned u16 rather than u8[2].
908
909 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
912 for relocation range.
913
914 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
917 non-function pcrel21b relocation. It happens with .text.unlikely
918 section.
919
920 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
921
922 * make MAX_USABLE_ADDRESS platform-specific
923 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
924
925 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
926
927 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
928
929 2013-12-09 Jon McCune <jonmccune@google.com>
930
931 * Add --no-rs-codes flag to optionally disable reed-solomon codes
932 in grub-install and grub-bios-setup for x86 BIOS targets.
933
934 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
935
936 Add missing compile and link options for sparc64-emu.
937
938 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Implement sparc64 trampolines (needed for sparc64-emu).
941
942 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
945 range of R_SPARC_HI22.
946 Implement R_SPARC_LM22.
947
948 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
951 Do not explicitly check for symbol table as it's already checked in
952 platform-independent layer.
953
954 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
957 on ia64 as __clear_cache is a dummy on ia64.
958
959 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
962 Do not explicitly check for symbol table as it's already checked in
963 platform-independent layer.
964
965 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
966
967 * util/grub-mkconfig.in: Add missing newline to output.
968
969 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
972 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
973
974 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
977 compilation with GCC <= 4.2.
978 * grub-core/kern/emu/argp_common.c: Likewise.
979
980 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
983 right platform rather than leaking to sparc64-emu.
984
985 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
988 But ensure that the variables in question are indeed unsigned.
989
990 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
993
994 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 Remove grub_memalign on emu.
997
998 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1001 truncate incomplete lines but instead flushes them.
1002
1003 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1006 and implement windows variant.
1007
1008 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Fix mips-emu compilation.
1011
1012 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * configure.ac: Check for freetype library usability.
1015
1016 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Make arm-emu work.
1019
1020 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1023
1024 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1025
1026 * docs/grub.texi (Environment): Update color_normal and color_highlight
1027 defaults (light-gray instead of white).
1028
1029 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1030
1031 * grub-core/normal/main.c (INIT): Set default color to light-gray
1032 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1033 and apparently BIOS defaults.
1034
1035 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 Transform -C option to grub-mkstandalone to --core-compress available
1038 in all grub-install flavours.
1039
1040 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Merge GRUBFS and GRUB_FS variables.
1043
1044 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1045
1046 Revert commit 69ca97c820, it caused failures when using OS device name
1047 in grub-install. Instead just strip off parenthesis in grub-install
1048 if (hdX) was passed.
1049
1050 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1051
1052 * util/grub-install.c (push_partmap_module): Add helper to convert
1053 partmap names to module names and use it in probe_mods(). Fixes
1054 failure to find partmap modules in diskfilter case.
1055
1056 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * configure.ac: Make unifont mandatory on coreboot.
1059
1060 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * configure.ac: Skip unifont 6.3 pcf and bdf.
1063
1064 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * Makefile.am: Remove partial font files if generation failed.
1067
1068 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1069
1070 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1071 strings.
1072 * include/grub/util/misc.h: Define it ...
1073 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1074
1075 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1076
1077 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1078 ${grub_probe}.
1079
1080 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Don't add -mlong-calls when compiling with clang.
1083
1084 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * configure.ac: Fix a typo.
1087
1088 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Revamp relocation handling.
1091
1092 Move more code to common dl.c. Add missing veneers for arm and arm64.
1093 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1094
1095 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1098
1099 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1100
1101 * INSTALL: Raise minimum python version to 2.6.
1102 * gentpl.py: Use python3-style print function.
1103
1104 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * util/grub-install.c: Mention Boot* variable.
1107
1108 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1109
1110 * grub-core/osdep/linux/hostdisk.c
1111 (grub_util_find_partition_start_os): Initialise start to avoid
1112 spurious compiler warning.
1113
1114 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1115
1116 On Linux, read partition start offsets from sysfs if possible, to
1117 cope with block device drivers that don't implement HDIO_GETGEO.
1118 Fixes Ubuntu bug #1237519.
1119
1120 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1121 function.
1122 (sysfs_partition_start): Likewise.
1123 (grub_util_find_partition_start_os): Try sysfs_partition_start
1124 before HDIO_GETGEO.
1125
1126 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1127
1128 * grub-core/kern/fdt.c: Update struct size when adding node.
1129
1130 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Handle unaligned .bss on sparc64.
1133
1134 Current code improperly assumes that both __bss_start and _end are
1135 aligned to 8-bytes. Eliminating this assumption and explicitly align
1136 modules.
1137
1138 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1141 so it doesn't land in the middle of loaded image.
1142
1143 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * configure.ac: Move all warning options that may be absent in
1146 gcc >= 3.1 to optional.
1147
1148 Note: while this allows to compile with older GCC, official requirements
1149 remain the same and no support for older GCC.
1150
1151 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
1152
1153 Copying the themes directory in grub-shell isn't
1154 parallel-test-friendly and breaks on the second test when the source
1155 directory is read-only (as in "make distcheck"). Instead, add a
1156 hidden --themes-directory option to grub-mkrescue et al, and use it
1157 in grub-shell.
1158
1159 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1162 as it's no longer necessarry.
1163
1164 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * configure.ac: Allow compilation with older GCC for ARM.
1167
1168 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1171 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1172 ppc.
1173
1174 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1177
1178 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Pass font config to config.h and not by TARGET_CFLAGS as adding
1181 arguments doesn't work if TARGET_CFLAGS is specified on command
1182 line.
1183
1184 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * configure.ac: Add -Wvla if compiler supports it.
1187
1188 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1191 Remove variable length arrays.
1192 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1193
1194 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1197
1198 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * include/grub/types.h: Declare all byteswaps as inline functions
1201 except compile-time ones.
1202
1203 Solves variable shadowing in constructions like
1204 cpu_to_le (le_to_cpu(x) + 1).
1205
1206 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1209
1210 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1213 minutes.
1214
1215 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1218 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1219
1220 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1221
1222 * grub-core/Makefile.core.def (setjmp): Distribute
1223 lib/arm64/setjmp.S.
1224
1225 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1226
1227 Add a new timeout_style environment variable and a corresponding
1228 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1229 controls hidden-timeout handling more simply than the previous
1230 arrangements, and pressing any hotkeys associated with menu entries
1231 during the hidden timeout will now boot the corresponding menu entry
1232 immediately.
1233
1234 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1235 generates a warning, and if it shows the menu it will do so as if
1236 the second timeout were not present. Other combinations are
1237 translated into reasonable equivalents.
1238
1239 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1240
1241 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/config.c: Add missing pointer adjustment.
1244 Reported by: qwertial
1245
1246 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1247
1248 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1249 directly, not via `cpu' link, to fix libgrub.pp generation.
1250
1251 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1252
1253 New port arm64-efi.
1254
1255 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1256
1257 * docs/grub.texi (sleep): Document exit codes.
1258
1259 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 Ensure that -mno-unaligned-access or some equivalent option is used.
1262
1263 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1266 -march=armv3.
1267
1268 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1271
1272 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1275 builds, since we don't have an EPS version of font_char_metrics.png.
1276 Add leading dot to image extension per the Texinfo documentation.
1277
1278 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1279
1280 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1281 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1282 * util/grub-gen-widthspec.c: Likewise.
1283 * util/grub-mkfont.c: Likewise.
1284
1285 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1286
1287 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1288 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1289 failed to install on (hdX).
1290 * util/grub-setup.c (get_device_name): Remove, not needed after
1291 above change.
1292
1293 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1296
1297 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * util/grub-fstest.c: Remove variable length arrays.
1300
1301 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1304
1305 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1308 computing crc32 rather than handling with md fundtions directly.
1309
1310 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1313 checking fwstart.img rather than md fundtions directly.
1314
1315 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub-mkrescue.c (main): Check that fread succeeded.
1318
1319 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * conf/Makefile.common: Remove -mexplicit-relocs and
1322 -DUSE_ASCII_FALLBACK on yeeloong.
1323
1324 -DUSE_ASCII_FALLBACK is already added by font snippets.
1325 -mexplicit-relocs isn't needed is compiler/assemblera are
1326 configured properly.
1327 If they're not we shouldn't attempt to fix it by ourselves.
1328 Binary compare between before and after shows no difference.
1329
1330 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1333 sources in dependencies directly.
1334
1335 This was the only instance of "library" in core config. A bug was
1336 reported that -fno-stack-protector wasn't passed to it. Instead of
1337 figuring out why it failed just remove this construction used
1338 needlessly.
1339
1340 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1343 fgets succeeded.
1344
1345 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1346
1347 * docs/grub.texi (ls): Fix command description in case of a device name
1348 passed as argument.
1349
1350 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Eliminate variable length arrays in grub_vsnprintf_real.
1353
1354 A bit tricky because this function has to continue to work without
1355 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1356 but make all stack references use 32-bit offset rather than 8-bit one.
1357 So split va_args preparsing to separate function and put the prealloc
1358 into the caller.
1359
1360 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1363 Fixes build for windows.
1364
1365 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * gentpl.py: Don't generate platform-dependent conditionals for
1368 platform-independent targets.
1369
1370 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1371
1372 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1373 references to mdadm from otherwise generic code.
1374 (grub_util_exec_pipe): Likewise.
1375 (grub_util_exec_pipe_stderr): Likewise.
1376 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1377 This function calls vgs, not mdadm; adjust variable names
1378 accordingly.
1379
1380 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1381
1382 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1383 of Autogen. The Autogen definitions files remain intact as they
1384 offer a useful abstraction.
1385
1386 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1387
1388 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1389 into no-ops, and use it in programs that copy files but do not need
1390 to take special care to sync writes (grub-mknetdir, grub-rescue,
1391 grub-mkstandalone).
1392
1393 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
1394
1395 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1396 than hardcoding /usr/local/bin/xorriso.
1397
1398 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Add PCI command activation to all PCI drivers as required for coreboot
1401 and maybe some other firmwares.
1402
1403 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1406 and non-Apple variants of efiemu compile.
1407
1408 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1409
1410 * configure.ac: Add explicit check for linking format of
1411 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1412 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1413 hardcoding linking format.
1414
1415 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1418 and not pkgdatadir.
1419
1420 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
1421 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Add a --locale-directory option to grub-install and related tools.
1424
1425 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1426 --locale-directory option.
1427 (enum grub_install_options): Add
1428 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1429 * util/grub-install-common.c (grub_install_help_filter): Handle
1430 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1431 (grub_install_parse): Likewise.
1432 (get_localedir): New function to check for a user-provided option
1433 before trying grub_util_get_localedir.
1434 (copy_locales): Use get_localedir rather than
1435 grub_util_get_localedir. Handle differing locale directory layouts.
1436 (grub_install_copy_files): Likewise.
1437
1438 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1441 Don't rely on PATH_MAX.
1442
1443 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/genmoddep.awk: Use more portable && rather than and.
1446
1447 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1450 an object after data. While it doesn't seem right solution, it
1451 works well enough and OSX isn't main compilation platform.
1452
1453 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1456 While it doesn't seem right solution, it works well enough and
1457 OSX isn't main compilation platform.
1458
1459 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * configure.ac: Add -static to LDFLAGS when using apple linker to
1462 prevent it from pulling in dynamic linker.
1463
1464 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Apple assembly doesn't handle symbol arithmetic well. So define an
1467 offset symbol in boot.S and use it.
1468
1469 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Apple assembly doesn't handle symbol arithmetic well. So instead
1472 of getting addres of kernel_sector + 4 define kernel_sector_high.
1473 It also makes code more readable.
1474
1475 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 With Apple assembly in .macro environvemnt you have to use $$ instead
1478 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1479 to $$x on Apple and to $x on everything else.
1480
1481 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1484 OBJCONV.
1485
1486 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1489 and non-Apple. This instruction is shorter and faster,
1490 so no reason not to use it on both.
1491
1492 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1495 .text when compiling for Apple.
1496
1497 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1500
1501 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1504 %dx restore the probe worked on non-existant drive. Reorganize the
1505 code a little bit to free 2 bytes necessary for push/pop.
1506
1507 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1510 Add missing cast to silence warning.
1511
1512 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1513
1514 * util/grub-install.c (update_nvram): Support --no-nvram flag
1515 for EFI targets.
1516
1517 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1520
1521 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * util/garbage-gen.c: Add missing include of sys/time.h.
1524
1525 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Don't add -mflush-func if it's not supported by compiler.
1528
1529 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Move common BIOS/coreboot memory map declarations to
1532 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1533
1534 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1535
1536 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1537
1538 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * INSTALL: Document why older clang versions aren't appropriate.
1541
1542 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * INSTALL: Document about clang for mips.
1545
1546 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1549 clang.
1550
1551 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Add *-xen to the list of grub-install-common platforms.
1554
1555 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1558 3 last commits.
1559
1560 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1563
1564 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1567 with -mcmodel=large.
1568
1569 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1572 range-checking for 32-bit quantities.
1573
1574 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * configure.ac: Compile with -fPIC when compiling with clang on
1577 mips.
1578
1579 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1582 when compiling with clang.
1583
1584 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 clang emits calls to abort () under some unknown conditions.
1587 Export abort () when compiling with clang.
1588
1589 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * docs/grub-dev.texi: Document stack and heap sizes.
1592
1593 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * include/grub/i386/pc/memory.h: Decrease
1596 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1597 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1598 The binary doesn't change (checked). It's more to better reflect actual
1599 usage.
1600
1601 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1604 at compile time that enough of scratch size is available.
1605
1606 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1609 Previously we misaligned stack by 8 in startup.S and compensated
1610 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1611 right behaviour is to align stack in startup.S and keep it aligned
1612 in callwrap.S. startup.S part was committed few commits before. This
1613 takes care of callwrap.S.
1614 Reported by: Gary Lin.
1615
1616 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1619 .data and .bss. May happen if compiler and assembly use different
1620 alignment.
1621
1622 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1625 way.
1626
1627 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Add support for a new magic symbol _gp_disp on mips to handle PIC
1630 binaries.
1631
1632 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1635
1636 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1639 when rest of GRUB is compiled for hisher stepping. Instead use
1640 .set mips3/.set mips1 around cache and sync opcodes.
1641
1642 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1645 do essentially the same thing, do it in similar way.
1646
1647 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
1648
1649 * util/grub-mkrescue.c (main): If a source directory is not
1650 specified, read platform-specific files from subdirectories of
1651 pkglibdir, not pkgdatadir.
1652
1653 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
1654
1655 * grub-core/normal/progress.c: Remove unused file.
1656
1657 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1660 array.
1661
1662 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1665 than grub.cfg.
1666
1667 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * coreboot.cfg: Add missing file.
1670
1671 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1674
1675 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1676
1677 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1678 selectively skipping systems.
1679
1680 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
1681
1682 * Makefile.util.def (grub-mkimage): Add
1683 grub-core/osdep/aros/config.c to extra_dist.
1684 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1685 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1686 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1687 grub-core/gnulib-no-gets.diff.
1688
1689 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Add automated filesystem checking based on scripts I've used now for
1692 quite some time locally. Most of the test require root so they are
1693 skipped when run without necessarry privelegies.
1694
1695 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
1696
1697 * util/grub-install.c (main): Adjust info messages to match
1698 installed paths of grub-bios-setup and grub-sparc64-setup.
1699
1700 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
1701
1702 * util/grub-install-common.c (copy_locales): Consistently use
1703 grub_util_get_localedir () rather than LOCALEDIR.
1704 (grub_install_copy_files): Likewise.
1705
1706 2013-11-19 Josh Triplett <josh@joshtriplett.org>
1707
1708 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1709 16-byte boundary, as required by the x86-64 ABI, before calling
1710 grub_main. In some cases, GCC emits code that assumes this
1711 alignment, which crashes if not aligned. The EFI firmware is also
1712 entitled to assume that stack alignment without checking.
1713
1714 2013-11-18 Josh Triplett <josh@joshtriplett.org>
1715
1716 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1717 4k page boundaries as expected by firmware rather than 1k
1718 boundaries.
1719 (grub_mmap_malign_and_register): Likewise.
1720
1721 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1724 fragmentation 512M is enough.
1725
1726 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1729 pointer to 32K. This is the size of cache element which is the most
1730 common allocation >1K. This way the pointer is always around blocks
1731 of 32K and so we keep performance while decreasing fragmentation.
1732
1733 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1736 current memory when allocating large chunks. This significantly
1737 decreases memory fragmentation.
1738
1739 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
1740
1741 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1742 but for symmetry).
1743 * tests/lzocompress_test.in: Skip if lzop is not installed.
1744 * tests/xzcompress_test.in: Skip if xz is not installed.
1745
1746 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
1747
1748 * util/grub-mkrescue.c (main): Fix typo.
1749
1750 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1753 clock frequency to 200 MHz,
1754
1755 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1758
1759 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1762 Load config file from (cbfsdisk)/etc/grub.cfg.
1763
1764 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * util/grub-install-common.c (grub_install_copy_files): Fix module
1767 destination directory.
1768
1769 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
1770
1771 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1772 files have not been built.
1773
1774 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
1775
1776 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1777 Handle errors from mkstemp.
1778 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1779
1780 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1783 on primary master on pseries.
1784
1785 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1788 already loaded. This saves memory needed for tests,
1789
1790 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1793 work again.
1794
1795 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1798 work again.
1799
1800 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1803 master since with some combinations of qemu and firmware only primary
1804 IDE channel is available.
1805
1806 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1809 low-memory platforms where we don't have enough memory for them.
1810 * grub-core/tests/videotest_checksum.c: Likewise.
1811
1812 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1815 already loaded. This saves memory needed for tests,
1816
1817 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 Fix handling of install lists.
1820
1821 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1824
1825 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1828 the devices before accessing them.
1829
1830 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1833 as file argument.
1834
1835 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1838
1839 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1842 (grub_file_close): Free file->name.
1843
1844 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1847 (grub_load_public_key): Likewise.
1848 (grub_verify_signature_real): Likewise.
1849 (grub_cmd_verify_signature): Likewise.
1850
1851 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1854 memory leak.
1855
1856 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1859 (grub_longjmp): Restore r31.
1860 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1861
1862 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1865 modules to be in line with make_image_abs.
1866
1867 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1870
1871 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1872
1873 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
1874
1875 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1876
1877 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1880 to leave some memory to firmware.
1881
1882 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1885 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1886 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1887 Load gfxmenu.
1888
1889 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1892 now needs full arguments.
1893
1894 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * util/grub-mkrescue.c (main): Add trailing \n in
1897 .disk_label.contentDetails to be in line with previous shell script.
1898
1899 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1902
1903 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * util/grub-install-common.c (grub_install_parse): Recognize
1906 --compress=none like shell script did.
1907
1908 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * include/grub/misc.h: Replace check for __sparc64__ with one for
1911 __sparc__ as __sparc64__ isn't actually defined.
1912
1913 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1916 counterpart of fixing the naming of escc ports.
1917
1918 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * util/grub-install-common.c (platforms): Fix the order of entries and
1921 remove useless field val.
1922
1923 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * util/grub-install.c: Add new option --no-bootsector to skip
1926 installing of bootsector. Accept --grub-setup=/bin/true as
1927 backwards-compatible synonym.
1928
1929 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1930
1931 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1932 order of qsort arguments (number of elements vs. element size).
1933
1934 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1937 the function of these files exceeds what can be sanely handled in shell
1938 in posix-comaptible way. Also writing it in C extends the functionality
1939 to non-UNIX-like OS and minimal environments.
1940
1941 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1944 compiling to thumb2.
1945 * grub-core/kern/arm/cache_armv7.S: Likewise.
1946 * grub-core/lib/arm/setjmp.S: Likewise.
1947
1948 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1949
1950 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1951 in grub_uboot_syscall
1952
1953 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Decrease stack usage in lexer.
1956
1957 We have only 92K of stack and using over 4K per frame is wasteful
1958
1959 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1960 as macros so that compiler would remove useless structure on stack.
1961 Better solution would be to fix flex not to put this structure on
1962 the stack but flex is external program.
1963
1964 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Decrease stack usage in signature verification.
1967
1968 We have only 92K of stack and using over 4K per frame is wasteful
1969
1970 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1971 rather than stack.
1972 (grub_verify_signature_real): Likewise.
1973
1974 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 Decrease stack usage in mdraid 0.9x.
1977
1978 We have only 92K of stack and using over 4K per frame is wasteful
1979
1980 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1981 rather than stack.
1982
1983 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Decrease stack usage in BtrFS.
1986
1987 We have only 92K of stack and using over 4K per frame is wasteful
1988
1989 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1990 rather than stack.
1991
1992 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 Decrease stack usage in JFS.
1995
1996 We have only 92K of stack and using over 4K per frame is wasteful
1997
1998 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1999 stack. Note: this function is recursive.
2000 (grub_jfs_read_inode): Read only part we care about.
2001
2002 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2003
2004 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2005 handling
2006
2007 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2008
2009 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2010
2011 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2012
2013 * docs/grub.texi (Environment): Document cmdpath.
2014
2015 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2016
2017 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2018 Remove "unused" attribute from arguments, they are used.
2019
2020 2013-11-15 Colin Watson <cjwatson@debian.org>
2021
2022 * .gitignore: Only ignore grub-mk* at the top level.
2023
2024 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2025
2026 * util/grub-reboot.in (usage): Fix a typo.
2027
2028 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Replace libgcc version of ctz with our own.
2031
2032 On upcoming arm64 port libgcc ctz* are not usable in standalone
2033 environment. Since we need ctz* for this case and implementation is
2034 in C we may as well use it on all concerned platforms.
2035
2036 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * configure.ac: Probe for linking format rather than guessing it based
2039 on target_os.
2040
2041 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2044 "1" prior to handoff.
2045
2046 Reported by: M A Young.
2047
2048 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2051 \0 to all files.
2052
2053 Reported by: M A Young.
2054
2055 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2058 compilation on NetBSD.
2059
2060 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * acinclude.m4: Don't add -P on initial nm test.
2063
2064 Note: even though this patch postdates Andrey's it bears 14 Nov as
2065 date due to timezone difference.
2066
2067 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2068
2069 * grub-core/Makefile.core.def (signature_test): Add missing
2070 tests/signatures.h.
2071
2072 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2073
2074 * util/grub-install_header: Set localedir here, since this file is
2075 where it's used.
2076 * util/grub-install.in: Remove setting of localedir.
2077 * util/grub-mkrescue.in: Likewise.
2078
2079 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2082
2083 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * configure.ac: Move nm checks to the end.
2086 Call grub_PROG_NM_WORKS.
2087 * acinclude.m4: New check grub_PROG_NM_WORKS.
2088 Use $TARGET_CFLAGS -c when compiling test binary.
2089
2090 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2091
2092 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2093 unused variables.
2094
2095 2013-11-14 Matthew Garrett <mjg@redhat.com>
2096
2097 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2098 cmdpath to firmware directory.
2099
2100 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2103 at the start of second iteration.
2104
2105 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2108
2109 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * Makefile.am (default_payload.elf): New target for easier coreboot
2112 build.
2113
2114 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2117 clang (not necessarry with -no-integrated-as).
2118 * include/grub/symbol.h [__arm__]: Likewise.
2119
2120 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * configure.ac: Use -no-integrated-as on arm with clang.
2123 * INSTALL: Mention ARM compilation with clang.
2124
2125 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2128 -mthumb-interwork.
2129
2130 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2131
2132 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2133 code for indirect block handling.
2134
2135 Saves 185 bytes on compressed image.
2136
2137 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2138
2139 Fix make clean.
2140
2141 * Makefile.am: Remove build-grub-* in make clean.
2142
2143 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2144
2145 New files to gitignore.
2146
2147 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2148 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2149
2150 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2151
2152 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2153
2154 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2155
2156 * .gitignore: fix rules for .dep* and add *.a post git migration
2157
2158 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2159
2160 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2161 to match INSTALL.
2162
2163 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2164
2165 * grub-core/kern/misc.c: Don't redirect divisions in the
2166 GRUB_UTIL case.
2167 * include/grub/misc.h: Likewise.
2168
2169 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2170
2171 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2172 systems that require checking the return value of write.
2173
2174 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2177 efibootmgr quiet when --debug is not used, rather than when it is.
2178
2179 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2180
2181 * gentpl.py (define_macro_for_platform_dependencies): Remove
2182 first (and thus unused) of two definitions for this function.
2183 (platform_dependencies): Likewise.
2184
2185 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2186
2187 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2188 functions, we only need to check this for the target, not the host.
2189 * configure.ac (grub_apple_cc): Likewise.
2190
2191 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2194 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2195 asm to stay in arm even if surrounding is thumb.
2196
2197 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2200 helper functions are needed for thumb.
2201
2202 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2205 level / 3 division explicitly unsigned. Saves few bytes.
2206
2207 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2210
2211 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2214 division.
2215
2216 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2219 grub_uboot_boot_data to asm part.
2220
2221 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2224 literal load.
2225 (grub_uboot_syscall): Save/restore r9 and align stack.
2226
2227 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2230
2231 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2234 occurencies with END.
2235
2236 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * util/grub-editenv.c (help_filter, argp): Document how to delete
2239 the whole environment block.
2240 Reported by Dan Jacobson. Fixes Debian bug #726265.
2241
2242 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2243
2244 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2245 sectioning.
2246
2247 2013-11-13 Josh Triplett <josh@joshtriplett.org>
2248
2249 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2250 increment/decrement.
2251
2252 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2255 compiling with clang.
2256
2257 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2260 ".".
2261
2262 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Redirect all divisions to grub_divmod64.
2265
2266 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2269
2270 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 Add missing includes of loader.h.
2273
2274 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * configure.ac: Allow disabling themes.
2277
2278 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2279
2280 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2281
2282 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2285 until it becomes operational.
2286
2287 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/Makefile.core.def (legacy_password_test): Disable
2290 on platforms where no legacycfg is compiled.
2291 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2292 load legacy_password_test.
2293
2294 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2297
2298 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2301
2302 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2305 strict-aliasing warning.
2306 (fsync): Silence cast warning.
2307
2308 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/commands/verify.c: Remove variable length arrays.
2311 Load gcry_dsa/gcry_rsa automatically.
2312
2313 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/tests/signature_test.c: New test.
2316
2317 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2320 API.
2321
2322 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2325 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2326
2327 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2330
2331 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/fs/proc.c: Allow \0 in proc files.
2334
2335 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2338
2339 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2342
2343 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/fs/ext2.c: Remove variable length arrays.
2346
2347 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2350 length arrays.
2351
2352 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2355 * grub-core/disk/cryptodisk.c: Likewise.
2356 * grub-core/disk/geli.c: Likewise.
2357 * grub-core/disk/luks.c: Likewise.
2358
2359 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/tests/legacy_password_test.c: New test.
2362 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2363
2364 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2367
2368 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/tests/pbkdf2_test.c: New test.
2371
2372 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2375
2376 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/io/lzopio.c: Remove variable length arrays.
2379
2380 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * include/grub/crypto.h: Add maximums on hash size and cipher block
2383 size.
2384
2385 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2388
2389 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/tests/xnu_uuid_test.c: New test.
2392
2393 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2396 covers it).
2397
2398 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/commands/hashsum.c: Remove variable length arrays.
2401
2402 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2405 condition.
2406 * tests/grub_func_test.in: Increase memory allocation.
2407
2408 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2411 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2412 sys/mount.h.
2413
2414 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2417 (grub_util_get_fd_size_os): ...this.
2418 (grub_hostdisk_flush_initial_buffer): New empty function.
2419
2420 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2423 without --defined-only.
2424
2425 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2428 rip-relative addressing in prologue.
2429
2430 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2433 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2434
2435 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2438 Add missing semicolon.
2439
2440 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2443
2444 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * configure.ac: Check for lzma.h for enabling liblzma and allow
2447 manual disabling.
2448
2449 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Add missing includes of loader.h.
2452
2453 2013-11-11 Fam Zheng <famcool@gmail.com>
2454
2455 * util/grub.d/30_os-prober.in: Add minix entry.
2456
2457 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2460 right buffer for temporary load.
2461
2462 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2465
2466 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2469 payload.
2470
2471 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2474 not Types.h.
2475 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2476 environment.
2477 (LzmaDec_InitDicAndState): Make static.
2478
2479 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2482
2483 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2486
2487 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2488
2489 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * docs/grub-dev.texi: Replace bzr references with git ones.
2492
2493 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2494
2495 * docs/grub.texi (Simple configuration): Remove reference to
2496 grub-reboot from saved default entry description - grub-default
2497 does not use it anymore.
2498
2499 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2502 compiled with.
2503
2504 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2505
2506 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2507
2508 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Fix grub_machine_fini bitrot.
2511
2512 Reported by: Glenn Washburn.
2513
2514 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2517
2518 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2521 -DELF.
2522 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2523 instead of ELF*.
2524
2525 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2528 Add -march=core2 when testing compile of efiemu64.
2529
2530 Thanks Andrey Borzenkov for spotting this.
2531
2532 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2535 XEN PV environment and load kernels.
2536
2537 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2540 * grub-core/loader/multiboot_mbi2.c: Likewise.
2541
2542 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2545 handling.
2546
2547 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2550
2551 Tested by: Denis 'GNUtoo' Carikli.
2552
2553 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2556
2557 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2560 Use to get rounded angle rather than truncated.
2561
2562 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/term/serial.c: Add option for enabling/disabling
2565 RTS/CTS flow control.
2566
2567 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2570 divisions.
2571
2572 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2575 Use grub_fatal rather than divide by zero.
2576 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2577
2578 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2581 truncate.
2582 (grub_fixed_fsf_divide): Likewise.
2583
2584 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2587 division by-zero and senseless negative divisions.
2588
2589 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2592 division by-zero and senseless negative divisions.
2593 (circprog_set_property): Don't accept negative num_ticks.
2594
2595 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2598 division by-zero and senseless negative divisions.
2599
2600 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * configure.ac: Use elf_*_fbsd on kfreebsd.
2603
2604 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/tests/div_test.c: New test.
2607
2608 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2609
2610 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2611 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2612 * grub-core/gfxmenu/view.c: Likewise.
2613 * grub-core/video/fb/video_fb.c: Introduce new functions:
2614 grub_video_set_area_status, grub_video_get_area_status,
2615 grub_video_set_region, grub_video_get_region.
2616 * grub-core/video/bochs.c: Likewise.
2617 * grub-core/video/capture.c: Likewise.
2618 * grub-core/video/video.c: Likewise.
2619 * grub-core/video/cirrus.c: Likewise.
2620 * grub-core/video/efi_gop.c: Likewise.
2621 * grub-core/video/efi_uga.c: Likewise.
2622 * grub-core/video/emu/sdl.c: Likewise.
2623 * grub-core/video/radeon_fuloong2e.c: Likewise.
2624 * grub-core/video/sis315pro.c: Likewise.
2625 * grub-core/video/sm712.c: Likewise.
2626 * grub-core/video/i386/pc/vbe.c: Likewise.
2627 * grub-core/video/i386/pc/vga.c: Likewise.
2628 * grub-core/video/ieee1275.c: Likewise.
2629 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2630 * include/grub/video.h: Likewise.
2631 * include/grub/video_fb.h: Likewise.
2632 * include/grub/fbfill.h: Updated render_target structure.
2633 grub_video_rect_t viewport, region, area
2634 int area_offset_x, area_offset_y, area_enabled
2635 * include/grub/gui.h: New helper function
2636 grub_video_bounds_inside_region.
2637 * docs/grub-dev.texi: Added information about new functions.
2638
2639 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2642 for alignment.
2643
2644 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2647 missing attribute.
2648 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2649
2650 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2653 simple division on arm and ia64.
2654
2655 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2658 link with libgcc.
2659
2660 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2663
2664 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2667 prefix symbol, not @.
2668
2669 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * INSTALL: Add note about older gcc and clang.
2672
2673 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2676
2677 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2680 NULL pointer dereference.
2681
2682 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2685 clang.
2686
2687 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2690 warnings.
2691
2692 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2695 function.
2696 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2697 * grub-core/disk/geli.c (ascii2hex): Likewise.
2698
2699 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * configure.ac: Run linker tests without -Werror.
2702 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2703 Change all occurences of -static-libgcc resp -lgcc to
2704 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2705
2706 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2709
2710 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 Allow compiling with clang (not really supported though).
2713
2714 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2715 unconditionally.
2716 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2717 Add -mrtd -mregparm=3 on i386 when not using clang.
2718 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2719
2720 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2723 bindings.
2724 * grub-core/lib/reed_solomon.c: Likewise.
2725 * include/grub/i386/gdb.h: Likewise.
2726 * include/grub/i386/pc/int.h: Likewise.
2727 * include/grub/i386/pc/pxe.h: Likewise.
2728 * include/grub/ieee1275/ieee1275.h: Likewise.
2729
2730 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 Import libgcrypt 1.5.3.
2733
2734 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * configure.ac: Don't add -Wcast-align on x86.
2737
2738 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * configure.ac: Add -freg-struct-return on all platforms that
2741 support it.
2742
2743 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * acinclude.m4: Use -Werror on parameter tests.
2746 * configure.ac: Likewise.
2747
2748 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2751
2752 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * configure.ac: Check that -malign-loops works rather than assuming that
2755 either -falign-loops or -malign-loops work.
2756
2757 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2760
2761 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * configure.ac: Prevent cflags leaking to subsequent tests by always
2764 resetting cflags to target_cflags in target tests.
2765
2766 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2769 function.
2770
2771 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2774
2775 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2778
2779 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/normal/cmdline.c (grub_cmdline_get):
2782 Remove nested functions.
2783
2784 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * tests/test_sha512sum.in: Make it work on emu.
2787
2788 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2791 functions.
2792 (grub_bidi_line_logical_to_visual): Likewise.
2793
2794 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Remove vestiges of -Wunsafe-loop-optimisations.
2797
2798 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2799 -Wno-unsafe-loop-optimisations.
2800 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2801 pragma.
2802 * grub-core/io/gzio.c: Likewise.
2803 * grub-core/script/parser.y: Likewise.
2804 * grub-core/script/yylex.l: Likewise.
2805 * util/grub-mkfont.c: Likewise.
2806
2807 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * util/grub-mkfont.c (process_cursive): Remove nested function.
2810
2811 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2814 (grub_boot_time): Likewise.
2815
2816 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * include/grub/symbol.h (FUNCTION): Use @function rather than
2819 "function".
2820 (VARIABLE): Likewise.
2821
2822 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2825
2826 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2829 (parse_dhcp_vendor): Likewise.
2830
2831 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2834
2835 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2838 Define after defining type and not before.
2839
2840 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2843 type.
2844 (grub_gcm_decrypt): Likewise.
2845 (algo_decrypt): Likewise.
2846 (grub_zfs_decrypt_real): Transform error type.
2847
2848 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2851
2852 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2855 (grub_usbms_cbi_reset): Likewise.
2856 (grub_usbms_bo_reset): Likewise.
2857 (grub_usbms_reset): Likewise.
2858 (grub_usbms_attach): Likewise.
2859 (grub_usbms_transfer_cbi): Likewise.
2860
2861 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2864 "checksum = checksum;".
2865
2866 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2869 entry_type.
2870
2871 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2874 BIOS disk check.
2875
2876 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2879 type.
2880 (grub_ehci_fini_hw): Likewise.
2881 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2882
2883 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2886 return grub_usb_err_t for cosistency. All users updated.
2887
2888 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2891 assigning to itself.
2892
2893 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
2894 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2895
2896 Issue separate DNS queries for ipv4 and ipv6
2897
2898 Adding multiple questions on a single DNS query is not supportted by
2899 most DNS servers. This patch issues two separate DNS queries
2900 sequentially for ipv4 and then for ipv6.
2901
2902 Fixes: https://savannah.gnu.org/bugs/?39710
2903
2904 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2905 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2906 * (grub_net_dns_lookup): Now using separated dns packages.
2907 * (grub_cmd_nslookup): Add error condition.
2908 * (grub_cmd_list_dns): Print DNS option.
2909 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2910 --prefer-ipv4, and --prefer-ipv6.
2911 * include/grub/net.h (grub_dns_option_t): New enum.
2912 * (grub_net_network_level_address): option added.
2913
2914 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2915
2916 * grub-core/video/fb/video_fb.c: Merge two blit functions
2917 into one.
2918
2919 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/term/terminfo.c: Add sequences for home and end.
2922
2923 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2926 graphics console.
2927
2928 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2931 add mode 0x12.
2932
2933 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2936 e-mail by Per Öberg.
2937
2938 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2941 name.
2942
2943 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2944
2945 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2946 emu platforms.
2947 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2948
2949 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * docs/grub.texi: Document usage of menuentry id.
2952
2953 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2956
2957 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2958
2959 * grub-core/commands/i386/nthibr.c: New command.
2960
2961 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2964
2965 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2968 coordinate.
2969
2970 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Support GRUB_DISABLE_SUBMENU config.
2973
2974 Inspired by patch from Prarit Bhargava.
2975
2976 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * docs/grub.texi: Mention RSA support.
2979
2980 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/commands/verify.c: Add RSA support.
2983
2984 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2987 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2988 device is known to be ATAPI.
2989
2990 2013-11-03 Mike Frysinger <vapier>
2991
2992 * configure.ac: Don't add target-prefix.
2993
2994 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2997 variables.
2998
2999 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3002 if language is English.
3003
3004 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3007
3008 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * configure.ac: Don't add -m32/-m64 on emu.
3011
3012 2013-11-02 neil
3013
3014 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3015 broken linux headers.
3016
3017 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3020
3021 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3024 Reed-Solomon recovery if more than half of redundancy info is 0.
3025
3026 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * util/grub-mount.c: Handle symlinks to directories.
3029
3030 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3033 find_file recursively for symlink.
3034
3035 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * tests/util/grub-shell.in: Copy themes.
3038
3039 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3042
3043 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * configure.ac: Use 0x8000 for address instead of 8000.
3046
3047 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3050 signature.
3051
3052 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3055 variable.
3056
3057 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3060
3061 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3064 file_progress_read_hook.
3065 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3066
3067 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3070 and double.
3071
3072 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3075
3076 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Rewrite blocklist functions in order to get progress when
3079 reading large extents and decrease amount of blocklist hook calls.
3080
3081 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3084 of SI suffixes.
3085
3086 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Support --base-clock for serial command to handle weird cards with
3089 non-standard base clock.
3090
3091 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3094 strncpy.
3095 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3096 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3097 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3098 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3099 + strcpy rather than strncpy.
3100
3101 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3104 (check_pool_label): Likewise. Fixes overflow.
3105 (nvlist_find_value): Fix comparison.
3106
3107 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3110 more appropriate functions.
3111
3112 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3115 realloc.
3116
3117 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3120
3121 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3124 on core size.
3125
3126 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3129
3130 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3133 (initialize_tables): reset tl and td to NULL after freeing.
3134
3135 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3138
3139 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3142 of supported tags.
3143
3144 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3147
3148 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3151 quirks.
3152
3153 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3156 a page in protected space.
3157
3158 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3161 allocate space for zero-sized modules.
3162
3163 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3166
3167 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3168
3169 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3170
3171 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3174 safeguards. Fixes a crash with i386/pc/console.c.
3175
3176 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3179 and grub_hostfs_init.
3180
3181 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3184 windows method on other platforms without good stat as well.
3185
3186 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3189
3190 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 Make / in btrfs refer to real root, not the default volume.
3193 Modify mkrelpath to work even if device is mounted with subvolid option.
3194
3195 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3196
3197 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
3198 extra_dist.
3199 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3200 extra_dist.
3201
3202 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3205 fails.
3206
3207 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3208
3209 * docs/autoiso.cfg: New file.
3210
3211 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3214 COND_GRUB_PE2ELF conditions.
3215
3216 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3219 "vnd", "rd" and "fd" disks.
3220
3221 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 Move grub_disk_write out of kernel into disk.mod.
3224
3225 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3228 handling.
3229
3230 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * grub-core/kern/misc.c (grub_abort): Make static
3233
3234 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3237 transform invalid unicode codepoints.
3238
3239 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3242 \0 checking.
3243
3244 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3247
3248 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 Consolidate cpuid code.
3251
3252 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Move cpuid code to cpuid.h and TSC code to tsc.c.
3255
3256 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3257
3258 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3259
3260 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3261
3262 * util/grub-mkconfig.in: Replace $0 with $self.
3263 * util/grub-reboot.in: Likewise.
3264 * util/grub-set-default.in: Likewise.
3265
3266 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3267
3268 * docs/osdetect.cfg: New file.
3269
3270 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3271
3272 * tests/util/grub-shell.in: Add new --debug option.
3273
3274 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3275
3276 * tests/test_unset.in: New test.
3277
3278 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3279
3280 * tests/test_sha512sum.in: New test.
3281
3282 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3285 * include/grub/misc.h: Remove strncat.
3286 * grub-core/lib/posix_wrap/string.h: Likewise.
3287
3288 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3291 Try to handle more than 0xFFFF packets.
3292 Reported by: Bernhard Übelacker <bernhardu>.
3293 He also spotted few overflows in first version of this patch.
3294
3295 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * tests/date_unit_test.c: New test.
3298
3299 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3302 of first three years after start of validity of unixtime.
3303
3304 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3307 division as the one making more sense.
3308 (update_screen): Likewise.
3309 (complete): Likewise.
3310
3311 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3314
3315 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Make char and string width grub_size_t rather than grub_ssize_t.
3318
3319 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3322 unsigned.
3323 (grub_history_replace): Likewise.
3324
3325 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3328 appropriate.
3329
3330 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3333 appropriate.
3334
3335 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3338 Use unsigned divisions rather than signed variants.
3339
3340 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3343 unsigned arithmetics.
3344 Add missing break.
3345
3346 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3349
3350 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3353 rather than signed one.
3354 (recovery): Likewise.
3355
3356 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3359
3360 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3363 than signed.
3364
3365 2013-10-25 Jon McCune <jonmccune@google.com>
3366
3367 * docs/grub.texi: Cleanup security documentation around signatures.
3368
3369 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3372
3373 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3376 than int.
3377
3378 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3381 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3382 functions when compiling for kernel.
3383
3384 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3387 unsigned long long when using %llu.
3388
3389 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3392 terminal after updating progress.
3393
3394 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3397 argument. We don't disable Gate A20 in this code.
3398
3399 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3402 Conceptually based on change in branch "vbe-on-coreboot".
3403
3404 2013-10-24 Robert Millan <rmh@gnu.org>
3405
3406 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3407 numeric constants with their symbolic equivalent.
3408 Taken from branch "vbe-on-coreboot".
3409
3410 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3413
3414 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3417 divmod64 for offset division.
3418
3419 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3420
3421 Rename .bzrignore to .gitignore. Add "*.o" rule.
3422
3423 * .bzrignore: Renamed to...
3424 * .gitignore: ...this.
3425
3426 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3427
3428 Add new progress module that displays the load progress of files.
3429
3430 * grub-core/lib/progress.c: New file.
3431 * grub-core/Makefile.core.def (progress): New module.
3432 * grub-core/kern/file.c (grub_file_open): File name added.
3433 * (grub_file_read): Progress hook added.
3434 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3435 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3436 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3437 * include/grub/file.h (struct grub_file): Add progress module members.
3438 * include/grub/term.h (struct grub_term_output): Likewise.
3439 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3440 Terminal velocity added.
3441 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3442 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3443 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3444 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3445 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3446 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3447 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3448 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3449 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3450 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3451 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3452 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3453
3454 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Verify signatures of signatures unless --skip-sig is specified.
3457
3458 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3461 \0 checking.
3462
3463 Saves 70 bytes on compressed image.
3464
3465 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3468 check.
3469
3470 Saves 10 bytes on compressed image.
3471
3472 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/kern/misc.c (grub_isprint): Move to ...
3475 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3476
3477 Saves 20 bytes on compressed image due to remving exporting.
3478
3479 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3482
3483 Saves 5 bytes on compressed image.
3484
3485 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3488 function get_utf8.
3489
3490 Saves 379 bytes on compressed image.
3491
3492 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3495
3496 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3499
3500 Saves 40 bytes on compressed image.
3501
3502 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3505 mask rather than 64-bit type.
3506
3507 Saves 20 bytes on compressed image.
3508
3509 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3512 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3513
3514 Saves 273 bytes on compressed image.
3515
3516 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3519 variable length arrays.
3520
3521 Saves 50 bytes on compressed image.
3522
3523 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3526
3527 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/fs/ufs.c: Remove variable length arrays.
3530
3531 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3534
3535 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/fs/zfs.c: Remove variable length arrays.
3538 Reduces zfs.mod by 160 bytes (208 compressed).
3539
3540 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3543
3544 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/net/arp.c: Remove variable length arrays.
3547 * grub-core/net/bootp.c: Likewise.
3548 * grub-core/net/dns.c: Likewise.
3549 * grub-core/net/icmp6.c: Likewise.
3550 * grub-core/net/net.c: Likewise.
3551
3552 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/fs/ntfs.c: Remove variable length arrays.
3555 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3556 compressed).
3557
3558 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/fs/hfs.c: Remove variable length arrays.
3561 Reduces hfs.mod by 8 bytes (52 compressed).
3562
3563 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/fs/udf.c: Remove variable length arrays.
3566 Increases udf.mod by 128 bytes (but decreases by 13 when
3567 compressed).
3568
3569 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/fs/iso9660.c: Remove variable length arrays.
3572 Increases iso9660.mod by 200 bytes (but decreases by 79 when
3573 compressed).
3574
3575 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/fs/nilfs2.c: Remove variable length arrays.
3578 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
3579 compressed).
3580
3581 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/fs/xfs.c: Remove variable length arrays.
3584 Reduces xfs.mod by 40 bytes (43 compressed).
3585
3586 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/fs/fshelp.c: Remove variable length arrays.
3589 Reduces fshelp.mod by 116 bytes (23 compressed).
3590
3591 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/normal/completion.c: Remove variable length arrays.
3594 * grub-core/normal/menu_entry.c: Likewise.
3595
3596 Reduces normal.mod by 496 bytes.
3597
3598 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3601 by 356 bytes (158 compressed).
3602
3603 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3606 by 364 bytes (169 compressed).
3607
3608 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3611 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3612 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3613
3614 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3617 bitmasks to small structures of size chosen to fit in registers.
3618
3619 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * conf/Makefile.common: Use -freg-struct-return on i386. This
3622 decreases code size and improves performance.
3623
3624 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3627
3628 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3631 "(null)" string.
3632 Simplify expressions to save around 256 bytes in kernel.img.
3633 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3634
3635 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3638 Use GRUB_UTIL_FD_O_* rather than O_*.
3639
3640 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Add haiku-specific functions.
3643
3644 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3647
3648 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 Move stat () and device mode checking into OS-dependent files as
3651 long as performance doesn't suffer.
3652
3653 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Split make_system_path_relative_to_its_root into separate file
3656 relpath.c from getroot.c as it's common between unix and haiku
3657 but otherwise haiku doesn't use any functions from unix getroot.c.
3658
3659 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3662 New function.
3663 (grub_util_is_special_file): Likewise.
3664
3665 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3668 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3669
3670 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3673 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3674
3675 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3678 (load_image): Likewise.
3679
3680 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * util/grub-render-label.c: Move backend part to ...
3683 * util/render-label.c: ... here.
3684
3685 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3688 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3689
3690 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3693
3694 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3697 CD-ROM in case when it's declared as having subpartitions.
3698
3699 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Don't add -lm on haiku.
3702
3703 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3704 and empty on haiku.
3705 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3706 -lm.
3707
3708 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * configure.ac: Use -melf_*_haiku as target on haiku.
3711
3712 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * Makefile.util.def: Add util/setup.c to extra_dist.
3715
3716 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3719 unknown types through.
3720
3721 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3724 (grub_util_check_char_device): Likewise.
3725 * include/grub/emu/getroot.h: Likewise.
3726
3727 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3730 memset rather than inline static function.
3731
3732 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3735 not doing embedded decompressor.
3736
3737 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3740 shadowing.
3741 * grub-core/kern/disk.c: Likewise.
3742 * grub-core/kern/misc.c: Likewise.
3743 * include/grub/parser.h: Likewise.
3744 * include/grub/script_sh.h: Likewise.
3745 * include/grub/zfs/zfs.h: Likewise.
3746
3747 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3750
3751 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3754 defined before trying to use it.
3755
3756 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3759 warning.
3760
3761 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3764 Use __unused__ rather than __used__ on gcc < 3.2.
3765
3766 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3769 gcc < 4.0.
3770 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3771
3772 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3775
3776 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3779 * include/grub/emu/misc.h: Likewise.
3780
3781 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3784 cur_color.
3785
3786 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3787
3788 * grub-core/tests/checksums.h: Regenerated due to progress bar
3789 get_minimal_size changes.
3790
3791 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3792
3793 Added `tr' command support.
3794
3795 * grub-core/commands/tr.c: New file.
3796 * grub-core/Makefile.core.def: Build rules for new module.
3797
3798 * tests/grub_cmd_tr.in: New test.
3799 * Makefile.util.def: Build rules for new test.
3800
3801 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3802
3803 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3804
3805 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3806
3807 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3808 * docs/gurb.texi: Likewise.
3809
3810 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3811
3812 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3813 Pixmap highlighted section with east and west slices was displayed
3814 incorrectly due to negative width of the central slice.
3815
3816 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3817
3818 * docs/grub.texi: Graphical options information update.
3819 Removed outdated. Updated current. Inserted missed.
3820
3821 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * docs/grub.texi: Mention few new platform-specific commands.
3824
3825 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3828 currently used so this doesn't really have any effect.
3829 Reported by: Douglas Ray <dougray>
3830
3831 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3834 compilation but prevents gcc from displaying messages in non-Latin
3835 alphabets.
3836 * conf/Makefile.common: Likewise.
3837
3838 2013-10-16 Hiroyuki YAMAMORI
3839
3840 Handle Japanese special keys.
3841 Reported by: Hiroyuki YAMAMORI.
3842 Codes supplied by: Hiroyuki YAMAMORI.
3843
3844 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3845
3846 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3847
3848 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3849
3850 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3851 * docs/grub.texi: Likewise.
3852
3853 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3856 value in case of incomplete read.
3857 (grub_util_fd_write): Likewise.
3858
3859 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3862
3863 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * util/grub-editenv.c (create_envblk_file): More from here ...
3866 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3867
3868 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3871 canonicalize file name before doing the rest.
3872
3873 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3876 mingw32.
3877
3878 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Define grub_util_is_directory/regular/special_file and
3881 use OS-dependent versions rather than to rely on stat().
3882
3883 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * util/grub-mkimage.c: Move backend part to ...
3886 * util/mkimage.c: ... here.
3887
3888 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Allow compilation with mingw64 albeit with warnings due to lack of
3891 %llx/%llu.
3892
3893 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3894 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3895 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3896 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3897 on mingw64.
3898 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3899
3900 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Remove leftover references to some of the system headers.
3903
3904 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3907 read.
3908
3909 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3912 of strerror.
3913
3914 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 Split out blocklist retrieving from setup.c to
3917 grub-core/osdep/blocklist.c and add windows implementation since
3918 generic version doesn't work on NTFS on Windows due to aggressive
3919 unflushable cache.
3920
3921 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3924 files.
3925
3926 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3929 Cut tailing newline. Remove arbitrary limitation. Always use
3930 grub_util_tchar_to_utf8.
3931
3932 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3935 * tests/printf_unit_test.c (printf_test): Add %% tests.
3936 Reported by: Paulo Flabiano Smorigo.
3937
3938 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3941 implement fsync.
3942
3943 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3946 use nvlist_lookup_string and don't use nvlist_print.
3947
3948 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3951 closedir to handle filename charset translation.
3952
3953 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * include/grub/emu/hostdisk.h: Move file operations to
3956 * include/grub/emu/hostfile.h: ... here.
3957
3958 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3961 unicode path.
3962
3963 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3966
3967 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3970 and remove export.h.
3971
3972 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/kern/emu/error.c: Removed.
3975 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3976 explicitly as it's already in libgnu.a.
3977
3978 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3981 config-util.h include.
3982
3983 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Split emunet into platform-dependent and GRUB-binding parts. Keep
3986 platform-dependent part in kernel for easy access to OS functions.
3987
3988 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3991 open/read/write.
3992
3993 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/osdep/windows/emuconsole.c: New file.
3996
3997 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3998
3999 * conf/Makefile.extra-dist: Add osdep/*/init.c
4000
4001 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4004
4005 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * util/grub-probe.c (probe): Separate different drives in hint-str
4008 by spaces and not newlines.
4009 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4010
4011 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4012
4013 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4014 Handle CD-ROMs.
4015
4016 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 Pass-through unknown E820 types. It required reorganisation of mmap
4019 module.
4020
4021 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4022
4023 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4024
4025 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4028 fseeko.
4029
4030 2013-10-14 qwertial <qwertial>
4031
4032 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4033
4034 2013-10-14 Jon McCune <jonmccune@google.com>
4035
4036 * docs/grub.texi: Document new signatures possibility.
4037
4038 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4041
4042 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4045 missing prototype.
4046 (grub_util_tchar_to_utf8): Likewise.
4047
4048 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4051 * grub-core/kern/emu/main.c: Add missing include.
4052 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4053 Don't call grub_util_init_nls.
4054 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4055 Likewise.
4056
4057 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4060 stat.
4061
4062 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4065
4066 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4069
4070 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Add a wrapper for fopen. On unix-like systems just pass-through. On
4073 windows use unicode version.
4074
4075 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Move set_program_name and init_nls to host_init. On windows
4078 fix in this fuction console and argument charset as well.
4079
4080 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4081
4082 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4083 GRUB_ENABLE_CRYPTODISK.
4084
4085 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4086 GRUB_ENABLE_CRYPTODISK.
4087 * util/grub-mkconfig_lib.in: Likewise.
4088
4089 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4090
4091 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4092
4093 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4094
4095 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4096 error when enabling debug.
4097
4098 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4099
4100 * configure.ac: Use -melf_*_obsd on openbsd.
4101
4102 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4105
4106 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * include/grub/misc.h: Use gnu_printf rather than printf as format
4109 template since our functions are independent of libc.
4110
4111 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * util/grub-setup.c (setup): Move copying of partition table as
4114 futher up as possible to avoid possible overwrite by floppy routines.
4115
4116 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4119
4120 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4121
4122 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4123 * docs/grub.texi: Likewise.
4124
4125 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4128 it's mostly unused. Move vestiges to the callers.
4129
4130 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4133 version of salt and hash. Use grub_snprintf rather than snprintf.
4134
4135 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * docs/grub.texi: Fix problem with braces.
4138
4139 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * conf/Makefile.extra-dist: Fix extra-dist list.
4142 * grub-core/Makefile.core.def: Likewise.
4143
4144 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * docs/grub.texi: Document disk names used on Windows and AROS.
4147
4148 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4151 with AROS devs.
4152 * grub-core/osdep/aros/hostdisk.c: Likewise.
4153
4154 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 Avoid including hostfile.h when not necessarry as it pulls
4157 in OS-specific headers which may redefine generic names
4158 like "far".
4159
4160 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4161
4162 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4163 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4164 scrollbar_bottom_pad
4165 * docs/grub.texi: Likewise.
4166
4167 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4168
4169 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4170
4171 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4174
4175 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4178 Removed.
4179 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4180 Made static.
4181
4182 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4185 leftover.
4186
4187 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Move OS-specific driver configuration to grub_util_fd_open. This
4190 moves OS-dependent parts from kern/emu/hostdisk.c to
4191 grub-core/osdep/*/hostdisk.c.
4192
4193 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * util/grub-mkimage.c (generate_image): Use size_t instead of
4196 grub_size_t.
4197 * util/grub-mkimagexx.c (locate_sections): Likewise.
4198 (load_image): Likewise.
4199
4200 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4203 size_t.
4204 (grub_util_write_image): Likewise.
4205
4206 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4209 get random when no RNG is available.
4210 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4211
4212 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * include/grub/util/lvm.h: Removed.
4215
4216 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4219 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4220
4221 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4224
4225 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4228
4229 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/net/drivers/emu/emunet.c: Move to ..
4232 * grub-core/osdep/linux/emunet.c: ..here.
4233
4234 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * util/ieee1275/ofpath.c: Move to ...
4237 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4238 * grub-core/osdep/basic/ofpath.c: ..here.
4239
4240 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 Move password-querying (util-version) routines to grub-core/osdep.
4243
4244 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 Move sleep routines to grub-core/osdep.
4247
4248 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 Move OS-dependent files to grub-core/osdep and document it.
4251
4252 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4255 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4256
4257 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4260
4261 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/misc.c: Remove leftover inclusion of malloc.h.
4264
4265 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * include/grub/setjmp.h: Remove leftover GRUBOF.
4268
4269 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * util/raid.c: Fold into ...
4272 * util/getroot_linux.c: ... here. Make all functions static.
4273
4274 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4277 macros to GRUB ones.
4278
4279 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4280
4281 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4282 occasional bug. If there are too many boot entries or too low
4283 scrollbar height then we need to use another formula to calculate
4284 the position and size of the scrollbar thumb.
4285
4286 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
4289
4290 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4291
4292 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4293 * docs/grub.texi: Likewise.
4294
4295 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4296
4297 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4298 viewport.
4299
4300 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4301
4302 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4303 minimal width calculations.
4304
4305 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * docs/grub.texi: Update note on colors on emu console.
4308
4309 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4312 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4313 it's FS and not GRUB limitation.
4314
4315 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4318
4319 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4322
4323 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4324
4325 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4326 kernels by version order.
4327
4328 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4331
4332 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 Add AROS hostdisk and getroot routines.
4335
4336 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Make cryptodisk and diskfilter probe data retrievable programmatically
4339 and not just printable.
4340
4341 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 Split random retrieving code into separate files.
4344
4345 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4348 R_ARM_V4BX.
4349
4350 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4353 condition.
4354 * grub-core/tests/fake_input.c: Likewise.
4355 * grub-core/tests/cmdline_cat_test.c: Likewise.
4356
4357 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/video/capture.c: Do not do finalization when .fini
4360 is called as there is explicit capture_end.
4361
4362 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4365 changing windows to avoid crash.
4366
4367 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4370
4371 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * po/exclude.pot: Add several strings to exclude.
4374
4375 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4378
4379 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4382 ./util/grub-gen-asciih.c to exclude list.
4383
4384 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4387 and don't mark error strings for translation.
4388
4389 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4392 properly in case of missing block size.
4393
4394 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/lib/arm/setjmp.S: Add missing license section.
4397
4398 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * po/swiss.sed: Add replacement for key names and for term computer.
4401
4402 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4403
4404 * grub-core/gfxmenu/theme_loader.c: New global options for the
4405 theme background image handling. desktop-image-scale-method,
4406 desktop-image-h-align, desktop-image-v-align.
4407 * grub-core/gfxmenu/view.c: Likewise.
4408 * include/gfxmenu_view.h: Likewise.
4409 * include/bitmap_scale.h: Proportional scale functions introduced.
4410 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4411 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4412 cases of unexpected input variables for scale functions.
4413 * docs/grub.texi: Updated documentation for new options.
4414
4415 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4418
4419 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4420
4421 * grub-core/tests/checksums.h: Corrected due to changes in
4422 bilinear interpolation function.
4423
4424 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4425
4426 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4427 to eliminate artefacts in bilinear interpolation.
4428
4429 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/video/readers/tga.c: Support paletted tga.
4432
4433 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4436 incorrect cbcr setting when in color mode.
4437
4438 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/video/readers/png.c: Support paletted images and clean up
4441 greyscale support.
4442
4443 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4446 usage of wrong table which resulted in mishandling of 4-byte
4447 sequences.
4448
4449 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/term/terminfo.c: Add Home and End key sequences.
4452
4453 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4456 Fix formula for computing total number of bytes.
4457
4458 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4461 image processing, fix big-endian and support grayscale.
4462
4463 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4466 Correctly will with maximum transparency when using index color.
4467
4468 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/video/readers/png.c: Support grayscale
4471
4472 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/video/readers/jpeg.c: Support grayscale.
4475
4476 2013-09-26 Jon McCune <jonmccune@google.com>
4477
4478 * grub-core/commands/loadenv.c: Support skipping signature check
4479 and variable names filtering.
4480
4481 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4484 * grub-core/kern/emu/hostfs.c: Likewise.
4485 * util/getroot_unix.c: Likewise.
4486
4487 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4490 Migrate all explicit defines to this new one.
4491
4492 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4495 grub_util_fd_strerror when using grub_util_fd_*.
4496 (grub_util_fd_open_device): Likewise.
4497 (grub_util_biosdisk_read): Likewise.
4498 (grub_util_biosdisk_write): Likewise.
4499 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4500 (grub_util_fd_strerror): Likewise.
4501 (grub_util_fd_sync): Likewise.
4502 (grub_util_fd_close): Likewise.
4503 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4504 (grub_util_fd_close): Likewise.
4505 (grub_util_fd_strerror): Likewise.
4506 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4507 function proto rather than macro.
4508 (grub_util_fd_sync): Likewise.
4509 (grub_util_fd_open): Likewise.
4510 (grub_util_fd_strerror): New proto.
4511
4512 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4515 platforms on which it doesn't work.
4516
4517 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4520 stat immediately to where it's used.
4521
4522 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * util/getroot.c (grub_util_check_block_device): Move to ...
4525 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4526 * util/getroot.c (grub_util_check_char_device): Move to ...
4527 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4528
4529 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4532 disk closing logic.
4533
4534 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4535
4536 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4537
4538 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4539
4540 * docs/grub.texi (File name syntax): Document ZFS filenames
4541 (/volume@snapshot/...).
4542
4543 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4546 Always return full path. Fixes a problem with mkrelpath.
4547
4548 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4549
4550 * util/grub-install.in: Add GPT PReP support.
4551 * util/grub-probe.c (probe): Support GPT partition type.
4552 (main): Support -t gpt_parttype.
4553
4554 2013-09-23 Aleš Nesrsta <starous@volny.cz>
4555
4556 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4557
4558 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4559
4560 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4561
4562 2013-09-23 Tim Hardeck <thardeck>
4563
4564 * util/grub.d/10_hurd.in: Filter out character for the class.
4565 * util/grub.d/10_kfreebsd.in: Likewise.
4566 * util/grub.d/10_linux.in: Likewise.
4567 * util/grub.d/20_linux_xen.in: Likewise.
4568
4569 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4570
4571 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4572 "changed".
4573
4574 2013-09-23 Josh Triplett <josh@joshtriplett.org>
4575
4576 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4577 boot partition.
4578
4579 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4582 doesn't use posix_wrap. Keep literal -fno-builtin however.
4583
4584 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4587
4588 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4589 2013-09-23 neil
4590
4591 * configure.ac: Do not enable -Wmissing-noreturn as its
4592 usefulness is limited and creates problems on some OS notably with
4593 code generated by bison.
4594
4595 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4596 2013-09-23 neil
4597
4598 * configure.ac: Do not explicitly enable -Waddress as it's not
4599 supported by all gcc and when it is, it's already enabled by -Wall.
4600
4601 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4604 desactivated use of EDID at all.
4605
4606 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4607 2013-09-23 neil
4608
4609 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4610 video if no text is available.
4611
4612 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4613 2013-09-23 neil
4614
4615 * configure.ac: Substitute TARGET_RANLIB.
4616
4617 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4618 2013-09-23 neil
4619
4620 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4621
4622 Based on patches from AROS.
4623
4624 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4625 2013-09-23 neil
4626
4627 * grub-core/Makefile.am: Override STRIP and RANLIB.
4628 * configure.ac: compute TARGET_RANLIB.
4629 * INSTALL: Document TARGET_RANLIB
4630
4631 Based on patches from AROS.
4632
4633 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4636 that floppies are unpartitioned.
4637
4638 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4641 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4642
4643 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4646 less nice but more portable.
4647 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4648
4649 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4652 for cheat_fd.
4653 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4654 functions.
4655 (grub_cryptodisk_cheat_insert): Likewise.
4656 (grub_cryptodisk_close): Likewise.
4657
4658 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4661 Use windows path for DEFAULT_DIRECTORY.
4662
4663 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4666 difference was likely just gcc version, not anything mingw-related.
4667
4668 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Use Winapi on both cygwin and mingw32 to share more code between both.
4671
4672 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4673
4674 * util/grub-install.in: Add --grub-editenv option.
4675 * util/grub-install_header (grub_compress_file): Explicitly check for
4676 plain file to avoid cp error.
4677
4678 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4679
4680 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4681 names; fix LVM driver name (lvm, not lv).
4682 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4683 names.
4684
4685 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4688 files rather than one file with loads of #if's.
4689 * util/getroot.c: Likewise.
4690
4691 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4694
4695 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4698 GNU/Hurd to the list of checked PRNG.
4699
4700 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4703
4704 2013-09-21 Ales Nesrsta <starous@volny.cz>
4705
4706 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
4707
4708 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4711 * grub-core/disk/lvm.c: Add LVM UUIDs.
4712 * util/getroot.c: Use LVM UUIDs whenever possible.
4713
4714 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4715
4716 * docs/grub.texi (Networking commands): Add documentation for
4717 network related commands.
4718
4719 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4722 to determine if device is handled by devmapper.
4723 (convert_system_partition_to_system_disk): Likewise.
4724 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4725 already done in grub_util_open_dm.
4726
4727 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4728
4729 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4730 Clean up stack manipulation (sync_caches_armv*)
4731
4732 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * util/lvm.c: Remove since unused. Remove remaining references.
4735
4736 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 Handle the case of partitioned LVM properly.
4739
4740 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4741 Stop on meeting LVM, mpath or DMRAID.
4742 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4743 (read_device_map): Likewise.
4744 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4745 device is full disk rather than erroring out on LVM and similar cases.
4746
4747 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4750
4751 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4754 4K before the end.
4755 Reported by: Leif Lindholm
4756
4757 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
4758 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4761 codes.
4762
4763 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
4764
4765 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4766 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4767
4768 2013-09-18 Douglas Ray <dougray@cpan.org>
4769
4770 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4771 as secure.
4772
4773 2013-09-18 Aleš Nesrsta <starous@volny.cz>
4774
4775 * docs/grub.texi: Fix broken link.
4776
4777 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4778
4779 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4780 to break endless loop.
4781
4782 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * util/grub-fstest.c: Fix several printf formats.
4785 * util/grub-mkimage.c: Likewise.
4786 * util/grub-mkimagexx.c: Likewise.
4787 * util/grub-script-check.c: Likewise.
4788
4789 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4792 error.
4793
4794 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4797
4798 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4801 removed in current versions cygwin_conv_*.
4802
4803 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * configure.ac: Disable efiemu runtime on cygwin.
4806
4807 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4810 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4811
4812 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4815 error message.
4816
4817 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4820 windows variant.
4821 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4822 data.
4823
4824 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4827 when on x86 and not cygwin.
4828 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4829 -Wl,-melf_x86_64.
4830
4831 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * configure.ac: Set CPP to build one when checkoing for freetype for
4834 build.
4835
4836 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4839 [!GRUB_BUILD]: Remove has_argument.
4840
4841 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4844 Replace with a dummy.
4845
4846 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * configure.ac: Don't change host_os from mingw to cygwin.
4849
4850 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * configure.ac: Change target_os from windows to cygwin.
4853
4854 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4857
4858 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4859 (build-grub-gen-asciih): Likewise.
4860 (build-grub-gen-widthspec): Likewise.
4861 * Makefile.util.def (grub-pe2elf): Remove.
4862 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4863 * configure.ac: Separate tests for build.
4864 Move ./build-grub-pe2elf to grub-core.
4865 Fix typo.
4866 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4867 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4868 defined.
4869 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4870 constants.
4871 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4872 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4873 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4874
4875 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4878 mingw32 as well based on grub_util_get_disk_size.
4879 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4880 grub_util_get_fd_size.
4881 (sync): Removed.
4882 (fsync): Moved to ...
4883 * grub-core/kern/emu/misc.c (fsync): ... here.
4884
4885 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * include/grub/mm.h (grub_extend_alloc): Remove.
4888 * grub-core/loader/i386/pc/plan9.c: Use own version of
4889 grub_extend_alloc with appropriate types.
4890
4891 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4894
4895 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4898
4899 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 Fix dependencies on cygwin.
4902
4903 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4904 dependencies when used and defined.
4905 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4906
4907 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4910 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4911
4912 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4915 implementation available to cause compile-time rather than runtime
4916 error.
4917
4918 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * util/grub-fstest.c: Don't check for symlinks on windows.
4921
4922 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * INSTALL: Mention unavailability of man pages when cross-compiling.
4925
4926 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4929 and gcry_log_bug.
4930 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4931
4932 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * INSTALL: Document cross-compilation.
4935 * acinclude.m4: Determine whether nm support -P and --defined-only.
4936 * configure.ac: Add TARGET_ to all variables pertaining to target
4937 that don't have it yet.
4938 * gentpl.py: Likewise.
4939 * grub-core/Makefile.am: Likewise.
4940 * grub-core/genmod.sh.in: Likewise.
4941 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4942 as well.
4943
4944 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4945
4946 * configure.ac: Remove -Wempty-body. It's not essential and needs
4947 recent gcc.
4948
4949 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4950
4951 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4952 * util/getroot.c: Likewise.
4953
4954 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/disk/ahci.c: Add needed explicit cast.
4957 * grub-core/lib/backtrace.c: Likewise.
4958 * grub-core/net/ip.c: Likewise.
4959 * grub-core/net/tcp.c: Likewise.
4960 * grub-core/net/udp.c: Likewise.
4961
4962 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4965
4966 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * util/import_gcry.py: Add final newline in visibility.h.
4969
4970 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * conf/Makefile.common: Fix typo.
4973
4974 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4977
4978 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * Makefile.am (widthspec.h): Fix typo.
4981 * util/grub-gen-widthspec.c: Likewise.
4982
4983 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Move ascii.h and widthspec.h generation to a separate build-time-only
4986 tool.
4987
4988 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4989
4990 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4991 Always fill bootdisk info and improve check for NetBSD disklabel.
4992
4993 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * conf/Makefile.extra-dist: Add util/bin2h.c.
4996 Reported by: floppym.
4997
4998 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5001
5002 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * configure.ac: Disable unifont and starfield if no freetype was found.
5005
5006 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5009 on NetBSD and OpenBSD.
5010
5011 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5012
5013 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5014
5015 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5016
5017 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5018 reduced. Inheritant options are processed during the theme loading.
5019
5020 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5021
5022 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5023
5024 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5025
5026 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5027
5028 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5029
5030 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5031 using qemu.
5032
5033 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5034
5035 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5036 remove-potcdate.sed.
5037
5038 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5039
5040 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5041 unused attribute from pull argument.
5042
5043 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5044
5045 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5046 memory leak.
5047
5048 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5049
5050 * util/getroot.c (pull_lvm_by_command): add --separator option
5051 to vgs call to disable padding of output to 10 characters.
5052
5053 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5056 here ...
5057 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5058 here.
5059
5060 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5063 length.
5064
5065 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5068 full Canadian cross. Tested with build=x86_64, host=arm,
5069 target=ppc-ieee1275.
5070
5071 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * configure.ac: Error if no $BUILD_CC could be found.
5074 Reported by: DevHC.
5075
5076 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5079 i386-multiboot.
5080
5081 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5084 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5085
5086 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5087
5088 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5089 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5090 falling back to the partition device, otherwise a later call to this
5091 function may fail spuriously.
5092 Reported by Axel Beckert. Fixes Debian bug #708614.
5093
5094 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5095
5096 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5097
5098 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5099
5100 Prevent shadowing of stdlib's devname(3) on BSD.
5101
5102 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5103 and devlast to diskname and disklast, respectively.
5104
5105 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5106
5107 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5108
5109 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5110
5111 * docs/grub.texi: Introduce terminal window position options:
5112 terminal-left: terminal window's left position
5113 terminal-top: terminal window's top position
5114 terminal-width: terminal window's width
5115 terminal-height: terminal window's height
5116 terminal-border: terminal window's border width
5117 * grub-core/gfxmenu/theme-loader.c: Likewise.
5118 * include/grub/gfxmenu_view.h: Likewise.
5119 * po/exlude.pot: Likewise.
5120 * grub-core/gfxmenu/view.c: Likewise.
5121 Also updated minimal window size.
5122 Also terminal_sanity_check function has been introduced.
5123 * grub-core/tests/checksums.h: Update (terminal window height
5124 is adjusted now for low resolution screen)
5125
5126 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5129 position).
5130
5131 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * po/exclude.pot: Add few recent exceptions.
5134
5135 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * tests/grub_func_test.in: Add unicode.pf2.
5138
5139 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5142 standard rather than noral color, in line with other terminals.
5143
5144 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5147 analysis.
5148
5149 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5152
5153 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5156 inappropriate printf.
5157
5158 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5159
5160 * .bzrignore: Remove grub-core/lib/dtc-grub,
5161 grub-core/Makefile.libfdt.def
5162 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5163
5164 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * include/grub/video.h (grub_video_register): Keep double-linked as
5167 well as single-linked invariants.
5168 Reported by: qwertial.
5169
5170 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/commands/nativedisk.c (get_uuid): Handle
5173 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5174
5175 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5176
5177 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5178 maximum of NW, N, NE heights instead of N's height and maximum of
5179 NW, W, SW widths instead of W's width. (So the box will be always
5180 correctly drawn)
5181
5182 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5183
5184 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5185 Fix misuse of variable count.
5186
5187 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5188 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5189 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 New ports to arm-uboot and arm-efi.
5192 Mostly by Leif Lindholm with some additions from
5193 Francesco Lavra and cleanup by Vladimir Serbinenko.
5194
5195 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5198 and not before.
5199 Reported by: Leon Drugi.
5200
5201 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5204 Reported by: Paulo Flabiano Smorigo.
5205
5206 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5207
5208 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5209
5210 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5211
5212 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5213
5214 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5217
5218 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5221
5222 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5223
5224 * grub-core/net/bootp.c: Export net_* variables.
5225 * grub-core/net/net.c: Likewise.
5226
5227 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5230
5231 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5234
5235 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5238
5239 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5242
5243 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5244
5245 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5246 <= 0.
5247
5248 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5249
5250 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5251 functions.
5252
5253 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5254
5255 * grub-core/fs/zfs/zfs_lz4.c: New file.
5256 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5257
5258 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5259
5260 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5261
5262 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5263
5264 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5265 (check_pool_label): Likewise.
5266 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5267
5268 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5269
5270 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5271
5272 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5273
5274 * docs/grub.texi (Commands): Document postition parameters
5275 for menuentry command.
5276
5277 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5278
5279 * util/grub-mknetdir.in: Remove stray line from help output.
5280
5281 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Remove early sm712 init as there is no reason for it (the "watchdog"
5284 effect was due to wrong GPIO map).
5285
5286 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/commands/pcidump.c: Remove static variables.
5289
5290 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5293
5294 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * configure.ac: Move delimiter after the infos.
5297
5298 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5301
5302 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5305 not filling whole 8x16 space.
5306
5307 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5310
5311 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * configure.ac: Indicate which liblzma is used if any.
5314
5315 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
5316 2013-06-21 Craig Sanders <savannah@taz.net.au>
5317
5318 * util/grub-reboot.in: Document submenu usage.
5319
5320 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5321
5322 * .bzrignore: Update with a number of new test-related files.
5323
5324 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5325
5326 * util/grub-script-check.c: Fail on scripts containing no
5327 commands, to guard against corrupted grub-mkconfig setups that
5328 produce no useful output.
5329 * tests/grub_script_no_commands.in: New test.
5330 * Makefile.util.def (grub_script_no_commands): Add.
5331 Reported by Hans Putter. Fixes Debian bug #713886.
5332
5333 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5334
5335 * grub-core/disk/diskfilter.c: Forgot to remove comment
5336 from previous commit.
5337
5338 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5339
5340 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5341 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5342
5343 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5344
5345 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5346
5347 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5348
5349 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5350 rescan diskfilter devices until nothing new is found.
5351
5352 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5355
5356 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 Don't try to detect cbfs on *-emu.
5359
5360 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5363
5364 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Add support for processed coreboot payload chainloading.
5367
5368 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Enable coreboot information commands even when not loaded as
5371 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5372
5373 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 Support for cbfs. Also factor out the part which is common
5376 for all archives to a separate module. This splits tar from cpio
5377 as they are very different but keeps cpio, cpio_be, odc and newc
5378 together since they're very similar.
5379
5380 2013-06-15 David Michael <fedora.dm0@gmail.com>
5381
5382 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5383 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5384
5385 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * tests/grub_script_eval.in: Really add the eval test.
5388
5389 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Move flavour-specific parts out of common cpio.c file and
5392 rename remaining to cpio_common.c
5393
5394 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5395
5396 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5397 off new function grub_script_execute_new_scope. Change callers to use
5398 either of them as appropriate.
5399 * grub-core/commands/eval.c: New command eval.
5400 * docs/grub.texi (Commands): Document it.
5401
5402 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5403
5404 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5405 to fetch values when listing.
5406
5407 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5408
5409 Fix make dist on non-pc.
5410
5411 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
5412
5413 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5414 without a device name.
5415
5416 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Remove enable_executable_check as it's not needed anymore.
5419 Reported by: dougray.
5420
5421 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5424 ambigouos RAID before discovering RAIDs on top of it.
5425 Reported by: bodom.
5426
5427 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 Fix typo (failback vs fallback).
5430
5431 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5432
5433 * util/grub.d/30_os-prober.in: Add support for probing EFI
5434 System Partition (as of os-prober 1.58).
5435
5436 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * configure.ac: Add yet another path to unifont. For parabola.
5439
5440 2013-05-30 Josh Triplett <josh@joshtriplett.org>
5441
5442 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5443 handling to copy the killed characters to the kill buffer as
5444 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5445 stored as char. Eliminates UCS4 truncation and corruption
5446 observed when killing characters with Ctrl-u and yanking them
5447 back with Ctrl-y.
5448
5449 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 Detach optional parts of gfxterm and integrate in with coreboot init.
5452
5453 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 Move blit and fill dispatcher to appropriate files to decrease export
5456 and relocation overhead.
5457
5458 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5461 functions.
5462
5463 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/Makefile.am: Fix compilation problem with some
5466 automake versions.
5467
5468 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5471
5472 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5475 automake versions.
5476
5477 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5480 SSDT.
5481
5482 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5483
5484 * grub-core/partmap/dfly.c: New partition map.
5485
5486 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5489 checking.
5490 Reported by: Francesco Lavra.
5491
5492 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5493
5494 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5495 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5496 false conditions.
5497 * conf/Makefile.common: define dist_grubconf_DATA
5498
5499 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 Progressively skip menu elements on small terminals rather
5502 than crashing.
5503
5504 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5507 to avoid losing last column.
5508
5509 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * po/exclude.pot: Add missing string "%C".
5512
5513 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5516 after the test.
5517
5518 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * util/grub-install.in: Gettextize "Not found" message.
5521
5522 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Fix distfiles list.
5525 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5526
5527 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5528
5529 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5530 present.
5531 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5532
5533 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5536
5537 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5540 attribute since structure is not necessarily aligned.
5541
5542 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5543
5544 * docs/grub.texi (Device syntax): Clarify description of network
5545 drives.
5546
5547 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5550 for vasprintf presence.
5551
5552 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * util/grub-install.in: Handle efibootmgr presence check.
5555 Reported by: Leif Lindholm.
5556
5557 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5560 new strings to translate.
5561
5562 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5565 yet another string (pun intended) to translate.
5566
5567 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * po/POTFILES-shell.in: Autogenerate it.
5570
5571 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5574
5575 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5578 misnomer.
5579
5580 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5581
5582 * docs/grub.texi (Network): Add description of net_default_interface,
5583 net_default_ip and net_default_mac. Rewrite variables description
5584 to emphasize that they are per-interface.
5585
5586 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 New test: cmdline and cat.
5589
5590 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/commands/cat.c: Show UTF-8 characters.
5593
5594 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * conf/Makefile.common: Poison float and double on non-emu.
5597
5598 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * configure.ac: Don't disable extended registers on emu.
5601
5602 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * configure.ac: Don't use extended registers on x86_64.
5605 Reported by: Peter Jones.
5606
5607 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/term/efi/console.c: Fix compile error.
5610
5611 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 Compressed HFS+ support.
5614
5615 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5618 pixel".
5619
5620 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Menu color test.
5623
5624 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/tests/setjmp_test.c: New test.
5627
5628 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 New variables 'net_default_*' to determine MAC/IP of default interface.
5631
5632 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * tests/gettext_strings_test.in: A test to check for strings not
5635 marked for translation.
5636
5637 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * autogen.sh: Exclude unused libgcrypt files from translation.
5640
5641 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 Simplify few strings.
5644
5645 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Mark few forgotten strings for translation.
5648
5649 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5652 rather than printf.
5653
5654 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5657 rather than printf.
5658 * grub-core/video/readers/tga.c: Likewise.
5659
5660 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * tests/priority_queue_unit_test.cc: New test.
5663
5664 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5667 than printf.
5668
5669 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5670
5671 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5672 variable for one time boot menu entry.
5673
5674 2013-05-05 Bean <bean123ch@gmail.com>
5675
5676 * grub-core/commands/testspeed.c: New command testspeed.
5677
5678 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 Factor-out human-size printing.
5681
5682 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 Agglomerate more mallocs to speed-up gfxterm.
5685
5686 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Speed-up gfxterm by slightly agglomerating mallocs.
5689
5690 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 More video checks.
5693
5694 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Speed-up gfxterm by saving intermediate results in index+alpha
5697 format.
5698
5699 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5702 test.
5703
5704 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5707 line of timeout as it may contain the rest of long line.
5708
5709 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/normal/main.c: Fix freed memory dereference.
5712
5713 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 Fix several memory leaks.
5716
5717 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5720
5721 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5724
5725 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 Fix test -a and -o precedence.
5728 Reported by: adrian15.
5729
5730 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5733
5734 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5735
5736 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5737 and add it as source to functional_test module.
5738
5739 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5742
5743 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 New series of tests for gfxterm and gfxmenu.
5746
5747 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5750 the theme path relative to $prefix/themes.
5751
5752 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5755 Fix order bug.
5756 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5757
5758 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5761 descriptor.
5762
5763 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5766 grub_gfxmenu_timeout_notifications.
5767 (grub_gfxmenu_view_destroy): Likewise.
5768
5769 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5772
5773 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 Several fixes to ieee1275 and big-endian video.
5776
5777 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 Add missing exports on mips.
5780
5781 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5784 if no unifont is found.
5785 Restore original keyboard.
5786
5787 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5790 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5791
5792 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 First automated video test (running videotest and comparing results)
5795
5796 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5799 instead of 2 to have full RGB/CMY test pattern.
5800
5801 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 Add few more tests.
5804
5805 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5808 ARCS. All users updated.
5809
5810 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5813
5814 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5817
5818 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5821 Reported by: qwertial.
5822
5823 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5824
5825 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5826 with syntax "XXX deg"/"XXX °".
5827
5828 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 Make PCI init in i386-qemu port more robust.
5831
5832 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5833
5834 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5835 cached view is reused.
5836 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5837 open boot menus.
5838
5839 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Unify more code in grub-install_header.
5842
5843 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 Add few new tests.
5846
5847 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Enforce disabling of firmware disk drivers when native drivers kick in.
5850
5851 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/commands/nativedisk.c: Customize the list of modules on
5854 platform. Don't try to search for disks already using native drivers.
5855
5856 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5859 platforms.
5860
5861 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5864 handling of variables containing backslash.
5865
5866 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5869 dereference.
5870 Reported by: qwertial.
5871
5872 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5875
5876 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5879 dereference.
5880 Reported by: qwertial.
5881
5882 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5885
5886 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5889
5890 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 New command `nativedisk'.
5893
5894 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5897 * grub-core/loader/i386/bsd.c: Likewise.
5898
5899 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5902
5903 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5906 grub_get_unaligned16 rather than shifts.
5907
5908 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/kern/file.c: Use const char * rather than casting to
5911 non-const.
5912
5913 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/commands/probe.c: Add missing grub_device_close.
5916
5917 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * INSTALL: Document linguas.sh.
5920
5921 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Remove POTFILES.in and regenerate it in autogen.sh.
5924
5925 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Move --directory/--override-directorry to grub-install_header and unify.
5928
5929 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/term/morse.c: Macroify dih and dah.
5932
5933 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5934
5935 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5936
5937 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/term/ns8250.c: Systematically probe ports by writing
5940 to SR before using them.
5941
5942 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5943
5944 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5945 disks.
5946 (check_sas): Get sas_adress info.
5947
5948 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5951 ports.
5952
5953 2013-04-27 Leon Drugi <eyak>
5954
5955 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5956 BSS clearing.
5957
5958 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 Core compression test.
5961
5962 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Implement grub_machine_get_bootlocation for ARC.
5965
5966 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Improve AHCI detection and command issuing.
5969
5970 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 Fix pseries test.
5973
5974 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Make 'make check' work on emu.
5977
5978 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 Replace libcurses with our own vt100 handling for the ease of testing
5981 and decreasing prerequisites.
5982
5983 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5986
5987 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5990 compile when not needed.
5991
5992 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * tests/pseries_test.in: New test.
5995
5996 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Add test to check that different boot mediums work.
5999
6000 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6003 ofw limited ISO support.
6004
6005 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * configure.ac: Fix loongson conditional.
6008
6009 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Enable mipsel-arc.
6012
6013 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Add serial on ARC platform.
6016
6017 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6020 commit.
6021
6022 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * tests/partmap_test.in: Add missing double semicolon.
6025
6026 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * util/grub-mkrescue.in: Fix loongson filename.
6029
6030 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * util/grub-mkrescue.in: Move all files that don't have a location
6033 set in stone under /boot/grub. Use ISO hard links rather than copies
6034 to save some space.
6035
6036 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6039 bogus SLOF values.
6040
6041 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 Make check work on mips-arc.
6044
6045 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * util/grub-mkrescue.in: Alias sashARCS as sash.
6048
6049 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6052 it's serial.
6053
6054 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * util/grub-install.in: Fix target fo qemu_mips.
6057 Fix extension on EFI.
6058
6059 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6062 in front of chosen entry to mark it even if highlighting is lost.
6063
6064 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6067 gfxpayload=keep if cbfb is active.
6068
6069 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6072
6073 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Add missing video ids to coreboot and ieee1275 video.
6076
6077 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * util/grub-mkrescue.in: Add mips-arc support.
6080
6081 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6084
6085 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 Move mips-arc link address. Previous link address was chosen
6088 in belief that RAM on SGI platforms grows down while in fact it
6089 grows up from an unusual base.
6090
6091 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6094 Fix a type which prevented CD-ROM and floppy boot.
6095
6096 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Support coreboot framebuffer.
6099
6100 * grub-core/video/i386/coreboot/cbfb.c: New file.
6101
6102 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6105 detecting too small regions.
6106
6107 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6110
6111 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6114 Remove dprintf.
6115 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6116
6117 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6120 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6121 * grub-core/loader/powerpc/ieee1275/linux.c
6122 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6123
6124 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6127 Look for /boot-rom as well as /rom/boot-rom.
6128
6129 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6132 handling when creating text_layer failed.
6133 * grub-core/video/video.c (grub_video_create_render_target):
6134 Set result to 0 on error.
6135 (grub_video_delete_render_target): Do not dereference NULL.
6136
6137 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6140 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6141 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6142 (grub_linux_load64): Mask out 2 high bits.
6143
6144 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6145
6146 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6147 more place.
6148
6149 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Add support for pseries and other bootinfo machines to grub-mkrescue.
6152
6153 Tested by: Paulo Flabiano Smorigo.
6154
6155 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * util/grub-mkrescue.in: Add GPT for EFI boot.
6158
6159 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6162 It improves performance in qemu.
6163
6164 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * build-aux/snippet: Add missing gnulib files.
6167
6168 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6169
6170 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6171
6172 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6173
6174 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6175
6176 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6177 2013-04-15 Peter Jones <pjones@redhat.com>
6178
6179 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6180 sectors.
6181 Based on patch by Peter Jones.
6182
6183 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Fix DMRAID partition handling.
6186
6187 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * tests/grub_cmd_date.in: Skip on sparc64.
6190
6191 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6194 firmware error messages.
6195
6196 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6199 source and destination differ.
6200
6201 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6204 detection.
6205
6206 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6209 match config-util.h to avoid warnings and increase compatibility.
6210
6211 2013-04-14 Szymon Janc <szymon@janc.net.pl>
6212 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 Add option to compress files on install/image creation.
6215
6216 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * docs/grub-dev.texi: Rearrange menu to match the section order.
6219 Reported by: Bryan Hundven.
6220
6221 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6224
6225 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Move GRUB out of system area when using xorriso 1.2.9 or later.
6228
6229 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * tests/grub_cmd_date.in: Add missing exit 1.
6232
6233 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * tests/partmap_test.in: Skip on sparc64.
6236
6237 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 Support grub-shell on sparc64.
6240
6241 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Support mkrescue on sparc64.
6244
6245 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6248 Needed on OpenBIOS due to incomplete device tree.
6249
6250 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6253 would be otherwise excluded.
6254
6255 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6258 Inline name defines used only once.
6259
6260 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 Fix memory leaks in ofnet.
6263 Reported by: Francesco Lavra.
6264
6265 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * docs/man/grub-glue-efi.h2m: Add missing file.
6268
6269 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6272
6273 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Better support Apple Intel Macs on CD.
6276
6277 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 Replace stpcpy with grub_stpcpy in tools.
6280
6281 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 Handle Japanese special keys.
6284 Reported by: Hiroyuki YAMAMORI.
6285 Codes supplied by: Hiroyuki YAMAMORI.
6286
6287 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * util/grub-mkimage.c: Document memdisk implying --prefix.
6290
6291 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6294 much we can do about it anyway.
6295
6296 2013-04-12 Aleš Nesrsta <starous@volny.cz>
6297
6298 Fix handling of split transfers.
6299
6300 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/net/http.c: Fix bad free.
6303
6304 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6307 than buffer size.
6308
6309 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6312
6313 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * tests/util/grub-shell.in: Fix it on powerpc.
6316
6317 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 Turn off QEMU ACPI-way since new releases don't have shutdown port
6320 anymore.
6321
6322 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * docs/grub.texi: Update coreboot status info.
6325
6326 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * tests/grub_cmd_date.in: New test for datetime.
6329
6330 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * tests/partmap_test.in: Fix missing qemudisk setting.
6333
6334 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Support i386-ieee1275 grub-mkrescue and make check on it.
6337
6338 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6341 feature for it.
6342
6343 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6346 GRUB_CMDLINE_XEN_DEFAULT.
6347 Reported by: Marc Warne (GigaTux) <gigatux>
6348
6349 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 Import new gnulib.
6352
6353 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 Use ACPI shutdown intests as traditional port was removed.
6356
6357 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6358
6359 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6360 distinction.
6361
6362 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6365 Fix few warining messages and leaks while on it.
6366
6367 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6368
6369 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6370 links under grub-core/lib/libgcrypt-grub/mpi.
6371
6372 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 Fix ia64-efi image generation on big-endian machines. Deduplicate
6375 some code while on it.
6376 Reported by: Leif Lindholm.
6377
6378 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6379
6380 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6381 as extra_dist.
6382
6383 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6384
6385 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6386
6387 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6388
6389 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6390 texinfo-5.1.
6391
6392 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/normal/term.c: Few more fixes for menu entry editor
6395 rendering.
6396 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6397
6398 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/normal/term.c: Few more fixes for menu entry editor
6401 rendering.
6402 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6403
6404 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6405
6406 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6407 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6408
6409 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6410
6411 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6412 instead of hardcoding grub.mo.
6413
6414 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6415
6416 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6417
6418 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6421 grub-core/disk/geli.c.
6422
6423 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * util/grub-mkfont.c: Prefer enum to #define.
6426
6427 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6430
6431 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6434
6435 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6438
6439 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6442
6443 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * include/grub/bsdlabel.h: Use enums.
6446
6447 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 Move GRUB_CHAR_BIT to types.h.
6450
6451 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6452
6453 * docs/grub.texi: Document more user commands.
6454
6455 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6456
6457 * docs/grub.texi: Document menuentry --id option.
6458
6459 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6460
6461 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6462
6463 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Unify file copying setup across different install scripts. Add
6466 options for performing partial install.
6467
6468 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6469 2013-04-04 Peter Jones <pjones@redhat.com>
6470
6471 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6472
6473 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Use TSC as a possible time source on i386-ieee1275.
6476
6477 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6480 Init err.
6481
6482 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * util/grub-setup.c (setup): Handle some corner cases.
6485
6486 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6489
6490 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/commands/verify.c: Save verified file to avoid it being
6493 tampered with after verification was done.
6494
6495 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6498 reported width by one to compensate for curesor algorithm problem.
6499
6500 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Fix screen corruption in menu entry editor and simplify the code
6503 flow while on it.
6504
6505 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6506
6507 * util/grub-mount.c (fuse_init): Return error if fuse_main
6508 failed.
6509
6510 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6511
6512 * include/grub/elf.h: Add missing ARM relocation codes and fix
6513 existing ones.
6514
6515 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6516
6517 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6518
6519 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6520 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6523 into account when calculating radius.
6524
6525 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6526
6527 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6528
6529 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6530
6531 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6532
6533 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6534
6535 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6536 missing closing bracket.
6537
6538 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6539
6540 * INSTALL: Mention xorriso requirement.
6541
6542 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6543
6544 * grub-core/commands/verify.c: Fix hash algorithms values for
6545 the first three hashes - they start with 1, not with 0.
6546
6547 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6550 Try terminating EFI services several times due to quirks in some
6551 implementations.
6552
6553 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
6554
6555 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6556 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6557 BankField extended opcodes.
6558 (get_sleep_type): Add minimal scope handling (just enough to
6559 handle setting the scope to the root path).
6560 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6561 * include/grub/acpi.h: Add enumeration values for Event, Device,
6562 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6563
6564 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6565
6566 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6567 memory leak.
6568
6569 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/disk/ahci.c: Give more time for AHCI request.
6572
6573 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6576 command.
6577
6578 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Replace the region at 0 from coreboot tables to available in BSD
6581 memory map.
6582
6583 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6586 non-BIOS platforms.
6587
6588 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6591 platforms.
6592
6593 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6596 handling of multi-device filesystems.
6597
6598 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6601 platforms.
6602
6603 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Add new 'proc' filesystem framework and put luks_script into it.
6606
6607 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6610 and qemu.
6611
6612 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6615
6616 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 Add ability to generate newc additions on runtime.
6619
6620 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6623 description.
6624
6625 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * po/POTFILES.in: Regenerate.
6628
6629 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/commands/verify.c (hashes): Add several hashes
6632 from the spec.
6633
6634 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 Slight improve in USB-related boot-time checkpoints.
6637
6638 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/commands/boottime.c: Fix copyright header.
6641
6642 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6645 coreboot tables content. Support for cbmemc.
6646
6647 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 Fix a conflict between ports structures with 2 controllers of
6650 same kind.
6651
6652 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * include/grub/boottime.h: Add missing file.
6655
6656 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Initialize USB ports in parallel to speed-up boot.
6659
6660 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 Fix USB devices not being detected when requested
6663 due to delayed attach.
6664
6665 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Implement boot time analysis framework.
6668
6669 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 Remove get_endpoint_descriptor and change all functions needing
6672 descriptor to just receive it as argument rather than endpoint
6673 address.
6674
6675 2013-03-19 Aleš Nesrsta <starous@volny.cz>
6676
6677 Better estimate the maximum USB transfer size.
6678
6679 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 Resend a packet if we got the wrong buffer in status.
6682
6683 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6686 multiplication rather than division.
6687
6688 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6691 than divisions.
6692
6693 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6696 operations to have intended shifts and not divisions.
6697
6698 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6701 intended shifts rather than division.
6702
6703 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6706 computation for some years before epoch. Avode confusing division
6707 while on it.
6708
6709 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/video/i386/pc/vbe.c
6712 (grub_video_vbe_print_adapter_specific_info): Replace division by
6713 shifts.
6714
6715 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Adjust types in gdb module to have intended unsigned shifts rather than
6718 signed divisions.
6719
6720 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6723 maximum size is 4G - 1 on hfs
6724
6725 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6728
6729 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6732 function.
6733
6734 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6735
6736 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6737 causing gcc error with gcc 4.7.1.
6738
6739 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6740
6741 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6742 dereference null pointer. While the code is technically correct, gcc
6743 may eliminate a null check if pointer is already dereferenced.
6744
6745 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6746
6747 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6748 OOM check.
6749 * grub-core/normal/term.c (read_terminal_list): Likewise.
6750
6751 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 Lift up core size limits on some platforms. Fix potential memory
6754 corruption with big core on small memory systems. Document remaining
6755 limits.
6756
6757 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6760 gotoxy to 0,0.
6761
6762 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 Remove all trampoline support. Add -Wtrampolines when
6765 present. Remove symbols used for trampolines to make
6766 link fail if trampolines are present.
6767
6768 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6771 append out of its parent.
6772
6773 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6776 parent.
6777
6778 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6781 all vars to a macro. All users updated.
6782
6783 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6786 i386-ieee1275.
6787
6788 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6791
6792 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6795
6796 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 Move to more hookless approach in IEEE1275 devices handling.
6799
6800 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * grub-core/kern/term.c (grub_term_normal_color),
6803 (grub_term_highlight_color): Add back lost defaults.
6804
6805 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Make elfload not use hooks. Opt for flags and iterators instead.
6808
6809 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6812 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6813
6814 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6817
6818 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6821 hook pass-through parameter. All users updated and unnested.
6822
6823 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6826 out of its parent.
6827
6828 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/fs/hfs.c: Remove nested functions.
6831
6832 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6835 the context through.
6836 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6837
6838 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * util/grub-editenv.c (list_variables): Move print_var out of its
6841 parent.
6842
6843 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6846 function.
6847
6848 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/gentrigtables.c: Make tables const.
6851
6852 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 Remove nested functions from videoinfo iterators.
6855
6856 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6859 for 64-bit platforms.
6860
6861 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6864 a FOR_CHILDREN macro.
6865
6866 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6869 platform from firmware path.
6870
6871 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 Enable linux16 on non-BIOS systems for i.a. memtest.
6874
6875 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6876 correctly.
6877 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6878
6879 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6882 Fix end of table condition.
6883
6884 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6887 out of its parent.
6888
6889 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/fs/jfs.c: Remove nested functions.
6892
6893 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/fs/minix.c: Remove nested functions.
6896
6897 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/fs/iso9660.c: Remove nested functions.
6900
6901 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6904 of parent function.
6905
6906 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * util/grub-fstest.c: Remove nested functions.
6909
6910 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/loader/machoXX.c: Remove nested functions.
6913
6914 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
6915
6916 Remove nested functions from disk and file read hooks.
6917
6918 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6919 (struct grub_disk): Add read_hook_data member.
6920 * include/grub/file.h (struct grub_file): Likewise.
6921 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6922 argument.
6923
6924 Update all callers.
6925
6926 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6927
6928 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6929 Fix off by one error in enumerating extended partitions.
6930
6931 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6932
6933 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6934 memory leak if device name is not found.
6935
6936 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6937
6938 * grub-core/normal/menu_entry.c (update_screen): remove
6939 unused variable `off' which caused scroll down arrow to be always shown.
6940
6941 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6942
6943 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6944 access to unallocated memory.
6945
6946 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6947
6948 * Makefile.util.def: Add partmap/msdos.c to common library.
6949 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6950 * grub-core/disk/ldm.c: Check for existence of
6951 GRUB_PC_PARTITION_TYPE_LDM.
6952
6953 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6956 sizes and display sector size.
6957
6958 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Implement new command cmosdump.
6961
6962 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6963
6964 Support Openfirmware disks with non-512B sectors.
6965
6966 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6967 size of the disk.
6968 * (grub_ofdisk_get_block_size): New function.
6969 * (grub_ofdisk_prepare): Use the correct block size.
6970 * (grub_ofdisk_read): Likewise.
6971 * (grub_ofdisk_write): Likewise.
6972 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6973 New proto.
6974
6975 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6978
6979 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6982 on first error.
6983
6984 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6987 freeing it.
6988
6989 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 Implement USBDebug (full USB stack variant).
6992
6993 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6996 unless they have unexpected values.
6997
6998 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7001 grub_print_error.
7002
7003 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7006 zero-out of port structure.
7007
7008 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7011 of extended attributes.
7012
7013 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7014
7015 * util/grub-install.in: change misleading comment about
7016 device.map creation
7017
7018 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7021 when menu highlight color isn't set.
7022
7023 2013-01-27 C. Masloch <pushbx@38.de>
7024
7025 Improve FreeDOS direct loading support compatibility.
7026
7027 * include/grub/i386/relocator.h (grub_relocator16_state):
7028 New member ebp.
7029 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7030 variable.
7031 (grub_relocator16_boot): Handle %ebp.
7032 * grub-core/lib/i386/relocator16.S: Likewise.
7033 * grub-core/loader/i386/pc/freedos.c:
7034 Load BPB to pass kernel which partition to load from.
7035 Check that kernel file is not too large.
7036 Set register dl to BIOS unit number as well.
7037
7038 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7039
7040 * util/grub-reboot.in (usage): Document the need for
7041 GRUB_DEFAULT=saved.
7042 * util/grub-set-default.in (usage): Likewise.
7043 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7044
7045 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7048 than defining WORDS_BIGENDIAN manually.
7049
7050 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7053 invariants.
7054
7055 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7056
7057 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7058 nested.
7059 (blit_comb: add_device_width): Likewise.
7060
7061 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7062
7063 Remove nested functions from USB iterators.
7064
7065 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7066 (grub_usb_controller_iterate_hook_t): Likewise.
7067 (grub_usb_iterate): Add hook_data argument.
7068 (grub_usb_controller_iterate): Likewise.
7069 (struct grub_usb_controller_dev.iterate): Likewise.
7070
7071 Update all implementations and callers.
7072
7073 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7076 margin when not needed.
7077
7078 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 Make color variables global instead of it being per-terminal.
7081
7082 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7085 asterisk.
7086
7087 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7088
7089 Fix powerpc and sparc64 build failures caused by un-nesting memory
7090 map iterators.
7091
7092 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7095 parameter declarations.
7096
7097 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7100
7101 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 Improve spkmomdem reliability by adding a separator between bytes.
7104
7105 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7106
7107 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7108 an Acer registration utility with several sightings in the wild.
7109 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7110
7111 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7112
7113 Remove nested functions from filesystem directory iterators.
7114
7115 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7116 (struct grub_fs.dir): Add hook_data argument.
7117
7118 Update all implementations and callers.
7119
7120 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * docs/grub.texi (Multi-boot manual config): Fix typo for
7123 "recommended".
7124
7125 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7126
7127 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7128 until after its use in generate_image.
7129
7130 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7131
7132 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7133 initrd size to addr_min, since the initrd will be allocated after
7134 this address.
7135
7136 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7137
7138 * conf/Makefile.common: Fix autogen rules to pass definition
7139 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7140
7141 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7142
7143 * include/grub/elf.h: Update ARM definitions based on binutils.
7144
7145 2013-01-20 Aleš Nesrsta <starous@volny.cz>
7146
7147 Split long USB transfers into short ones.
7148
7149 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7150
7151 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7152 is interrupted by ESC.
7153
7154 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * util/grub-script-check.c (main): Uniform the error message.
7157
7158 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7159
7160 Remove nested functions from ELF iterators.
7161
7162 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7163
7164 Remove nested functions from device iterators.
7165
7166 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7167 (grub_arc_iterate_devs): Add hook_data argument.
7168 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7169 (struct grub_ata_dev.iterate): Add hook_data argument.
7170 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7171 (grub_device_iterate): Add hook_data argument.
7172 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7173 (struct grub_disk_dev.iterate): Add hook_data argument.
7174 (grub_disk_dev_iterate): Likewise.
7175 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7176 Likewise.
7177 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7178 Likewise.
7179 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7180 type.
7181 (struct grub_partition_map.iterate): Add hook_data argument.
7182 (grub_partition_iterate): Likewise.
7183 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7184 (struct grub_scsi_dev.iterate): Add hook_data argument.
7185
7186 Update all callers.
7187
7188 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7189
7190 Fix typos for "developer" and "development".
7191
7192 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 Add license header to spkmodem-recv.c.
7195
7196 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Rewrite spkmodem to use PIT for timing. Double the speed.
7199
7200 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Add new command pcidump.
7203
7204 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 New terminal outputs using serial: morse and spkmodem.
7207
7208 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 Improve bidi handling in entry editor.
7211
7212 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7215 argument to prevent name collision.
7216
7217 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7218
7219 Remove nested functions from script reading and parsing.
7220
7221 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7222 getline_data argument, passed to getline.
7223 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7224 getline_data argument, passed to grub_parser_split_cmdline.
7225 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7226 lexerstate->getline_data to lexerstate->getline.
7227 (grub_script_lexer_init): Add getline_data argument, saved in
7228 lexerstate->getline_data.
7229 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7230 argument, passed to grub_script_parse.
7231 * grub-core/script/script.c (grub_script_parse): Add getline_data
7232 argument, passed to grub_script_lexer_init.
7233 * include/grub/parser.h (grub_parser_split_cmdline): Update
7234 prototype. Update all callers to pass appropriate getline data.
7235 (struct grub_parser.parse_line): Likewise.
7236 (grub_rescue_parse_line): Likewise.
7237 * include/grub/reader.h (grub_reader_getline_t): Add void *
7238 argument.
7239 * include/grub/script_sh.h (struct grub_lexer_param): Add
7240 getline_data member.
7241 (grub_script_parse): Update prototype. Update all callers to pass
7242 appropriate getline data.
7243 (grub_script_lexer_init): Likewise.
7244 (grub_normal_parse_line): Likewise.
7245
7246 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7247 data argument.
7248 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7249 static instead of nested. Rename to ...
7250 (grub_parser_execute_getline): ... this.
7251 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7252 data argument.
7253 * grub-core/normal/main.c (read_config_file: getline): Make static
7254 instead of nested. Rename to ...
7255 (read_config_file_getline): ... this.
7256 (grub_normal_read_line): Add unused data argument.
7257 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7258 getline): Make static instead of nested. Rename to ...
7259 (grub_script_execute_sourcecode_getline): ... this.
7260 * util/grub-script-check.c (main: get_config_line): Make static
7261 instead of nested.
7262
7263 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7264
7265 Remove nested functions from memory map iterators.
7266
7267 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7268 argument, passed to hook.
7269 * grub-core/kern/i386/coreboot/mmap.c
7270 (grub_linuxbios_table_iterate): Likewise.
7271 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7272 instead of nested.
7273 (grub_machine_mmap_iterate): Add hook_data argument.
7274 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7275 Add hook_data argument, passed to hook.
7276 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7277 Likewise.
7278 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7279 Likewise.
7280 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7281 Likewise.
7282 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7283 Likewise.
7284 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7285 Likewise.
7286 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7287 Likewise.
7288 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7289 (grub_machine_mmap_iterate): Likewise.
7290 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7291 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7292 prototype.
7293 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7294 Remove NESTED_FUNC_ATTR from here and from all users.
7295 (grub_mmap_iterate): Update prototype.
7296 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7297 pass appropriate hook data.
7298 (grub_machine_mmap_iterate): Likewise.
7299
7300 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7301 static instead of nested.
7302 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7303 Rename to ...
7304 (lsmmap_hook): ... this.
7305 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7306 Likewise.
7307 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7308 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7309 heap_init): Likewise.
7310 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7311 Rename to ...
7312 (mmap_iterate_hook): ... this.
7313 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7314 Likewise.
7315 * grub-core/lib/ieee1275/relocator.c
7316 (grub_relocator_firmware_get_max_events: count): Likewise.
7317 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7318 to ...
7319 (grub_relocator_firmware_fill_events_iter): ... this.
7320 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7321 hook): Likewise. Rename to ...
7322 (grub_relocator_alloc_chunk_align_iter): ... this.
7323 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7324 Rename to ...
7325 (generate_e820_mmap_iter): ... this.
7326 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7327 Rename to ...
7328 (count_hook): ... this.
7329 (grub_linux_boot: hook): Likewise. Rename to ...
7330 (grub_linux_boot_mmap_find): ... this.
7331 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7332 (grub_linux_boot_mmap_fill): ... this.
7333 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7334 hook): Likewise. Rename to ...
7335 (grub_fill_multiboot_mmap_iter): ... this.
7336 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7337 hook): Likewise. Rename to ...
7338 (count_hook): ... this.
7339 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7340 hook): Likewise. Rename to ...
7341 (grub_fill_multiboot_mmap_iter): ... this.
7342 * grub-core/loader/powerpc/ieee1275/linux.c
7343 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7344 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7345 Likewise. Rename to ...
7346 (alloc_phys_choose): ... this.
7347 (determine_phys_base: get_physbase): Likewise.
7348 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7349 find_hook): Likewise.
7350 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7351 (malloc_hook: count_hook): Likewise.
7352 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7353 Likewise. Rename to ...
7354 (lower_hook): ... this.
7355 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7356 (upper_hook): ... this.
7357 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7358 (post64_hook): ... this.
7359 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7360 Likewise. Rename to ...
7361 (lower_hook): ... this.
7362 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7363 (upper_hook): ... this.
7364 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7365 (grub_mmap_iterate: fill_hook): Likewise.
7366 (fill_mask): Pass addr and mask within a single struct.
7367 (grub_cmd_badram: hook): Make static instead of nested. Rename
7368 to ...
7369 (badram_iter): ... this.
7370 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7371 (cutmem_iter): ... this.
7372
7373 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7376 delimit path in strings using quotes.
7377 * util/getroot.c (grub_guess_root_devices): Likewise.
7378 (grub_make_system_path_relative_to_its_root): Likewise.
7379 * util/grub-probe.c (probe): Likewise.
7380 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7381 (xrealpath): Likewise.
7382
7383 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Fix compilation with older compilers.
7386
7387 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7388 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7389 declarations.
7390 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7391 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7392 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7393 identifier with b.
7394 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7395 * include/grub/crypto.h: Add type defines.
7396 * util/import_gcrypth.sed: Remove duplicate type defines.
7397
7398 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 New command list_trusted.
7401
7402 * grub-core/commands/verify.c (grub_cmd_list): New function.
7403
7404 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
7405
7406 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7407 info message.
7408
7409 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
7410
7411 Remove nested functions from PCI iterators.
7412
7413 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7414 passed to hook. Update all callers to pass appropriate hook data.
7415 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7416 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7417 Remove NESTED_FUNC_ATTR from here and from all users.
7418 (grub_pci_iterate): Update prototype.
7419 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7420 instead of nested. Rename to ...
7421 (grub_cs5536_find_iter): ... this.
7422 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7423 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7424 Likewise.
7425 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7426 Likewise.
7427 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7428 Likewise.
7429 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7430 Likewise.
7431 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7432 * grub-core/video/radeon_fuloong2e.c
7433 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7434 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7435 find_card): Likewise.
7436 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7437 Likewise.
7438
7439 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/commands/verify.c: Mark messages for translating.
7442
7443 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7446 fatal.
7447
7448 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7451 fatal.
7452
7453 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * autogen.sh: Do not try to delete nonexistant files.
7456 * util/import_gcrypth.sed: Add some missing header removals.
7457
7458 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
7459
7460 Clean up dangling references to grub-setup.
7461 Fixes Ubuntu bug #1082045.
7462
7463 * docs/grub.texi (Images): Refer generally to grub-install rather
7464 than directly to grub-setup.
7465 (Installing GRUB using grub-install): Remove direct reference to
7466 grub-setup.
7467 (Device map) Likewise.
7468 (Invoking grub-install): Likewise.
7469 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7470 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7471 * util/grub-install.in (usage): Likewise.
7472
7473 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7474 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7475 grub-setup.
7476 * configure.ac: Remove grub_setup output variable.
7477
7478 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7479 to grub-bios-setup.
7480 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7481 grub-setup to grub-sparc64-setup.
7482
7483 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 Import gcrypt public-key cryptography and implement signature checking.
7486
7487 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/fs/ntfs.c: Ue more appropriate types.
7490 * grub-core/fs/ntfscomp.c: Likewise.
7491 * include/grub/ntfs.h: Likewise.
7492
7493 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 Support Apple FAT binaries on non-Apple platforms.
7496
7497 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7498 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7499 Likewise.
7500 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7501 Apple FAT binaries.
7502
7503 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7506 sector devices.
7507
7508 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
7509
7510 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7511 explicitly zeroing elements.
7512 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7513 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7514 of elements in a structure already allocated using grub_zalloc.
7515 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7516
7517 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
7518
7519 * docs/grub.texi (grub_cpu): New subsection.
7520 (grub_platform): Likewise.
7521
7522 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7525
7526 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7529 divisions.
7530
7531 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7534 * grub-core/fs/ntfscomp.c: Likewise.
7535 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7536 (grub_ntfs_comp): Likewise.
7537
7538 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7541 Rename to ...
7542 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7543 of groups_per_block. All users updated.
7544
7545 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7548 grub_error properly.
7549 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7550 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7551
7552 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7555 always in /boot/zfs.
7556 Reported by: Yuta Satoh.
7557
7558 2013-01-03 Yuta Satoh <nigoro>
7559
7560 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7561 ${grub_probe}
7562
7563 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * configure.ac: Extend -Wno-trampolines to host.
7566
7567 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7570 entry->len = 0.
7571
7572 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
7573
7574 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7575 (Invoking grub-script-check): Likewise.
7576
7577 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
7578
7579 * docs/grub.texi (Invoking grub-mount): New section.
7580 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7581
7582 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
7583
7584 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7585 test failures, so that a failing unit test correctly causes 'make
7586 check' to fail.
7587
7588 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
7589
7590 Fix failing printf test.
7591
7592 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7593 '$' in the correct order when collecting type information.
7594
7595 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
7596
7597 * docs/grub.texi (configfile): Explain environment variable
7598 handling.
7599 (source): New section.
7600 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7601
7602 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
7603
7604 Remove several trivially-unnecessary uses of nested functions.
7605
7606 * grub-core/commands/i386/pc/sendkey.c
7607 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7608 instead of nested.
7609 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7610 Rename to ...
7611 (legacy_file_getline): ... this.
7612 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7613 Likewise.
7614 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7615 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7616 to ...
7617 (probe_dummy_iter): ... this.
7618 * grub-core/kern/i386/coreboot/mmap.c
7619 (grub_linuxbios_table_iterate: check_signature): Likewise.
7620 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7621 check_varstate): Likewise. Mark inline.
7622 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7623 an additional parameter.
7624 (find_long: fnd_long): Likewise. Pass two additional parameters.
7625 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7626 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7627 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7628 Likewise. Rename to ...
7629 (grub_cmos_find_port_iter): ... this.
7630 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7631 Rename to ...
7632 (find_rtc_iter): ... this.
7633
7634 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7635 function directly into the function body, since it is only called
7636 once.
7637
7638 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
7639
7640 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7641 __attribute__ ((unused)).
7642 * grub-core/video/bochs.c (find_card): Likewise.
7643 * grub-core/video/cirrus.c (find_card): Likewise.
7644 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7645 * grub-core/video/sis315pro.c (find_card): Likewise.
7646 * grub-core/video/sm712.c (find_card): Likewise.
7647
7648 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
7649
7650 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7651 Fixes Savannah bug #37821.
7652
7653 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
7654
7655 Apply program name transformations at build-time rather than at
7656 run-time. Fixes Debian bug #696465.
7657
7658 * acinclude.m4 (grub_TRANSFORM): New macro.
7659 * configure.ac: Create output variables with transformed names for
7660 most programs.
7661 * util/bash-completion.d/grub-completion.bash.in: Use
7662 pre-transformed variables for program names.
7663 * util/grub-install.in: Likewise.
7664 * util/grub-kbdcomp.in: Likewise.
7665 * util/grub-mkconfig.in: Likewise.
7666 * util/grub-mkconfig_lib.in: Likewise.
7667 * util/grub-mknetdir.in: Likewise.
7668 * util/grub-mkrescue.in: Likewise.
7669 * util/grub-mkstandalone.in: Likewise.
7670 * util/grub-reboot.in: Likewise.
7671 * util/grub-set-default.in: Likewise.
7672 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7673 * tests/util/grub-shell-tester.in: Remove unused assignment.
7674 * tests/util/grub-shell.in: Likewise.
7675 * util/grub.d/00_header.in: Likewise.
7676
7677 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
7678
7679 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7680
7681 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7682 HAVE_RAW_DECL_GETS.
7683 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7684
7685 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7688 Reported by: Eriks Latosheks <foresterlv>.
7689
7690 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * docs/grub.texi (Network): Update instructions on generating netboot
7693 image.
7694
7695 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7698 around device name if necessarry.
7699
7700 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7701
7702 * util/grub-install.in: Follow the symbolic link parameter added
7703 to the file command.
7704
7705 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7706
7707 * util/grub-install.in: Remove stale TODO.
7708
7709 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7710
7711 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7712 dynamic allocation for the bootpath buffer.
7713
7714 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7715
7716 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7717 window too small.
7718
7719 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7722 argument rather than font name. All users updated.
7723 (grub_gfxterm_set_window): Likewise.
7724
7725 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7726
7727 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7728 from working.
7729
7730 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * util/getroot.c (convert_system_partition_to_system_disk): Support
7733 nbd disks.
7734
7735 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7738 infinite loop on corrupted FS.
7739
7740 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 Fix big-endian mtime.
7743
7744 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7745 together sec and usec.
7746 (grub_ufs_dir): Use correct byteswapping for UFS time.
7747
7748 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 Support big-endian UFS1.
7751
7752 * Makefile.util.def (libgrubmods): Add ufs_be.c
7753 * grub-core/Makefile.core.def (ufs1_be): New module.
7754 * grub-core/fs/ufs_be.c: New file.
7755 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7756 the file.
7757
7758 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7759
7760 * include/grub/types.h: Fix functionality unaffecting typo in
7761 GRUB_TARGET_WORDSIZE conditional macro.
7762
7763 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7764
7765 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7766
7767 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7768
7769 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7770 that /netbsd appears first (when it exists).
7771
7772 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
7773
7774 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7775 Fixes Savannah bug #37558.
7776
7777 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
7778
7779 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7780 description of extract_entries_configfile.
7781
7782 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
7783
7784 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7785 preferred_address.
7786 (grub_cmd_linux): Likewise.
7787 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7788 preferred_lifetime. Update all users.
7789
7790 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
7791
7792 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7793 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7794
7795 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
7796
7797 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7798 errors from grub-probe to /dev/null, not stdout.
7799
7800 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7803 sector 1.
7804
7805 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
7806
7807 * util/grub-install.in: Make the error message if $source_dir
7808 doesn't exist more useful.
7809
7810 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
7811
7812 Fix grub-emu build on FreeBSD.
7813
7814 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7815 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7816 headers on Linux.
7817 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7818 implementation is currently Linux-specific.
7819 * util/getroot.c (exec_pipe): Define only on Linux or when either
7820 libzfs or libnvpair is unavailable.
7821 (find_root_devices_from_poolname): Remove unused path variable.
7822
7823 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
7824
7825 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7826 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7827 should fit before end == 63.
7828
7829 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
7830
7831 * util/grub-setup.c (write_rootdev): Remove unused core_img
7832 parameter. Update all callers.
7833 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7834 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7835 GRUB_SETUP_BIOS.
7836
7837 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7840 (grub_add_tab): New function.
7841 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7842 * util/grub.d/10_illumos.in: Likewise.
7843 * util/grub.d/10_kfreebsd.in: Likewise.
7844 * util/grub.d/10_linux.in: Likewise.
7845 * util/grub.d/10_netbsd.in: Likewise.
7846 * util/grub.d/10_windows.in: Likewise.
7847 * util/grub.d/10_xnu.in: Likewise.
7848 * util/grub.d/20_linux_xen.in: Likewise.
7849 * util/grub.d/30_os-prober.in: Likewise.
7850
7851 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7854 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7855 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7856 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7857 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7858 ieee1275-nocursor.
7859 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7860 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7861
7862 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7865 le-conversion.
7866 Reported by: BURETTE, Bernard.
7867
7868 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
7869
7870 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7871 from comment.
7872
7873 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
7874
7875 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7876 IEEE1275 machines. Fixes powerpc-emu compilation.
7877 * include/grub/terminfo.h: Likewise.
7878
7879 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7882 a const pointer.
7883 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7884 const pointer.
7885 (efiemu_set_variable): Make vendor_guid a const pointer.
7886
7887 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 Don't require grub-mkconfig_lib to generate manpages for programs.
7890
7891 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7892 dependencies, don't add grub-mkconfig_lib.
7893 (program): Pass empty adddeps.
7894 (script): Pass grub-mkconfig_lib as adddeps.
7895
7896 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7899 * util/getroot.c (grub_find_device): Likewise.
7900 (get_mdadm_uuid): Likewise.
7901 (grub_util_is_imsm): Likewise.
7902 (grub_util_pull_device): Likewise.
7903 * util/grub-probe.c (probe): Likewise.
7904
7905 2012-09-10 Benoit Gschwind <gschwind>
7906
7907 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7908 (devs): Add devpath_8.
7909
7910 2012-09-08 Peter Jones <pjones@redhat.com>
7911
7912 * grub-core/Makefile.core.def (efifwsetup): New module.
7913 * grub-core/commands/efi/efifwsetup.c: New file.
7914 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7915 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7916 New define.
7917 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7918
7919 2012-09-05 Jiri Slaby <jslaby@suse.cz>
7920
7921 * configure.ac: Add SuSe path.
7922
7923 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
7924
7925 * NEWS: Fix typo.
7926
7927 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * util/import_gcry.py: Sort cipher_files, to make build system
7930 generation more deterministic.
7931
7932 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7935 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7936 (grub_set_datetime): Likewise.
7937
7938 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7941 warnings.
7942
7943 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7946
7947 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7950
7951 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7954 required for checkouts from bzr, but it may be useful for users or
7955 distributors wishing to update translations against a tarball
7956 distribution, and it can be helpful for the tarball to be a superset
7957 of what's in bzr.
7958
7959 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7960
7961 * Makefile.am (EXTRA_DIST): Add
7962 grub-core/tests/boot/linux.init-mips.S,
7963 grub-core/tests/boot/linux.init-ppc.S, and
7964 grub-core/tests/boot/linux-ppc.cfg.
7965
7966 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7967
7968 * grub-core/mmap/mips/loongson: Remove empty directory.
7969
7970 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7971
7972 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7973 gone.
7974
7975 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
7976
7977 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7978 grub-sparc64-setup.
7979
7980 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7981
7982 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7983
7984 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7985
7986 * po/POTFILES.in: Regenerated.
7987
7988 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7989
7990 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7991 (NetBSD): New subsection.
7992
7993 2012-07-22 Ales Nesrsta <starous@volny.cz>
7994
7995 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7996 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7997
7998 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8001 * util/grub.d/10_hurd.in: Add missing quoting.
8002 * util/grub.d/10_illumos.in: Likewise.
8003 * util/grub.d/10_kfreebsd.in: Likewise.
8004 * util/grub.d/10_linux.in: Likewise.
8005 * util/grub.d/20_linux_xen.in: Likewise.
8006
8007 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 New command `lsefi'.
8010
8011 * grub-core/Makefile.core.def (lsefi): New module.
8012 * grub-core/commands/efi/lsefi.c: New file.
8013 * include/grub/efi/api.h: Add more GUIDs.
8014
8015 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8018 (grub_bsd_elf32_hook): Likewise.
8019 (grub_bsd_elf64_size_hook): Likewise.
8020 (grub_bsd_elf64_hook): Likewise.
8021 (grub_bsd_load_elf): Likewise.
8022
8023 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8026 if hash function is unavailable.
8027 (dec_stream_header): Likewise.
8028
8029 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8032 filter state.
8033
8034 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Fix coreboot compilation.
8037
8038 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8039 (grub_vga_text_init_real): ... this.
8040 (grub_vga_text_fini): Rename to ...
8041 (grub_vga_text_fini_real): ... this.
8042
8043 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8046
8047 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * grub-core/lib/legacy_parse.c: Support clear and testload.
8050
8051 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8054
8055 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8058
8059 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/net/tftp.c (ack): Fix endianness problem.
8062 (tftp_receive): Likewise.
8063 Reported by: Michael Davidsaver.
8064
8065 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8068
8069 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8072 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8073 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8074
8075 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8078 efi_mmap_size.
8079 Reported by: Stuart Hayes.
8080
8081 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8084
8085 * grub-core/Makefile.core.def (mda_text): New module.
8086 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8087 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8088 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8089 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8090 here.
8091 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8092 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8093 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8094 here.
8095 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8096 to ..
8097 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8098 ... here
8099 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8100 here.
8101 * grub-core/term/i386/vga_common.c: Removed.
8102 * include/grub/i386/vga_common.h: Likewise.
8103 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8104 (grub_vga_cr_bw_read): Likewise.
8105 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8106 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8107 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8108 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8109 grub_vga_cr_read/grub_vga_cr_write.
8110 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8111
8112 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * configure.ac: Bump version to 2.00.
8115 * grub-core/normal/main.c (features): Add feature_200_final.
8116
8117 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8118 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8119
8120 * NEWS: Fix unclarity and language mistakes.
8121
8122 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8125 additional size to 3 pages.
8126 Reported by: Stuart Hayes.
8127
8128 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * NEWS: Add 2.00 entry.
8131
8132 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8135 put explicit "/" for empty path.
8136 (wildcard_expand): Improve dprintf.
8137
8138 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8141 it's equal to currnode. This can happen with "" symlink.
8142
8143 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8144
8145 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8146 echo shell command by printf command.
8147
8148 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8151 the value returned by firmware is the maximal position, not diumension.
8152 (grub_terminfo_output_state): Use a more sane fallback.
8153
8154 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8157
8158 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8161 frequency to 150 MHz.
8162
8163 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Apple fixes.
8166
8167 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8168 __APPLE_
8169 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8170 definition.
8171 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8172
8173 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 Handle slash in HFS label.
8176
8177 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8178 (grub_hfs_dir): Tanslate slash.
8179 (grub_hfs_label): Don't translate slash.
8180
8181 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8184 network protocol listing since it introduces problematic dependency on
8185 net module.
8186
8187 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8190
8191 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Init video early on yeeloong to avoid being rebooted by watchdog.
8194
8195 * grub-core/Makefile.am (gensm712): New target.
8196 (sm712_start.S): Likewise.
8197 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8198 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8199 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8200 description.
8201 * include/grub/vga.h: Move registry definitions to...
8202 * include/grub/vgaregs.h: ... here.
8203
8204 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8207 signedness.
8208
8209 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8212 platforms with firmware disk drivers in the core.
8213
8214 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8217 informative verbose message.
8218 (read_lv): Handle 64-bit segment size.
8219
8220 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8223
8224 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8227 character but still remove trainling spaces.
8228 (grub_fat_label): Ignore archive flag.
8229
8230 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8233 cast between linux_kernel_header and linux_kernel_params.
8234
8235 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8238 type for size.
8239 (grub_raid6_recover_func_t): Likewise.
8240 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8241 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8242
8243 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8246
8247 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8248
8249 Fix overflow.
8250
8251 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8252 [__NetBSD__]: Add explicit cast before bitshift.
8253
8254 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * configure.ac: Bump to 2.00~rc1.
8257
8258 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8261 half of $a0.
8262
8263 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8264 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8265
8266 * docs/grub.texi: Fix search syntax.
8267 (Multi-boot manual config): Put msdos rather than GPT example.
8268 Grammar corrections.
8269
8270 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8273
8274 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8277
8278 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8281 message on double free. Put the value of magic in case of mismatch.
8282
8283 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Speed-up video on yeeloong.
8286
8287 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8288 add cached_ptr.
8289 (grub_video_sm712_video_fini): Unmap cached_ptr.
8290 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8291 (grub_video_sm712_set_active_render_target): Removed.
8292 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8293 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8294 sync caches.
8295
8296 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 Avoid flushing the same line multiple times on loongson.
8299
8300 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8301 Step in 32 bytes and not 1 byte.
8302 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8303 Likewise.
8304
8305 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8308 subvolumes.
8309
8310 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Implement flow control for http.
8313
8314 * grub-core/net/http.c (parse_line): Handle response 206.
8315 (http_receive): Stall if too many packets are in the queue.
8316 (http_establish): Fix range header.
8317 (http_seek): Fix double free.
8318 (http_close): Likewise.
8319 (http_packets_pulled): New function.
8320 (grub_http_protocol): Set http_seek
8321 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8322 (ack_real): Set window depending on i_stall.
8323 (grub_net_send_tcp_packet): Likewise.
8324 (grub_net_tcp_stall): New function.
8325 (grub_net_tcp_unstall): Likewise.
8326 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8327 (grub_net_tcp_unstall): Likewise.
8328
8329 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8332
8333 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8336
8337 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * tests/util/grub-shell.in: Fix a typo.
8340
8341 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 Implement flow control for tftp.
8344
8345 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8346 packets but stop only if stop condition is satisfied.
8347 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8348 `stall' instead of `eof' as stop condition.
8349 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8350 (http_err): Likewise.
8351 * grub-core/net/tftp.c (ack): Replace the first argument with data
8352 instead of socket.
8353 (tftp_receive): Stall if too many packets are in wait queue.
8354 (tftp_packets_pulled): New function.
8355 (grub_tftp_protocol): Set packets_pulled.
8356 * include/grub/net.h (grub_net_packets): New field count.
8357 (grub_net_put_packet): Increment count.
8358 (grub_net_remove_packet): Likewise.
8359 (grub_net_app_protocol): New field `packets_pulled'.
8360 (grub_net): New field `stall'.
8361
8362 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8365 sync part to handle them.
8366
8367 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8370 * grub-core/net/drivers/ieee1275/ofnet.c
8371 (grub_ieee1275_net_config_real): Likewise.
8372
8373 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8376 the direct route for server/gateway.
8377
8378 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8381 IP address to server name since we may not hame the DNS.
8382
8383 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8386 freeing random buffer on failure.
8387 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8388
8389 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8392
8393 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8396 reserved bytes.
8397 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8398 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8399 Handle malloc error correctly.
8400
8401 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8404 blocks.
8405
8406 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8409 increment.
8410
8411 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8414 none is explicitly specified.
8415
8416 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8419 while reallocating.
8420
8421 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Respect netmask from bootp/dhcp.
8424
8425 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8426 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8427 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8428 into ...
8429 (grub_net_add_ipv4_local): ... this.
8430 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8431 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8432 (grub_net_add_ipv4_local): New proto.
8433
8434 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8437 determining EFI memory map size.
8438
8439 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8442
8443 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8446 when looking for partition separator.
8447
8448 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8451 Escape commas.
8452
8453 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 Restructure FAT driver to avoid hook in label reading as it hits a
8456 GCC bug.
8457
8458 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8459 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8460 (grub_fat_iterate_dir): Split into ...
8461 (grub_fat_iterate_init): ... this, ...
8462 (grub_fat_iterate_fini): ... this, ...
8463 (grub_fat_iterate_dir_next): ... and this. All users updated.
8464
8465 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8468 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8469 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8470 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8471 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8472 New fields last_key and last_key_time.
8473 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8474 extended key-esc into extended key-extended key.
8475
8476 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Avoid unnecessary memcpy of whole video buffer.
8479
8480 * grub-core/video/fb/video_fb.c (dirty): New struct.
8481 (framebuffer): Add members current_dirty and previous_dirty.
8482 (dirty): New function.
8483 (grub_video_fb_fill_rect): Update dirty.
8484 (common_blitter): Likewise.
8485 (grub_video_fb_scroll): Likewise.
8486 (doublebuf_blit_update_screen): Copy only dirty part.
8487 (doublebuf_pageflipping_update_screen): Likewise.
8488 (grub_video_fb_doublebuf_blit_init): Init dirty.
8489 (doublebuf_pageflipping_init): Likewise.
8490 (grub_video_fb_setup): Likewise.
8491
8492 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8495 poll rate.
8496
8497 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 Fix wildcard regexp dot and other special characters handling.
8500 Reported by: Robert Mabee.
8501
8502 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8503 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8504 (split_path): Trigger expansion on '?'.
8505 (unescape): New function.
8506 (wildcard_expand): Unescape parts copied without globbing.
8507 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8508 (grub_script_arglist_to_argv): Don't unescape expansions.
8509
8510 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * include/grub/net.h (grub_net_card): New member txbufsize.
8513 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8514 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8515 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8516 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8517 txbufsize.
8518 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8519 compatible property to check for macs. Set
8520 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8521 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8522 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8523 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8524 (send_card_buffer): Use txbuf.
8525 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8526 nested function out of the parent while on it.
8527
8528 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8531 presence check.
8532 (grub_ieee1275_net_config_real): Fix config pointer.
8533
8534 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8537 filename parsing to non-block devices.
8538
8539 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8542
8543 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8546 All users updated.
8547
8548 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8551 UUID search command even if hints probing failed.
8552
8553 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * po/POTFILES.in: Regenerated.
8556
8557 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 Speed-up video on fuloong.
8560
8561 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8562 New function.
8563 (grub_pci_device_unmap_range): Handle non-cached address.
8564 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8565 add direct_ptr.
8566 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8567 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8568 (grub_video_sis315pro_set_active_render_target): Removed.
8569 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8570 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8571 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8572 sync caches.
8573 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8574 New proto.
8575
8576 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * docs/grub.texi (Multi-boot manual config): New section.
8579
8580 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 Avoid slow read-back from VRAM.
8583
8584 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8585 Move from here ...
8586 * grub-core/video/fb/video_fb.c
8587 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8588 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8589 (front_target): Remove front_target. Add pages.
8590 (grub_video_fb_init): Skip setting front_pages.
8591 (grub_video_fb_fini): Likewise.
8592 (doublebuf_blit_update_screen): Use pages.
8593 (grub_video_fb_doublebuf_blit_init): Likewise.
8594 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8595 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8596 (grub_video_fb_setup): Prefer doublebuffing.
8597
8598 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8601 gzio.
8602
8603 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Add loongson tests.
8606
8607 * tests/util/grub-shell.in: Handle loongson.
8608 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8609 drivers.
8610 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8611 Reboot instead of shutdown if REBOOT is defined.
8612
8613 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8616 sized ports since unlike on real hardware qemu supports only 32-bit
8617 regs.
8618
8619 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8622 * util/grub-mkrescue.in: Handle loongson.
8623
8624 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8627 Set is_part appropriately.
8628 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8629 names. Canonicalize partition without full disk.
8630
8631 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 Revert usb-quiesce since it's wrong.
8634
8635 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8636 (grub_ofdisk_init): Don't do quiesce.
8637
8638 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8641 PowerMac workaround to Xserves as well.
8642 Information supplied by: Benjamin Herrenschmidt.
8643
8644 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 Don't assume that beginning address is also the entry point on ppc.
8647
8648 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8649 (grub_linux_boot): Use linux_entry.
8650 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8651 (grub_linux_load64): Likewise.
8652
8653 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8656
8657 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8660 needlessly lose the console.
8661
8662 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8665 space.
8666
8667 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8670 than current grub_get_rtc() not implemented when booted with
8671 coreboot without TSC.
8672
8673 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8674 Add machine/time.h to kernel headers on loongson.
8675 * grub-core/Makefile.core.def (kernel): Remove
8676 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8677 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8678 (grub_get_rtc): Likewise.
8679 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8680 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8681 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8682 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8683 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8684 rather than installing known non-working time source.
8685 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8686 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8687 * include/grub/time.h: Don't include machine/time.h.
8688 * include/grub/efi/time.h: Removed.
8689 * include/grub/i386/efi/time.h: Likewise.
8690 * include/grub/i386/ieee1275/time.h: Likewise.
8691 * include/grub/powerpc/ieee1275/time.h: Likewise.
8692 * include/grub/sparc64/ieee1275/time.h: Likewise.
8693 * include/grub/x86_64/efi/time.h: Likewise.
8694
8695 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 Remove dot on i and j when combining with above diacritics.
8698
8699 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8700 value.
8701 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8702 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8703 with dotless variants when any combining above is present.
8704
8705 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8708 text and not binary.
8709
8710 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Stop polling as soon as we have the packet we were waiting for.
8713
8714 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8715 All users updated.
8716 * grub-core/net/arp.c (have_pending): New var.
8717 (pending_req): Likewise.
8718 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8719 stop indicator.
8720 (grub_net_arp_receive): Set have_pending.
8721 * grub-core/net/dns.c (recv_data): New field stop.
8722 (recv_hook): Set stop.
8723 (grub_net_dns_lookup): Init stop and use as stop condition.
8724 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8725 condition.
8726 * grub-core/net/net.c (grub_net_poll_cards): New argument
8727 stop_condition. Stop when it goes true.
8728 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8729 indicator.
8730 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8731
8732 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 Keep TX and RX buffers on EFI rather than always allocate new ones.
8735
8736 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8737 card. All users updated.
8738 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8739 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8740 (get_card_packet): Likewise.
8741 (grub_efinet_findcards): Init new fields.
8742
8743 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8746 compilation error on sparc64.
8747
8748 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Use ITC on IA64 rather than broken routine based on daytime.
8751
8752 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8753 ia64.
8754 (grub_get_rtc) [__ia64__]: Likewise.
8755 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8756 (get_itc): New function.
8757 (grub_rtc_get_time_ms): Likewise.
8758 (grub_machine_init): Calibrate ITC.
8759 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8760 Keep only on non-ia64. Don't export since it's broken and used only
8761 if TSC is unavailable.
8762
8763 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8766 even if it's used.
8767 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8768 Skip if parent is unused.
8769
8770 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8773
8774 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 Fix wildcard escaping.
8777
8778 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8779 * grub-core/script/execute.c (wildcard_escape): .. to here.
8780 Don't escape dot.
8781 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8782 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8783 Don't escape dot.
8784 * grub-core/script/execute.c (gettext_append): Always escape.
8785 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8786 * grub-core/script/yylex.l: Don't cut away the escaping.
8787 * tests/grub_script_echo1.in: Add tests with wildcard.
8788
8789 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8792 (ftdi_hw_configure): Likewise.
8793 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8794 define.
8795 (real_config): Handle 1.5 stop bits.
8796 (pl2303_hw_configure): Likewise.
8797
8798 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * Makefile.am: Add ppc linux bootcheck.
8801 * grub-core/tests/boot/linux-ppc.cfg: New file.
8802 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8803
8804 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * tests/grub_script_expansion.in: Skip network protocols.
8807
8808 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8811
8812 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8815 --rom-directory.
8816 Add -graft-points.
8817
8818 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 ESCC serial driver for conducting sautomated tests in qemu.
8821 Not tested on real hardware.
8822
8823 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8824 * grub-core/term/ieee1275/escc.c: New file.
8825 * grub-core/Makefile.core.def (escc): New module.
8826
8827 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8830 invalid on error.
8831 (serial_hw_fetch): Don't read invalid handle.
8832 (serial_hw_put): Don't write into invalid handle.
8833
8834 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 Add a 1.5 stop bits value.
8837
8838 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8839 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8840 GRUB_SERIAL_STOP_BITS_1_5.
8841
8842 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8845 value rather than let it uninited.
8846
8847 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/commands/wildcard.c (+check_file): New function.
8850 (wildcard_expand): Don't expand to non-existing files, expand with
8851 suffix and not attempt to expand if not needed.
8852
8853 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8856 out of partitions containing other partitions.
8857
8858 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8861 on some qemu versions with GRUB.
8862
8863 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8864 define.
8865 (grub_openbsd_bootarg_pcibios): New struct.
8866 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8867 Add PCIINFO.
8868
8869 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * tests/util/grub-shell.in: Trim firmware output on EFI.
8872
8873 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8876 and coreboot since it's already in kernel.
8877
8878 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8881 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8882 to here. New return value start. All users updated.
8883 Recursively scan linear mappings.
8884 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8885 proto.
8886 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8887 Use grub_util_get_dm_node_linear_info.
8888 * util/getroot.c (convert_system_partition_to_system_disk): Use
8889 grub_util_info rather than grub_dprintf.
8890 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8891
8892 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8895
8896 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8897 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8898
8899 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * include/grub/types.h (grub_set_unaligned64): New function.
8902 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8903 (setup): Likewise.
8904
8905 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8908 (grub_ofdisk_fini): Quiesce USB devices.
8909
8910 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8913 caches.
8914
8915 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8918
8919 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/disk/pata.c (grub_pata_pio_read)
8922 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8923 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8924
8925 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 Extend automated tests to qemu-mips.
8928
8929 * Makefile.am: reorganise tests and enable qemu-mips.
8930 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8931 * grub-core/tests/boot/linux.init-mips.S: New file.
8932 * tests/partmap_test.in: Handle ata0 disks.
8933 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8934 non-pc i386.
8935
8936 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8939 ia64.
8940 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8941 quotes while on it.
8942
8943 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8946 (grub_halt): Likewise.
8947 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8948
8949 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/term/serial.c (grub_serial_register)
8952 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8953 the behaviour in line with x86 platforms.
8954
8955 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8958 (grub_ata_strncpy): Likewise.
8959 (grub_ata_identify): Add missing byteswaps.
8960
8961 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8964 byte-swap.
8965 (screen_read_char): Likewise.
8966 (grub_vga_text_cls): Likewise.
8967
8968 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8971 filenames.
8972 (make_file_path): Likewise.
8973
8974 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8977 machines.
8978 Tested by: Paulo Flabiano Smorigo.
8979 Crucial information about API supplied by: Coleen <Last name unknown>.
8980 Reviewed by: Coleen <Last name unknown>.
8981
8982 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * util/grub-mkimage.c: Disable -Wcast-align.
8985
8986 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8989 as they are fatal.
8990
8991 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8994
8995 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * util/grub-probe.c (escape_of_path): Fix double free.
8998
8999 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/commands/videoinfo.c (hook): Show pitch.
9002
9003 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9006
9007 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9010 (probe): Add ieee1275 to OFW devices.
9011
9012 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9015
9016 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Handle IBM OFW path.
9019
9020 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9021 available.
9022 (of_path_of_scsi): Handle vdevice.
9023
9024 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9027 Allocate in multiples of 16 to avoid adding a few bytes free region the
9028 windows bugs upon.
9029
9030 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9033 Allocate in multiples of 16 to avoid adding a few bytes free region the
9034 windows bugs upon.
9035 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9036
9037 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9040 resolutions.
9041 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9042 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9043
9044 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9045
9046 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9047
9048 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9051 resulted in \\ at the end of the line.
9052
9053 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9056 (grub_parser_cmdline_state): Likewise.
9057 (grub_parser_split_cmdline): Likewise.
9058
9059 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9062 /dev/root and /dev/dm-*.
9063
9064 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9067 fix partially stale display.
9068
9069 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9072 substraction.
9073
9074 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9077 Fix MBR remapping workaround.
9078 (grub_util_biosdisk_read) [__linux__]: Likewise.
9079
9080 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9083
9084 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * configure.ac: Bump to beta6.
9087
9088 2012-05-31 Christer Weinigel <christer@weinigel.se>
9089
9090 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9091
9092 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9095 (grub_cmd_linux): Likewise.
9096
9097 2012-05-31 Christer Weinigel <christer@weinigel.se>
9098
9099 Fix EHCI low-speed.
9100
9101 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9102 (GRUB_EHCI_MULT_TWO): Likewise.
9103 (GRUB_EHCI_MULT_THREE): Likewise.
9104 (GRUB_EHCI_CMASK_MASK): New enum value.
9105 (GRUB_EHCI_SMASK_MASK): Likewise.
9106 (GRUB_EHCI_CMASK_OFF): Likewise.
9107 (GRUB_EHCI_SMASK_OFF): Likewise.
9108 (grub_ehci_pci_iter): Enable periodic schedule.
9109 (grub_ehci_parse_notrun): Likewise.
9110 (grub_ehci_restore_hw): Likewise.
9111 (grub_ehci_setup_qh): Set flags for low speed transfers.
9112 (grub_ehci_find_qh): Use periodic list for low speed.
9113 (grub_ehci_setup_transfer): Check periodic queue as well.
9114 (grub_ehci_check_transfer): Likewise.
9115 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9116
9117 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9118
9119 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9120 parameter is used.
9121
9122 2012-05-31 Peter Jones <pjones@redhat.com>
9123
9124 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9125 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9126 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9127
9128 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9131 uninited variable. Allocate at least setup_sects.
9132
9133 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 Fix handling of EFI with big memory maps.
9136
9137 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9138 (real_mode_mem): Likewise.
9139 (real_mode_target): Likewise.
9140 (real_mode_pages): Likewise.
9141 (prot_mode_pages): Likewise.
9142 (linux_params): New var.
9143 (linux_cmdline): Likewise.
9144 (free_pages): Don't set real mode variables.
9145 (allocate_pages): Don't allocate real mode memory.
9146 (grub_e820_add_region): Remove the limit.
9147 (grub_linux_boot): Allocate and copy real mode memory.
9148 (grub_linux_unload): Free linux_cmdline.
9149 (grub_cmd_linux): Use temporary storage for parameters.
9150 (grub_cmd_initrd): Likewise.
9151 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9152 (linux_kernel_params): Make it 1K big.
9153
9154 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * Makefile.util.def: Remove -Wno-format.
9157 * grub-core/Makefile.core.def: Likewise.
9158
9159 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * tests/cmp_unit_test.c: Add missing failure message.
9162 * tests/example_unit_test.c: Likewise.
9163 * tests/printf_unit_test.c: Likewise.
9164
9165 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9168 relaxation of protective MBR requirements.
9169
9170 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * configure.ac: Add condition for COND_HOST_XNU.
9173 * Makefile.util.def (10_xnu): New script.
9174 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9175
9176 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9179 objconv bug.
9180
9181 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9184 Binary on other platforms stays identical.
9185
9186 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9189 Apple.
9190
9191 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9194
9195 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9198 rather than defining size_t ourselves to avoid conflict.
9199
9200 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9203 initialisation to avoid __bzero reference.
9204
9205 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9208 version.
9209 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9210 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9211 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9212 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9213 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9214
9215 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9218 * grub-core/kern/misc.c: Likewise.
9219 * grub-core/loader/i386/xnu.c: Likewise.
9220 * include/grub/i386/tsc.h: Likewise.
9221 * include/grub/symbol.h: Likewise.
9222
9223 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9226 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9227 on older compiler.
9228
9229 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9232 Implement Apple flavour.
9233 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9234
9235 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9238 (memmove) [__APPLE__]: Likewise.
9239 (memcpy) [__APPLE__]: Likewise.
9240 (memset) [__APPLE__]: Likewise.
9241 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9242 (memmove) [__APPLE__]: Likewise.
9243 (memcpy) [__APPLE__]: Likewise.
9244 (memset) [__APPLE__]: Likewise.
9245
9246 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9249 dependency discard.
9250
9251 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/normal/main.c (read_config_file): Provide config_file and
9254 config_directory.
9255 * util/grub.d/41_custom.in: Use config_directoy when available.
9256
9257 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9260 (grub_bfs_dir): Likewise.
9261
9262 2012-05-27 Peter Jones <pjones@redhat.com>
9263
9264 The old code gives arguments to a printf function which can't work
9265 correctly, and the compiler complains.
9266
9267 * grub-core/tests/example_functional_test.c (example_test): Add
9268 missing text.
9269 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9270 * include/grub/test.h (grub_test_assert_helper): New declaration.
9271 (grub_test_assert): Use grub_test_assert_helper.
9272
9273 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9276 (exfctest): ... this to avoid overlong filenames.
9277 All users updated.
9278
9279 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Handle "." and ".." on squashfs.
9282
9283 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9284 Make inode numbers into stack.
9285 (grub_squash_read_symlink): Use stack.
9286 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9287 (make_root_node): Fill stack.
9288 (grub_squash_open): Use stack.
9289
9290 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9293 freeing.
9294
9295 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9298 stderr on test calls.
9299
9300 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9303
9304 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9307
9308 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9311 "..".
9312
9313 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9316 (grub_hfsplus_iterate_dir): Add "." and "..".
9317
9318 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9321 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9322
9323 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9326 (find_path): Handle "." and "..".
9327
9328 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9331 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9332 (grub_affs_iterate_dir): Handle hardlinks.
9333
9334 2012-05-26 Matthew Garrett <mjg@redhat.com>
9335
9336 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9337 (grub_efi_console_fini): Likewise.
9338 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9339 (grub_video_gop_fill_mode_info): Rename to ...
9340 (grub_video_gop_fill_real_mode_info): ... this.
9341 (grub_video_gop_fill_mode_info): New function.
9342 (grub_video_gop_setup): Setup double framebuffer.
9343 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9344 Free offscreen.
9345 (grub_video_gop_swap_buffers): Copy framebuffer.
9346 (grub_video_gop_fini): Free offscreen buffer.
9347 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9348 New enum.
9349 (grub_efi_gop_blt_pixel): New struct.
9350
9351 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * gentpl.py: Remove error disabling for objconv.
9354
9355 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * configure.ac: Remove -Wunitialized as it's not available on older
9358 compilers.
9359
9360 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 Fix extent overflow comparator.
9363
9364 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9365 (grub_hfsplus_read_block): Set type.
9366 (grub_hfsplus_cmp_extkey): Compare type.
9367
9368 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9371
9372 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9375 than 0.
9376
9377 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9380 (dejavu_bold_14.pf2): New target.
9381
9382 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * configure.ac: Fix djvu font detection.
9385
9386 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9389 ext* instead of ext2.
9390
9391 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9394 name with \0.
9395
9396 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9397
9398 * docs/grub-dev.texi: Remove dot from .png.
9399
9400 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9403 protective entry in any slot.
9404 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9405 if protective entry is found in any slot.
9406
9407 Protective entry in non-first slot make no sense but is a widespread
9408 brain damage.
9409
9410 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9413
9414 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9417 with old reiserfs.
9418 (grub_reiserfs_open): Don't free root.
9419
9420 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9423 after freeing for safety.
9424
9425 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9428 Reported by: Jordan Uggla.
9429
9430 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9431
9432 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9433 actual implementation. Specifically, clarify that the grub menu will
9434 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9435 passed.
9436
9437 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9438
9439 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9440 of r0.
9441
9442 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 Remove unjustified hard dependency of normal.mod on gfxterm.
9445
9446 * include/grub/term.h (grub_term_output): New member fullscreen.
9447 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9448 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9449 (grub_gfxterm): Set .fullscreen.
9450 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9451 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9452
9453 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9456 mentioning possible problems with non-ASCII (non-compliant) ISOs.
9457 Mention case-insensitive AFFS, SFS and JFS.
9458
9459 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9462
9463 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9466 a bad FS.
9467
9468 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9471 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9472
9473 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9476 (grub_jfs_mount): Fill caseins.
9477 (grub_jfs_find_file): Respect caseins.
9478
9479 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9482 through UTF-16.
9483
9484 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9487 New argument origpath. All users updated.
9488
9489 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9492 (read_attr): Ensure that we read start of possibly compressed block.
9493
9494 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9497 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9498 All users updated.
9499
9500 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9503 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9504 (dejavu.pf2): Replace with ...
9505 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9506 this.
9507
9508 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * util/grub.d/20_linux_xen.in: Add missing line.
9511
9512 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9515 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9516 (grub_utf16_to_utf8): Likewise.
9517
9518 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9521 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9522 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9523 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9524 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9525 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9526
9527 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9530 a bad FS.
9531
9532 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9535 (grub_udf_read_symlink): Handle read_string failure.
9536
9537 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9540 comment.
9541
9542 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 Fix handling of UDF symlinks.
9545
9546 * grub-core/fs/udf.c (read_string): New argument outbuf.
9547 All users updated.
9548 (grub_ufs_read_symlink): Rename to ...
9549 (grub_udf_read_symlink): ... this. All users updated.
9550 Handle symlinks with more than one component.
9551
9552 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9555 symlinks. Replace leading colon with a slash.
9556
9557 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9560 filename.
9561
9562 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9565 match in inner node.
9566
9567 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9570 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9571 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9572 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9573 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9574 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9575 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9576 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9577 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9578
9579 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 Use grub-probe and not cmp to check that disk is empty.
9582
9583 * util/grub-install.in: Use grub-probe for zero-check.
9584 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9585 (probe): Handle PRINT_ZERO_CHECK.
9586 (argp_parser): Handle -t zero_check.
9587
9588 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Flush block cache on adding disk to device map.
9591
9592 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9593 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9594 adding.
9595 (read_device_map): Likewise.
9596 (open_device): Flush on opening.
9597
9598 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9601 (handle_symlink): Fix off-by-one error.
9602 Canonicalize the target.
9603 (grub_cpio_dir): Canonicalize the name.
9604 Fix memory leak.
9605 Set directory.
9606 (grub_cpio_open): Canonicalize the name.
9607
9608 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9611 handling.
9612
9613 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9616 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9617
9618 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9621 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
9622 All users updated.
9623
9624 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9627 counterpart.
9628
9629 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 Fix UFS1 big file support.
9632
9633 * grub-core/fs/ufs.c (INODE): Removed.
9634 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9635 64-bit.
9636 (INODE_MODE): Simplify.
9637 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9638 (grub_ufs_lookup_symlink): Don't use INODE.
9639
9640 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9643
9644 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9645 (grub_minix_data): Replace log_block_size with block_size.
9646 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9647 (grub_minix_mount): Fill block_size.
9648
9649 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * configure.ac: Bump to beta5.
9652
9653 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 Fix wrapped HFS+ handling.
9656
9657 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9658 blocks_start. All users updated.
9659 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9660 wrapping offset.
9661 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9662
9663 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 Fix long symlinks on reiserfs.
9666
9667 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9668 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9669 (grub_reiserfs_iterate_dir): Save size for non-directories.
9670 (grub_reiserfs_open): Don't reread stat block as we already know the
9671 size.
9672 (grub_reiserfs_read): Split into...
9673 (grub_reiserfs_read_real): ... and ...
9674 (grub_reiserfs_read): ...this.
9675
9676 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 Fix non-indexed JFS.
9679
9680 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9681 (grub_jfs_data): New field namecomponentlen.
9682 (grub_jfs_mount): Fill namecomponentlen.
9683 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9684
9685 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9688 * tests/grub_script_echo1.in: Add tests.
9689
9690 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * util/grub-install.in: Ignore empty devicetree directory.
9693
9694 2012-05-08 Bean <bean123ch@gmail.com>
9695
9696 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9697 All users updated.
9698 (free_rsm): Free header as well.
9699 (free_old_fragments): Fix memory leak.
9700 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9701 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9702 (destroy_pq): Likewise.
9703 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9704
9705 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9708 resulting hash as a precaution.
9709
9710 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9713 '_' in variable names.
9714 * grub-core/net/net.c (grub_net_network_level_interface_register):
9715 Likewise.
9716
9717 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 Fix AFFS with non-512B blocks.
9720
9721 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9722 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9723 (grub_affs_data): Replace blocksize with log_blocksize.
9724 (grub_affs_read_block): Fix non-512B blocks.
9725 (grub_affs_read_symlink): Likewise.
9726 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9727 (grub_affs_read): Fix non-512B blocks.
9728 (grub_affs_label): Likewise.
9729 (grub_affs_mtime): Likewise.
9730 (grub_affs_mount): Fix block detection routine.
9731
9732 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 Add filesystem mtime to AFFS.
9735
9736 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9737 (aftime2ctime): New function.
9738 (grub_affs_dir): Use aftime2ctime.
9739 (grub_affs_label): Fix return value.
9740 (grub_affs_mtime): New function.
9741 (grub_affs_fs): Add mtime.
9742
9743 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9746 UTF-8.
9747
9748 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9751 UTF-8.
9752
9753 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9756
9757 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9760 flags.
9761 (FLAGS_CASE_SENSITIVE): New enum value.
9762 (cache_entry): New struct.
9763 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9764 cache_size and cache.
9765 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9766 Add log_blocksize and fshelp_flags.
9767 (grub_sfs_read_extent): Handle non-512 blocks.
9768 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9769 (grub_sfs_read_file): Handle non-512 blocks.
9770 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9771 fshelp_flags.
9772 (grub_sfs_read_symlink): Handle non-512 blocks.
9773 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9774 (grub_sfs_dir): Free cache.
9775 (grub_sfs_close): Likewise.
9776
9777 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9780 filesystems.
9781
9782 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9785
9786 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9789
9790 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9793 (grub_sfs_read_extent): Likewise.
9794 (grub_sfs_read_block): Likewise.
9795 (grub_sfs_mount): Likewise.
9796 (grub_sfs_iterate_dir): Likewise.
9797 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9798 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9799
9800 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 Fix errors on compressed NTFS with 512B clusters.
9803
9804 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9805 types.
9806 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9807 not 0.
9808 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9809 Relax check for inline extents.
9810 (ntfscomp): Return correct -1 on error and not 0.
9811
9812 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * util/grub-install.in: Fix handling of prefix containing spaces.
9815
9816 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9819 (grub_squash_read_data): Fix offset byte-swapping.
9820
9821 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9824 per common usage and preffered in several parts of code.
9825 (grub_memcmp): Likewise.
9826 (grub_strncmp): Likewise.
9827 * include/grub/misc.h (grub_strcasecmp): Likewise.
9828 (grub_strncasecmp): Likewise.
9829 * Makefile.util.def (cmp_test): New test.
9830 (grub_script_strcmp): Likewise.
9831 * tests/cmp_unit_test.c: New file.
9832 * tests/grub_script_strcmp.in: Likewise.
9833 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9834
9835 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * include/grub/pci.h: Move enums into no-asm part.
9838
9839 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9842
9843 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9844
9845 * util/getroot.c (find_hurd_root_device): Try to make error message
9846 and comments to translators clearer.
9847
9848 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9851
9852 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9855 btrfs.
9856
9857 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * docs/grub.cfg: Update.
9860
9861 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * docs/grub.texi (PXE): Remove not present variables.
9864
9865 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/net/net.c (defserver_set_env): New function.
9868 (defserver_get_env): Likewise.
9869 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9870
9871 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9874 entries.
9875
9876 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9879 * grub-core/kern/emu/hostdisk.c: Likewise.
9880
9881 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9882
9883 Handle hurd userspace partitions.
9884
9885 * util/getroot.c (find_hurd_root_device): New function.
9886 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9887
9888 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9891 names.
9892 Reported by: Bastian Blank.
9893
9894 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9897 crossing page boundary.
9898
9899 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 Fix B-tree search in BFS, especially in presence of non-ASCII
9902 characters.
9903
9904 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9905 (find_in_b_tree): Use standard bsearch + btree algorithm.
9906
9907 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9910 and so on.
9911
9912 2012-05-03 Matthew Garrett <mjg@redhat.com>
9913 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Suspend broadcom cards in order to stop their DMA.
9916
9917 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9918 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9919 (pci): Don't build on x86 EFI.
9920 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9921 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9922 New function.
9923 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9924 stop_broadcom if running on EFI.
9925 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9926 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9927 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9928 (grub_pci_find_capability): New proto.
9929
9930 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * docs/grub.texi: Remove dot from the extension as it apparently
9933 doesn't work with some makeinfo versions.
9934
9935 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9938 with GRUB expectance.
9939
9940 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9943
9944 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9947 zero after directory block since last entry may be not 0-terminated if
9948 it ends on block boundary. Use continue instead of if spanning whole
9949 loop.
9950
9951 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 Support 4K sectors UDF inline files.
9954
9955 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9956 (grub_udf_extended_file_entry): Likewise.
9957 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9958 All users updated.
9959 (get_fshelp_size): New function.
9960 (grub_udf_read_icb): Read whole block.
9961 (grub_udf_iterate_dir): Likewise.
9962 (grub_udf_dir): Likewise.
9963 (grub_udf_open): Likewise.
9964
9965 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9968
9969 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9972 inline symlinks in addition to workaround.
9973
9974 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9977
9978 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9981
9982 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9985
9986 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 Fix reiserfs big seek times.
9989
9990 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9991 exact. All users updated.
9992 (grub_reiserfs_read): Use nearest btree search for seeking.
9993 Fix return value on error.
9994
9995 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9998 entries.
9999 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10000 * docs/grub.texi: Update menuentry description.
10001
10002 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10005 crash when embedding onto filesystem.
10006
10007 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10010 name.
10011
10012 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10015
10016 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10019 commit.
10020
10021 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10022 2012-05-01 Bean <bean123ch@gmail.com>
10023
10024 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10025
10026 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10029 Special behaviour for len = 0 to read whole file isn't used anywhere and
10030 can cause buffer ovewrflows in several places.
10031
10032 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10035
10036 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 Handle RAIDZ on non-512B sectors.
10039
10040 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10041 max_children_ashift.
10042 (fill_vdev_info_real): Fill max_children_ashift.
10043 (read_device): Use max_children_ashift.
10044
10045 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10048
10049 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10052 disk names.
10053 * docs/grub.texi: Update device.map parts.
10054
10055 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 Don't scan into non-diskfilter devices having diskfilter names.
10058
10059 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10060 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10061 handling.
10062 (scan_disk_hook): New function.
10063
10064 2012-04-29 Bean <bean123ch@gmail.com>
10065
10066 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10067 allocation.
10068
10069 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10070
10071 * configure.ac: Detect starfield theme font path
10072 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10073
10074 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10077 geometry on serial consoles.
10078
10079 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10082 because of network consoles.
10083
10084 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10087 handling.
10088
10089 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10092 falls on Q syndrom.
10093
10094 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10097 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10098
10099 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10102 Allocate at lest 8192 for temporary buffer as required for lzo.
10103
10104 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10107 to cluster_bits, since it's already added in.
10108 (grub_fat_read_data): Likewise.
10109
10110 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10113 as long as cluster size is multiple of 512 bytes.
10114
10115 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * util/grub-mkrescue.in: Fix locale directory.
10118
10119 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/kern/emu/hostdisk.c (map): Make static.
10122
10123 2012-04-23 Bean <bean123ch@gmail.com>
10124
10125 * util/grub-fstest.c (fstest): Add missing break.
10126
10127 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10128
10129 Fix hurd build.
10130
10131 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10132 not define nr variable.
10133 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10134 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10135 grub_find_device): Do not define.
10136
10137 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 Fix kfreebsd compile and behaviour.
10140
10141 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10142 format-security.
10143 * util/getroot.c: Fix wait.h include.
10144 (grub_guess_root_devices): Error if grub_find_device fails.
10145 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10146 (grub_util_get_dev_abstraction): Likewise.
10147 (grub_util_pull_device): Likewise.
10148 (grub_util_get_grub_dev): Likewise.
10149 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10150
10151 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Fix and unify wholedisk detection.
10154
10155 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10156 is_part. All users updated.
10157 (device_is_wholedisk): Removed.
10158 (grub_util_biosdisk_get_grub_dev): Use is_part.
10159
10160 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10163 mode.
10164
10165 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * configure.ac: Bump to beta4.
10168
10169 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10172 --fs-uuid --set UUID syntax.
10173
10174 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10177 disunification.
10178
10179 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10182
10183 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
10184
10185 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10186
10187 2012-04-18 Mike Gilbert <floppym@gentoo.org>
10188
10189 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10190
10191 2012-04-18 Bean <bean123ch@gmail.com>
10192
10193 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10194 place.
10195
10196 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10199 users updated.
10200 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10201 corresponding to GRUB partitions.
10202 (grub_util_biosdisk_write): Likewise.
10203
10204 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Scan mdraid before LVM.
10207
10208 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10209 (grub_diskfilter_register_front): ... this.
10210 (grub_diskfilter_register_back): New function.
10211 All users of grub_diskfilter_register updated.
10212
10213 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * util/grub-install.in: Fix an automatic target detection bug.
10216
10217 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * util/grub-install.in: New option --efi-directory.
10220
10221 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10224 boot services if we have no other choice.
10225
10226 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10229 document it.
10230 * tests/util/grub-shell.in: Update to --directory.
10231
10232 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10235
10236 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10239 (grub_minix_read_file): Likewise.
10240 (grub_minix_read_inode): Likewise.
10241 (grub_minix_find_file): Likewise.
10242 (grub_minix_dir): Likewise.
10243
10244 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * util/grub-setup.c (setup): Fix partition handling and blocklist
10247 check.
10248
10249 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10252 redundant buggy overlap check.
10253
10254 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10257 and grub-mknetdir.
10258
10259 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10262 kh.loadflags on pre-2.00 kernels.
10263
10264 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 Terminate UNDI and PXE before launching the payload to avoid problems
10267 with DMA.
10268
10269 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10270 (grub_loader_flags): ... this. All users updated.
10271 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10272 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10273 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10274 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10275 function.
10276 (grub_pxe_restore): Likewise.
10277 (fini_hnd): New var.
10278 (GRUB_MOD_INIT): Register shutdown hook.
10279 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10280 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10281 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10282 (grub_loader_set): Rename second argument to flags.
10283
10284 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10287 written bytes.
10288 (grub_get_num_of_utf8_bytes): New function.
10289 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10290 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10291 executing it.
10292 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10293 (grub_ucs4_to_utf8): Change return type.
10294
10295 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10298 warning.
10299 * grub-core/fs/bfs.c (hop_level): Likewise.
10300 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
10301
10302 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * grub-core/lib/adler32.c: Recode due to license unclearness.
10305
10306 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10309 (test_header): Likewise.
10310
10311 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Fix --help formatting.
10314
10315 * util/grub-mkconfig_lib.in (print_option_help): New function.
10316 (grub_fmt): Likewise.
10317 * util/grub-install.in: Use print_option_help and grub_fmt.
10318 * util/grub-kbdcomp.in: Likewise.
10319 * util/grub-mkconfig.in: Likewise.
10320 * util/grub-mknetdir.in: Likewise.
10321 * util/grub-mkrescue.in: Likewise.
10322 * util/grub-mkstandalone.in: Likewise.
10323 * util/grub-reboot.in: Likewise.
10324 * util/grub-set-default.in: Likewise.
10325 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10326
10327 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * linguas.sh: Remove autogenerated *.po.
10330
10331 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * po/README: Move language fetcing to ...
10334 * linguas.sh: ... here.
10335 * po/README: Point to linguas.sh.
10336
10337 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * po/README: Exclude ko.po due to disclaimer problems.
10340
10341 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10344 len = 0.
10345 (grub_gettext_translate_real): Handle 0th string.
10346 (grub_gettext_translate): Ensure that "" isn't translated.
10347
10348 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10351 TRANSLATORS comment.
10352 (grub_diskfilter_print_partmap): Propagate changing of error into
10353 warning.
10354
10355 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10358 to uint64_t to prevent overflow.
10359 (grub_diskfilter_lv): Increase start_extent and extent_count
10360 to uint64_t to prevent overflow.
10361
10362 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * configure.ac: Increase version.
10365
10366 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10369
10370 * po/Rules-translit: New file.
10371 * po/arabic.sed: Likewise.
10372 * po/cyrillic.sed: Likewise.
10373 * po/greek.sed: Likewise.
10374 * po/hebrew.sed: Likewise.
10375 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10376 * po/Makefile.in.in: Add extra_dist4.
10377
10378 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10381
10382 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10383 modify names. Introduce MODE_BIGENDIAN.
10384 * grub-core/fs/minix_be.c: New file.
10385 * grub-core/fs/minix2_be.c: Likewise
10386 * grub-core/fs/minix3_be.c: Likewise.
10387 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10388 minix3_be.
10389 * grub-core/Makefile.core.def (minix_be): New module.
10390 (minix2_be): Likewise.
10391 (minix3_be): Likewise.
10392
10393 2012-04-01 Felix <email@hamburg.de>
10394
10395 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10396 (devs): Add MBP 2011.
10397
10398 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10401
10402 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/normal/cmdline.c (print_completion): New field
10405 prompt_len.
10406 (grub_cmdline_get): Handle width properly.
10407
10408 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10411
10412 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
10415 after 29th of February.
10416
10417 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Fix exfat endianness handling.
10420
10421 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10422 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10423 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10424 Byte-swap utf16 when necessary.
10425 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10426
10427 2012-03-31 Anton Blanchard <anton@samba.org>
10428 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 Fix btrfs endianness handling.
10431
10432 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10433 (lower_bound): Make root uint64_t. Use root in le.
10434 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10435 (find_path): Fix template key init.
10436 (grub_btrfs_dir): Fix mtime byteswap.
10437 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10438
10439 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10442 recursion_depth. Break infinite resursions. All users updated.
10443
10444 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10447 after free.
10448 Reported by: Peter Jones.
10449
10450 2012-03-31 Anton Blanchard <anton@samba.org>
10451
10452 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10453 8 bit values.
10454
10455 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * util/grub-install.in: Fix nvram call for PreP.
10458
10459 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10462 the error when some elements are missing into a warning.
10463
10464 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10467
10468 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
10469
10470 * docs/grub.texi (Invoking grub-probe): New section.
10471 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10472
10473 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 Fix tab and wide character handling in editor and menu.
10476
10477 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10478 agglomerate control characters with combining marks.
10479 (bidi_line_wrap): Allow break on tab.
10480 (grub_unicode_get_comb_start): New function.
10481 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10482 and tab correctly.
10483 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10484 with a space.
10485 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10486 fixed_tab_size. All users updated.
10487 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10488 (grub_term_getcharwidth): Handle \t.
10489 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10490 and copy.
10491
10492 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Handle big-endian mdraid.
10495
10496 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10497 * grub-core/Makefile.core.def (mdraid09_be): New module.
10498 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10499 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10500 * grub-core/disk/mdraid_linux_be.c: New file.
10501
10502 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10505
10506 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10509 missing quotes which caused confusion among translators.
10510
10511 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * util/grub-mkconfig_lib.in: Fix typo.
10514
10515 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10518 spaces.
10519 * tests/grub_script_leading_whitespace.in: New file.
10520 * Makefile.util.def (grub_script_leading_whitespace): New test.
10521
10522 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10525 to work.
10526
10527 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10530 starts with control character.
10531
10532 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10535 overflow.
10536 (grub_gdb_outbuf): Likewise.
10537
10538 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10541 zero terminator. Fixes a crash.
10542
10543 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10546 beyond 4 GiB.
10547 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10548 images independently of preffered adderss field.
10549
10550 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10553 * grub-core/commands/regexp.c: Likewise.
10554 * grub-core/loader/i386/linux.c: Likewise.
10555 * grub-core/partmap/msdos.c: Likewise.
10556 * grub-core/script/execute.c: Likewise.
10557 * grub-core/term/gfxterm.c: Likewise.
10558
10559 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 Add variable parsing in $"..." and fix several mismatches with bash.
10562
10563 * Makefile.util.def (grub_script_gettext): New test.
10564 * grub-core/script/execute.c (parse_string): New function.
10565 (gettext_append): Likewise.
10566 (grub_script_arglist_to_argv): Use gettext_append.
10567 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10568 * tests/grub_script_gettext.in: New file.
10569
10570 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 Fix handling of leading spaces in scripts.
10573
10574 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10575 spaces.
10576 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10577 other than skipping \r. All users updated.
10578 * tests/grub_script_echo1.in: Add space-related tests.
10579 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10580
10581 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10584
10585 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * configure.ac: Bump up the version to beta2.
10588
10589 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Fix gettext reload bugs (e.g. inability to disable gettext
10592 once enabled).
10593
10594 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10595 main_context and secondary_context. All functions updated.
10596 (grub_gettext_translate): Rename to ...
10597 (grub_gettext_translate_real): ... this. Return NULL on failed
10598 translate.
10599 (grub_gettext_translate): Handle secondary context.
10600 (grub_gettext_delete_list): Close file and zero-out the context.
10601 (grub_mofile_open): Don't call grub_gettext_delete_list.
10602 Don't close file.
10603 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10604 if locale="" to avoid pointless error message.
10605 (grub_gettext_env_write_lang): Update lang even if load fails.
10606 Handle secondary context.
10607 (grub_gettext_reread_prefix): New function.
10608 (read_main): Likewise.
10609 (read_secondary): Likewise.
10610 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10611 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10612 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10613 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10614
10615 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * configure.ac: Decrease warning level to avoid spurious warnings and
10618 to be able to compile with GCC 4.2.
10619 * Makefile.util.def: Remove -Wno-error=logical-op.
10620
10621 2012-03-10 William Bittner <william.bittner@gmail.com>
10622
10623 * util/import_unicode.py: Add missing brackets around string for
10624 python 3 support.
10625
10626 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 Fix efi chainloader on network root.
10629
10630 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10631 network devices.
10632 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10633 New function.
10634
10635 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10638 unused show_text member.
10639 * docs/grub.texi: Document "text" property.
10640
10641 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10644 in dprintf.
10645
10646 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 Fix IMSM handling on Fedora.
10649
10650 * util/getroot.c (grub_util_is_imsm): New function.
10651 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10652
10653 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * Makefile.am: Strip gold section.
10656 * conf/Makefile.common: Likewise.
10657 * gentpl.py: Likewise.
10658 * grub-core/Makefile.core.def: Likewise.
10659 * grub-core/genmod.sh.in: Likewise.
10660
10661 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10664 * util/grub.d/20_linux_xen.in: Likewise.
10665 Based on Debian patch.
10666
10667 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * util/grub.d/10_linux.in: Fix syntax error resulting in
10670 Richard Laager's patch.
10671 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10672
10673 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10676 dependencies.
10677
10678 2012-03-10 Richard Laager <rlaager@wiktel.com>
10679
10680 * util/grub.d/10_linux.in: Fix ZFS root passing.
10681
10682 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10685 * grub-core/commands/xnu_uuid.c: Likewise.
10686 * grub-core/loader/efi/appleloader.c: Likewise.
10687 * grub-core/script/execute.c: Likewise.
10688 * grub-core/script/main.c: Likewise.
10689 * util/grub-mkfont.c: Likewise.
10690
10691 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * util/grub-mkfont.c (options): Use more appropriate "select" that
10694 "set" for face index.
10695
10696 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * util/grub-editenv.c (options): Gettextize command summaries.
10699
10700 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10703 "out of memory" error messagge.
10704
10705 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10708 of diskfilter for diskfilter on diskfilter support.
10709
10710 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10713
10714 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10717 themes/starfield.
10718
10719 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10722
10723 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10726
10727 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10730 of error message.
10731
10732 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10735
10736 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10739 message.
10740 * util/grub-install.in: Fix and gettextize error message.
10741
10742 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10745 Gettextize.
10746 * util/grub-mount.c (options): Likewise.
10747
10748 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10751 gettextize.
10752 * grub-core/commands/search_wrap.c (options): Likewise.
10753
10754 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10757
10758 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10761 size calculation.
10762 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10763 none is known.
10764
10765 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10768 "temporary" since it's used in identifier and is limited in space.
10769
10770 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * po/POTFILES.in: Regenerate. Include *.h since they contain
10773 translatable strings as well.
10774
10775 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10778 byte-swap on big-endian.
10779 Reported by: Lennart Sorensen
10780
10781 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10784 (allocate_pages): Improve dprintf.
10785 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10786 code32_start. Fill code32_start and kernel_alignment in params.
10787 (grub_cmd_initrd): Use prot_init_space.
10788
10789 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10792
10793 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * util/grub-install.in: Add missing dot at the end of sentence.
10796
10797 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10800 * grub-core/commands/videotest.c: Likewise.
10801 * grub-core/loader/i386/linux.c: Likewise.
10802
10803 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10806 sentence.
10807 Reported by: Milo Casagrande.
10808
10809 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10812 * grub-core/commands/gptsync.c: Likewise.
10813 * grub-core/commands/hashsum.c: Likewise.
10814 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10815 * grub-core/commands/legacycfg.c: Likewise.
10816 * grub-core/io/gzio.c: Likewise.
10817 * grub-core/net/net.c: Likewise.
10818 * grub-core/term/gfxterm.c: Likewise.
10819 * grub-core/term/terminfo.c: Likewise.
10820 * grub-core/tests/test_blockarg.c: Likewise.
10821 * grub-core/video/video.c: Likewise.
10822 * util/grub-install.in: Likewise.
10823 * util/grub-mkfont.c: Likewise.
10824
10825 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10828
10829 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/commands/search_wrap.c (options): Fix a typo.
10832 Reported by: David Prévot.
10833
10834 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10837 description.
10838
10839 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * util/grub-script-check.c (main): Fix a syntax error message which was
10842 unclear.
10843
10844 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10847
10848 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10851 messages.
10852
10853 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10856 without argument.
10857 * util/grub-mount.c (options): Likewise.
10858
10859 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10862
10863 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/net/http.c: Add TRANSLATORS comments.
10866 * grub-core/normal/cmdline.c: Likewise.
10867 * grub-core/normal/misc.c: Likewise.
10868 * grub-core/partmap/msdos.c: Likewise.
10869 * grub-core/parttool/msdospart.c: Likewise.
10870 * grub-core/script/execute.c: Likewise.
10871 * grub-core/script/main.c: Likewise.
10872 * grub-core/term/terminfo.c: Likewise.
10873 * grub-core/video/bitmap.c: Likewise.
10874 * util/grub-install.in: Likewise.
10875 * util/grub-mkimage.c: Likewise.
10876 * util/grub-mklayout.c: Likewise.
10877 * util/grub-setup.c: Likewise.
10878
10879 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10882 with similar messages in grub-fstest.
10883
10884 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * util/grub-install.in: Unify "option requires an argument" message
10887 with similar messages in other files.
10888 * util/grub-mkconfig.in: Likewise.
10889
10890 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * util/grub-set-default.in: Replace printf with gettext_printf (the
10893 string in in question is already translated from grub-reboot)
10894
10895 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * configure.ac: Bump up the version to beta1.
10898
10899 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10902 case when min_align = 0.
10903
10904 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10907 and fix a case when line_start overflows.
10908
10909 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * util/grub-reboot.in (usage): Mention id posibility.
10912 * util/grub-set-default.in (usage): Likewise.
10913
10914 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10917 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10918 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10919 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10920 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10921 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10922 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10923
10924 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/commands/menuentry.c (options): Remove
10927 GRUB_ARG_OPTION_REPEATABLE.
10928 Reported by: Andreas Vogel
10929
10930 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10931
10932 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10933
10934 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10935
10936 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10937 error.
10938
10939 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Use sort -V by the idea of Georgi Georgiev.
10942
10943 * util/grub-mkconfig_lib.in (version_sort): New function.
10944 (version_test_numeric): Use version_sort.
10945
10946 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 Use submenus in grub-mkconfig.
10949
10950 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10951 * util/grub-mkconfig_lib.in (grub_quote): New function.
10952 (gettext_printf): Use gettext and not gettext_quoted to fix several
10953 messages.
10954 * util/grub.d/10_hurd.in: Use submenus.
10955 * util/grub.d/10_kfreebsd.in: Likewise.
10956 * util/grub.d/10_linux.in: Likewise.
10957 * util/grub.d/10_netbsd.in: Likewise.
10958 * util/grub.d/20_linux_xen.in: Likewise.
10959 * util/grub.d/30_os-prober.in: Likewise.
10960 * util/grub.d/10_illumos.in: Add missing quoting.
10961 * util/grub.d/10_windows.in: Likewise.
10962
10963 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 Fix menu title instability bug.
10966
10967 * grub-core/commands/menuentry.c (options): New option --id.
10968 (grub_normal_add_menu_entry): New argument id. All users updated.
10969 (grub_cmd_menuentry): Handle --id.
10970 (grub_menu_init): Accept unknown arguments.
10971 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10972 feature_menuentry_options.
10973 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10974 saved_entry.
10975 (get_entry_number): Match with id as well.
10976 * include/grub/menu.h (grub_menu_entry): New member id.
10977 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10978 * util/grub.d/00_header.in: Define menuentry_id_option.
10979 * util/grub.d/10_hurd.in: Define id.
10980 * util/grub.d/10_illumos.in: Likewise.
10981 * util/grub.d/10_kfreebsd.in: Likewise.
10982 * util/grub.d/10_linux.in: Likewise.
10983 * util/grub.d/10_netbsd.in: Likewise.
10984 * util/grub.d/10_windows.in: Likewise.
10985 * util/grub.d/20_linux_xen.in: Likewise.
10986 * util/grub.d/30_os-prober.in: Likewise.
10987
10988 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10991 "scope" with "body".
10992
10993 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10996 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10997 prot_size and prot_file_size.
10998
10999 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11002 All users updated. If easily=1 require raid-5/-6 to be full.
11003 (is_node_readable): Likewise.
11004 (scan_devices): Scan incomplete but readable LVs at the end.
11005 (grub_diskfilter_memberlist): Pull missing devices.
11006 (insert_array): Skip scanning until device is complete or scan is
11007 done otherwise.
11008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11009 check.
11010 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11011 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11012
11013 2012-03-03 Matthew Garrett <mjg@redhat.com>
11014 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 Avoid EFI boot services when loading Linux.
11017
11018 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11019 avoid_efi_bootservices. All users updated.
11020 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11021 argument avoid_efi_bootservices. All users updated.
11022 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11023 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11024 align, min_align, relocatable, prefered_address. All users updated.
11025 Allocate avoiding boot services if kernel is relocatable.
11026 (grub_cmd_linux): Check if kernel is relocatable.
11027 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11028 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11029 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11030 avoid_efi_boot_services.
11031 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11032 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11033 (linux_kernel_params): Likewise.
11034
11035 2012-03-03 Matthew Garrett <mjg@redhat.com>
11036 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 Use EDID on EFI.
11039
11040 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11041 datasize_out.
11042 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11043 modes. Set gop_handle.
11044 (grub_video_gop_get_edid): New function.
11045 (grub_gop_get_preferred_mode): Likewise.
11046 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11047 (grub_video_efi_gop_adapter): Set .get_edid.
11048 * include/grub/efi/edid.h: New file.
11049 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11050
11051 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * util/grub-install.in: Load efivars unconditionally.
11054
11055 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * po/Rules-piglatin: Change suffix from .po-update-en to
11058 .po-update-en-piglatin.
11059
11060 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 Add a pig farm.
11063
11064 * po/piglatin.sed: New file.
11065 * po/en@piglatin.header: Likewise.
11066 * po/Rules-piglatin: Likewise.
11067 * po/README: Add en@piglatin to autogenerated languages.
11068
11069 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11072 "Command for ...".
11073 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11074 "Check" since we don't check anything.
11075 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11076 is 64-bit one.
11077 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11078 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11079 (grub_md_sha512_real): Likewise.
11080
11081 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/commands/gptsync.c: Fix typographic quoting.
11084 * grub-core/commands/ieee1275/suspend.c: Likewise.
11085 * grub-core/commands/parttool.c: Likewise.
11086 * grub-core/commands/search_wrap.c: Likewise.
11087 * grub-core/commands/videoinfo.c: Likewise.
11088 * grub-core/gfxmenu/gui_label.c: Likewise.
11089 * grub-core/hello/hello.c: Likewise.
11090 * grub-core/kern/emu/main.c: Likewise.
11091 * grub-core/net/net.c: Likewise.
11092 * grub-core/normal/menu.c: Likewise.
11093 * grub-core/normal/menu_text.c: Likewise.
11094 * grub-core/normal/misc.c: Likewise.
11095 * util/grub-editenv.c: Likewise.
11096 * util/grub-install.in: Likewise.
11097 * util/grub-kbdcomp.in: Likewise.
11098 * util/grub-mkconfig.in: Likewise.
11099 * util/grub-mknetdir.in: Likewise.
11100 * util/grub-mkrescue.in: Likewise.
11101 * util/grub-mkstandalone.in: Likewise.
11102 * util/grub-reboot.in: Likewise.
11103 * util/grub-set-default.in: Likewise.
11104 * util/grub-setup.c: Likewise.
11105 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11106
11107 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11110 * grub-core/commands/keystatus.c: Likewise.
11111 * grub-core/commands/loadenv.c: Likewise.
11112 * grub-core/commands/probe.c: Likewise.
11113 * grub-core/commands/regexp.c: Likewise.
11114 * grub-core/commands/true.c: Likewise.
11115 * grub-core/commands/videoinfo.c: Likewise.
11116 * grub-core/disk/cryptodisk.c: Likewise.
11117 * grub-core/disk/ldm.c: Likewise.
11118 * grub-core/disk/loopback.c: Likewise.
11119 * grub-core/disk/luks.c: Likewise.
11120 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11121 * grub-core/kern/disk.c: Likewise.
11122 * grub-core/kern/emu/hostdisk.c: Likewise.
11123
11124 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11127 * util/grub-install.in: Add missing quote in the comment.
11128
11129 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11132 * grub-core/commands/lsmmap.c: Likewise.
11133 * grub-core/commands/minicmd.c: Likewise.
11134 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11135 * grub-core/commands/regexp.c: Likewise.
11136 * grub-core/gdb/gdb.c: Likewise.
11137 * grub-core/term/gfxterm.c: Likewise.
11138 * util/grub-mkconfig.in: Likewise.
11139 * util/grub-mkfont.c: Likewise.
11140 * util/grub-mklayout.c: Likewise.
11141 * util/grub-mknetdir.in: Likewise.
11142 * util/grub-mkrescue.in: Likewise.
11143 * util/grub.d/30_os-prober.in: Likewise.
11144
11145 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11148 with "Direct color" and "Packed" with "Packed pixel".
11149 (grub_cmd_videoinfo): Simplify legend.
11150
11151 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11154 absolutely unclear error message.
11155
11156 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * util/grub-mkstandalone.in: Remove confusing leftover print.
11159
11160 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11163 comments.
11164 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11165 (GRUB_MOD_INIT): Likewise.
11166 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11167 VGA mode.
11168 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11169 comments.
11170 * util/grub-install.in (usage): Likewise.
11171 Spell ID in whole letters.
11172 Add missing ending dot.
11173 Quote variables.
11174 * util/grub-reboot.in: Fix capitalisation.
11175 * util/grub-set-default.in: Likewise.
11176
11177 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11180 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11181 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11182 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11183 Disable -Werror for -Wdeprecated-declarations.
11184 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11185 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11186 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11187 (grub_util_get_grub_dev): Make luks handling dependent on
11188 HAVE_DEVICE_MAPPER and not __linux__.
11189 (get_win32_path): Fix format security.
11190 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11191 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11192 Don't try grub_find_zpool_from_dir.
11193 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11194 #ifdef-out paresdir.
11195
11196 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * util/grub-pe2elf.c (usage): Add missing noreturn.
11199 (write_section_data): Rename name to shname to avoid shadowing.
11200 (write_symbol_table): Rename name to symname to avoid shadowing.
11201 Fix write_reloc_section call.
11202
11203 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11206 to ensure that it's after the last byte of .text.
11207
11208 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * util/ieee1275/ofpath.c (my_isdigit): New function.
11211 (trailing_digits): Use my_isdigit.
11212 (strip_trailing_digits): Likewise.
11213
11214 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11217 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11218
11219 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * grub-core/kern/i386/pc/startup.S: Define __start.
11222
11223 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11226 strip already transforms he format.
11227
11228 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11231
11232 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * util/grub-install.in: Add missing gettext init.
11235 * util/grub-kbdcomp.in: Likewise.
11236 * util/grub-mkconfig.in: Likewise.
11237 * util/grub-mknetdir.in: Likewise.
11238 * util/grub-mkrescue.in: Likewise.
11239 * util/grub-mkstandalone.in: Likewise.
11240 * util/grub-reboot.in: Likewise.
11241 * util/grub-set-default.in: Likewise.
11242 * util/grub.d/00_header.in: Likewise.
11243 * util/grub.d/10_hurd.in: Likewise.
11244 * util/grub.d/10_windows.in: Likewise.
11245 * util/grub.d/30_os-prober.in: Likewise.
11246 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11247
11248 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * po/Rules-swiss: Fix header comment.
11251
11252 2012-02-29 Andreas Vogel <anvoit>
11253
11254 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11255 resulted in leak of arguments.
11256
11257 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11260 reed_solomon_size const definition instead of computing it since
11261 Apple assembler doesn't support the later.
11262
11263 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * gentpl.py (kernel): Rewrite Apple part.
11266
11267 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11270
11271 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11274 ELF section gap.
11275 (load_image): Likewise.
11276
11277 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * configure.ac: Fix a typo in previous commit.
11280
11281 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 Don't add -Wl,-N on Apple platform.
11284
11285 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11286 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11287
11288 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * grub-core/Makefile.core.def (lzma_decompress): Use
11291 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11292
11293 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/genmod.sh.in: Rewrite the Apple part.
11296
11297 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11300 comparison.
11301
11302 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * acinclude.m4 (grub_CHECK_PIC): New test.
11305 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11306
11307 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11310 to avoid the warning.
11311
11312 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11315 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11316 after. All users updated.
11317
11318 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 Use the common size routine in hostfs so we can read disks as well.
11321
11322 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11323 (grub_util_get_fd_size): ... this. Return size in bytes.
11324 All users updated.
11325 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11326 grub_util_get_fd_size.
11327
11328 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11331 Add blocksize retrieval.
11332
11333 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * configure.ac: Restore CFLAGS after efiemu check.
11336
11337 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11340 Apple bug.
11341
11342 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11345
11346 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11349 (grub_cmd_halt): Likewise.
11350
11351 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11354 for local arithmetics.
11355 Break %sp init into 2 instructions.
11356 Add 0 byte at the end.
11357
11358 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11361 before loops.
11362
11363 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11366 for context.
11367
11368 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/disk/ldm.c (make_vg): Init part.name.
11371 (grub_ldm_detect): Silence spurious warning.
11372 (grub_util_is_ldm): Likewise.
11373
11374 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11377 sane value to avoid a spurious warning.
11378
11379 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11382 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11383
11384 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11387 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11388
11389 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11392 hardcoding the relevant info.
11393
11394 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11397 missing const qualifiers.
11398 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11399
11400 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * util/getroot.c [__APPLE__]: Add missing includes.
11403 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11404
11405 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11408
11409 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11412 avoid conflicts.
11413
11414 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11417
11418 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11421 and grub_file_close call.
11422
11423 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Add LZSS Mach-O support (needed for new xnu kernelcache).
11426
11427 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11428 * grub-core/loader/lzss.c: New file.
11429 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11430 on Mach-O open failure.
11431 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11432 Don't free cmdsXX in uncompressedXX is set.
11433 (grub_macho_file): Init new fields.
11434 New argument is_64bit. All users updated.
11435 Handle compressed. Error out if no suitable architecture is found.
11436 Don't close file.
11437 (grub_macho_open): New argument is_64bit. All users updated.
11438 * grub-core/loader/macho32.c: Add defines for new fields.
11439 * grub-core/loader/macho64.c: Likewise.
11440 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11441 (grub_macho_parse): Handle compressed.
11442 Defer actual processing if compressed.
11443 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11444 "filename". All users updated.
11445 (grub_macho_size): New argument "filename". All users updated.
11446 (grub_macho_get_entry_point): Likewise.
11447 (grub_macho_load): Handle compressed.
11448 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11449 (GRUB_MACHO_LZSS_OFFSET): New define.
11450 (grub_decompress_lzss): New proto.
11451 * include/grub/machoload.h (grub_macho_file): New fields to handle
11452 compressed.
11453 (grub_macho_contains_macho64): Remove proto.
11454 (grub_macho_contains_macho32): Likewise.
11455 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11456
11457 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11460
11461 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 Fix make dist.
11464
11465 * Makefile.am (starfield_theme_files): New var.
11466 (starfield_DATA): Use starfield_theme_files.
11467 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11468 Add bootcheck-related files.
11469 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11470 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11471 and font_char_metrics.txt.
11472 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11473 (setjmp): Add lib/ia64/longjmp.S.
11474 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11475 * po/POTFILES.in: Regenerate.
11476 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11477 DISTFILES.common.extra1.
11478 * util/devicemap.c: Removed.
11479 * grub-core/lib/i386/relocator_backward.S: Likewise.
11480 * util/import_gcry.py: Remove unused files. Add extra_dist for
11481 ChangeLog.
11482
11483 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11486 grub_gettext_delete_list before changing grub_gettext_max to avoid
11487 running out of array bounds.
11488
11489 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11492 grub_vga_text_init/grub_vga_text_fini.
11493
11494 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11497
11498 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * configure.ac: Bump to 2.00~beta0.
11501
11502 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11505 missing initialisation.
11506
11507 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11510
11511 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Support v2 xnu boot arguments.
11514
11515 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11516 New argument fsbfreq_out.
11517 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11518 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11519 be used.
11520 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11521 darwin_version.
11522 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11523 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11524 (grub_xnu_boot_params): Rename to ...
11525 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11526 (grub_xnu_boot_params_v2): New struct.
11527
11528 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11531 zeroing of CRC field before computing CRC.
11532
11533 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11536 Change order of allocations to decrease fragmentation.
11537
11538 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11541
11542 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
11543
11544 Use write-combining MTRR to speed up video with buggy BIOSes.
11545
11546 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11547 (cpuid): New define.
11548 (rdmsr): Likewise.
11549 (wrmsr): Likewise.
11550 (mtrr_base): Likewise.
11551 (mtrr_mask): Likewise.
11552 (grub_vbe_enable_mtrr_entry): New function.
11553 (grub_vbe_enable_mtrr): Likewise.
11554 (grub_vbe_disable_mtrr): Likewise.
11555 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11556 control off to BIOS.
11557 (grub_video_vbe_init): Fill mtrr.
11558 (grub_video_vbe_fini): Disable mtrr.
11559 (grub_video_vbe_get_info_and_fini): Likewise.
11560 (grub_video_vbe_setup): Enable mtrr.
11561
11562 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
11563
11564 * include/grub/partition.h (grub_partition_map): Change prototype of
11565 embed to take a maximum value for nsectors.
11566 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11567 * include/grub/fs.h (grub_fs): Likewise.
11568 * grub-core/partmap/msdos.c (embed_signatures): New array.
11569 (pc_partition_map_embed): Check for and avoid sectors matching any
11570 of the signatures in embed_signatures, up to max_nsectors.
11571 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11572 returned sector map to max_nsectors.
11573 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11574 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11575 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11576 * util/grub-setup.c (setup): Allow for the embedding area being
11577 split into multiple blocklists. Tell dest_partmap->embed the
11578 maximum number of sectors we care about.
11579
11580 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11583 Specify blocklist_install and reserver_first_sector for all fs.
11584 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11585 blocklists.
11586
11587 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * util/grub-install.in: Clarify strings.
11590 Fix source dir check.
11591
11592 2012-02-27 Richard Laager <rlaager@wiktel.com>
11593
11594 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11595 "zfs" and "fuse.zfs" as synonyms.
11596
11597 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * configure.ac: Put platform and target_cpu substitutions back since
11600 they are used for directories.
11601
11602 2012-02-27 Richard Laager <rlaager@wiktel.com>
11603 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11606 * util/grub.d/20_linux_xen.in: Likewise.
11607
11608 2012-02-27 Richard Laager <rlaager@wiktel.com>
11609
11610 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11611 with full paths.
11612
11613 2012-02-27 Richard Laager <rlaager@wiktel.com>
11614
11615 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11616 unescape.
11617
11618 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 Don't use insecure popen in getroot.
11621
11622 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11623 (exec_pipe): ... here.
11624 (find_root_devices_from_poolname): Use exec_pipe.
11625
11626 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 Remove platform and target_cpu replacement.
11629
11630 * configure.ac: Remove platform and target_cpu substitutions.
11631 * tests/util/grub-shell.in: Use modinfo.
11632 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11633 explicitly.
11634
11635 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 Autodetect platform in grub-install but allow override.
11638
11639 * util/grub-install.in: Autodetect platform. Support --target and
11640 --directory. Read platform from modinfo.sh.
11641
11642 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 Support btrfs multi-volume probe.
11645
11646 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11647 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11648 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11649 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11650 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11651 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11652 grub_find_root_devices_from_btrfs if on btrfs.
11653
11654 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 Remove any awareness of *.c util files about target.
11657
11658 * Makefile.util.def (grub-setup): Split to ...
11659 (grub-bios-setup): ... and this.
11660 (grub-sparc64-setup): ... and this.
11661 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11662 * docs/man/grub-setup.h2m: Split into ...
11663 * docs/man/grub-sparc64-setup.h2m: ... this.
11664 * docs/man/grub-bios-setup.h2m: ... and this.
11665 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11666 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11667 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11668 (grub_target_addr_t): Remove.
11669 (grub_target_size_t): Remove.
11670 (grub_target_ssize_t): Remove.
11671 * util/grub-install.in: Use new grub-*-setup.
11672 * util/grub-mkimagexx.c (Elf_Word): New define.
11673 (Elf_Half): Likewise.
11674 (Elf_Section): Likewise.
11675 (ELF_ST_TYPE): Likewise.
11676 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11677 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11678
11679 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 Replace grub_target_addr with more appropriate types.
11682
11683 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11684 grub_target_addr with grub_addr.
11685 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11686 grub_target_addr with grub_port.
11687 (grub_cmd_write): Likewise.
11688 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11689 grub_target_addr with grub_addr.
11690 (grub_cmd_write): Likewise.
11691 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11692
11693 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11696 const qualifier for vendor_guid.
11697
11698 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11701 const qualifier.
11702 (efiemu_memequal): Likewise.
11703 (find_variable): Likewise.
11704
11705 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Fix missing console prototype on qemu-mips.
11708
11709 * include/grub/mips/qemu_mips/console.h: New file.
11710
11711 2012-02-27 Matthew Garrett <mjg@redhat.com>
11712 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11715 * include/grub/efi/efi.h: Likewise.
11716 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11717 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11718 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11719 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11720 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11721 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11722
11723 2012-02-27 Matthew Garrett <mjg@redhat.com>
11724
11725 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11726
11727 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11730 error.
11731
11732 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * configure.ac: Remove inappropriate use of program_transform_name
11735 on grubdir and bootdir but allow explicit specification of those
11736 variables.
11737
11738 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 * util/grub-mknetdir.in (grub_prefix): Removed.
11741 (subdir): Use @bootdirname@ and @grubdirname@.
11742
11743 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11746
11747 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * po/POTFILES.in: Regenerated.
11750
11751 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 Remove improper use of program_transform_name on pkglibrootdir.
11754
11755 * configure.ac (pkglibrootdir): Removed.
11756 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11757 * util/grub-mkimage.c: Likewise.
11758
11759 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11762 warning.
11763
11764 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * util/grub-install.in: Use file identifier if no UUID is available
11767 or user explicitly prompted for it.
11768
11769 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
11770
11771 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11772 (freebsd_get_zfs): New function.
11773 (grub_freebsd_boot): Pass zfs UUID.
11774 (grub_cmd_freebsd): Set zfs UUID.
11775
11776 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11779 pkglibrootdir.
11780
11781 2012-02-27 Mike Gilbert <floppym@gentoo.org>
11782
11783 Add configure flag to control libzfs integration.
11784
11785 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11786
11787 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11790 device.
11791 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11792 small devices.
11793
11794 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11797 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11798 be used on non-modules.
11799
11800 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11801 Rename to grub_boot_init.
11802 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11803 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11804 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11805 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11806 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11807 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11808 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11809 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11810 includes.
11811 (grub_machine_init): Remove empty inits.
11812 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11813 includes.
11814 (grub_machine_init): Remove empty inits.
11815 * grub-core/term/arc/console.c: Remove explicit proto.
11816 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11817 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11818 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11819 grub_at_keyboard_fini.
11820 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11821 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11822 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11823 grub_gfxterm_fini.
11824 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11825 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11826 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11827 grub_vgatext_fini.
11828 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11829 * grub-core/term/serial.c (GRUB_MOD_INIT)
11830 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11831 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11832 grub_serial_fini.
11833 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11834 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11835 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11836 grub_terminfo_fini.
11837 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11838 (GRUB_MOD_FINI): Likewise.
11839 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11840 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11841 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11842 grub_video_radeon_fuloong2e_fini.
11843 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11844 [LOONGSON]: Rename to grub_video_sis315pro_init.
11845 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11846 grub_video_sis315pro_fini.
11847 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11848 [LOONGSON]: Rename to grub_video_sm712_init.
11849 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11850 grub_video_sm712_fini.
11851 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11852 (grub_at_keyboard_fini): Likewise.
11853 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11854 Don't declare grub_{modname}_init.
11855 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11856 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11857 New proto.
11858 (grub_keylayouts_fini) [!EMU]: Likewise.
11859 * include/grub/serial.h (grub_serial_init) [!EMU]:
11860 New proto.
11861 (grub_serial_fini) [!EMU]: Likewise.
11862 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11863 New proto.
11864 (grub_terminfo_fini) [!EMU]: Likewise.
11865 * include/grub/video.h (grub_font_init) [!EMU]:
11866 New proto.
11867 (grub_font_fini) [!EMU]: Likewise.
11868 (grub_gfxterm_init) [!EMU]: Likewise.
11869 (grub_gfxterm_fini) [!EMU]: Likewise.
11870 (grub_video_sm712_init) [!EMU]: Likewise.
11871 (grub_video_sm712_fini) [!EMU]: Likewise.
11872 (grub_video_sis315pro_init) [!EMU]: Likewise.
11873 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11874 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11875 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11876
11877 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Make nand a prefix for nand devices.
11880
11881 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11882
11883 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11886 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11887
11888 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * include/grub/env.h (grub_env_find): Remove prototype.
11891 * grub-core/kern/env.c (grub_env_find): Make static.
11892 (grub_env_set): Remove useless set.
11893
11894 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * grub-core/kern/i386/realmode.S: Remove useless align.
11897
11898 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * include/grub/dl.h (grub_dl_load_file): Don't export.
11901
11902 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11905 grub_dprintf.
11906
11907 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11910 grub_errors.
11911 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11912 not reloading whole superblock but only the part which is really needed.
11913 Remove useless grub_errors.
11914 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11915 grub_errors.
11916
11917 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 Don't export grub_get_rtc.
11920
11921 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11922 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11923
11924 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11927
11928 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
11931 argument since it can be deduced from diskfilter. All users updated.
11932
11933 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 Remove prio_list.
11936
11937 * include/grub/list.h (grub_prio_list): Removed.
11938 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11939 GRUB_COMMAND_PRIO_MASK.
11940 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11941 GRUB_COMMAND_FLAG_ACTIVE.
11942 (grub_prio_list_insert): Removed.
11943 (grub_prio_list_remove): Likewise.
11944 (GRUB_AS_PRIO_LIST): Likewise.
11945 (GRUB_AS_PRIO_LIST_P): Likewise.
11946 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11947 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11948 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11949 * grub-core/kern/command.c (grub_register_command_prio): Inline
11950 the prio_list code.
11951 (grub_unregister_command): Likewise.
11952
11953 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 Fix interrupt mixup from previous commit.
11956
11957 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11958 (grub_realidt): New var.
11959 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11960 Load idt.
11961 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11962 New declaration.
11963 (grub_relocator16_boot): Set grub_relocator16_idt.
11964 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11965 (LOCAL(realidt)): ... this.
11966 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11967 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11968 (grub_realidt): New variable.
11969
11970 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11973 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11974 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11975 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11976 Gettextize.
11977 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11978 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11979 * po/POTFILES.in: Regenerate.
11980
11981 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11984 errors.
11985
11986 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11989 \0.
11990 (add_length): Likewise.
11991
11992 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11993 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11994
11995 GDB serial and backtrace support.
11996
11997 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11998 (prot_to_real): Likewise.
11999 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12000 * grub-core/Makefile.core.def (backtrace): New module.
12001 (gdb): Likewise.
12002 * grub-core/gdb/cstub.c: New file.
12003 * grub-core/gdb/gdb.c: Likewise.
12004 * grub-core/gdb/i386/idt.c: Likewise.
12005 * grub-core/gdb/i386/machdep.S: Likewise.
12006 * grub-core/gdb/i386/signal.c: Likewise.
12007 * grub-core/lib/i386/backtrace.c: Likewise.
12008 * grub-core/lib/backtrace.c: Likewise.
12009 * include/grub/backtrace.h: Likewise.
12010 * include/grub/gdb.h: Likewise.
12011 * include/grub/i386/gdb.h: Likewise.
12012
12013 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12016 New function.
12017 (add_length): Likewise.
12018 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12019 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12020 proto.
12021 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12022 __argp_get_display_len.
12023
12024 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 $"..." support in scripts.
12027
12028 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12029 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12030 * grub-core/script/yylex.l: Likewise.
12031 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12032 value.
12033
12034 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * gentpl.py: Remove obsolete pkglib_DATA handling.
12037
12038 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12041 mailing list.
12042
12043 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12044 * util/grub-kbdcomp.in: Likewise.
12045 * util/grub-mkconfig.in: Likewise.
12046 * util/grub-mkconfig_lib.in: Likewise.
12047 * util/grub-mknetdir.in: Likewise.
12048 * util/grub-mkrescue.in: Likewise.
12049 * util/grub-mkstandalone.in: Likewise.
12050 * util/grub-reboot.in: Likewise.
12051 * util/grub-set-default.in: Likewise.
12052 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12053
12054 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 Remove GRUB_PREFIX.
12057
12058 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12059 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12060 used for backward compatibility.
12061
12062 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Add new all_video module.
12065
12066 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12067 * grub-core/Makefile.core.def (all_video): New module.
12068 * grub-core/genmoddep.awk: Generate dependency of all_video from
12069 video.lst.
12070 * grub-core/lib/fake_module.c: New file.
12071 * grub-core/normal/main.c (features): Add feature_all_video_module.
12072 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12073 don't do explicit search again.
12074 insmod all_video in load_video if available.
12075
12076 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 Another round of string clarification and adding TRANSLATORS comments.
12079
12080 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12083
12084 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12087 to grub_ssize_t.
12088 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12089 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12090
12091 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12094 trailing newline implicitly. All users updated.
12095
12096 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 Implement serial on IEEE1275 and EFI.
12099
12100 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12101 on emu. Mention arc and emu as the only platforms without serial
12102 support.
12103 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12104 ieee1275 platforms.
12105 * grub-core/term/efi/serial.c: New file.
12106 * grub-core/term/ieee1275/serial.c: Likewise.
12107 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12108 specification if no ns8250 driver is available.
12109 (grub_cmd_serial): Likewise.
12110 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12111 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12112 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12113 (grub_efi_parity_type_t): New type.
12114 (grub_efi_stop_bits_t): Likewise.
12115 (grub_efi_serial_io_interface): New struct.
12116 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12117 available for all interfaces.
12118 Add EFI and IEEE1275 fields.
12119 (grub_ofserial_init): New proto.
12120 (grub_efiserial_init): Likeiwse.
12121 * util/grub.d/00_header.in: Don't check for the presence of serial
12122 module.
12123
12124 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12125
12126 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12127 name as if it was an alias.
12128
12129 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/commands/lsacpi.c (options): Fix typo.
12132
12133 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 Convert grub-emu to argp.
12136
12137 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12138 emu.
12139 * util/argp_common.c: Rename to ...
12140 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12141 Add missing includes.
12142 * grub-core/kern/emu/main.c: Convert to argp.
12143 * po/POTFILES.in: Regenerate.
12144 * util/grub-install.in (usage): Make first letter lowcase in messages
12145 for uniformity.
12146 * util/grub-setup.c (options): Likewise.
12147
12148 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12151 Put back accidently commented-out code.
12152
12153 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12156 loop check using Brent algorithm.
12157 (grub_hfsplus_btree_search): Likewise.
12158
12159 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * util/grub-install.in: Fix usage of wrong device for PreP install.
12162
12163 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * conf/Makefile.common (CFLAGS_GNULIB): Add
12166 -Wno-unsafe-loop-optimizations.
12167 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12168 on tools.
12169 * grub-core/commands/legacycfg.c: Add pragma to skip
12170 -Wunsafe-loop-optimizations.
12171 (check_password_md5_real): Fix loop counter type.
12172 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12173 reading.
12174 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12175 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12176 loop condition.
12177 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12178 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12179 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12180 condition.
12181 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12182 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12183 avoid possible infinite loops.
12184 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12185 and -Wunsafe-loop-optimizations.
12186 * grub-core/script/yylex.l: Likewise.
12187 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12188 (print_glyphs): Avoid infinite loops.
12189 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12190
12191 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12192
12193 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12194 to avoid infinite loop.
12195 (disp_acpi_rsdt_table): Likewise.
12196
12197 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/font/font.c (grub_font_load): Add support for default
12200 path for fonts ($prefix/fonts).
12201 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12202 for checking if string is a path.
12203 * grub-core/normal/main.c (features): Add feature_default_font_path.
12204 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12205 * util/grub.d/00_header.in: Use default directory if possible.
12206 * util/grub-install.in: Install unicode.pf2.
12207
12208 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12211 * po/Rules-swiss: New file.
12212 * po/swiss.sed: Likewise.
12213
12214 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/fs/btrfs.c (find_device): Fix typos.
12217 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12218 * util/grub-mkrelpath.c (argp_parser): Likewise.
12219 Reported by: Yuri Chornoivan.
12220
12221 2012-02-23 Dalet Omega <daletomega@gmail.com>
12222
12223 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12224 for usual informative messages.
12225
12226 2012-02-23 Dalet Omega <daletomega@gmail.com>
12227
12228 Starfield theme.
12229
12230 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12231 * conf/Makefile.common: Define starfielddir.
12232 * configure.ac: Configure starfield.
12233 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12234 * themes/starfield/README: Likewise.
12235 * themes/starfield/blob_w.png: Likewise.
12236 * themes/starfield/boot_menu_c.png: Likewise.
12237 * themes/starfield/boot_menu_e.png: Likewise.
12238 * themes/starfield/boot_menu_n.png: Likewise.
12239 * themes/starfield/boot_menu_ne.png: Likewise.
12240 * themes/starfield/boot_menu_nw.png: Likewise.
12241 * themes/starfield/boot_menu_s.png: Likewise.
12242 * themes/starfield/boot_menu_se.png: Likewise.
12243 * themes/starfield/boot_menu_sw.png: Likewise.
12244 * themes/starfield/boot_menu_w.png: Likewise.
12245 * themes/starfield/slider_c.png: Likewise.
12246 * themes/starfield/slider_n.png: Likewise.
12247 * themes/starfield/slider_s.png: Likewise.
12248 * themes/starfield/src/blob_nw.xcf: Likewise.
12249 * themes/starfield/src/bootmenu/: Likewise.
12250 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12251 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12252 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12253 * themes/starfield/src/slider_c.xcf: Likewise.
12254 * themes/starfield/src/slider_n.xcf: Likewise.
12255 * themes/starfield/src/slider_s.xcf: Likewise.
12256 * themes/starfield/src/terminalbox/: Likewise.
12257 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12258 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12259 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12260 * themes/starfield/starfield.png: Likewise.
12261 * themes/starfield/terminal_box_c.png: Likewise.
12262 * themes/starfield/terminal_box_e.png: Likewise.
12263 * themes/starfield/terminal_box_n.png: Likewise.
12264 * themes/starfield/terminal_box_ne.png: Likewise.
12265 * themes/starfield/terminal_box_nw.png: Likewise.
12266 * themes/starfield/terminal_box_s.png: Likewise.
12267 * themes/starfield/terminal_box_se.png: Likewise.
12268 * themes/starfield/terminal_box_sw.png: Likewise.
12269 * themes/starfield/terminal_box_w.png: Likewise.
12270 * themes/starfield/theme.txt: Likewise.
12271
12272 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * util/grub.d/00_header.in: Add missing export theme.
12275
12276 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12279 already included.
12280 Reported by: Eren D.
12281
12282 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * conf/Makefile.common (grubdatadir): Removed.
12285 (Makefile.am): Move eveything grubdata to pkgdata.
12286
12287 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * grub-core/commands/acpihalt.c (get_sleep_type):
12290 Remove unused variable.
12291
12292 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12295 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12296 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12297 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12298 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12299 i18n with gettext no-op.
12300 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12301 GRUB_ACPI_OPCODE_STRING_CONST.
12302 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12303 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12304
12305 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * po/POTFILES.in: Regenerate.
12308
12309 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12312 -Wno-error=missing-noreturn.
12313
12314 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12317 condition to avoid possibly infinite loops.
12318 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12319 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12320
12321 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12324 condition to avoid possibly infinite loops.
12325
12326 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12329 on show_error.
12330
12331 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12334
12335 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12338
12339 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * util/bin2h.c (usage): Add missing attribute noreturn.
12342
12343 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12346 if the size isn't divisible by 512.
12347
12348 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 Make list_push and list_remove functions rather than inline functions
12351 to decrease size and avoid aliasing violations.
12352
12353 * include/grub/list.h (grub_list_push): Move to ...
12354 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12355 * include/grub/list.h (grub_list_remove): Move to ...
12356 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12357
12358 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12361 and -Wunused-result.
12362
12363 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12366 Reported by: Seth Goldberg
12367
12368 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12371
12372 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12373
12374 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12375 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12376 command line.
12377 * docs/grub.texi (Simple configuration): Document
12378 GRUB_CMDLINE_GNUMACH.
12379
12380 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * conf/Makefile.common (platform_SCRIPTS): New variable.
12383 (platform_PROGRAMS): Likewise.
12384 * gentpl.py: Mark *,module and *.image for install.
12385 * grub-core/gdb_grub.in: Add a notice of expected environment.
12386 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12387 (gmodule.pl): Likewise.
12388
12389 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 Replace grub_checkkey with grub_getkey_noblock.
12392
12393 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12394 (grub_getkey_noblock): ... this. All users updated.
12395
12396 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/kern/emu/console.c: Move to ...
12399 * grub-core/term/emu/console.c: ...here.
12400 (grub_ncurses_getkey): Fix return value if no key is detected.
12401
12402 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12405 (grub_unit_test_fini): Likewise.
12406 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12407
12408 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * include/grub/test.h (GRUB_UNIT_TEST)
12411
12412 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12415 Better error handling.
12416 (grub_script_return): Likewise.
12417 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12418
12419 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12422 rimplicit redifinition.
12423
12424 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12427 GRUB.
12428
12429 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12432 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12433 prompt here.
12434
12435 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12438 as GRUB_ERR_BUG. Don't malloc if no device is available.
12439
12440 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12443 Mark calling with invalid term as GRUB_ERR_BUG.
12444
12445 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12448 packets rather than raising an error.
12449
12450 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12453 in if.
12454
12455 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12458 diagnostic to dprintf.
12459 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12460
12461 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12464 device name.
12465
12466 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12469 (grub_ntfs_iterate_dir): Likewise.
12470
12471 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Efiemu stylistic fixes and gettext.
12474
12475 * grub-core/efiemu/i386/loadcore32.c
12476 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12477 * grub-core/efiemu/i386/loadcore64.c
12478 (grub_arch_efiemu_relocate_symbols64): Likewise.
12479 * grub-core/efiemu/i386/pc/cfgtables.c
12480 (grub_machine_efiemu_init_tables): Likewise.
12481 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12482 (grub_efiemu_loadcore_initXX): Add a filename argument.
12483 All users updated.
12484 Improved error message.
12485 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12486 Add a filename argument.
12487 All users updated.
12488 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12489 Reclassify double relocation as GRUB_ERR_BUG.
12490
12491 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12494 handling.
12495
12496 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12499 on partition.
12500
12501 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12504
12505 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 Improve string. Gettextize.
12508
12509 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12512 utils.
12513 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12514
12515 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12518 [GRUB_UTIL]: New function.
12519 (insert_array) [GRUB_UTIL]: Store partmaps.
12520 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12521 partmaps.
12522 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12523 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12524 (probe_abstraction): Print diskfilter and not raid.
12525 Reported by: Lennart Sorensen
12526
12527 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12530 * util/grub-mkimagexx.c (MASK3): New define.
12531 (add_value_to_slot_20b): Use MASK3.
12532 (add_value_to_slot_21): Likewise.
12533 (relocate_addresses): Fix format specification.
12534 (load_image): Explicitly init symtab_section.
12535
12536 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12539 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12540
12541 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12544 on powerpc.
12545 Reported by: Lennart Sorensen
12546
12547 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * gentpl.py: Add missing license header.
12550 * docs/grub.texi: Update copyright year.
12551
12552 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12553
12554 Source grub-mkconfig_lib from the build directory at build time.
12555 Suggested by: Vladimir Serbinenko.
12556
12557 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12558 * util/grub-install.in: Define pkgdatadir if not already set, and source
12559 grub-mkconfig_lib from there.
12560 * util/grub-kbdcomp.in: Likewise.
12561 * util/grub-mkconfig.in: Likewise.
12562 * util/grub-mknetdir.in: Likewise.
12563 * util/grub-mkrescue.in: Likewise.
12564 * util/grub-mkstandalone.in: Likewise.
12565 * util/grub-reboot.in: Likewise.
12566 * util/grub-set-default.in: Likewise.
12567 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12568
12569 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Increase warning level.
12572
12573 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12574 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12575 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12576 (TARGET_CFLAGS): Likewise.
12577 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12578 * grub-core/Makefile.core.def (decompressor_xz): Add
12579 -Wno-unreachable-code.
12580 (normal): Add -Wno-redundant-decls.
12581 (xzio): Add -Wno-unreachable-code.
12582 (lzopio): Add -Wno-redundant-decls -Wno-error.
12583 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12584 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12585 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12586 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12587 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12588 * grub-core/kern/i386/coreboot/init.c: Add exception to
12589 -Wsuggest-attribute=noreturn.
12590 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12591 * grub-core/kern/ia64/dl_helper.c: Likewise.
12592 * grub-core/kern/mips/dl.c: Likewise.
12593 * grub-core/kern/sparc64/dl.c: Likewise.
12594 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12595 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12596 (memcmp): Likewise.
12597 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12598 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12599 * grub-core/loader/mips/linux.c: Likewise.
12600 * grub-core/loader/multiboot_elfxx.c: Likewise.
12601 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12602 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12603 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12604 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12605 fixme.
12606 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12607 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12608 Fix prototype.
12609
12610 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12613 address.
12614
12615 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12618 Avoid improper use of strings.
12619 (grub_cmd_legacy_initrdnounzip): Likewise.
12620
12621 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12624 attribute.
12625 (grub_util_info): Likewise.
12626 (grub_util_error): Likewise.
12627
12628 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12631 * util/grub-fstest.c (fstest): Likewise.
12632
12633 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12636 (grub_md_sha512_real): Likewise.
12637 (grub_util_get_geli_uuid): Likewise.
12638 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12639 (grub_util_biosdisk_open): Fix format specification.
12640 Respect format security.
12641 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12642 (xrealloc): Likewise.
12643 (xasprintf): Likewise.
12644
12645 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * util/import_gcry.py: Include grub/crypto.h in init.c.
12648
12649 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12652 (generate_image): Make prefix a const char *.
12653 Fix format specifications. Respect format security.
12654 Avoid void * arithmetics.
12655 Avoid shadowing.
12656 (argp_parser): Remove unused variable. Respect format security.
12657 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12658 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12659 (count_funcs): Remove unused variable.
12660 (relocate_addresses): Fix format specification.
12661 Disable x86-64 with elf32. Remove unused variables.
12662 (add_fixup_entry): Avoid shadowing.
12663 (make_reloc_section): Fix format specification.
12664 Use assert.
12665 (locate_sections): Fix format specifications.
12666 (load_image): Avoid shadowing.
12667
12668 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12671 Fix format specifications. Respect format security.
12672 Don't translate already translated grub_errmsg.
12673 (argp_parser): Remove unused variable
12674
12675 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12678
12679 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12682 (main): Likewise. Use xmalloc. Respect format security.
12683
12684 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12687 a const char *.
12688 (argp_parser): Remove unused variable.
12689
12690 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12693 (add_pixel): Make static.
12694 (add_font): Likewise.
12695 (write_string_section): Make name and str a const char *.
12696 (write_be16_section): Make name a const char *.
12697 (print_glyphs): Make static.
12698 (write_font_ascii_bitmap): Likewise.
12699 (write_font_width_spec): Likewise.
12700 (write_font_pf2): Likewise.
12701 (argp_parser): Remove unused variable.
12702 Respect format security.
12703 (main): Avoid shadowing. Respect format security.
12704
12705 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub-editenv.c (argp_parser): Make static.
12708 (create_envblk_file): Use xmalloc.
12709 (open_envblk_file): Likewise.
12710 Resepect format security.
12711 (set_variables): Respect format security.
12712
12713 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * util/getroot.c (grub_find_device): Respect format security.
12716 (get_mdadm_uuid): Remove unused variable.
12717 (grub_util_pull_device): Dont call gettext on already translated
12718 grub_errmsg.
12719 (find_system_device): Remove unused variable.
12720 (grub_util_get_grub_dev): Likewise.
12721 (grub_make_system_path_relative_to_its_root): Respect format security.
12722
12723 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * util/grub-fstest.c (execute_command): Make first argument
12726 a const char *.
12727 (read_file): Avoid shadowing.
12728 Reuse underlying error message if device open fails.
12729 (cmd_cmp): Respect format security.
12730 (root): Make const char *.
12731 (fstest): Remove args argument and use global copy.
12732 Respect format security.
12733 (argp_parser): Make static.
12734 (main): Make default_root const char *.
12735
12736 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * util/grub-mount.c (root): Make const char *.
12739 (execute_command): Make first argument a const char *.
12740 (fuse_init): Respect format security.
12741 (argp_parser): Make static. Remove unused variable.
12742 (main): Make default_root a const char *.
12743 Respect format security.
12744
12745 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * util/grub-probe.c (probe): Don't call gettext on already translated
12748 grub_errmsg.
12749 Remove unused variables.
12750 (argp_parser): Remove unused variable.
12751
12752 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * util/grub-script-check.c (argp_parser): Remove unused variable.
12755 (main): Rename read to curread to avoid shadowing.
12756
12757 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * util/misc.c (grub_util_write_image_at): Fix format specification.
12760 (grub_util_write_image): Likewise.
12761 (grub_script_execute_argument_to_string): Removed (unused).
12762 (grub_script_execute_menuentry): Likewise.
12763 (grub_putchar): Likewise.
12764
12765 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12768 (FUNCTION) [GRUB_UTIL]: Likewise.
12769 (VARIABLE) [GRUB_UTIL]: Likewise.
12770
12771 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12774 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12775
12776 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12779 buffer.
12780
12781 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12784 (LzmaEnc_SaveState): Removed (unused).
12785 (LzmaEnc_RestoreState): Likewise.
12786 (LzmaEnc_InitPriceTables): Made static.
12787 (LzmaEnc_Construct): Likewise.
12788 (LzmaEnc_FreeLits): Likewise.
12789 (LzmaEnc_Destruct): Likewise.
12790 (LzmaEnc_Init): Likewise.
12791 (LzmaEnc_InitPrices): Likewise.
12792 (LzmaEnc_Finish): Likewise.
12793 (LzmaEnc_PrepareForLzma2): Removed (unused).
12794 (LzmaEnc_MemPrepare): Likewise.
12795 (LzmaEnc_GetNumAvailableBytes): Likewise.
12796 (LzmaEnc_GetCurBuf): Likewise.
12797 (LzmaEnc_CodeOneMemBlock): Likewise.
12798
12799 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12802 (grub_util_ldm_embed): Likewise.
12803
12804 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * util/grub-editenv.c (print_var): Rename name to varname to
12807 avoid shadowing.
12808 (main): Rename index to curindex to avoid shadowing.
12809 Make filename a const char *.
12810
12811 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12814 to arg_getline to avoid shadowing.
12815
12816 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12819 disk_ to avoid shadowing.
12820
12821 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12824 curindex to avoid shadowing.
12825 Make static.
12826 (MatchFinder_GetNumAvailableBytes): Make static.
12827
12828 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12831 avoid shadowing.
12832
12833 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12836 argument from encrypt to do_encrypt to avoid shadowing.
12837
12838 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12841 incorrect nesting of #if's.
12842
12843 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12846 checks which are always false on some platforms.
12847 (grub_cmd_lsacpi): Likewise.
12848 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12849 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12850 Likewise.
12851
12852 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12855 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12856
12857 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12860 re_dfa_t to avoid breaking alignment invariants.
12861 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12862 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12863
12864 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12867 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12868
12869 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12872 Fix declaration.
12873
12874 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12877 conserve alignment invariants.
12878 (grub_ehci_ehcc_read16): Likewise.
12879 (grub_ehci_oper_read32): Likewise.
12880 (grub_ehci_oper_write32): Likewise.
12881 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12882 Conserve alignment invariants.
12883
12884 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12887 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12888 declarations.
12889
12890 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12893 Remove unused variable.
12894
12895 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12898 Remove set in if.
12899
12900 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * include/grub/net.h: Remove double declarations.
12903
12904 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 Remove "payload" command in ia64 Linux loader since I couldn't
12907 find any evidence of it being used for anything.
12908 Replace "relocate" command with an environment variable
12909
12910 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12911 fields.
12912 (ia64_boot_payload): Removed.
12913 (last_payload): Likewise.
12914 (RELOCATE_OFF): Likewise.
12915 (RELOCATE_ON): Likewise.
12916 (RELOCATE_FORCE): Likewise.
12917 (relocate): Likewise.
12918 (free_pages): Don't free payloads.
12919 (grub_load_elf64): Use common error messages.
12920 Use "linux_relocate" variable.
12921 Increase the space after boot_params.
12922 (grub_cmd_payload): Removed.
12923 (grub_cmd_relocate): Likewise.
12924 (grub_cmd_fpswa): Improve messages.
12925 (cmd_payload): Removed.
12926 (cmd_relocate): Likewise.
12927 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12928 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12929
12930 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 Convert UHCI to DMA framework.
12933
12934 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12935 (grub_uhci_pci_iter): Fill new members
12936 (grub_alloc_td): Use P2V and V2P functions.
12937 (grub_free_queue): Likewise.
12938 (grub_alloc_qh): Likewise.
12939 (grub_uhci_setup_transfer): Likewise.
12940 (grub_uhci_check_transfer): Likewise.
12941
12942 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12945 Remove assignment in if while on it.
12946
12947 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * util/grub-mkstandalone.in: Fix modules directory.
12950
12951 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12954 on i386-pc target.
12955 (argp_parser): Accept "auto" as compression specification.
12956
12957 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 Fix `help' with unloaded modules.
12960
12961 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12962 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12963 (grub_dyncmd_dispatcher): Small stylistic fix.
12964 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12965 explicit help is requested.
12966
12967 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12970 Explicitly init restart while on it.
12971
12972 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12975 uninited variable.
12976
12977 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * util/grub-mknetdir.in: Use . rather than source for POSIX
12980 compatibility.
12981
12982 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12985
12986 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12989 variable.
12990
12991 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12994 without quotes.
12995
12996 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12999
13000 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13003 iteration of partitions.
13004
13005 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 Improve gettext support. Stylistic fixes and error handling fixes while
13008 on it.
13009
13010 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13013 part. Instead setup the correct stack in RM.
13014 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13015 for stack.
13016 * include/grub/i386/relocator_private.h: New file.
13017
13018 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13021 argument.
13022 * util/grub-fstest.c (options): Add missing DEVICE part.
13023
13024 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 Clarify and unify messages.
13027
13028 * grub-core/commands/hashsum.c (options): Unify messages.
13029 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13030 literal-only message as translatable.
13031 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13032 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13033 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13034 commands.
13035 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13036 key, not the key used to unlock. Clarify what it's used for.
13037 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13038 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13039 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13040 * util/grub-editenv.c (options): Unify "verbose" message.
13041 * util/grub-fstest.c (read_file): Unify error message.
13042 (fstest): Add quotes around commands.
13043 (options): Unify "verbose" message.
13044 * util/grub-install.in: Add quotes around variable name.
13045 * util/grub-kbdcomp.in: Unify error message.
13046 * util/grub-mkfont.c (main): Likewise.
13047 * util/grub-mkrescue.in: Likewise.
13048 * util/grub-mklayout.c (options): Unify "verbose" message.
13049 * util/grub-mkstandalone.in: Unify help and verbose messages.
13050 * util/grub-mount.c (options): Unify "verbose" message.
13051 * util/grub-probe.c (options): Likewise.
13052 * util/grub-script-check.c (options): Likewise.
13053 * util/grub-setup.c (setup): Unify no-terminator message.
13054 (options): Use DEVICE and not DEV.
13055 Unify "verbose" message.
13056 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13057
13058 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 Improve and unify messages.
13061
13062 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13063 name. All users updated.
13064 Print filename in error.
13065 (read_device_map): Print filename in error.
13066 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13067 (grub_util_get_os_disk): Likewise.
13068 (grub_util_biosdisk_get_grub_dev): Likewise.
13069 (grub_util_check_block_device): Likewise.
13070 (grub_util_check_char_device): Likewise.
13071 (grub_make_system_path_relative_to_its_root): Likewise.
13072 * util/grub-editenv.c (create_envblk_file): Likewise.
13073 (open_envblk_file): Likewise.
13074 (write_envblk): Likewise.
13075 * util/grub-fstest.c (cmd_cp): Likewise.
13076 (cmd_cat): Likewise.
13077 (cmd_cmp): Likewise.
13078 * util/grub-menulst2cfg.c (main): Likewise.
13079 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13080 (write_font_width_spec): Likewise.
13081 (write_font_pf2): Likewise.
13082 * util/grub-mkimage.c (generate_image): New argument outname.
13083 All users updated.
13084 Remove unreacheable message.
13085 (options): Unify messages.
13086 (help_filter): Likewise.
13087 * util/grub-mklayout.c (usage): Removed (unused).
13088 (main): Print filename in error.
13089 * util/grub-mkrescue.in: Fix wrong quoting.
13090 * util/grub-setup.c (setup): Print filename in error.
13091 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13092 (check_sas): Likewise.
13093 * util/misc.c (grub_util_get_fp_size): Removed.
13094 (grub_util_get_image_size): Print filename in error.
13095 (grub_util_read_at): Removed.
13096 (grub_util_read_image): Print filename in error.
13097 (grub_util_load_image): Likewise.
13098 (grub_util_write_image_at): New argument filename. All users updated.
13099 Print filename in error.
13100 (grub_util_write_image): New argument filename. All users updated.
13101 Print filename in error.
13102 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13103 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13104
13105 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * grub-core/Makefile.core.def (pxechain): New module.
13108 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13109 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13110 function.
13111 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13112 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13113
13114 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13117 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13118 * include/grub/err.h (grub_error_saved): New struct.
13119 (grub_errmsg): Make array size explicit.
13120 * include/grub/misc.h (grub_error_save): New function.
13121 (grub_error_load): Likewise.
13122 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13123 (grub_error_push): Update `errno' member name.
13124 (grub_error_pop): Likewise
13125 * grub-core/net/tftp.c (tftp_data): New member save_err.
13126 (tftp_receive): Save error.
13127 (tftp_open): Restore error.
13128
13129 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13132 to real mode down to execute A20-related code in protected mode as
13133 intended.
13134
13135 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13136
13137 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13138 NULL when the argument `level' has an unexpected value.
13139
13140 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 Move platform-dependent files from $prefix to $prefix/$platform.
13143
13144 * config.h.in (GRUB_TARGET_CPU): New definition.
13145 (GRUB_PLATFORM): Likewise.
13146 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13147 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13148 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13149 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13150 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13151 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13152 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13153 * grub-core/normal/term.c (read_terminal_list): Likewise.
13154 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13155 $prefix/locale.
13156 (grub_gettext_init_ext): Likewise.
13157 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13158 grub_platform.
13159 * util/grub-install.in: Update directories.
13160 * util/grub-mknetdir.in: Likewise.
13161 * util/grub-mkrescue.in: Likewise.
13162
13163 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13166 grub_error framework. All users updated.
13167
13168 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13171 lists (by always binsearching), improve caching (cache strings
13172 used for binsearch, not only results), improve
13173 maintainability (by using more structured binary search) and correct
13174 error handling.
13175
13176 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/script/execute.c (grub_script_return): Fix warning.
13179
13180 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/script/execute.c (grub_script_return): Fix potential
13183 NULL-dereference.
13184 Reported by: Jim Meyering.
13185
13186 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * po/POTFILES.in: Regenerate.
13189 * util/grub-install.in: Gettextize the strings missed in first pass.
13190
13191 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * Makefile.util.def (grub-mkdevicemap): Removed.
13194 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13195 * include/grub/util/deviceiter.h: Removed.
13196 * util/deviceiter.c: Likewise.
13197 * util/getroot.c (grub_util_get_os_disk): New function.
13198 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13199 replacement for EFI.
13200 * util/grub-mkdevicemap.c: Removed.
13201 * util/grub-probe.c (probe): Handle PRINT_DISK.
13202 (argp_parser): Handle -t disk.
13203
13204 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * util/grub-mkfont.c: Migrate to argp.
13207 * util/grub-mklayout.c: Likewise.
13208 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13209 * util/grub-mkrelpath.c: Likewise.
13210 * util/grub-probe.c: Likewise.
13211 * util/grub-script-check.c: Likewise.
13212
13213 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/grub-reboot.in: Add missing datarootdir.
13216 Add missing newline.
13217 * util/grub-set-default.in: Add missing datarootdir.
13218 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13219 * util/grub-mkrescue.in: Likewise.
13220
13221 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13224
13225 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 * util/grub-kbdcomp.in: Add decent help and gettextize.
13228 * docs/man/grub-kbdcomp.h2m: New file.
13229
13230 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 Migrate grub-mkimage.c to argp.
13233
13234 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13235 (grub-setup): Likewise.
13236 * util/grub-setup.c (print_version): Move to ...
13237 * util/argp_common.c (print_version): ... here.
13238 * util/grub-setup.c (argp_program_version_hook): Move to ...
13239 * util/argp_common.c (argp_program_version_hook): ... here.
13240 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13241 safety.
13242 * util/grub-mkimage.c (main): Migrate to argp.
13243
13244 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * util/grub-mkrescue.in: Use same message as
13247 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13248 for better translations.
13249
13250 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13253 options with generic grub-mkrescue.in with the goal of future
13254 merge.
13255
13256 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/kern/mm.c: Add missing include of i18n.h
13259 * grub-core/lib/relocator.c: Likewise.
13260
13261 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13264 error.
13265 (allocate_pages): Check return value.
13266 Replace fatal with error.
13267 (grub_linux_boot): Replace printf with dprintf.
13268 Check find_mmap_size return value.
13269 Replace fatal with error.
13270 Don't call grub_machine_fini.
13271 (grub_load_elf64): Replace printf with dprintf.
13272 (grub_cmd_linux): Likewise.
13273 (grub_cmd_initrd): Likewise.
13274 (grub_cmd_payload): Likewise.
13275
13276 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13279 message.
13280 * grub-core/video/radeon_fuloong2e.c
13281 (grub_video_radeon_fuloong2e_setup): Likewise.
13282 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13283 * grub-core/video/video.c (grub_video_set_mode): Don't override
13284 standard out of memory message.
13285
13286 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13287
13288 NetBSD disk wedge support.
13289
13290 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13291 [__NetBSD__]: Handle NetBSD disk wedges.
13292 * util/getroot.c (convert_system_partition_to_system_disk)
13293 [__NetBSD__]: Likewise.
13294
13295 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
13296
13297 * util/grub-mkconfig.in: Use umask rather than chmod to create
13298 grub.cfg.new to avoid insecure grub.cfg.
13299
13300 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/commands/ls.c: Gettextize.
13303 * grub-core/commands/setpci.c: Likewise.
13304 * grub-core/commands/videotest.c: Likewise.
13305 * grub-core/disk/geli.c: Likewise.
13306 * grub-core/kern/mm.c: Likewise.
13307 * grub-core/lib/relocator.c: Likewise.
13308 * grub-core/loader/efi/appleloader.c: Likewise.
13309 * grub-core/loader/i386/xnu.c: Likewise.
13310 * grub-core/loader/ia64/efi/linux.c: Likewise.
13311 * grub-core/loader/xnu.c: Likewise.
13312 * grub-core/net/dns.c: Likewise.
13313 * grub-core/net/net.c: Likewise.
13314 * grub-core/script/lexer.c: Likewise.
13315 * grub-core/script/parser.y: Likewise.
13316 * grub-core/script/yylex.l: Likewise.
13317 * util/getroot.c: Likewise.
13318 * util/grub-setup.c: Likewise.
13319
13320 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13323 number.
13324
13325 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13328
13329 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13332 macro.
13333 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13334 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13335
13336 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13339 * util/grub-install.in: Gettextize.
13340 * util/grub-mkconfig.in: Likewise.
13341 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13342 if not available.
13343 (grub_warn): Gettextize.
13344 * util/grub-mknetdir.in: Gettextize.
13345 * util/grub-mkrescue.in: Likewise.
13346 * util/grub-mkstandalone.in: Likewise.
13347 * util/grub-reboot.in: Likewise.
13348 * util/grub-set-default.in: Likewise.
13349 * util/grub.d/00_header.in: Likewise.
13350 * util/grub.d/10_hurd.in: Likewise.
13351 * util/grub.d/10_kfreebsd.in: Likewise.
13352 * util/grub.d/10_linux.in: Likewise.
13353 * util/grub.d/10_netbsd.in: Likewise.
13354 * util/grub.d/10_windows.in: Likewise.
13355 * util/grub.d/20_linux_xen.in: Likewise.
13356 * util/grub.d/30_os-prober.in: Likewise.
13357 * po/POTFILES-shell.in: Regenerate.
13358
13359 2012-02-03 Richard Laager <rlaager@wiktel.com>
13360
13361 * util/grub-mkimage.c (main): Fix format-security warning.
13362 * util/grub-mkrelpath.c (main): Likewise.
13363 * util/grub-probe.c (main): Likewise.
13364
13365 2012-02-03 Richard Laager <rlaager@wiktel.com>
13366
13367 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13368 failure.
13369 Put back lost PRINT_DRIVE.
13370
13371 2012-02-03 Richard Laager <rlaager@wiktel.com>
13372
13373 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13374 (grub_guess_root_devices): Replace strlen with sizeof.
13375 Avoid crash.
13376 (find_root_devices_from_poolname): Remove unused variable.
13377 Handle raidzN.
13378
13379 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 Support install on multi-device filesystems.
13382
13383 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13384 (grub_guess_root_devices): ...this. Return char **. All users updated.
13385 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13386 Removed.
13387 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13388 (find_root_devices_from_poolname): ... here.
13389 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13390 Support zfs-fuse.
13391 (grub_guess_root_device): Rename to ...
13392 (grub_guess_root_devices): ... this. Return char **. All users updated.
13393 * util/grub-install.in: Handle multi-device filesystems.
13394 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13395 argument. All users updated.
13396 Handle multi-device filesystems.
13397 Use 'delim' as separator.
13398 Remove device check to allow filesystems on file.
13399 (main): Support -0 argument. Handle multi-device.
13400 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13401 Fix a cross-device check while on it.
13402 (arguments): Remove root_dev.
13403 (argp_parser): Remove -r.
13404 (main): Remove root_dev.
13405
13406 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13409
13410 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13413 symbol.
13414 Reported by: NODA, Kai <nodakai>.
13415
13416 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 Fix ehci on amd64.
13419
13420 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13421 pointers.
13422 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13423 (grub_ehci_setup_qh): Likewise.
13424 (grub_ehci_find_qh): Likewise.
13425 (grub_ehci_transaction): Likewise.
13426 (grub_ehci_setup_transfer): Likewise.
13427 (grub_ehci_check_transfer): Likewise.
13428 (grub_ehci_portstatus): Likewise.
13429 (grub_ehci_detect_dev): Likewise.
13430 (grub_ehci_transfer_controller_data): New field td_last_phys.
13431 (grub_ehci_setup_transfer): Fill td_last_phys.
13432 (grub_ehci_check_transfer): Use td_last_phys.
13433
13434 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13435
13436 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13437 if no submenu is present.
13438
13439 2012-02-01 Aleš Nesrsta <starous@volny.cz>
13440
13441 CBI support.
13442
13443 * include/grub/usb.h (grub_usbms_protocol_t): New values
13444 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13445 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13446 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13447 (grub_usbms_dev): Add subclass, protocol and intrpt.
13448 Remove in_maxsz and out_maxsz.
13449 (grub_usbms_reset): Rename to ...
13450 (grub_usbms_bo_reset): .. this.
13451 (grub_usbms_cbi_cmd): New function.
13452 (grub_usbms_cbi_reset): Likewise.
13453 (grub_usbms_reset): Likewise.
13454 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13455 (grub_usbms_transfer): Rename to ...
13456 (grub_usbms_transfer_bo): ... this.
13457 (grub_usbms_transfer_cbi): Likewise.
13458 (grub_usbms_transfer): Likewise.
13459
13460 2012-02-01 Aleš Nesrsta <starous@volny.cz>
13461 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13464 the support for the CS5536 modification thereos and few bugfixes.
13465
13466 * grub-core/Makefile.core.def (ehci): New module.
13467 * grub-core/bus/usb/ehci.c: New file.
13468 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13469 port and hubaddr. All users updated.
13470 Save port and hubaddr into dev structure.
13471 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13472 define.
13473 * include/grub/pci.h (grub_dma_phys2virt): New function.
13474 (grub_dma_virt2phys): Likewise.
13475 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13476
13477 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13480 check as some mkfs implementations omit it.
13481
13482 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13485
13486 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13489 Add new member volname2.
13490 (grub_jfs_label): Use volname2 if available.
13491
13492 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13495 over last_mounted as seen in image generated by mkfs.nilfs2.
13496 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13497
13498 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13501 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13502 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13503
13504 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13507 over the sector.
13508
13509 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13512 subvolume name (by removing a bogus and useless check).
13513
13514 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13517 sizeof while on it.
13518
13519 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13522 (grub_scsi_read_capacity10): ... this.
13523 (grub_scsi_read_capacity16): New function.
13524 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13525 0xffffffff.
13526 Fix off-by-one error.
13527 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13528 64-bit unsigned.
13529 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13530 (grub_scsi_read_capacity10): ... this.
13531 (grub_scsi_read_capacity_data): Rename to ...
13532 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13533 (grub_scsi_read_capacity16): New struct.
13534 (grub_scsi_read_capacity16_data): Likewise.
13535 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13536 grub_scsi_cmd_read_capacity10.
13537 New command grub_scsi_cmd_read_capacity16.
13538
13539 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 SCSI >2TiB support.
13542
13543 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13544 (grub_scsi_write16): Likewise.
13545 (grub_scsi_read): Use read16 when necessary.
13546 (grub_scsi_write): Likewise.
13547 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13548 (grub_scsi_write16): Likewise.
13549 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13550
13551 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 SCSI write support (for usbms mainly).
13554
13555 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13556 a const pointer.
13557 (grub_scsi_write): Implement.
13558 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13559
13560 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13563 variable.
13564
13565 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13568
13569 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * po/POTFILES.in: Regenerate.
13572
13573 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13576 with grub_printf to avoid unnecessary fatal failure.
13577
13578 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13581 (INT_MAX): Likewise.
13582 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13583 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13584 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13585 (strcpy): Likewise.
13586 (strstr): Likewise.
13587 (strchr): Likewise.
13588 (strncpy): Likewise.
13589 (strcat): Likewise.
13590 (strncat): Likewise.
13591 (strcoll): Likewise.
13592 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13593 (GRUB_INT_MAX): Likewise.
13594
13595 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13598 unexpected error.
13599 (optimize_utf8): Likewise.
13600 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13601
13602 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/boot/i386/pc/lnxboot.S: Use
13605 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13606 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13607 location.
13608 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13609 definition.
13610 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13611
13612 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13615 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13616 now to avoid double free.
13617 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13618 hostdisk.
13619 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13620 * util/grub-probe.c (escape_of_path): Always return a new copy.
13621 (print_full_name): Escape path.
13622 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13623 Fix hints on abstractions.
13624
13625 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13628 Don't add "root" line if no compatibility hont is available.
13629 Suggested by: Seth Goldberg.
13630
13631 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13634 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13635 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13636 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13637
13638 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13641
13642 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * util/grub-pe2elf.c (ehdr): Make static.
13645 (shdr): Likewise.
13646 (num_sections): Likewise.
13647 (offset): Likewise.
13648
13649 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 Eliminate ofpath limits and possible overflows.
13652
13653 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13654 (OF_PATH_MAX): Removed.
13655 (MAX_DISK_CAT): New const.
13656 (find_obppath): Use allocated rather than preallocated buffer.
13657 Return result. Argument of_path removed. All users updated.
13658 Add missing fdstat.
13659 (xrealpath): New function.
13660 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13661 Allocate rather than use preallocated buffer. All users updated.
13662 (__of_path_common): Use allocated rather than preallocatecd buffer.
13663 Return result. Argument of_path removed. All users updated.
13664 (vendor_is_ATA): Read only needed part form the file.
13665 (check_sas): Allocate depending on contents rather than fixed.
13666 (main) [STANDALONE]: Handle NULL result.
13667
13668 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13671
13672 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 Cryptodisk write support.
13675
13676 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13677 (grub_cryptodisk_decrypt): Moved logic to ...
13678 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13679 (grub_cryptodisk_write): Implement.
13680 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13681 (grub_util_fd_write): ... this. Make global.
13682 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13683
13684 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * include/grub/list.h (grub_list_remove): Don't crash if element is
13687 removed twice.
13688
13689 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 Rename ofconsole to console.
13692
13693 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13694 as sysnonym to console.
13695 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13696 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13697 Rename grub_ofconsole_ to grub_console_. All users updated
13698 (grub_console_term_output): Rename "ofconsole" to "console".
13699 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13700 as "console".
13701
13702 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13705 handling.
13706 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13707 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13708 GRUB_DISK_DEVICE_FILE_ID.
13709
13710 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13713 and improve performance.
13714
13715 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13718 missing ieee1275/ prefix on whole disk.
13719
13720 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13723 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13724
13725 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13728
13729 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 Merge common RAID and LVM logic to an abstract diskfilter.
13732 Add LDM support using the same framework.
13733
13734 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13735 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13736 (libgrubmods): Remove grub-core/disk/raid.c and
13737 grub-core/partmap/gpt.c.
13738 * grub-core/Makefile.core.def (ldm): New module.
13739 (raid): Renamed to diskfilter. All users updated.
13740 * grub-core/disk/raid.c: Moved to ...
13741 * grub-core/disk/diskfilter.c: ... here.
13742 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13743 (lv_num): New var.
13744 (find_array): Renamed to ...
13745 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13746 (grub_is_array_readable): Renamed to ...
13747 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13748 (insert_array): New argument id.
13749 (is_node_readable): New function.
13750 (scan_device): Rename to ...
13751 (scan_disk): .. this. Restrict to one disk.
13752 (scan_devices): New function.
13753 (grub_diskfilter_iterate): Support multi-LV.
13754 Skip invisible and nameless LVs.
13755 (grub_diskfilter_memberlist): Support multi-LV.
13756 (grub_diskfilter_read_node): New function.
13757 (grub_raid_read): Most of logic moved to ...
13758 (read_segment): ... here
13759 (read_lv): New function.
13760 (grub_diskfilter_get_vg_by_uuid): New function.
13761 (grub_diskfilter_make_raid): Likewise.
13762 * grub-core/disk/ldm.c: New file.
13763 * grub-core/disk/lvm.c (vg_list): Removed.
13764 (lv_count): Likewise.
13765 (scan_depth): Likewise.
13766 (is_lv_readable): Likewise.
13767 (grub_lvm_getvalue): Advance pointer past the number.
13768 (find_lv): Removed.
13769 (do_lvm_scan): Refactored into ...
13770 (grub_lvm_detect): ... this. Support raid.
13771 (grub_lvm_iterate): Removed.
13772 (grub_lvm_memberlist): Likewise.
13773 (grub_lvm_open): Likewise.
13774 (grub_lvm_close): Likewise.
13775 (read_lv): Likewise.
13776 (read_node): Likewise.
13777 (is_node_readable): Likewise.
13778 (is_lv_readable): Likewise.
13779 (grub_lvm_read): Likewise.
13780 (grub_lvm_write): Likewise.
13781 (grub_lvm_dev): Use diskfilter
13782 (GRUB_MOD_INIT): Likewise.
13783 (GRUB_MOD_FINI): Likewise.
13784 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13785 new interface.
13786 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13787 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13788 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13789 grub_diskfilter_read_node.
13790 Fix a bug with xor.
13791 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13792 grub_diskfilter_read_node.
13793 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13794 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13795 (grub_disk_dev_iterate): Move from here...
13796 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13797 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13798 Make global.
13799 (grub_hostdisk_find_partition_start): Likewise.
13800 (grub_hostdisk_os_dev_to_grub_drive): New function.
13801 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13802 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13803 * util/getroot.c (make_device_name): ... here.
13804 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13805 Move to ...
13806 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13807 * grub-core/kern/emu/hostdisk.c
13808 (convert_system_partition_to_system_disk): Move to ...
13809 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13810 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13811 * util/getroot.c (device_is_wholedisk): ... here.
13812 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13813 * util/getroot.c (find_system_device): ... here.
13814 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13815 Move to ...
13816 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13817 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13818 Move to ...
13819 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13820 Handle LDM.
13821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13822 Move to ...
13823 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13824 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13825 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13826 DISKFILTER.
13827 * include/grub/raid.h: Renamed to ...
13828 * include/grub/diskfilter.h: ... this.
13829 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13830 (GRUB_RAID_LAYOUT_*): Make into array.
13831 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13832 (grub_diskfilter_vg): New struct.
13833 (grub_diskfilter_pv_id): Likewise.
13834 (grub_raid_member): Removed.
13835 (grub_raid_array): Likewise.
13836 (grub_diskfilter_pv): New struct.
13837 (grub_diskfilter_lv): Likewise.
13838 (grub_diskfilter_segment): Likewise.
13839 (grub_diskfilter_node): Likewise.
13840 (grub_diskfilter_get_vg_by_uuid): New proto.
13841 (grub_raid_register): Inline.
13842 (grub_diskfilter_unregister): Likewise.
13843 (grub_diskfilter_make_raid): New proto.
13844 (grub_diskfilter_vg_register): Likewise.
13845 (grub_diskfilter_read_node): Likewise.
13846 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13847 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13848 (grub_util_is_ldm): Likewise.
13849 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13850 (grub_hostdisk_find_partition_start): Likewise.
13851 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13852 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13853 New definition.
13854 (grub_gpt_partition_map_iterate): New proto.
13855 * include/grub/lvm.h (grub_lvm_vg): Removed.
13856 (grub_lvm_pv): Likewise.
13857 (grub_lvm_lv): Likewise.
13858 (grub_lvm_segment): Likewise.
13859 (grub_lvm_node): Likewise.
13860 * util/getroot.c [...]
13861 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13862 (probe_abstraction): Likewise.
13863 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13864 (main): Remove dead logic.
13865
13866 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 Simplify root device discover and don't fail when trying to open
13869 incorrect devices.
13870
13871 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13872 function.
13873 (get_diskname_from_path): Likewise.
13874 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13875 of iterating.
13876
13877 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13880
13881 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13884 pastthe end.
13885
13886 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 * util/grub-install.in: Add missing \.
13889 Reported by: gentoofan
13890
13891 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13894 (direct_read): Use correct compressed size.
13895 (grub_squash_read_data): Likewise.
13896
13897 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * docs/grub.texi (Platform limitations): New section.
13900 (Platform-specific operations): Likewise.
13901 * docs/grub-dev.texi (Porting): Likewise.
13902
13903 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 IEEE1275 disk write support.
13906
13907 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13908 const void *.
13909 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13910 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13911 and seek loginc to ...
13912 (grub_ofdisk_prepare): ... here.
13913 (grub_ofdisk_write): Implement.
13914
13915 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 ARC disk write support.
13918
13919 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13920 (reopen): New argument writable. All users updated.
13921 Handle required access mode.
13922 (grub_arcdisk_write): Implement.
13923 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13924 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13925
13926 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13929 (read_sblock): Don't attempt to read superblocks outside the disk size.
13930
13931 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13934 first superblock to find the second one when possible.
13935
13936 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * util/grub-install.in: Fix an ARC bug.
13939 Print a warning if no platform-specific setup is available.
13940
13941 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 Use static allocation rather than scratch pointer in reed_solomon.
13944 It decreases its size significantly and avoids a variable in .text.
13945
13946 * grub-core/lib/reed_solomon.c (scratch): Removed.
13947 (chosenstat): New const or static array.
13948 (sigma): Likewise.
13949 (errpot): Likewise.
13950 (errpos): Likewise.
13951 (sy): Likewise.
13952 (mstat): Likewise.
13953 (errvals): Likewise.
13954 (eqstat): Likewise.
13955 (pol_evaluate): Replace x with log_x argument. All users updated.
13956 (syndroms): Removed.
13957 (gauss_solve): Use statically allocated arrays.
13958 (rs_recover): Likewise.
13959 Calculate syndroms directly.
13960 (decode_block): Use statically allocated arrays.
13961 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13962 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13963
13964 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 Eliminate fixed limit on reed solomon decoder length.
13967
13968 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13969 rather than hardcoding the address.
13970 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13971 no_reed_solomon_length.
13972 Move gate_a20 to no-reed-solomon part.
13973 Don't force a particular size of no reed-solomon part.
13974 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13975 Removed.
13976 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13977 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13978
13979 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * grub-core/commands/wildcard.c (match_files): Handle filenames
13982 without explicit device.
13983 (wildcard_expand): Don't add explicit device if not already present.
13984 * tests/grub_script_echo1.in: Add a new expansion test.
13985
13986 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 Replace single-linked with double-linked lists. It results in more
13989 compact and more efficient code.
13990
13991 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13992 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13993 (grub_list_remove): Moved from here ...
13994 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13995 (grub_prio_list_insert): Set prev.
13996 * include/grub/list.h (grub_list): Add prev. All users updated.
13997
13998 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 Handle newer autotools. Add some missing quotes while on it.
14001
14002 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14003 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14004 (pkgdata_DATA): ... here.
14005 * Makefile.util.def (update-grub_lib): Removed.
14006 * conf/Makefile.common (pkglib_DATA): Removed.
14007 (pkglib_SCRIPTS): Likewise.
14008 (pkgdata_DATA): New variable.
14009 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14010 needed.
14011 Add missing quotes.
14012 Remove unused variable while on it.
14013 * tests/util/grub-shell.in: Likewise.
14014 * util/grub-install.in: Likewise.
14015 * util/grub-mkconfig.in: Likewise.
14016 * util/grub-mknetdir.in: Likewise.
14017 * util/grub-mkrescue.in: Likewise.
14018 * util/grub-mkstandalone.in: Likewise.
14019 * util/grub.d/00_header.in: Likewise.
14020 * util/grub.d/10_hurd.in: Likewise.
14021 * util/grub.d/10_illumos.in: Likewise.
14022 * util/grub.d/10_kfreebsd.in: Likewise.
14023 * util/grub.d/10_linux.in: Likewise.
14024 * util/grub.d/10_netbsd.in: Likewise.
14025 * util/grub.d/10_windows.in: Likewise.
14026 * util/grub.d/20_linux_xen.in: Likewise.
14027 * util/grub.d/30_os-prober.in: Likewise.
14028 * util/update-grub_lib.in: Removed.
14029
14030 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14031
14032 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14033 a workaround for intel problem.
14034
14035 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14036 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14037 2012-01-23 pfsmorigo
14038
14039 * util/grub-install.in: Support dd'in into PreP partition.
14040 * util/grub-probe.c (probe): Support discovering partition type.
14041 (main): Support -t msdos_parttype.
14042
14043 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14046 infinite recursion using counter.
14047 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14048 init to skip it if the magic check fails.
14049 (dec_stream_header): Init s->crc32.
14050
14051 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14052 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14053 2012-01-22 Richard Laager <rlaager@wiktel.com>
14054
14055 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14056 All users updated.
14057 (find_bestub): Determine correct size.
14058 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14059 (scan_disk): Align the size down.
14060 Call check pool before find_bestub to have ashift.
14061
14062 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14065 dprintf in no-malloc zone.
14066
14067 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14068
14069 * configure.ac: Add back in test for limits.h.
14070
14071 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 Support 4K-sector NTFS.
14074
14075 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14076 (grub_ntfs_data): Remove blocksize.
14077 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14078 Remove data argument. All users updated.
14079
14080 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14083 being in .text to avoid dprel references.
14084 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14085 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14086 (grub_arch_highmemsize): Likewise.
14087 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14088 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14089 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14090
14091 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14094
14095 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14096 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14097
14098 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14101 GRUB_UTIL.
14102 (grub_set_datetime_cmos): Likewise.
14103
14104 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 Make XZ compression parameters dependent on target and not host CPU.
14107
14108 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14109 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14110
14111 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14114 set but not used variable.
14115
14116 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14119 created when no uuid support is compiled into mkfs.reiser.
14120
14121 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14124 (utf8_to_macroman): Do the opposite.
14125 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14126
14127 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 * configure.ac: Refise build qemu_mips w/o unifont.
14130
14131 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Eliminate grub_min/grub_max prone to overflow usage.
14134
14135 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14136 (poll_nonroot_hub): Likewise.
14137 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14138 (grub_affs_label): Likewise.
14139 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14140 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14141 (grub_hfs_label): Likewise.
14142 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14143 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14144 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14145 (zap_leaf_array_get): Likewise.
14146 (dnode_get_path): Likewise.
14147 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14148 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14149 * grub-core/script/execute.c (grub_script_break): Likewise.
14150 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14151 grub_max.
14152 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14153 * include/grub/misc.h (grub_min): Removed.
14154 (grub_max): Likewise.
14155
14156 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14157
14158 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14159 direct.inode = 0.
14160
14161 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14164
14165 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14168
14169 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14172 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14173
14174 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14177 rather than a hack for grub_strncasemap.
14178
14179 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 Support multiple initrds
14182 Note: part of this was accidently committed in r3739.
14183
14184 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14185 initrd.
14186 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14187 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14188 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14189 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14190 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14191
14192 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14195 disks with unknown size.
14196 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14197
14198 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 Remove defines pertaining to arbitrary limits not affecting GRUB
14201 anymore.
14202
14203 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14204 (EXT2_MAX_SYMLINKCNT): Likewise.
14205 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14206 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14207 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14208 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14209 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14210 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14211 (DN_MAX_OBJECT_SHIFT): Likewise.
14212 (DN_MAX_OFFSET_SHIFT): Likewise.
14213 (DN_MAX_OBJECT): Likewise.
14214 (DNODES_PER_LEVEL_SHIFT): Likewise.
14215 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14216 (SPA_MAXBLOCKSIZE): Likewise.
14217 (SPA_BLOCKSIZES): Likewise.
14218 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14219 (MZAP_MAX_BLKSZ): Likewise.
14220
14221 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14224 handle NULL appropriately.
14225 Remove MIN.
14226
14227 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Fix efiemu.
14230
14231 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14232 cpu/types.h.
14233 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14234 * configure.ac: Fix efiemu check.
14235
14236 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14239 grub_probe.
14240 Reported by: adamwill
14241
14242 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14243
14244 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14245
14246 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 Fix handling of wide characters in gfxterm.
14249
14250 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14251 (clear_char): Likewise.
14252 (paint_char): Skip code == NULL chars.
14253 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14254
14255 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 * grub-core/normal/charset.c: Move comment to right place.
14258
14259 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14262 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14263 (grub_affs_mount): Revert the correct version checking.
14264
14265 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * docs/grub.texi (Unicode): Mention several other unsupported features.
14268
14269 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14272 case statements as compile-time one.
14273 (direct_read): Prevent spurious warnings.
14274 (grub_squash_read_data): Likewise.
14275
14276 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 Various squash4 fixes and LZO and XZ support.
14279
14280 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14281 Add xzembed source files.
14282 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14283 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14284 (grub_squash_inode): New subtype long_dir.
14285 (SQUASH_TYPE_LONG_DIR): New inode type.
14286 (COMPRESSION): New enum.
14287 (XZBUFSIZ): New const.
14288 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14289 (read_chunk): Use data->decompress.
14290 (zlib_decompress): New function.
14291 (lzo_decompress): Likewise.
14292 (xz_decompress): Likewise.
14293 (squash_mount): Set new data fields.
14294 (grub_squash_iterate_dir): Handle long dir.
14295 (squash_unmount): Free xzdec and xzbuf.
14296 (grub_squash_open): Check ino type.
14297 (direct_read): Stylistic fixes. Use data->decompress.
14298 (grub_squash_read_data): Likewise.
14299 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14300 (get_byte): Likewise.
14301 (grub_zlib_disk_read): Removed.
14302 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14303 (GRUB_POSIX_BOOL_DEFINED): New define.
14304 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14305 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14306 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14307 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14308
14309 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Don't override more informative errors.
14312
14313 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14314 * grub-core/font/font.c (open_section): Likewise.
14315 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14316 filename. Don't override errors.
14317 (grub_cmd_openbsd_ramdisk): Don't override errors.
14318 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14319 (grub_cmd_initrd): Likewise.
14320 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14321 (grub_cmd_initrd): Likewise.
14322 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14323 (grub_cmd_linux): Likewise.
14324 (grub_cmd_initrd): Likewise.
14325 (grub_cmd_payload): Likewise.
14326 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14327 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14328 (grub_cmd_module): Likewise.
14329 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14330 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14331 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14332 (grub_cmd_xnu_mkext): Likewise.
14333 (grub_cmd_xnu_ramdisk): Likewise.
14334 (grub_xnu_check_os_bundle_required): Likewise.
14335 (grub_xnu_load_kext_from_dir): Likewise.
14336 (grub_cmd_xnu_kextdir): Likewise.
14337 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14338
14339 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14342 as 1024 in block size field. Found on one of my test images.
14343 Small optimisation while on it.
14344
14345 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14348 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14349 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14350 performance fixes while on it.
14351 (grub_sfs_close): Fix memory leak while on it.
14352 (grub_sfs_label): Convert Latin1 to UTF-8.
14353
14354 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14357 space to avoid overflows.
14358 (grub_hfs_label): Convert from macroman to UTF-8.
14359
14360 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14363
14364 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14367
14368 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * unicode: Import Unicode 6.0 data.
14371
14372 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14375 outside of range.
14376
14377 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 Avoid cutting in the middle of UTF-8 character.
14380
14381 * include/grub/charset.h (grub_getend): New function.
14382 * grub-core/script/function.c (grub_script_function_find): Use
14383 grub_getend.
14384 * grub-core/normal/completion.c (add_completion): Likewise.
14385
14386 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14389 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14390 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14391 (GRUB_UNICODE_TAG_END): Likewise.
14392 (GRUB_UNICODE_LAST_VALID): Likewise.
14393
14394 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14397 len and make it smaller. All users updated.
14398 * util/import_unicode.py: Put length and not end character.
14399 Check length.
14400
14401 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Make better Unicode-compliant and unify some UTF-8 code pathes.
14404
14405 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14406 valid character.
14407 (grub_is_valid_utf8): Use grub_utf8_process.
14408 Check resulting code range.
14409 (grub_utf8_to_ucs4): Use grub_utf8_process.
14410 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14411 valid character.
14412
14413 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14416
14417 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * docs/grub.texi (Filesystems): Mention AFS.
14420
14421 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * docs/grub.texi (Filesystems): Clarify restrictions.
14424 (Regexp): Mention non-Unicode regexp behaviour.
14425 (Other): Mention non-Unicode matching behaviour.
14426
14427 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 Make HFS implementation use MacRoman.
14430
14431 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14432 (macroman): New const array.
14433 (macroman_to_utf8): New function.
14434 (utf8_to_macroman): Likewise.
14435 (grub_hfs_find_dir): Use utf8_to_macroman.
14436 (grub_hfs_dir): Use macroman_to_utf8.
14437 Set case_insensitive.
14438
14439 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14442
14443 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Integrate hints into autogeneration scripts.
14446
14447 * docs/grub.texi (Filesystems): Add a hostdisk example.
14448 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14449 (grub-probe): Add ofpath.
14450 * gentpl.py: Remove group nosparc64.
14451 * grub-core/commands/search.c (cache_entry): New struct.
14452 (cache): New var.
14453 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14454 * grub-core/commands/search_wrap.c (options): Add platform-specific
14455 hint options.
14456 (grub_cmd_search): Handle platform-specific hints.
14457 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14458 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14459 (grub_util_biosdisk_data): Likewise.
14460 (grub_util_biosdisk_open): Set device_map.
14461 (read_device_map): Handle "" as indication of no map.
14462 Set device_map.
14463 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14464 (grub_util_biosdisk_get_compatibility_hint): New function.
14465 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14466 * include/grub/emu/hostdisk.h
14467 (grub_util_biosdisk_get_compatibility_hint): New proto.
14468 * util/grub-install.in: Don't call grub-mkdevicemap.
14469 Add platform-specific hint to load.cfg.
14470 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14471 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14472 hints. Set root preliminary to compatibility hint, not to OS name.
14473 * util/grub-probe.c (PRINT_*): Add hints.
14474 (print): Make static.
14475 (escape_of_path): New function.
14476 (guess_bios_drive): Likewise.
14477 (guess_efi_drive): Likewise.
14478 (guess_baremetal_drive): Likewise.
14479 (print_full_name): Likewise.
14480 (probe): Handle hints.
14481 (main): Likewise.
14482 * util/ieee1275/devicemap.c: Removed.
14483 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14484 updated.
14485 (grub_util_devname_to_ofpath): Return NULL on failure.
14486
14487 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14488 resource leak.
14489 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14490
14491 * po/POTFILES.in: Regenerated.
14492
14493 Allow purely long options
14494
14495 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14496 (SHORT_ARG_USAGE): Likewise.
14497 (grub_arg_show_help): Compare opt with help_options.
14498 (parse_option): Receive opt as argument. If makes big simplificatons.
14499 All users updated
14500
14501 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14504 Restructure to avoid warning.
14505
14506 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * util/grub-install.in: Account for possible escaped comma in device
14509 name.
14510
14511 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14514 channel.
14515
14516 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14519 allocation and zero-setting.
14520 (grub_ieee1275_get_devname): Check that alias is complete.
14521
14522 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14525 unaligned segments.
14526
14527 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14530 prefix.
14531 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14532 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14533 Add ieee1275 prefix.
14534
14535 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * docs/grub.texi (Filesystems): Update.
14538
14539 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 Support odc, newc and bigendian cpio formats.
14542
14543 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14544 * grub-core/Makefile.core.def (newc): New module.
14545 (odc): Likewise.
14546 (cpio_be): Likewise.
14547 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14548 (MAGIC): Likewise.
14549 (MAGIC2): Likewise.
14550 (head) [MODE_ODC]: Adapt for the format.
14551 (head) [MODE_NEWC]: Likewise.
14552 (head) [!MODE_*]: Write fields of interest as arrays.
14553 (MAGIC_USTAR): Removed.
14554 (read_number) [MODE_NEWC]: Change to hex.
14555 (read_number) [!MODE_*]: Parse binary arrays.
14556 (grub_cpio_find_file): Factor out the code for better structure and
14557 always use read_number.
14558 (grub_cpio_mount): Use MAGIC and MAGIC2.
14559 (grub_cpio_dir): Exit on first hook non-0 return.
14560 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14561 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14562 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14563 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14564 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14565 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14566 * grub-core/fs/newc.c: New file.
14567 * grub-core/fs/odc.c: Likewise.
14568 * grub-core/fs/cpio_be.c: Likewise.
14569
14570 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Fix handling of tar numbers occupying the whole field.
14573
14574 * grub-core/fs/cpio.c (read_number): New function.
14575 (grub_cpio_find_file): Use read_number instead of strtoull.
14576
14577 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14580 occupying the whole field size.
14581
14582 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14583
14584 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14585
14586 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14589
14590 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14591
14592 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14593 TARGET_IMG_LDFLAGS.
14594
14595 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14598 (mountinfo_entry): Increase the field size to take escaping into
14599 account.
14600 (find_root_device_from_libzfs): Add one byte to size of strings for
14601 security.
14602
14603 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14606 an assert.
14607 * util/grub-setup.c (setup): Likewise.
14608
14609 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14612 _LzmaDecodeA.
14613
14614 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * docs/grub.texi (Internationalisation): New section.
14617
14618 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * docs/grub.texi (Loopback booting): New section.
14621
14622 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
14623
14624 * util/grub-mkstandalone.in: Fix minor typo errors.
14625
14626 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14629
14630 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14631 net/icmp.c and net/icmp6.c.
14632 (http): New module.
14633 (priority_queue): Likewise.
14634 * grub-core/io/bufio.c: Rewritten.
14635 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14636 TYPE_WITH_CONFIGFILE_OPTION.
14637 (legacy_commands): Add bootp and dhcp.
14638 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14639 (grub_legacy_parse): Likewise.
14640 * grub-core/lib/priority_queue.c: New file.
14641 * grub-core/net/arp.c: Add missing license header.
14642 (arp_find_entry): Removed.
14643 (arp_find_entry): Likewise.
14644 (grub_net_arp_resolve): Rename to ...
14645 (grub_net_arp_send_request): ...this.
14646 (grub_net_arp_receive): New card argument.
14647 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14648 Set router and DNS server.
14649 (grub_net_configure_by_dhcp_ack): Handle routing information.
14650 (grub_cmd_bootp): Set checksum.
14651 (grub_bootp_init): Remove net_dhcp.
14652 * grub-core/net/dns.c: New file.
14653 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14654 completion.
14655 (get_card_packet): Handle allocation.
14656 (grub_efinet_findcards): Set mtu.
14657 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14658 (get_card_packet): Handle allocation.
14659 (emucard): Set mtu.
14660 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14661 (GRUB_MOD_INIT): Set mtu.
14662 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14663 mtu.
14664 (get_card_packet): Handle allocation.
14665 (grub_ofnet_findcards): Set mtu.
14666 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14667 assert.
14668 (grub_net_recv_ethernet_packet): Handle IPv6.
14669 * grub-core/net/http.c: New file.
14670 * grub-core/net/icmp.c: Likewise.
14671 * grub-core/net/icmp6.c: Likewise.
14672 * grub-core/net/ip.c (ip6addr): New type.
14673 (ip6hdr): Likewise.
14674 (reassemble): Likewise.
14675 (cmp): New function.
14676 (reassembles): New variable.
14677 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14678 (id): New variable.
14679 (send_fragmented): New function.
14680 (grub_net_send_ip_packet): Rename to ...
14681 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14682 Handle non-UDP.
14683 (grub_net_recv_ip_packets): Rename to ...
14684 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14685 (free_rsm): New function.
14686 (free_old_fragments): Likewise.
14687 (grub_net_recv_ip4_packets): New function.
14688 (grub_net_send_ip6_packet): Likewise.
14689 (grub_net_send_ip_packet): Likewise.
14690 (grub_net_recv_ip6_packets): Likewise.
14691 (grub_net_recv_ip_packets): Likewise.
14692 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14693 (LINK_LAYER_CACHE_SIZE): New const.
14694 (link_layer_find_entry): New function.
14695 (grub_net_link_layer_add_address): Likewise.
14696 (grub_net_link_layer_resolve_check): Likewise.
14697 (grub_net_link_layer_resolve): Likewise.
14698 (grub_net_ipv6_get_slaac): Likewise.
14699 (grub_net_ipv6_get_link_local): Likewise.
14700 (grub_cmd_ipv6_autoconf): Likewise.
14701 (parse_ip): Handle one number representation.
14702 (parse_ip6): New functoion.
14703 (match_net): Handle IPv6.
14704 (grub_net_resolve_address): Handle IPv6 and DNS.
14705 (grub_net_resolve_net_address): Handle IPv6.
14706 (route_cmp): New function.
14707 (grub_net_route_address): Find best route.
14708 (grub_net_addr_to_str): Handle IPv6.
14709 (grub_net_addr_cmp): New function.
14710 (grub_net_add_addr): Register local route.
14711 (print_net_address): Handle net address.
14712 (grub_net_poll_cards): Retransmit TCP.
14713 (grub_net_poll_cards_idle_real): Likewise.
14714 (have_ahead): New function.
14715 (grub_net_seek_real): Use underlying seek.
14716 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14717 * grub-core/net/tcp.c: New file.
14718 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14719 (cmp): New function.
14720 (ack): Likewise.
14721 (tftp_receive): Handle unordered input.
14722 (destroy_pq): New function.
14723 (tftp_close): Close pq.
14724 * grub-core/net/udp.c: Put missing license header.
14725 (grub_net_udp_socket): New function.
14726 (udp_socket_register): Likewise.
14727 (grub_net_udp_close): Likewise.
14728 (grub_net_recv_udp_packet): Check checksum.
14729 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14730 * include/grub/misc.h (grub_memchr): New function.
14731 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14732 (grub_net_card_driver): Return buf in recv.
14733 (grub_net_slaac_mac_list): New struct.
14734 (grub_network_level_protocol_id): Add ipv6.
14735 (grub_net_network_level_addr): Likewise.
14736 (grub_net_network_level_net_addr): Likewise.
14737 (grub_net_app_protocol): Add seek.
14738 (grub_net_socket): Removed.
14739 (grub_net_sockets): Likewise.
14740 (grub_net_socket_register): Likewise.
14741 (grub_net_socket_unregister): Likewise.
14742 (FOR_NET_SOCKETS): Likewise.
14743 (grub_net_add_addr): Add const.
14744 (GRUB_NET_BOOTP_*): New enum.
14745 (grub_net_addr_cmp): New proto.
14746 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14747 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14748 (grub_net_hwaddr_to_str): NEw proto.
14749 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14750 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14751 (grub_dns_init): New proto.
14752 (grub_dns_fini): Likewise.
14753 (grub_net_tcp_retransmit): Likewise.
14754 (grub_net_link_layer_add_address): Likewise.
14755 (grub_net_link_layer_resolve_check): Likewise.
14756 (grub_net_link_layer_resolve): Likewise.
14757 (grub_net_dns_lookup): Likewise.
14758 (grub_net_add_dns_server): Likewise.
14759 (grub_net_remove_dns_server): Likewise.
14760 (GRUB_NET_TRIES): New const.
14761 (GRUB_NET_INTERVAL): Likewise.
14762 * include/grub/net/arp.h: Mostly rewritten.
14763 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14764 * include/grub/net/ip.h: Mostly rewritten.
14765 * include/grub/net/netbuff.h: Indent.
14766 * include/grub/net/tcp.h: New file.
14767 * include/grub/net/udp.h: Mostly rewritten.
14768 * include/grub/priority_queue.h: New file.
14769 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14770 (grub_swap_bytes64_compile_time): Likewise.
14771 (grub_cpu_to_be16_compile_time): Likewise.
14772 (grub_cpu_to_be32_compile_time): Likewise.
14773 (grub_cpu_to_be64_compile_time): Likewise.
14774 (grub_be_to_cpu64_compile_time): Likewise.
14775
14776 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14779 UINT_TO_PTR with cast.
14780
14781 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14784 don't use them.
14785
14786 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14789 already there.
14790
14791 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14794 confusing ipxe.
14795
14796 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14799 Add missing const attribute.
14800 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14801 Likewise.
14802 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14803 Likewise.
14804
14805 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14808 misaligned access.
14809 (serpent_setkey): Likewise.
14810 (serpent_encrypt_internal): Likewise.
14811 (serpent_decrypt_internal): Likewise.
14812 (serpent_encrypt): Don't put an alignment-increasing cast.
14813 (serpent_decrypt): Likewise.
14814 (serpent_test): Likewise.
14815
14816 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14819
14820 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14823
14824 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14825 grub_addr_t casts.
14826 (PTR_TO_UINT64): Likewise.
14827 (PTR_TO_UINT32): Likewise.
14828
14829 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14832 because of stack.
14833 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14834 limit.
14835
14836 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14839 text_width > available width a bit more gracefully.
14840
14841 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14844 current address calculation.
14845
14846 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14849 stack.
14850 (encode_block): Likewise.
14851
14852 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14855 certainety.
14856
14857 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14860 non-RS part to avoid RS messing with GDT.
14861 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14862 Increase to suit in realmode routines.
14863
14864 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * grub-core/kern/i386/realmode.S: Increase alignment.
14867 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14868
14869 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14872 be deterministic.
14873 (syndroms): Compute 0 syndrom.
14874 (rs_recover): Use 0 syndrom.
14875
14876 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14879
14880 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14883 brackets.
14884
14885 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14888 account.
14889 (get_top_pad): Likewise.
14890 (get_right_pad): Likewise.
14891 (get_bottom_pad): Likewise.
14892
14893 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
14896
14897 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14900 attribute as the structure isn't guaranteed to be properly aligned.
14901 (grub_efi_pci_device_path): Likewise.
14902 (grub_efi_pccard_device_path): Likewise.
14903 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14904 specify the size of `memory_type'.
14905 (grub_efi_vendor_device_path): Likewise.
14906 (grub_efi_controller_device_path): Likewise.
14907 (grub_efi_acpi_device_path): Likewise.
14908 (grub_efi_expanded_acpi_device_path): Likewise.
14909 (grub_efi_atapi_device_path): Likewise.
14910 (grub_efi_scsi_device_path): Likewise.
14911 (grub_efi_fibre_channel_device_path): Likewise.
14912 (grub_efi_1394_device_path): Likewise.
14913 (grub_efi_usb_device_path): Likewise.
14914 (grub_efi_usb_class_device_path): Likewise.
14915 (grub_efi_i2o_device_path): Likewise.
14916 (grub_efi_mac_address_device_path): Likewise.
14917 (grub_efi_ipv4_device_path): Likewise.
14918 (grub_efi_ipv6_device_path): Likewise.
14919 (grub_efi_infiniband_device_path): Likewise.
14920 (grub_efi_uart_device_path): Likewise.
14921 (grub_efi_vendor_messaging_device_path): Likewise.
14922 (grub_efi_hard_drive_device_path): Likewise.
14923 (grub_efi_cdrom_device_path): Likewise.
14924 (grub_efi_vendor_media_device_path): Likewise.
14925 (grub_efi_file_path_device_path): Likewise.
14926 (grub_efi_protocol_device_path): Likewise.
14927 (grub_efi_piwg_device_path): Likewise.
14928 (grub_efi_bios_device_path): Likewise.
14929
14930 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14933 (grub_ucs4_to_utf8_alloc): Likewise.
14934 (grub_ucs4_to_utf8): Likewise.
14935 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14936 (grub_ucs4_to_utf8_alloc): Likewise.
14937
14938 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 AFFS never uses unicode.
14941
14942 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14943 (grub_latin1_to_utf8): New inline function.
14944 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14945
14946 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14949 overflow.
14950
14951 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14952
14953 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14954 (grub_squash_dirent_header): Likewise.
14955 (read_chunk): Don't double swap.
14956 (grub_squash_iterate_dir): Fix swap sizes.
14957
14958 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14961
14962 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14965 (grub_hfs_iterate_dir): Likewise.
14966
14967 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 Fix video on platforms where unaligned access is forbidden.
14970 Make several optimisations while on it.
14971
14972 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14973 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14974 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14975 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14976 Disable.
14977 (grub_video_fbblit_replace_16bit_1bit):
14978 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14979 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14980 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14981 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14982 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14983 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14984 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14985 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14986 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14987 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14988 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14989 (grub_video_fbblit_replace_index_RGB888): Likewise.
14990 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14991 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14992 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14993 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14994 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14995 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14996 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14997 Disable.
14998 (grub_video_fbblit_blend_XXX565_1bit):
14999 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15000 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15001 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15002 void *.
15003 * grub-core/video/fb/video_fb.c (common_blitter)
15004 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15005 (grub_video_fb_create_render_target_from_pointer)
15006 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15007 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15008 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15009 definition.
15010 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15011
15012 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15015 HH22 and HM10 relocations.
15016
15017 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15020
15021 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15024 allocation succeeded.
15025
15026 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15029 argument a u8 pointer. All users updated.
15030 Handle unaligned buffers.
15031
15032 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15035 add_part to workaround compiler bug.
15036
15037 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15040
15041 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15044 Reserve alignment invariants.
15045 (grub_multiboot_load): Likewise.
15046 (retrieve_video_parameters): Likewise.
15047 (grub_multiboot_make_mbi): Likewise.
15048
15049 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15052 incorrect pointer.
15053
15054 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15057 (grub_pata_pio_write): Likewise.
15058
15059 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 Add noreturn attributes and remove unreachable code.
15062
15063 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15064 code.
15065 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15066 code. Mark as noreturn.
15067 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15068 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15069 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15070 unreachable code.
15071 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15072 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15073 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15074 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15075 * include/grub/kernel.h (grub_main): Mark as noreturn.
15076 * include/grub/reader.h (grub_rescue_run): Likewise.
15077
15078 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15081 redundant declaration.
15082
15083 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15086 redundant declaration.
15087 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15088
15089 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15092 to ensure alignment.
15093 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15094 alignment. Ensure tmp alignment.
15095 (grub_cmd_hdparm): Ensure buf alignment.
15096 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15097 to ensure alignment.
15098 (grub_ata_dumpinfo): Ensure text alignment.
15099 (grub_atapi_identify): Preserve alignment invariant.
15100 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15101
15102 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15105 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15106 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15107 * include/grub/misc.h (grub_reboot)
15108 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15109 (grub_halt) [__mips__]: Likewise.
15110
15111 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15114 Remove redundant declaration.
15115 (grub_mmap_get_post64): Likewise.
15116 (grub_mmap_get_upper): Likewise.
15117 (grub_mmap_get_lower): Likewise.
15118
15119 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15122 uint32_t * to ensure alignment.
15123 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15124
15125 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15128 uint16_t * to ensure alignment.
15129 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15130 alignment.
15131
15132 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15135 to ensure alignment.
15136 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15137
15138 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15141 Handle unaligned pointers.
15142 (u32at): Likewise.
15143 (u64at): Likewise.
15144 (fixup): Use byte access instead of v16at.
15145 (find_attr): Fix imporper usage of v32at.
15146 (read_data): Likewise.
15147 (list_file): Handle byte-swapping and unaligned strings.
15148 (grub_ntfs_label): Likewise.
15149
15150 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15153 as it's not necessarily aligned.
15154
15155 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15158 redundant declaration.
15159 (grub_serial_init): Likewise.
15160 (grub_terminfo_init): Likewise.
15161
15162 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15165 function.
15166 (ZAP_HASH_IDX): Likewise.
15167 (ZAP_LEAF_HASH_SHIFT): Likewise.
15168 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15169 (LEAF_HASH): Likewise.
15170 (ZAP_LEAF_NUMCHUNKS): Likewise.
15171 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15172 alignment invariants. Return pointer. All users updated.
15173 (ZAP_LEAF_ENTRY): Make into inline function.
15174 (NBBY): Removed.
15175 (xor): LIkewise.
15176 (xor_out): Use grub_crypto_xor.
15177 (dnode_get_path): Use grub_get_unaligned.
15178 (nvlist_find_value): Likewise.
15179 (grub_zfs_nvlist_lookup_uint64): Likewise.
15180 (grub_zfs_nvlist_lookup_string): Likewise.
15181 (get_nvlist_size): Likewise.
15182 (grub_zfs_open): Likewise.
15183 (fill_fs_info): Likewise.
15184 (grub_zfs_dir): Likewise.
15185 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15186 alignment invariants.
15187 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15188 necessarily aligned.
15189
15190 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15193
15194 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15197 arithmetic to conserve alignment invariants.
15198
15199 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15202 redundant declaration.
15203 (grub_efiemu_mm_obtain_request): Likewise.
15204 (grub_efiemu_prepare): Likewise.
15205
15206 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15209 to match types.
15210
15211 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15214 case of aunaligned recptr.
15215 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15216 alignment.
15217 (grub_hfsplus_btree_search): Handle unaligned index.
15218
15219 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15222 to get freetag and skip.
15223
15224 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15227 array.
15228 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15229 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15230
15231 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15234 name for checksum and fix allocation algorithm.
15235
15236 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * include/grub/types.h (grub_properly_aligned_t): New type.
15239 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15240 (grub_get_unaligned16): Add explicit casts.
15241 (grub_get_unaligned32): Likewise.
15242 (grub_get_unaligned64): Likewise.
15243 (grub_set_unaligned16): New function.
15244 (grub_set_unaligned32): Likewise.
15245
15246 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15249
15250 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15253 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15254 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15255
15256 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15259 conditionals.
15260
15261 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15264 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15265
15266 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Unify and improve RAID and crypto xor.
15269
15270 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15271 changed to grub_crypto_xor
15272 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15273 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15274 Use bigger types when possible.
15275
15276 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/disk/raid.c (scan_devices): Fix condition.
15279
15280 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15283 Make name a const ptr.
15284
15285 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15288 first argument a const pointer.
15289 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15290 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15291 proto.
15292 (grub_children_iterate): Likewise.
15293 (grub_machine_mmap_iterate): Remove redundant declaration.
15294
15295 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15298 (grub_cmd_acpi) [!x86]: Disable EBDA.
15299
15300 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 Enable UTF8 in gnulib regexp.
15303
15304 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15305 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15306 (isupper): Use grub_isupper.
15307 (isascii): New inline function.
15308 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15309 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15310 * grub-core/normal/charset.c (grub_utf8_process): New function.
15311 (grub_utf8_to_utf16): Use grub_utf8_process.
15312 (grub_encode_utf8_character): New function.
15313 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15314 * include/grub/charset.h (grub_utf8_process): New declaration.
15315 (grub_encode_utf8_character): Likewise.
15316 * include/grub/misc.h (grub_islower): New inline function.
15317 (grub_isupper): Likewise.
15318 (grub_strchrsub): Moved down to fix the definitions.
15319
15320 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15323 specification.
15324
15325 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * include/grub/loader.h (grub_loader_register_preboot_hook):
15328 Use struct preboot * and not void * for handle. All users updated.
15329 (grub_loader_unregister_preboot_hook): Likewise.
15330
15331 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15334 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15335 UTF-16-BE. All users updated.
15336 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15337 (grub_hfsplus_iterate_dir): Likewise.
15338 (grub_hfsplus_label): Likewise.
15339
15340 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15343
15344 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 Add missing const qualifiers.
15347
15348 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15349 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15350 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15351 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15352 (grub_lvm_check_flag): Likewise.
15353 * grub-core/efiemu/i386/coredetect.c
15354 (grub_efiemu_get_default_core_name): Likewise
15355 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15356 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15357 * grub-core/fs/ntfs.c (fixup): Likewise.
15358 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15359 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15360 (fzap_lookup): Likewise.
15361 (zap_lookup): Likewise.
15362 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15363 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15364 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15365 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15366 (grub_freebsd_add_meta_module): Likewise.
15367 (grub_cmd_freebsd_module): Likewise.
15368 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15369 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15370 (grub_xnu_writetree_get_size): Likewise.
15371 (grub_xnu_writetree_toheap_real): Likewise.
15372 (grub_xnu_find_key): Likewise.
15373 (grub_xnu_create_key): Likewise.
15374 (grub_xnu_create_value): Likewise.
15375 (grub_xnu_register_memory): Likewise.
15376 (grub_xnu_check_os_bundle_required): Likewise.
15377 (grub_xnu_scan_dir_for_kexts): Likewise.
15378 (grub_xnu_load_kext_from_dir): Likewise.
15379 * grub-core/normal/color.c (color_list): Likewise.
15380 * grub-core/normal/completion.c (current_word): Likewise.
15381 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15382 * grub-core/term/serial.c (grub_serial_find): Likewise.
15383 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15384 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15385 Likewise.
15386 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15387 (grub_freebsd_add_meta_module): Likewise.
15388 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15389 * include/grub/net.h (grub_net_card_driver): Likewise.
15390 (grub_net_card): Likewise.
15391 (grub_net_app_protocol): Likewise.
15392 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15393 * include/grub/serial.h (grub_serial_find): Likewise.
15394 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15395 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15396 (grub_xnu_create_value): Likewise.
15397 (grub_xnu_find_key): Likewise.
15398 (grub_xnu_scan_dir_for_kexts): Likewise.
15399 (grub_xnu_load_kext_from_dir): Likewise.
15400
15401 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15402 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15403 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15404 Moved from here ...
15405 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15406
15407 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15410
15411 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15414 (read_device): Fix size calculation.
15415
15416 2011-11-25 Robert Millan <rmh@gnu.org>
15417
15418 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15419 (find_root_device_from_libzfs): Add zpool output parser to be used
15420 as fallback when libzfs isn't available.
15421
15422 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15423
15424 * po/Makefile.in.in: Add missing escape-continuation.
15425
15426 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15429
15430 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15433
15434 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15437
15438 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15441
15442 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/lib/adler32.c: Add missing license specification.
15445 * grub-core/lib/crc64.c: Likewise.
15446 * grub-core/loader/i386/pc/plan9.c: Likewise.
15447 * grub-core/partmap/plan.c: Likewise.
15448
15449 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15450
15451 Add facility to debug GRUB with gdb under qemu.
15452
15453 * grub-core/gdb_grub.in: New file.
15454 * grub-core/gmodule.pl.in: Likewise.
15455 * grub-core/Makefile.core.def (gmodule.pl): New script.
15456 (gdb_grub): Likewise.
15457
15458 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * util/grub-mount.c (argp_parser): Accept relative pathes.
15461 * util/grub-fstest.c (argp_parser): Likewise.
15462
15463 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 Plan9 support.
15466
15467 * Makefile.util.def (libgrubmods): Add
15468 grub-core/partmap/plan.c.
15469 * docs/grub.texi: Notice Plan9 support.
15470 * grub-core/Makefile.core.def (plan9): New module.
15471 (part_plan): Likewise.
15472 * grub-core/loader/i386/pc/plan9.c: New file.
15473 * grub-core/partmap/plan.c: Likewise.
15474 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15475 define.
15476 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15477 * include/grub/mm.h (grub_extend_alloc): New inline function.
15478
15479 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 Make Reed-Solomon faster by using power of generator representation of
15482 GF(256)*.
15483
15484 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15485 (gf_double_t): Likewise.
15486 (gf_invert): Removed.
15487 (gf_powx): New array.
15488 (gf_powx_inv): Likewise.
15489 (scratch): Move higher.
15490 (gf_reduce): Removed.
15491 (gf_mul): Use powx.
15492 (gf_invert): Likewise.
15493 (init_inverts): Replaced with ...
15494 (init_powx): ...this. All users updated.
15495 (pol_evaluate): Replace multiplications with additions.
15496 (rs_encode): Likewise.
15497 (gauss_eliminate): Call gf_invert.
15498 (grub_reed_solomon_add_redundancy): Call init_powx.
15499 (grub_reed_solomon_recover): Call init_powx unconditionally.
15500
15501 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15504
15505 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15508 disk->partiton for safety.
15509
15510 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15513 Fix a memory leak.
15514 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15515
15516 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15519
15520 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15523
15524 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 Fix spaces handling in proc/self/mountinfo.
15527
15528 * util/getroot.c (unescape): New function.
15529 (grub_find_root_device_from_mountinfo): Use unescape.
15530
15531 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 Support ZFS embedding.
15534
15535 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15536 (grub_zfs_fs): Register grub_zfs_embed.
15537
15538 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 Fix MIPS compilation.
15541
15542 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15543 * include/grub/offsets.h: Rename decompressor fields from
15544 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15545 * util/grub-mkimage.c (image_targets): Use new names.
15546
15547 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 Defer multiboot device parsing until we're in compressed part.
15550
15551 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15552 bsd_part. setdevice has fallen into disuse.
15553 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15554 (bsd_part): Likewise.
15555 (boot_dev): New variable.
15556 (multiboot_trampoline): Don't parse multiboot device.
15557 Pass multiboot device in %edx.
15558 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15559 grub_boot_device.
15560 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15561 Likewise.
15562 * grub-core/kern/i386/pc/startup.S: Save edx.
15563 (grub_boot_drive): Removed.
15564 (grub_install_dos_part): Likewise.
15565 (grub_install_bsd_part): Likewise.
15566 (grub_boot_device): New variable.
15567 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15568 (grub_install_bsd_part): Likewise.
15569 (grub_boot_drive): Likewise.
15570 (grub_boot_device): New variable.
15571 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15572 Removed.
15573 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15574 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15575 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15576 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15577 * util/grub-install.in: Remove redundant condition.
15578
15579 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 Fix bug introduced by previous commit.
15582
15583 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15584
15585 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Use decompressors framework on i386-pc. It increases core size
15588 by 46 bytes but improves compatibility and maintainability.
15589
15590 * grub-core/Makefile.core.def (lzma_decompress): New image.
15591 (kernel): Add i386_pc_ldflags.
15592 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15593 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15594 to real_to_prot, prot_to_real and device info.
15595 * include/grub/offsets.h: Renamed decompressor offsets.
15596 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15597 (image_target_desc): Remove raw_size and rename decompressor fields.
15598 (compress_kernel): Handle lzma.
15599 (generate_image): Handle decompressors on i386-pc.
15600
15601 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * configure.ac: Add -fno-asynchronous-unwind-tables.
15604
15605 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 Move assembly code to C by using intwrap. It increases core size
15608 by 88 bytes but improves compatibility and maintainability.
15609
15610 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15611 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15612 ... here. Translated to C.
15613 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15614 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15615 ... here. Translated to C.
15616 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15617 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15618 ... here. Translated to C.
15619 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15620 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15621 ... here. Translated to C.
15622 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15623 * grub-core/term/i386/pc/console.c (grub_console_cls):
15624 ... here. Translated to C.
15625 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15626 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15627 ... here. Translated to C.
15628 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15629 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15630 Translated to C.
15631 * grub-core/term/i386/pc/console.c (int10_9): New function.
15632 (grub_console_putchar): Likewise.
15633 * include/grub/i386/pc/console.h: Removed the not anymore shared
15634 functions.
15635
15636 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 Move grub_chainloader_real_boot out of the kernel.
15639
15640 * grub-core/Makefile.am: Remove machine/loader.h.
15641 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15642 Removed.
15643 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15644 variable.
15645 (grub_relocator16_keep_a20_enabled): Likewise.
15646 (grub_relocator16_boot): Fill new variables.
15647 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15648 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15649 relocator.
15650 (grub_chainloader_unload): Likewise.
15651 (grub_chainloader_cmd): Likewise.
15652 * include/grub/i386/pc/loader.h: Removed.
15653 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15654 and esi. All initialisers updated.
15655
15656 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15657 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
15658
15659 * Makefile.util.def (grub-mount): New util.
15660 * .bzrignore: Add grub-mount.
15661 * configure.ac: Check for fuse and enable grub-mount if available.
15662 * docs/man/grub-mount.h2m: New file.
15663 * util/grub-mount.c: Likewise.
15664
15665 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 * grub-core/commands/efi/fixvideo.c: Gettextize.
15668 * grub-core/commands/hashsum.c: Likewise.
15669 * grub-core/commands/i386/cmostest.c: Likewise.
15670 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15671 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15672 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15673 * grub-core/commands/lsmmap.c: Likewise.
15674 * grub-core/commands/menuentry.c: Likewise.
15675 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15676 * grub-core/commands/setpci.c: Likewise.
15677 * grub-core/loader/i386/bsd.c: Likewise.
15678 * grub-core/loader/i386/linux.c: Likewise.
15679 * util/getroot.c: Likewise.
15680 * util/grub-editenv.c: Likewise.
15681 * util/grub-fstest.c: Likewise.
15682 * util/grub-mkfont.c: Likewise.
15683 * util/grub-mkimage.c: Likewise.
15684 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15685 * util/grub-pe2elf.c: Likewise.
15686 * util/grub-probe.c: Likewise.
15687 * util/grub-setup.c: Likewise.
15688 * util/ieee1275/ofpath.c: Likewise.
15689 * util/misc.c: Likewise.
15690 * util/raid.c: Likewise.
15691
15692 2011-11-11 Robert Millan <rmh@gnu.org>
15693
15694 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15695 __attribute__((unused)) from `os_dev', which *is* being used.
15696
15697 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15700 forgotten define.
15701 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15702 GRUB_IA64_DL_GOT_ALIGN.
15703 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15704 GRUB_IA64_DL_TRAMP_ALIGN.
15705
15706 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 Replace grub_fatal with normal errors in i386 linux loader.
15709
15710 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15711 (allocate_pages): Check find_efi_mmap_size return value.
15712 (grub_e820_add_region): Return error.
15713 (grub_linux_boot): Check mmap return value.
15714
15715 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * grub-core/commands/acpihalt.c: Gettextized.
15718 * grub-core/commands/cacheinfo.c: Likewise.
15719 * grub-core/commands/cmp.c: Likewise.
15720 * grub-core/commands/efi/loadbios.c: Likewise.
15721 * grub-core/commands/gptsync.c: Likewise.
15722 * grub-core/commands/ieee1275/suspend.c: Likewise.
15723 * grub-core/commands/legacycfg.c: Likewise.
15724 * grub-core/commands/memrw.c: Likewise.
15725 * grub-core/commands/minicmd.c: Likewise.
15726 * grub-core/commands/parttool.c: Likewise.
15727 * grub-core/commands/time.c: Likewise.
15728 * grub-core/commands/videoinfo.c: Likewise.
15729 * grub-core/disk/geli.c: Likewise.
15730 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15731 * grub-core/disk/luks.c: Likewise.
15732 * grub-core/disk/lvm.c: Likewise.
15733 * grub-core/font/font_cmd.c: Likewise.
15734 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15735 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15736 * grub-core/gfxmenu/view.c: Likewise.
15737 * grub-core/kern/emu/hostdisk.c: Likewise.
15738 * grub-core/kern/emu/main.c: Likewise.
15739 * grub-core/kern/emu/misc.c: Likewise.
15740 * grub-core/kern/emu/mm.c: Likewise.
15741 * grub-core/kern/mips/arc/init.c: Likewise.
15742 * grub-core/kern/mips/loongson/init.c: Likewise.
15743 * grub-core/kern/partition.c: Likewise.
15744 * grub-core/lib/i386/halt.c: Likewise.
15745 * grub-core/lib/mips/arc/reboot.c: Likewise.
15746 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15747 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15748 * grub-core/loader/i386/xnu.c: Likewise.
15749 * grub-core/loader/multiboot.c: Likewise.
15750 * grub-core/net/bootp.c: Likewise.
15751 * grub-core/net/net.c: Likewise.
15752 * grub-core/normal/term.c: Likewise.
15753 * grub-core/partmap/bsdlabel.c: Likewise.
15754 * grub-core/parttool/msdospart.c: Likewise.
15755 * grub-core/term/gfxterm.c: Likewise.
15756 * grub-core/term/terminfo.c: Likewise.
15757 * grub-core/video/i386/pc/vbe.c: Likewise.
15758 * util/grub-menulst2cfg.c: Likewise.
15759 * util/grub-mkdevicemap.c: Likewise.
15760 * util/grub-mklayout.c: Likewise.
15761 * util/grub-mkrelpath.c: Likewise.
15762 * util/grub-script-check.c: Likewise.
15763 * util/ieee1275/grub-ofpathname.c: Likewise.
15764 * util/resolve.c: Likewise.
15765
15766 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Support %1$d syntax.
15769
15770 * tests/printf_unit_test.c: New file.
15771 * Makefile.util.def (printf_test): New test.
15772 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15773
15774 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15777 fix.
15778
15779 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15782 dprintf.
15783 * grub-core/font/font.c (grub_font_load): Likewise.
15784
15785 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * util/grub-macho2img.c: Add comment concerning gettext.
15788 * grub-core/lib/legacy_parse.c: Likewise.
15789
15790 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15793 (grub_xvasprintf): Likewise.
15794
15795 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 Add const keyword to grub_env_get and gettextize week days.
15798
15799 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15800 (grub_read_hook_datetime): Return const char *.
15801 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15802 updated.
15803 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15804 Mark for gettext.
15805 (grub_get_weekday_name): Return const char *. Call gettext.
15806 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15807 char * and len as the argument. All users updated.
15808 (grub_script_argv_split_append): Receive const char *.
15809 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15810 * include/grub/env.h (grub_env_get): Likewise.
15811 (grub_env_read_hook_t): Return const char *.
15812 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15813 (grub_script_argv_split_append): Likewise.
15814
15815 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15818
15819 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15822 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15823
15824 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15827 Fix prototype.
15828
15829 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 Fix mips compilation.
15832
15833 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15834 normal decoder.
15835 (hashes): Use in embed decoder as well (for sizes).
15836 (dec_stream_header): Fix embed decompressor logic.
15837 (dec_stream_footer): Likewise.
15838
15839 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15842 an error and not a fatal on unrecognised relocation types.
15843
15844 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15847 Issue error rather than printf on unknown arguments.
15848
15849 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15852 Make buf a const.
15853
15854 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15857 Fix module name.
15858
15859 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15862 leftover debug printf.
15863
15864 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15867
15868 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15871 A stylistic fix.
15872
15873 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15876
15877 2011-11-10 Shea Levy <slevy@tieronedesign.com>
15878
15879 Allow all modules to perform serial IO
15880
15881 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15882 * include/grub/serial.h (grub_serial_port_configure): New inline
15883 function.
15884 (grub_serial_port_fetch): Likewise.
15885 (grub_serial_port_put): Likewise.
15886 (grub_serial_port_fini): Likewise.
15887 (grub_serial_find): New proto.
15888
15889 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 Put symlink at the end of the node and fix a potential
15892 memory corruption.
15893
15894 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15895 Make symlink into an array.
15896 (set_rockridge): Set have_symlink and alloc_dirents.
15897 (grub_iso9660_read_symlink): Use new layout.
15898 (grub_iso9660_iterate_dir): Fix memory corruption.
15899 Use new layout.
15900 (grub_iso9660_dir): Set have_symlink.
15901 (grub_iso9660_open): Likewise.
15902
15903 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Remove local keyword.
15906
15907 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15908 (version_test_gt): Likewise.
15909 (version_find_latest): Likewise.
15910 (gettext_printf): Likewise.
15911 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15912
15913 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15916
15917 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Fix ZFS memory and resource leaks.
15920
15921 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15922 All users updated.
15923 Free type on exit.
15924 (fill_vdev_info): New parameter inserted. All users updated.
15925 (check_pool_label): Likewise.
15926 (scan_disk): Likewise.
15927 (scan_devices): Close non-inserted disks.
15928 (fzap_iterate): Free l.
15929 (unmount_device): Free children descripto memory.
15930
15931 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15934 argument (access out of bounds).
15935
15936 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15937
15938 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15939 >= 6 drives.
15940
15941 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15944 Fix declaration.
15945
15946 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Fix several memory leaks.
15949
15950 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15951 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15952 (grub_cpio_dir): Likewise.
15953 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15954 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15955 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15956 (grub_romfs_label): Likewise.
15957 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15958 (squash_unmount): New function.
15959 (grub_squash_dir): Fix memory leak.
15960 (grub_squash_open): Likewise.
15961 (grub_squash_read): Likewise.
15962 (grub_squash_mtime): Likewise.
15963 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15964 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15965 * util/grub-fstest.c (fstest): Likewise.
15966
15967 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15970 avoid accessing beyond the array.
15971
15972 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15975
15976 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 Several AFFS fixes.
15979
15980 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15981 (GRUB_AFFS_FLAG_FFS): Removed.
15982 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15983 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15984 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15985 (grub_fshelp_node): Make block 32-bit.
15986 Add block_cache and last_block_cache.
15987 (grub_affs_read_block): Fill and use block cache.
15988 (grub_affs_read_file): Removed.
15989 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15990 boot block.
15991 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15992 safety.
15993 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15994 space.
15995 (grub_affs_close): Free block cache.
15996 (grub_affs_read): Use grub_fshelp_read_file directly.
15997
15998 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16001 with no error set.
16002
16003 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16006 used variable.
16007 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16008 Likewise.
16009
16010 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16013
16014 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16015 byteswap when needed.
16016
16017 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 Fix FreeBSD compilation.
16020
16021 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16022 to avoid circular dependency.
16023 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16024 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16025 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16026
16027 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 Fix ZFS crypto error types.
16030
16031 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16032 (grub_gcm_decrypt): Likewise.
16033 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16034 from PBKDF2.
16035
16036 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Illumos support.
16039
16040 * Makefile.util.def (10_illumos): New script.
16041 * configure.ac: Set COND_HOST_ILLUMOS.
16042 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16043 Support Illumos calls.
16044 (find_partition_start) [__sun__]: Likewise.
16045 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16046 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16047 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16048 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16049 device.
16050 * util/grub-probe.c (probe) [__sun__]: Do character check.
16051 * util/grub.d/10_illumos.in: New file.
16052
16053 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 Support escaped commas in hostdisk.
16056
16057 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16058 (find_grub_drive): Use unescape_cmp.
16059 (make_device_name): Escape commas.
16060
16061 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16064
16065 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16068 variable.
16069
16070 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Support trampoline jumps on powerpc.
16073
16074 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16075 __ia64__ path.
16076 (grub_dl_load_segments): Set mod->sz.
16077 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16078 segments.
16079 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16080 (jump): Likewise.
16081 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16082 function.
16083 (trampoline): New struct.
16084 (trampoline_template): New const.
16085 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16086 * include/grub/dl.h (grub_dl): Add sz element.
16087 [__powerpc__]: Follow __ia64__.
16088 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16089 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16090 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16091 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16092
16093 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 ZFS crypto support.
16096
16097 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16098 * grub-core/Makefile.core.def (zfscrypt): New module.
16099 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16100 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16101 it. All users updated.
16102 (grub_zfs_decrypt): New var.
16103 (grub_zfs_load_key): Likewise.
16104 (zio_checksum_functions): Add SHA256+MAC.
16105 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16106 (zio_read): Handle encrypted blocks.
16107 (zap_verify): Remove incorrect check.
16108 (fzap_iterate): Handle non-standard fzap.
16109 (zap_iterate): Likewise.
16110 (zap_iterate_u64): New function.
16111 (dnode_get_fullpath): Load keys.
16112 * grub-core/fs/zfs/zfscrypt.c: New file.
16113 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16114 (grub_crypto_ecb_encrypt): Make input const.
16115 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16116 (grub_crypto_ecb_encrypt): Make input const.
16117 (GRUB_CIPHER_AES): New macro.
16118 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16119 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16120 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16121 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16122 prefix. All users updated.
16123 (grub_zfs_add_key): New proto.
16124 (grub_zfs_decrypt): Likewise.
16125 (grub_zfs_load_key): Likewise.
16126 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16127 * util/grub-fstest.c (options): Add -K option.
16128 (argp_parser): Likewise.
16129
16130 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 Support zle compression on ZFS.
16133
16134 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16135 (decomp_table): Add zle.
16136 * include/grub/zfs/zio.h (zio_compress): Add zle.
16137
16138 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 Support BtrFS embedding.
16141
16142 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16143 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16144 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16145 * util/grub-setup.c (setup): Use fs embedding if available.
16146 Add additional sanity check.
16147
16148 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * util/grub-install.in: Fix condition for config_opt.
16151
16152 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 Support third redundancy strip on raidz3.
16155
16156 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16157 Return error on singularity. All users updated.
16158 (read_device): Don't stop on 3rd failure on raidz3.
16159
16160 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 Support case-insensitive ZFS subvolumes.
16163
16164 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16165 All users updated.
16166 (zap_hash): Likewise.
16167 (name_cmp): New function.
16168 (zap_leaf_array_equal): New parameter case_insensitive.
16169 All users updated.
16170 (zap_leaf_lookup): Likewise.
16171 (fzap_lookup): Likewise.
16172 (zap_lookup): Likewise.
16173 (dnode_get_path): New parameter case_insensitive. Retrieve case
16174 sensitiviness of a volume. All users updated.
16175 (dnode_get_fullpath): New parameter case_insensitive.
16176 All users updated.
16177 (grub_zfs_dir): Set info.case_insensitiveness.
16178
16179 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 Support second redundancy strip on raidz(2,3).
16182
16183 * grub-core/fs/zfs/zfs.c (powx): New array.
16184 (powx_inv): Likewise.
16185 (poly): New const.
16186 (xor_out): New function.
16187 (gf_mul): Likewise.
16188 (recovery): Likewise.
16189 (read_device): Use second redundancy strip.
16190
16191 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 Use a power of generator representation of GF(256) multiplication group
16194 to save space time and complexity.
16195
16196 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16197 (raid6_table2): Likewise.
16198 (powx): New array.
16199 (powx_inv): Likewise.
16200 (poly): New const.
16201 (grub_raid_block_mul): Replace with ...
16202 (grub_raid_block_mulx): ...this.
16203 (grub_raid6_init_table): Rewritten.
16204 (grub_raid6_recover): Use power of generator representation.
16205
16206 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16209 for the right device.
16210
16211 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16214 expected by grub-mkimage and it's more clear since there is no implicit
16215 padding.
16216
16217 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16220 disk.
16221 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16222
16223 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16224
16225 * util/grub-mkrescue.in: Fix handling xorriso option.
16226
16227 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16230 NULL.
16231
16232 2011-11-03 crocket <crockabiscuit@gmail.com>
16233
16234 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16235
16236 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 XZ CRC64 and SHA256 support.
16239
16240 * Makefile.util.def (libgrubmods): Add crc64.c.
16241 * grub-core/Makefile.core.def (crc64): New module.
16242 * grub-core/lib/crc64.c: New file.
16243 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16244 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16245 Fix the type.
16246 (MAX_HASH_SIZE): New define.
16247 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16248 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16249 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16250 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16251 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16252 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16253 Handle non-crc32 hashes.
16254 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16255 (dec_stream_header): Handle non-crc32 hashes.
16256 (dec_stream_footer): Likewise.
16257 (dec_block_header): Likewise.
16258 (dec_main): Likewise.
16259 (xz_dec_init): Likewise.
16260 (xz_dec_reset): Likewise.
16261 (xz_dec_end): Likewise.
16262 * util/import_gcry.py: Add CRC64 line.
16263
16264 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16267 as well.
16268
16269 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Make reiserfs label retrieval similar to other *_label functions.
16272
16273 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16274 (REISERFS_MAX_LABEL_LENGTH): Removed.
16275 (REISERFS_LABEL_OFFSET): Likewise.
16276 (grub_reiserfs_label): Rewritten.
16277
16278 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16281 field.
16282
16283 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16286
16287 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16290 drive failure on both raidz and raidz2.
16291
16292 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 Fix RAIDZ(2) for >= 5 devices.
16295
16296 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16297 asize argument. All users updated.
16298
16299 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 Fix RAIDZ(2).
16302
16303 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16304 (fill_vdev_info_real): Set ashift.
16305 (read_device): Rewrite RAIDZ part based on reverse engineering.
16306
16307 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16310 don't report potentially unavialiable fields in debug output.
16311 (find_path): Fix double-free and memory leak.
16312
16313 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Read label on UFS1.
16316
16317 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16318 (grub_ufs_fs): Always set .label.
16319
16320 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 Use shifts in UFS.
16323
16324 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16325 (grub_ufs_data): New field log2_blksz.
16326 (grub_ufs_read_file): Use shifts.
16327 (grub_ufs_mount): Check block size and logarithm it.
16328
16329 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16332 long symlinks.
16333
16334 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 Handle symlinks and long names on tar and cpio.
16337
16338 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16339 (ATTR_FILE): Likewise.
16340 (ATTR_DIR): Likewise.
16341 (ATTR_LNK): Likewise.
16342 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16343 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16344 L and K entries.
16345 (grub_cpio_mount): Zero-fill data.
16346 (handle_symlink): New function.
16347 (grub_cpio_dir): Handle symlinks.
16348 (grub_cpio_open): Likewise.
16349 (grub_cpio_close) [MODE_USTAR]: Free linkname.
16350
16351 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 Fix iso9660 filename limitations and fix memory leaks.
16354
16355 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16356 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16357
16358 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 Fix JFS file name length limitations.
16361
16362 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16363 (grub_jfs_diropen): Fix maximum filename length.
16364 (grub_jfs_getent): Fix filename length.
16365 (grub_jfs_lookup_symlink): Fix size checks.
16366
16367 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16370 string.
16371
16372 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16373
16374 Leverage BFS implementation to read AFS.
16375
16376 * Makefile.util.def (libgrubmods): Add afs.c.
16377 * grub-core/Makefile.core.def (afs): New module
16378 * grub-core/fs/afs.c: New file.
16379 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16380
16381 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
16384
16385 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16386
16387 * grub-core/fs/bfs.c: Run indent.
16388
16389 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16390
16391 BFS implementation based on the specification.
16392
16393 * grub-core/fs/bfs.c: New file.
16394 * Makefile.util.def (libgrubmods): Add bfs.c.
16395 * grub-core/Makefile.core.def (bfs): New module.
16396
16397 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 * util/grub-fstest.c (cmd_cp): Clarify error message.
16400 (cmd_cmp): Likewise.
16401
16402 2011-10-30 Yves Blusseau <blusseau@zetam.org>
16403
16404 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16405 and befs_be.
16406
16407 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 Remove afs and befs because of copyright problem.
16410
16411 * grub-core/fs/afs.c: Removed.
16412 * grub-core/fs/afs_be.c: Removed.
16413 * grub-core/fs/befs.c: Removed.
16414 * grub-core/fs/befs_be.c: Removed.
16415 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16416 * grub-core/Makefile.core.def (afs): Removed.
16417 (afs_be): Likewise.
16418 (befs): Likewise.
16419 (befs_be): Likewise.
16420
16421 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 Prefer rockridge over Joliet.
16424
16425 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16426 to ...
16427 (set_rockridge): ... here.
16428 (grub_iso9660_mount): Check rockridge on the primary label when
16429 discovering. Ignore Joliet if Rockridge is present.
16430
16431 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Use shifts in nilfs2.
16434
16435 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16436 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16437 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16438 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16439 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16440 (grub_nilfs2_entries_per_block): Replaced with ...
16441 (grub_nilfs2_log_entries_per_block_log): ... this.
16442 (grub_nilfs2_blocks_per_group): Replaced with ...
16443 (grub_nilfs2_blocks_per_group_log): ... this.
16444 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16445 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16446 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16447 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16448 (grub_nilfs2_palloc_entry_offset): Replaced ...
16449 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16450 (grub_nilfs2_dat_translate): Use shifts.
16451 (grub_nilfs2_read_inode): Likewise.
16452 (GRUB_MOD_INIT): Ensure that logs are correct.
16453
16454 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16455
16456 Use shifts in minix filesystem.
16457
16458 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16459 (GRUB_MINIX_ZONE2SECT): Likewise.
16460 (grub_minix_data): Replace block_size with log_block_size.
16461 (grub_minix_read_file): Use shifts.
16462 (grub_minix_mount): Check block size and take a logarithm.
16463
16464 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 Use shifts in squash4.
16467
16468 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16469 (squash_mount): Check block size and take logarithm.
16470 (direct_read): Use shifts.
16471
16472 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 Correct befs block counting logic.
16475
16476 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16477 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16478 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16479 (grub_afs_read_inode): Use block_shift.
16480 (RANGE_SHIFT): New definition.
16481 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16482 unexpected conditions, use shifts and appropriate types.
16483 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16484
16485 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * grub-core/disk/raid.c (scan_devices): Check partition.
16488 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16489
16490 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 Support BFS (befs) UUID.
16493
16494 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16495 (grub_afs_small_data_element_header): New struct.
16496 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16497 (grub_afs_read_attribute) [MODE_BFS]: New function.
16498 (grub_afs_iterate_dir): Allocate for complete inode.
16499 (grub_afs_mount): Likewise.
16500 (grub_afs_uuid) [MODE_BFS]: New function.
16501 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16502
16503 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16506 (zfs_unmount): Fix memory leak.
16507
16508 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Support NTFS reparse points.
16511
16512 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16513 (symlink_descriptor): New struct.
16514 (grub_ntfs_read_symlink): New function.
16515 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16516 (grub_ntfs_open): Likewise.
16517
16518 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16521
16522 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 fstest xnu_uuid subcommand.
16525
16526 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16527 grub-core/commands/xnu_uuid.c.
16528 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16529 (fstest): Handle xnu_uuid.
16530 (options): Document xnu_uuid.
16531 (argp_parser): Parse xnu_uuid.
16532
16533 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16536 -l argument. Add newline at the end if printing.
16537 (GRUB_MOD_INIT): Document -l.
16538
16539 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16542
16543 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 ZFS multi-device and version 33 support.
16546
16547 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16548 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16549 (grub_zfs_data): Add multidev-ice-related fields.
16550 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16551 (dva_get_offset): Make dva const.
16552 (zfs_fetch_nvlist): New function.
16553 (fill_vdev_info_real): Likewise.
16554 (fill_vdev_info): Likewise.
16555 (check_pool_label): Likewise.
16556 (scan_disk): Likewise.
16557 (scan_devices): Likewise.
16558 (read_device): Likewise.
16559 (read_dva): Likewise.
16560 (zio_read_gang): Use read_dva.
16561 (zio_read_data): Likewise.
16562 (zap_leaf_lookup): Add missing endian conversion.
16563 (zap_verify): Add missing endian conversion. All users updated.
16564 (fzap_lookup): Likewise.
16565 (fzap_iterate): Likewise.
16566 (dnode_get_path): Handle SA bonus.
16567 (nvlist_find_value): Make input const. All users updated.
16568 (unmount_device): New function.
16569 (zfs_unmount): Use unmount_device.
16570 (zfs_mount): Use scan_disk.
16571 (zfs_mtime): New function.
16572 (grub_zfs_open): Handle system attributes.
16573 (fill_fs_info): Likewise.
16574 (grub_zfs_dir): Likewise.
16575 (grub_zfs_fs): Add mtime.
16576 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16577 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16578 (SA_MTIME_OFFSET): Likewise.
16579 (SA_SYMLINK_OFFSET): Likewise.
16580 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16581 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16582 (fstest): Support zfsinfo.
16583 (argp_parser): Likewise.
16584
16585 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16588 error.
16589
16590 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 ZFS fixes.
16593
16594 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16595 sharing the same block. Iterate over correct number of indices.
16596 (dnode_get_path): Handle symlinks correctly.
16597
16598 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16601
16602 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 Read label on HFS+.
16605
16606 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16607 (grub_hfsplus_btree_search): Fix types.
16608 (grub_hfsplus_label): Implement.
16609
16610 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16613
16614 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16617
16618 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 Fix symlink handling on iso9660.
16621
16622 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16623 All users updated.
16624 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16625 (grub_iso9660_read_symlink): Moved most of code ...
16626 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16627
16628 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16631 Use union to avoid breaking strict-aliasing rules.
16632
16633 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 Support multi-extent iso files.
16636
16637 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16638 Add node.
16639 (grub_fshelp_node): Revamp. All users updated.
16640 (FLAG_*): New enum.
16641 (read_node): New function.
16642 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16643 All users updated.
16644 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16645 (get_node_size): New function.
16646 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16647 entries.
16648 Fix memory leak on . and ..
16649 (grub_iso9660_read): Use read_node.
16650 (grub_iso9660_close): Free node.
16651
16652 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 Fix tar 4G limit and handle paths containing dot.
16655
16656 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16657 (canonicalize): New function.
16658 (grub_cpio_find_file): Use canonicalize. Store offs in
16659 grub_disk_addr_t.
16660 (grub_cpio_dir): Use grub_disk_addr_t.
16661 (grub_cpio_open): Likewise.
16662
16663 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16666
16667 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16668 unused flags.
16669 (grub_squash_inode): Add long_file and block_size.
16670 (grub_squash_cache_inode): New struct.
16671 (grub_squash_dirent): Make types into enum.
16672 (SQUASH_TYPE_LONG_REGULAR): New type.
16673 (grub_squash_frag_desc): Add field size.
16674 (SQUASH_BLOCK_FLAGS): New enum.
16675 (grub_squash_data): Use grub_squash_cache_inode.
16676 (grub_fshelp_node): Make ino_chunk 64-bit.
16677 (read_chunk): Minor argument change. All users updated.
16678 (squash_mount): Use correct le_to_cpu.
16679 (grub_squash_open): Handle LONG_REGULAR.
16680 (direct_read): New function.
16681 (grub_squash_read_data): Handle blocks correctly.
16682
16683 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16686
16687 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16690
16691 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 Fix 2G limit on ZFS.
16694
16695 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16696 types.
16697 (uberblock_verify): Likewise.
16698 (dmu_read): Likewise.
16699 (grub_zfs_read): Likewise. Remove invalid cast.
16700
16701 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16704 (grub_jfs_blkno): Fix incorrect shift.
16705 (grub_jfs_read_file): Use more appropriate types.
16706
16707 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 Support triple indirect on minix2 and minix3.
16710
16711 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16712 Declare triple_indir_zone.
16713 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16714 indirect.
16715
16716 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 Minix FS fixes.
16719
16720 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16721 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16722 Rename ctime to mtime. All users updated.
16723 (grub_minix_get_file_block): Fix types and double indirect computations.
16724
16725 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16728 if no label is found.
16729 (grub_fat_iterate_dir): Fix file size type.
16730 (grub_fat_iterate_dir): Likewise.
16731
16732 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16735 save some space.
16736 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16737 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16738
16739 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16742
16743 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * util/import_gcry.py: Accept space between # and include.
16746
16747 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16750
16751 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16754
16755 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16756 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16757 yylex_strncpy.
16758 * grub-core/script/yylex.l: Add fine-grained #pragma.
16759
16760 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16763 New inline function.
16764 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16765 Likewise.
16766 (memset) [GRUB_UTIL]: Likewise.
16767 (memcmp) [GRUB_UTIL]: Likewise.
16768
16769 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16772 inline function rather than a define.
16773
16774 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * util/grub-setup.c: Add missing include.
16777
16778 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * util/ieee1275/grub-ofpathname.c: Add missing include.
16781
16782 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16785 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16786 Likewise.
16787
16788 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16791 grub_memcmp usage.
16792
16793 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * util/grub-install.in: Add datarootdir as per automake manual
16796 suggestion.
16797 * util/grub-mknetdir.in: Likewise.
16798
16799 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16802 suggestion.
16803 * util/grub.d/10_kfreebsd.in: Likewise.
16804 * util/grub.d/10_linux.in: Likewise.
16805 * util/grub.d/10_netbsd.in: Likewise.
16806 * util/grub.d/10_windows.in: Likewise.
16807 * util/grub.d/20_linux_xen.in: Likewise.
16808
16809 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 Remove redundant grub_kernel_image_size.
16812
16813 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16814 _edata and _start.
16815 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16816 the small code. It moves it only by few bytes but simplifies the code.
16817 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16818 _start.
16819 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16820 (grub_kernel_image_size): Removed.
16821 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16822 (grub_kernel_image_size): Removed.
16823 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16824 compiled with Apple toolchain.
16825 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16826 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16827 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16828 (grub_total_module_size): Likewise.
16829 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16830 Removed.
16831 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16832 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16833 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16834 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16835 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16836 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16837 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16838 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16839 Removed.
16840 (grub_total_module_size): Removed.
16841 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16842 (image_targets): Likewise.
16843 Set .compressed_size to no field on sparc.
16844 (generate_image): Remove kernel_image_size handling.
16845
16846 2011-10-19 Szymon Janc <szymon@janc.net.pl>
16847
16848 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16849 NULL pointer dereference.
16850
16851 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16854 done with a dedicated section.
16855
16856 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16857 Ensure the correct position of boot_path.
16858 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16859 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16860 other fields.
16861 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16862 * include/grub/boot.h: Removed. All references removed.
16863 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16864 Removed.
16865 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16866
16867 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16870 name.
16871
16872 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16875
16876 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16879 Don't add the bogus brackets.
16880
16881 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 ExFAT support.
16884
16885 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16886 * grub-core/Makefile.core.def (exfat): New module.
16887 * grub-core/fs/exfat.c: New file.
16888 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16889 (GRUB_FAT_ATTR_*): Make into an enum.
16890 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16891 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16892 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16893 (GRUB_FAT_MAXFILE): Removed.
16894 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16895 (grub_current_fat_bpb_t): New type.
16896 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16897 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16898 (grub_fat_dir_node_t): New type.
16899 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16900 (fat_log2) [MODE_EXFAT]: Removed.
16901 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16902 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16903 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16904 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16905 (grub_fat_label) [MODE_EXFAT]: New function.
16906 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16907 reserved_first_sector to 0.
16908
16909 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Move grub_reboot out of the kernel.
16912
16913 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16914 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16915 * grub-core/lib/efi/reboot.c: ... here.
16916 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16917 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16918 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16919 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16920 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16921 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16922 * grub-core/lib/ieee1275/reboot.c: ... here.
16923 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16924 * grub-core/lib/mips/arc/reboot.c: ... here.
16925 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16926 * grub-core/lib/mips/loongson/reboot.c: ...here.
16927 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16928 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16929 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16930 * include/grub/i386/reboot.h: New file.
16931 * include/grub/mips/loongson/ec.h: Fix includes.
16932 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16933 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16934 * grub-core/lib/i386/reboot.c: New file.
16935
16936 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 Make grub_prefix into module to fix the arbitrary limit and save
16939 some space.
16940
16941 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16942 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16943 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16944 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16945 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16946 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16947 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16948 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16949 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16950 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16951 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16952 * include/grub/ia64/efi/kernel.h: Removed.
16953 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16954 (grub_prefix): Removed.
16955 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16956 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16957 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16958 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16959 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16960 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16961 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16962 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16963 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16964 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16965 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16966 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16967 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16968 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16969 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16970 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16971 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16972 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16973 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16974 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16975 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16976 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16977 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16978 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16979 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16980 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16981 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16982 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16983 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16984 from module.
16985 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16986 prefix_end.
16987 (image_targets): Likewise.
16988 (generate_image): Put prefix as a module.
16989
16990 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16991
16992 Replace grub_module_iterate with FOR_MODULES.
16993
16994 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16995 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16996 (grub_efi_modules_addr): ...this.
16997 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16998 (grub_efi_init): Set grub_modbase.
16999 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17000 (grub_modbase): New variable.
17001 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17002 (grub_modbase): New variable.
17003 (grub_machine_init): Set grub_modbase.
17004 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17005 (grub_modbase): New variable.
17006 (grub_machine_init): Set grub_modbase.
17007 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17008 (grub_modbase): New variable.
17009 (grub_machine_init): Set grub_modbase.
17010 * grub-core/kern/main.c (grub_module_iterate): Remove.
17011 (grub_modules_get_end): Use grub_modbase.
17012 (grub_load_modules): Use FOR_MODULES.
17013 (grub_load_config): Likewise.
17014 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17015 (grub_modbase): New variable.
17016 (grub_machine_init): Set grub_modbase.
17017 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17018 (grub_modbase): New variable.
17019 (grub_machine_init): Set grub_modbase.
17020 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17021 Removed.
17022 (grub_modbase): New variable.
17023 (grub_machine_init): Set grub_modbase.
17024 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17025 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17026 (grub_module_iterate): Likewise.
17027 (grub_modbase): New variable declaration.
17028 (FOR_MODULES): New macro.
17029
17030 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17033 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17034
17035 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17036
17037 Fix few obvious type discrepancies.
17038
17039 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17040 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17041 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17042 variable.
17043 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17044 and connected types.
17045 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17046 offset.
17047 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17048 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17049 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17050 and connected types.
17051
17052 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 Fix python 3.x incompatibilities.
17055
17056 * gentpl.py: Put brackets around print strings.
17057 * util/import_gcry.py: Open explicitly as utf-8.
17058 Use in instead of has_key.
17059
17060 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17063 (GRUB_XFS_INO_AGBITS): Make into inline function.
17064 (GRUB_XFS_INO_INOINAG): Likewise.
17065 (GRUB_XFS_INO_AG): Likewise.
17066 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17067 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17068 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17069 (GRUB_XFS_EXTENT_SIZE): Likewise.
17070 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17071 (GRUB_XFS_NEXT_DIRENT): Likewise.
17072 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17073 (grub_xfs_read_file): Fix offset type.
17074
17075 2011-10-15 Robert Millan <rmh@gnu.org>
17076
17077 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17078
17079 2011-10-15 Robert Millan <rmh@gnu.org>
17080
17081 Fix build problem on FreeBSD and GNU/kFreeBSD.
17082
17083 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17084
17085 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17088
17089 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17090 types.
17091 (grub_hfsplus_btree_recoffset): Likewise.
17092 (grub_hfsplus_btree_recptr): Likewise.
17093 (grub_hfsplus_find_block): Likewise.
17094 (grub_hfsplus_btree_search): Likewise.
17095 (grub_hfsplus_read_block): Likewise.
17096 (grub_hfsplus_read_file): Likewise.
17097 (grub_hfsplus_mount): Likewise.
17098 (grub_hfsplus_btree_iterate_node): Likewise.
17099 (grub_hfsplus_btree_search): Likewise.
17100 (grub_hfsplus_iterate_dir): Likewise.
17101 (grub_hfsplus_read): A small code simplification.
17102
17103 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/kern/emu/hostdisk.c
17106 (convert_system_partition_to_system_disk): Don't assume that children
17107 of mapper nodes are mapper nodes.
17108
17109 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17112 * include/grub/misc.h (grub_isxdigit): New function.
17113 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17114 switched to grub_isxdigit.
17115 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17116 number starting with a letter.
17117
17118 2011-10-09 Robert Millan <rmh@gnu.org>
17119
17120 LVM support for FreeBSD and GNU/kFreeBSD.
17121
17122 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17123 GNU/kFreeBSD.
17124 (LVM_DEV_MAPPER_STRING): Move from here ...
17125 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17126 * util/getroot.c: Include `<grub/util/lvm.h>'.
17127 (grub_util_get_dev_abstraction): Enable
17128 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17129 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17130 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17131 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17132 support it.
17133 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17134 GNU/kFreeBSD.
17135 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17136 when LVM abstraction is required for ${GRUB_DEVICE}.
17137
17138 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17139
17140 Add support for LZO compression in GRUB:
17141 - import of minilzo library,
17142 - LZO decompression for btrfs,
17143 - lzop files decompression.
17144
17145 * grub-core/io/lzopio.c: New file.
17146 * grub-core/lib/adler32.c: Likewise.
17147 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17148 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17149 * grub-core/lib/minilzo/minilzo.c: Likewise.
17150 * grub-core/lib/minilzo/minilzo.h: Likewise.
17151 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17152 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17153 grub-core/lib/minilzo/minilzo.c to common.
17154 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17155 cflags in cppflags.
17156 * grub-core/Makefile.core.def (btrfs): Likewise.
17157 * grub-core/Makefile.core.def (lzopio): New module.
17158 (adler32): Likewise.
17159 * grub-core/fs/btrfs.c: Include minilzo.h.
17160 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17161 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17162 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17163 (grub_btrfs_lzo_decompress): New function.
17164 (grub_btrfs_extent_read): Add support for LZO compression type.
17165 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17166 (GRUB_USHRT_MAX): Likewise.
17167 (GRUB_UINT_MAX): Likewise.
17168 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17169 (UINT_MAX): Likewise.
17170 (CHAR_BIT): Likewise.
17171 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17172 grub-core/lib/posix_wrap/limits.h
17173 (UCHAR_MAX): Likewise.
17174 * include/grub/file.h (grub_file_filter_id): New compression filter
17175 GRUB_FILE_FILTER_LZOPIO.
17176 * include/grub/file.h (grub_file_filter_id): Set
17177 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17178 * include/grub/types.h (grub_get_unaligned16): New function.
17179 (grub_get_unaligned32): Likewise.
17180 (grub_get_unaligned64): Likewise.
17181 * util/import_gcry.py (cryptolist): Add adler32.
17182
17183 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17186 in perspective decreases the complexity of build system and fixes
17187 compilation right now.
17188
17189 2011-10-01 Ales Nesrsta <starous@volny.cz>
17190
17191 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17192 (fixed problem related to using UHCI with coreboot).
17193
17194 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17195
17196 * gentpl.py: Use Autogen macros so that the output template file
17197 (Makefile.tpl) size is reduced.
17198
17199 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
17200
17201 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17202 extra_dist.
17203
17204 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17205
17206 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17207 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17208
17209 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17210
17211 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17212 _fullpath.
17213
17214 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17215
17216 Remove extra declaration of sleep for mingw32.
17217
17218 * util/misc.c (sleep) [__MINGW32__]: Removed.
17219 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17220
17221 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17222
17223 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17224 type and packname.
17225 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17226 Resurrected.
17227 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17228 (grub_netbsd_btinfo_bootwedge): New struct.
17229 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17230 New function.
17231 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17232
17233 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17234
17235 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17236 loader.
17237
17238 2011-09-28 Andreas Born <futur.andy@googlemail.com>
17239
17240 Fix incorrect identifiers in bash-completion.
17241
17242 * util/bash-completion.d/grub-completion.bash.in
17243 (_grub_mkpasswd-pbkdf2): Rename to ...
17244 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17245 (_grub_script-check): Rename to ...
17246 (_grub_script_check): ... this. All users updated.
17247
17248 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17251 Return 0 if disk isn't biosdisk.
17252
17253 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17254
17255 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17256 on NetBSD.
17257 * Makefile.util.def (grub-fstest): Likewise.
17258
17259 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17260
17261 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17262 Get sector size from disk label.
17263
17264 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17267 */README* as well as README*.
17268 Reported by: Axel Beckert.
17269
17270 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17273 case of less than 256 MiB of RAM.
17274
17275 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * grub-core/commands/wildcard.c (make_regex): Handle @.
17278
17279 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17282
17283 2011-08-21 Szymon Janc <szymon@janc.net.pl>
17284
17285 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17286 AC_LANG_CONFTEST macros.
17287
17288 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17289
17290 Add grub-fstest option to uncompress data for commands.
17291
17292 * util/grub-fstest.c (uncompress): New var.
17293 (options): New option -u.
17294
17295 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17296
17297 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17298 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17299
17300 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17301
17302 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17303 file type was not recognized correctly (not gzip or corrupted).
17304
17305 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17308 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17309
17310 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17313 loongson.
17314 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17315 video_radeon_fuloong2e.
17316 * grub-core/video/radeon_fuloong2e.c: New file.
17317 * include/grub/video.h (grub_video_id_t): Add new ID
17318 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17319
17320 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17323 define.
17324 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17325 that PRID matches the detected subplatform and reset the subplatform
17326 if it doesn't.
17327
17328 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17331
17332 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17333
17334 Fix PCI iterating on functions >= 4.
17335
17336 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17337 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17338 Removed.
17339 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17340 (grub_pci_read): Fix bitmask.
17341 (grub_pci_read_word): Likewise.
17342 (grub_pci_read_byte): Likewise.
17343 (grub_pci_write): Likewise.
17344 (grub_pci_write_word): Likewise.
17345 (grub_pci_write_byte): Likewise.
17346
17347 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17350 can still be specified in TARGET_CFLAGS)
17351
17352 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17355
17356 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17357 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17358 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17359 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17360 (FULOONG): Rename to ...
17361 (FULOONG2F): ... this. All users updated.
17362 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17363 (machtype_fuloong2f_str): ... this.
17364 (machtype_fuloong2e_str): New string.
17365 Check for machtype_fuloong2e_str.
17366 * grub-core/loader/mips/linux.c (loongson_machtypes)
17367 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17368 * grub-core/term/serial.c (loongson_defserial)
17369 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17370 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17371 loongson_defserial.
17372 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17373 Rename to ...
17374 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17375 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17376 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17377 to IMAGE_FULOONG2F_FLASH. All users updated.
17378 (image_targets): Rename images.
17379 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17380
17381 2011-08-19 Szymon Janc <szymon@janc.net.pl>
17382
17383 Make enable of disk cache statistics code configurable.
17384
17385 * configure.ac: --enable-cache-stats added.
17386 * config.h.in (DISK_CACHE_STATS): New define.
17387 * grub-core/Makefile.core.def (cacheinfo): New command.
17388 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17389 * grub-core/commands/cacheinfo.c: New file.
17390 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17391 moved to cacheinfo.c.
17392 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17393 debug code.
17394 * include/grub/disk.h: Likewise.
17395
17396 2011-08-19 Szymon Janc <szymon@janc.net.pl>
17397
17398 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17399 * grub-core/Makefile.am: Likewise.
17400
17401 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17404 non-zero pull.
17405
17406 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17409 All users updated.
17410 (grub_jfs_lookup_symlink): Use correct starting inode.
17411
17412 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * util/grub-setup.c (main): Add missing gcry initialisation.
17415
17416 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 Don't accept text modes on EFI when booting Linux.
17419
17420 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17421 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17422
17423 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
17424 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
17425
17426 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17427 use of "/path/.." as in grub-install for EFI as well as handling
17428 symlinks correctly.
17429 Fixes Debian bug #637768.
17430
17431 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
17432
17433 * util/grub-probe.c: Remove duplicate #include.
17434
17435 2011-08-10 Robert Millan <rmh@gnu.org>
17436
17437 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17438
17439 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17440 function.
17441 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17442 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17443
17444 2011-08-03 Robert Millan <rmh@gnu.org>
17445
17446 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17447 la_array as packed.
17448 Reported by: Zachary Bedell
17449
17450 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
17451
17452 * configure.ac: The Loongson port requires grub-mkfont due to its
17453 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17454 be built.
17455
17456 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
17457
17458 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17459 processing arguments (otherwise help2man fails when GRUB has not yet
17460 been installed).
17461
17462 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 New script grub-mkstandalone.
17465
17466 * Makefile.util.def (grub-mkstandalone): New script.
17467 * docs/man/grub-mkstandalone.h2m: New file.
17468 * util/grub-mkstandalone.in: Likewise.
17469
17470 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17471
17472 Support ATA disks with 4K sectors.
17473
17474 * include/grub/ata.h (grub_ata): New member log_sector_size.
17475 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17476 (grub_ata_identify): Read sector size.
17477 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17478
17479 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 * util/grub-install.in: Don't use uhci outside of x86.
17482
17483 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * util/grub-mkrescue.in: Add missing quotes.
17486
17487 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17490 dereference.
17491
17492 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17495
17496 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17497
17498 * include/grub/video.h: add missing EXPORT_FUND on
17499 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17500
17501 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * include/grub/mips/kernel.h: Fix define conflict.
17504
17505 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17506
17507 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17508 all four ways.
17509
17510 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
17511
17512 Preferred resolution detection for VBE.
17513
17514 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17515 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17516 the Flat Panel extension, in line with the X.org VESA driver.
17517 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17518 New function.
17519 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17520 (grub_vbe_bios_read_edid): Likewise.
17521 (grub_vbe_get_preferred_mode): Likewise.
17522 (grub_video_vbe_setup): When the mode is "auto", try to get the
17523 preferred mode from VBE, and use the largest mode that is no larger
17524 than the preferred mode (some BIOSes expose a preferred mode that is
17525 not in their mode list!). If this fails, fall back to 640x480 as a
17526 safe conservative choice.
17527 (grub_video_vbe_get_edid): New function.
17528 (grub_video_vbe_adapter): Add get_edid.
17529 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17530 (struct grub_video_adapter): Add get_edid.
17531 (grub_video_edid_checksum): Add prototype.
17532 (grub_video_edid_preferred_mode): Likewise.
17533 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17534 structure.
17535
17536 * grub-core/commands/videoinfo.c (print_edid): New function.
17537 (grub_cmd_videoinfo): Print EDID if available.
17538
17539 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17540 is more appropriate on a wider range of platforms than 640x480.
17541 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17542 documentation.
17543
17544 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17547
17548 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * po/POTFILES.in: Regenerate.
17551
17552 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17555 incorrect memory usage.
17556
17557 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * util/grub-install.in: Source grub-mkconfig_lib.
17560
17561 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 Remove getroot.c from core on emu platform.
17564
17565 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17566 kern/emu/raid.c.
17567 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17568 useless.
17569 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17570 * util/getroot.c (get_win32_path): ... here.
17571 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17572 * util/getroot.c (fini_libzfs): ... here.
17573 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17574 * util/getroot.c (grub_get_libzfs_handle): ... here.
17575 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17576 Moved from here...
17577 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17578 * grub-core/kern/emu/misc.c
17579 (grub_make_system_path_relative_to_its_root): Moved from here...
17580 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17581 * grub-core/kern/emu/getroot.c: Moved from here ...
17582 * util/getroot.c: ... here. All users updated.
17583 * grub-core/kern/emu/raid.c: Moved from here ...
17584 * util/raid.c: ... here. All users updated.
17585
17586 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17587
17588 * po/POTFILES.in: Regenerate.
17589
17590 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 Fix compilation on GNU/Linux.
17593
17594 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17595 Disable geli.
17596 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17597 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17598 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17599
17600 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17601 2011-07-07 Michael Gorven <michael@gorven.za.net>
17602 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17603
17604 LUKS and GELI support.
17605
17606 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17607 grub-core/disk/luks.c, grub-core/disk/geli.c,
17608 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17609 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17610 grub-core/lib/arg.c.
17611 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17612 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17613 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17614 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17615 (grub-bin2h): Add libgcry.a.
17616 (grub-mkimage): Likewise.
17617 (grub-mkrelpath): Likewise.
17618 (grub-script-check): Likewise.
17619 (grub-editenv): Likewise.
17620 (grub-mkpasswd-pbkdf2): Likewise.
17621 (grub-pe2elf): Likewise.
17622 (grub-fstest): Likewise.
17623 (grub-mkfont): Likewise.
17624 (grub-mkdevicemap): Likewise.
17625 (grub-probe): Likewise.
17626 (grub-ofpath): Likewise.
17627 (grub-mklayout): Likewise.
17628 (example_unit_test): Likewise.
17629 (grub-menulst2cfg): Likewise.
17630 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17631 * grub-core/Makefile.core.def (cryptodisk): New module.
17632 (luks): Likewise.
17633 (geli): Likewise.
17634 * grub-core/disk/AFSplitter.c: New file.
17635 * grub-core/disk/cryptodisk.c: Likewise.
17636 * grub-core/disk/geli.c: Likewise.
17637 * grub-core/disk/luks.c: Likewise.
17638 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17639 grub_util_is_lvm.
17640 (grub_util_get_dm_abstraction): New function.
17641 (grub_util_follow_gpart_up): Likewise.
17642 (grub_util_get_geom_abstraction): Likewise.
17643 (grub_util_get_dev_abstraction): Use new functions.
17644 (grub_util_pull_device): Pull GELI and LUKS.
17645 (grub_util_get_grub_dev): Handle LUKS and GELI.
17646 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17647 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17648 (follow_geom_up): Removed.
17649 (grub_util_fd_seek): New function.
17650 (open_device): Use grub_util_fd_seek.
17651 (nread): Rename to ..
17652 (grub_util_fd_read): ... this. All users updated.
17653 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17654 (grub_crypto_cbc_decrypt): Likewise.
17655 (grub_crypto_hmac_write): Likewise.
17656 (grub_crypto_hmac_buffer): Likewise.
17657 (grub_password_get): Extend to util.
17658 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17659 New member modname.
17660 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17661 * include/grub/cryptodisk.h: New file.
17662 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17663 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17664 LUKS and GELI.
17665 (grub_util_follow_gpart_up): New proto.
17666 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17667 (grub_util_fd_read): Likewise.
17668 (grub_cryptodisk_cheat_mount): Likewise.
17669 (grub_util_cryptodisk_print_uuid): Likewise.
17670 (grub_util_get_fd_sectors): Likewise.
17671 * util/grub-fstest.c (mount_crypt): New var.
17672 (fstest): Mount crypto if requested.
17673 (options): New option -C.
17674 (argp_parser): Parse -C.
17675 (main): Init and fini gcry.
17676 * util/grub-install.in: Support cryptodisk install.
17677 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17678 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17679 cryptodisk.
17680 (prepare_grub_to_access_device): Likewise.
17681 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17682 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17683 (probe_cryptodisk_uuid): New function.
17684 (probe_abstraction): Likewise.
17685 (probe): Use new functions.
17686 * util/import_gcry.py: Create Makefile.utilgcry.def.
17687 Add modname member.
17688
17689 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 Lazy device scanning.
17692
17693 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17694 (grub-setup): Remove util/raid.c.
17695 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17696 * grub-core/disk/lvm.c (scan_depth): New variable.
17697 (grub_lvm_iterate): Rescan if necessary.
17698 (find_lv): New function based on grub_lvm_open.
17699 (grub_lvm_open): Use find_lv. Rescan on error.
17700 (is_node_readable): New function.
17701 (is_lv_readable): Likewise.
17702 (grub_lvm_scan_device): Skip already found disks.
17703 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17704 Stop if searched device is found and readable.
17705 * grub-core/disk/raid.c (inscnt): New variable.
17706 (scan_depth): Likewise.
17707 (scan_devices): New function based on grub_raid_register. Abort if
17708 looked for device is found.
17709 (grub_raid_iterate): Rescan if needed.
17710 (find_array): NEw function based on -grub_raid_open.
17711 (grub_raid_open): Use find_array and rescan.
17712 (insert_array): Set became_readable_at.
17713 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17714 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17715 New function.
17716 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17717 (grub_util_pull_device): New function.
17718 (grub_util_get_grub_dev): Call grub_util_pull_device.
17719 * util/raid.c: Moved to ..
17720 * grub-core/kern/emu/raid.c: ... here.
17721 (grub_util_raid_getmembers): New parameter "bootable".
17722 All users updated. Support 1.x.
17723 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17724 All users updated.
17725 * include/grub/disk.h (grub_disk_pull_t): New enum.
17726 (grub_disk_dev): Change iterate prototype.
17727 All users updated.
17728 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17729 New proto.
17730 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17731 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17732 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17733 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17734 All users updated.
17735 * include/grub/util/raid.h: Removed.
17736
17737 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * po/POTFILES.in: Regenerate.
17740
17741 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 Unify sparc init with other ieee1275.
17744
17745 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17746 instead of kern/sparc64/ieee1275/init.c.
17747 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17748 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17749 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17750 grub/machine/kernel.h.
17751 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17752 (grub_claim_heap) [__sparc__]: Use sparc version.
17753 (grub_machine_init): Moved args parsing to
17754 (grub_parse_cmdline): ...this.
17755 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17756 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17757 New definition.
17758 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17759
17760 Move BOOTP to separate file.
17761
17762 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17763 * grub-core/net/net.c: Move all BOOTP functions to
17764 * grub-core/net/bootp.c: ... here.
17765
17766 Use frame interface on PXE.
17767
17768 * grub-core/Makefile.core.def (pxecmd): Removed.
17769 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17770 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17771 * grub-core/i386/pc/pxe.c: Moved from here ...
17772 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17773 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17774 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17775
17776 EFI network support.
17777
17778 * grub-core/Makefile.core.def (efinet): New module.
17779 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17780 here...
17781 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17782 All users updated.
17783 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17784 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17785 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17786 * grub-core/net/drivers/efi/efinet.c: New file.
17787 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17788 (grub_efi_net_config): New extern var.
17789
17790 Various cleanups and bugfixes.
17791
17792 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17793 error.
17794 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17795 disk declared as partition.
17796 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17797 leak on failure.
17798 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17799 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17800 (grub_debug_zalloc): Likewise.
17801 (grub_debug_realloc): Likewise.
17802 (grub_debug_memalign): Likewise.
17803 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17804 Check that target is IPv4.
17805 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17806 local-mac-address as fallback.
17807 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17808 memory leak.
17809 * grub-core/net/ip.c (ipchksum): Rename to ...
17810 (grub_net_ip_chksum): ... this. All users updated.
17811 (grub_net_recv_ip_packets): Special handling for DHCP.
17812 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17813
17814 Unify prefix handling
17815
17816 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17817 (grub_machine_get_bootlocation): ... this.
17818 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17819 (grub_machine_get_bootlocation): ... this.
17820 (grub_prefix): New variable.
17821 (prefix): Removed.
17822 (root_dev): New variable.
17823 (dir): Likewise.
17824 (main): Use new variables.
17825 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17826 Revamped into ...
17827 (grub_machine_get_bootlocation): ... this.
17828 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17829 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17830 (grub_machine_get_bootlocation): ... this.
17831 (grub_machine_set_prefix): Removed.
17832 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17833 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17834 Revamped into ...
17835 (grub_machine_get_bootlocation): ... this.
17836 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17837 (grub_set_prefix_and_root): ... this. All users updated.
17838 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17839 Revamped into ...
17840 (grub_machine_get_bootlocation): ... this.
17841 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17842 (grub_machine_get_bootlocation): New proto.
17843 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17844
17845 Less intrusive and more reliable seek on network implementation.
17846
17847 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17848 (grub_file_seek): Don't call grub_file_net_seek.
17849 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17850 (grub_net_fs_read_real): .. this.
17851 (grub_net_seek_real): Use net->offset.
17852 (grub_net_fs_read): Seek if necessary.
17853
17854 Unify IEEE1275 netwotk config with the other platforms.
17855
17856 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17857 New variable.
17858 (grub_machine_get_bootlocation): Support network.
17859 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17860 Support type and device parsing.
17861 (grub_ieee1275_get_device_type): New function.
17862 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17863 into ...
17864 (grub_ieee1275_net_config_real): ... this.
17865 (grub_ofnet_probecards): Removed.
17866 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17867 * include/grub/ieee1275/ofnet.h: Removed.
17868 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17869 extern var.
17870 (grub_ieee1275_get_device_type): New function.
17871
17872 Unify network device closing across platforms and make more robust.
17873
17874 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17875 grub_grubnet_fini.
17876 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17877 already.
17878 * grub-core/net/net.c (grub_net_network_level_interface_register):
17879 Update num_ifaces.
17880 (grub_net_card_unregister): Close all interfaces.
17881 (receive_packets): Don't poll if no iterfaces are registered.
17882 Open if necessary.
17883 (grub_net_fini_hw): New function.
17884 (grub_net_restore_hw): Likewise.
17885 (fini_hnd): New variable.
17886 (GRUB_MOD_INIT): Register preboot hook.
17887 (GRUB_MOD_FINI): Run and unregister preboot hook.
17888
17889 Poll network cards when idle.
17890
17891 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17892 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17893 * grub-core/net/net.c (receive_packets): Save last poll time.
17894 (grub_net_poll_cards_idle_real): New function.
17895 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17896 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17897 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17898
17899 Rename ofnet interfaces.
17900
17901 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17902 (grub_ofnet_findcards): Use ofnet_%s names.
17903
17904 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17905
17906 Cleanup socket opening.
17907
17908 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17909 (grub_net_fs_close): Likewise.
17910 (grub_net_fs_read_real): Use eof member.
17911 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17912 (+grub_net_udp_close): New inline function.
17913
17914 * include/grub/net/tftp.h: Moved to the top of ...
17915 * grub-core/net/tftp.c: ... here.
17916 * include/grub/net/ip.h: Moved mostly to the top of ...
17917 * grub-core/net/ip.c: ... here.
17918 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17919 * grub-core/net/ethernet.c: ... here.
17920
17921 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17922
17923 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17924 FS name.
17925
17926 * include/grub/net/ip.h (ipv4_ini): Removed.
17927 (ipv4_fini): Likewise.
17928
17929 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17930 (grub_net_send_ip_packets): Likewise.
17931
17932 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17935 grub_read_cmos prototype.
17936
17937 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 VGA text support in qemu-mips
17940
17941 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17942 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17943 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17944 text.
17945 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17946 * grub-core/kern/vga_init.c: ... this.
17947 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17948 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17949 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17950 Adjust.
17951 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17952 GRUB_MACHINE_PCI_IO_BASE.
17953
17954 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 MIPS qemu flash support.
17957
17958 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17959 magic.
17960 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17961 (grub_machine_init): Probe memory if its size isn't known.
17962 * util/grub-mkimage.c (image_targets): Add flash targets.
17963 (generate_image): Handle flash targets.
17964
17965 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 MIPS qemu at_keyboard support.
17968
17969 * gentpl.py (videoinkernel): Add qemu-mips.
17970 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17971 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17972 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17973 modules.
17974 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17975 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17976 * grub-core/term/serial.c (grub_serial_register)
17977 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17978
17979 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 CMOS support on sparc.
17982
17983 * gentpl.py (cmos): Add powerpc and sparc.
17984 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17985 powerpc and sparc.
17986 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17987 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17988 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17989 grub_set_datetime_cmos.
17990 * grub-core/lib/ieee1275/cmos.c: New file.
17991 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17992 (find_rtc): Set no_ieee1275_rtc on error.
17993 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17994 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17995 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17996 fail. Move value to argument. All users updated
17997 (grub_cmos_write): Likewise.
17998 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17999 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18000 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18001 grub_get_datetime_cmos and grub_set_datetime_cmos.
18002
18003 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18004
18005 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18006 sourcing grub-mkconfig_lib.
18007 * util/update-grub_lib.in: Likewise.
18008 * util/grub.d/00_header.in: Likewise.
18009 * util/grub.d/10_hurd.in: Likewise.
18010 * util/grub.d/10_kfreebsd.in: Likewise.
18011 * util/grub.d/10_linux.in: Likewise.
18012 * util/grub.d/10_netbsd.in: Likewise.
18013 * util/grub.d/10_windows.in: Likewise.
18014 * util/grub.d/20_linux_xen.in: Likewise.
18015 * util/grub.d/30_os-prober.in: Likewise.
18016
18017 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18020 default_bg_color rather than black.
18021 (grub_gfxterm_fullscreen): Likewise.
18022 (grub_gfxterm_background_color_cmd): Save new background color in
18023 default_bg_color.
18024
18025 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18028
18029 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18032 mismerge.
18033
18034 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 Chainloading on coreboot support.
18037
18038 * grub-core/Makefile.core.def (chain): Add coreboot.
18039 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18040
18041 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18044 if it happens.
18045
18046 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 Implement time command.
18049
18050 * grub-core/Makefile.core.def (time): New module.
18051 * grub-core/commands/time.c: New file.
18052 * grub-core/script/parser.y: Remove "time" keyword.
18053 * grub-core/script/yylex.l: Likewise.
18054
18055 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18058
18059 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18062 when handling leftovers.
18063
18064 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18067 so that help2man doesn't fail.
18068
18069 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18072 type in pointers on sparc64.
18073 (get_card_packet): Likewise.
18074
18075 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18076
18077 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18078 with `*'.
18079 (grub_cmd_videoinfo): Fetch current video mode.
18080
18081 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18082
18083 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18084 because of underlying system restrictions.
18085
18086 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18089 necessary.
18090
18091 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 Coreboot video support.
18094
18095 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18096 (vbe): Likewise.
18097 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18098 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18099 here ...
18100 * grub-core/kern/i386/int.S: ... here.
18101 * grub-core/video/i386/pc/vbe.c: Updated includes.
18102 * grub-core/video/i386/pc/vga.c: Likewise.
18103 * include/grub/i386/coreboot/memory.h
18104 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18105 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18106 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18107 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18108 Disable interrupts.
18109 * include/grub/i386/pc/vga.h: Removed. All users updated.
18110
18111 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18114 definitions for dprintf.
18115 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18116
18117 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18120 prototype.
18121 (get_card_packet): Likewise.
18122
18123 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18124
18125 Display the path of the file when file is not found
18126
18127 * grub-core/fs/fat.c: Display the filename when file is not found.
18128 * grub-core/fs/fshelp.c: Likewise.
18129 * grub-core/fs/hfs.c: Likewise.
18130 * grub-core/fs/jfs.c: Likewise.
18131 * grub-core/fs/minix.c: Likewise.
18132 * grub-core/fs/ufs.c: Likewise.
18133 * grub-core/fs/btrfs.c: Likewise.
18134 * grub-core/commands/i386/pc/play.c: Likewise.
18135
18136 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18137
18138 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18139 pointer checks before calling grub_free().
18140 * grub-core/commands/wildcard.c (match_devices): Likewise.
18141 * grub-core/commands/wildcard.c (match_files): Likewise.
18142 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18143 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18144 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18145 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18146 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18147 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18148 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18149 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18150 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18151
18152 2011-06-25 Patrick <p55@mailinator.com>
18153
18154 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18155
18156 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18159 (grub_pxe_send): Likewise.
18160 (GRUB_MOD_INIT): Fix types.
18161
18162 2011-06-24 Szymon Janc <szymon@janc.net.pl>
18163
18164 * grub-core/io/xzio.c: Fix code style issues
18165
18166 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18167 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
18168
18169 Network infrastructure.
18170 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18171
18172 * include/grub/net/arp.h: New file.
18173 * include/grub/net/device.h: Likewise.
18174 * include/grub/net/ethernet.h: Likewise.
18175 * include/grub/net/ip.h: Likewise.
18176 * include/grub/net/netbuff.h: Likewise.
18177 * include/grub/net/tftp.h: Likewise.
18178 * include/grub/net/udp.h: Likewise.
18179 * include/grub/ieee1275/ofnet.h: Likewise.
18180 * include/grub/emu/export.h: Likewise.
18181 * include/grub/net.h: Likewise.
18182 * grub-core/net/arp.c: Likewise.
18183 * grub-core/net/ethernet.c: Likewise.
18184 * grub-core/net/ip.c: Likewise.
18185 * grub-core/net/udp.c: Likewise.
18186 * grub-core/net/tftp.c: Likewise.
18187 * grub-core/net/netbuff.c: Likewise.
18188 * grub-core/net/net.c: Likewise.
18189 * grub-core/net/drivers/emu/emunet.c: Likewise.
18190 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18191 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18192 export.h.
18193 * grub-core/Makefile.core.def (net): New module.
18194 (tftp): Likewise.
18195 (ofnet): Likewise.
18196 (emunet): Likewise.
18197 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18198 network protocols.
18199 * grub-core/kern/device.c (grub_net_open) : New variable.
18200 (grub_device_open): Handle network device.
18201 (grub_device_close): Likewise.
18202 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18203 (grub_grubnet_fini): Likewise.
18204 (grub_file_seek): Seek in network device.
18205 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18206 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18207 network root.
18208 (grub_machine_fini): Call grub_grubnet_fini.
18209 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18210 network.
18211 (grub_ieee1275_get_aliasdevname): New function.
18212 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18213 Add unofficial Solaris network info.
18214 (grub_multiboot_make_mbi): Likewise.
18215 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18216 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18217 * include/grub/device.h (grub_fs): Removed.
18218 * include/grub/err.h (grub_err_t): Add network-related values.
18219 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18220 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18221 (grub_ieee1275_get_aliasdevname): New proto.
18222 * include/grub/net.h: Rewritten.
18223
18224 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18227 names.
18228
18229 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18232 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18233 it truncates the output.
18234 Reported by: Ximin Luo.
18235
18236 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18239
18240 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18243 partmap before abstraction.
18244
18245 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18246
18247 * util/grub-mkconfig_lib.in: Add missing quotes.
18248
18249 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18252 old method if mountinfo would return /dev/root and /dev/root doesn't
18253 exist.
18254
18255 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 ZFS zlib support
18258
18259 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18260 (decomp_table): Add zlib entries.
18261 (zio_read): USe 8 bits for compression function rather than 3.
18262 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18263
18264 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/disk/ahci.c: Add missing license statements.
18267 * grub-core/fs/romfs.c: Likewise.
18268 * grub-core/lib/ia64/setjmp.S: Likewise.
18269 * grub-core/loader/i386/pc/freedos.c: Likewise.
18270 * grub-core/loader/ia64/efi/linux.c: Likewise.
18271 * grub-core/video/colors.c: Likewise.
18272 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18273
18274 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 AHCI support.
18277
18278 * grub-core/Makefile.core.def (ata_pthru): Removed.
18279 (ahci): New module.
18280 (pata): Likewise.
18281 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18282 on unload.
18283 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18284 readwrite.
18285 (grub_hdparm_do_check_powermode_cmd): Likewise.
18286 (grub_hdparm_do_smart_cmd): Likewise.
18287 (grub_hdparm_set_val_cmd): Likewise.
18288 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18289 * grub-core/disk/ahci.c: New file.
18290 * grub-core/disk/ata.c: Factor out the low-level part into ...
18291 * grub-core/disk/pata.c: ... here.
18292 * grub-core/disk/ata_pthru.c: Contents moved to ...
18293 * grub-core/disk/pata.c: ... here.
18294 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18295 (grub_scsi_iterate): Use grub_scsi_names.
18296 (grub_scsi_open): Likewise.
18297 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18298 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18299 (grub_ata_regs_t): New struct.
18300 (grub_disk_ata_pass_through_parms): Likewise.
18301 (grub_ata_device): Renamed to ...
18302 (grub_ata): ... this.
18303 (grub_ata_dev): New struct.
18304 Removed all low-level inline functions.
18305 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18306 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18307 iterate hooks and open. All users updated.
18308 * util/grub-install.in: Handle AHCI disk module.
18309
18310 2011-06-23 Szymon Janc <szymon@janc.net.pl>
18311
18312 Add support for DRI and RSTn markers in JPEG files.
18313
18314 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18315 (JPEG_MARKER_RST0): Likewise.
18316 (JPEG_MARKER_RST1): Likewise.
18317 (JPEG_MARKER_RST2): Likewise.
18318 (JPEG_MARKER_RST3): Likewise.
18319 (JPEG_MARKER_RST4): Likewise.
18320 (JPEG_MARKER_RST5): Likewise.
18321 (JPEG_MARKER_RST6): Likewise.
18322 (JPEG_MARKER_RST7): Likewise.
18323 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18324 (grub_jpeg_decode_dri): New function.
18325 (grub_jpeg_decode_sos): Move image data related part into
18326 grub_jpeg_decode_data function.
18327 (grub_jpeg_decode_data): New function.
18328 (grub_jpeg_reset): New function.
18329 (grub_jpeg_decode_jpeg): Handle new markers.
18330
18331 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * util/ieee1275/ofpath.c (check_sas): Close fd.
18334 (main): Free of_path.
18335 Reported by: David Volgyes <dvolgyes>.
18336
18337 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18340 Reported by: David Volgyes <dvolgyes>.
18341
18342 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18345 file after stat.
18346 Reported by: David Volgyes <dvolgyes>.
18347
18348 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18351
18352 Reported by: David Volgyes <dvolgyes>.
18353
18354 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18357 Prevent memory leak.
18358
18359 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18362 (main): Close file.
18363 Reported by: David Volgyes <dvolgyes>.
18364
18365 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18368 to continue if allocation is failed.
18369
18370 Reported by: David Volgyes <dvolgyes>.
18371
18372 2011-06-23 David Volgyes <dvolgyes>
18373
18374 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18375 dereference.
18376
18377 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 Fix spurious warning.
18380
18381 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18382 (acorn_partition_map_find): Use .bin member.
18383
18384 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18387 /dev/root as a valid device.
18388
18389 2011-06-23 Jim Meyering <meyering@redhat.com>
18390
18391 Avoid NULL deref in grub_device_open.
18392
18393 * grub-core/kern/device.c (grub_device_open): Don't dereference
18394 a NULL pointer upon failed grub_env_get.
18395
18396 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 Support non-512B sectors and agglomerate reads.
18399
18400 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18401 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18402 (disk_io_guid): Removed.
18403 (make_devices): Locate solely by BlockIO.
18404 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18405 (grub_efidisk_read): Use read_blocks.
18406 (grub_efidisk_write): Use write_blocks.
18407 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18408 log_sector_size.
18409 (get_safe_sectors): Handle non-512B sectors.
18410 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18411 sectors.
18412 (grub_biosdisk_write): Handle non-512B sectors.
18413 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18414 (grub_scsi_read): Remove special non-512B block handling (now handled
18415 one level up).
18416 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18417 and do sanity checks.
18418 (grub_disk_adjust_range): Handle non-512B sectors.
18419 (transform_sector): New function.
18420 (grub_disk_read_small): Likewise.
18421 (grub_disk_read): Rewritten.
18422 (grub_disk_write): Handle non-512B sectors.
18423 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18424 log_sector_size.
18425 (open_device): Use log_sector_size.
18426 (grub_util_biosdisk_read): Likewise.
18427 (grub_util_biosdisk_write): Likewise.
18428 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18429 non-512B sectors.
18430 (pc_partition_map_embed): Likewise.
18431 * include/grub/disk.h (grub_disk): New field log_sector_size.
18432 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18433 (GRUB_DISK_CACHE_BITS): Increased to 6.
18434 * util/grub-fstest.c (fstest): New command testload.
18435 (argp_parser): Likewise.
18436
18437 2011-06-16 Robert Millan <rmh@gnu.org>
18438
18439 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18440 `ata' driver on kernel of FreeBSD 9.
18441
18442 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18443 (get_ataraid_disk_name): New functions.
18444 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18445 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18446 get_ataraid_disk_name() and get_ada_disk_name().
18447
18448 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
18449
18450 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18451 input format.
18452
18453 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
18454
18455 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18456 `ftp.gnu.org' for `alpha.gnu.org'.
18457
18458 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
18459
18460 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18461 partitions under /dev/disk/by-id/.
18462
18463 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
18464
18465 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18466 after ten consecutive open failures. Scanning all the way up to
18467 10000 is excessive and can cause serious performance problems in
18468 some configurations.
18469 Fixes Ubuntu bug #787461.
18470
18471 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18474 opening new one.
18475
18476 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
18477 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 Don't stat devices unless we have to.
18480
18481 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18482 dir == /dev/mapper.
18483 (grub_guess_root_device): Use already known os_dev if possible.
18484 * grub-core/kern/emu/hostdisk.c
18485 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18486 if device is known to be a dm one.
18487
18488 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
18489
18490 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18491 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18492 Reported by: Pawel Tecza.
18493
18494 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18495
18496 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18497 (lsefisystab): Likewise.
18498 (lssal): Likewise.
18499 (lsefimmap): Likewise.
18500 (hdparm): Enable on qemu-mips.
18501 (setjmp): Add ia64 nodist.
18502 (serial): Simplify tags.
18503
18504 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18505
18506 * Makefile.util.def (grub-ofpathname): Install manual page.
18507
18508 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18509
18510 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18511
18512 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18513
18514 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18515
18516 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18519 into dprintf.
18520
18521 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 Use full 64-bit division.
18524
18525 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18526 (grub_divmod64): ... this.
18527 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18528 version.
18529
18530 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18531
18532 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18533 `source'.
18534
18535 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18536
18537 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18538 to avoid accidents when debugging with 'sh -x'.
18539 * grub-core/gensyminfo.sh.in: Likewise.
18540 * tests/example_scripted_test.in: Likewise.
18541 * tests/grub_cmd_regexp.in: Likewise.
18542 * tests/grub_script_blanklines.in: Likewise.
18543 * tests/grub_script_dollar.in: Likewise.
18544 * tests/grub_script_expansion.in: Likewise.
18545 * tests/grub_script_final_semicolon.in: Likewise.
18546 * tests/partmap_test.in: Likewise.
18547 * tests/util/grub-shell-tester.in: Likewise.
18548 * tests/util/grub-shell.in: Likewise.
18549
18550 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18551
18552 Move gfxmenu color handling to video, so that gfxterm can use it
18553 too.
18554
18555 * grub-core/gfxmenu/named_colors.c: Move to ...
18556 * grub-core/video/colors.c: ... here. Rename
18557 grub_gui_get_named_color to grub_video_get_named_color.
18558 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18559 * grub-core/video/colors.c (my_isxdigit): ... here.
18560 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18561 Move to ...
18562 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18563 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18564 to ...
18565 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18566
18567 * include/grub/gui.h (grub_gui_color_t): Move to ...
18568 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18569 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18570 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18571 * include/grub/gui.h (grub_gui_map_color): Move to ...
18572 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18573 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18574 to ...
18575 * include/grub/video.h (grub_video_get_named_color): ... here.
18576 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18577 * include/grub/video.h (grub_video_parse_color): ... here.
18578
18579 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18580 video/colors.c.
18581 (gfxmenu): Remove gfxmenu/named_colors.c.
18582 (video) [videomodules]: Add video/colors.c.
18583
18584 Add a background_color command.
18585
18586 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18587 function.
18588 (GRUB_MOD_INIT): Register background_color command.
18589 (GRUB_MOD_FINI): Unregister background_color command.
18590 (redraw_screen_rect): Allow blend/replace of text layer to be
18591 controlled independently from whether there is a background bitmap.
18592 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18593 changing bitmap.
18594
18595 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 Patch BPB in ntldr and chainloader --bpb.
18598
18599 * grub-core/fs/fat.c: Include grub/fat.h.
18600 (grub_fat_bpb): Moved to ...
18601 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18602 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18603 grub/ntfs.h.
18604 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18605 Moved from here...
18606 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18607 here.
18608 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18609 New function.
18610 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18611 (GRUB_MOD_INIT): Show --bpb.
18612 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18613 * grub-core/normal/main.c (features): New variable.
18614 (GRUB_MOD_INIT): Set feature_* variables.
18615 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18616 proto.
18617 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18618
18619 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18620
18621 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18622 for cleanness.
18623
18624 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 FreeDOS direct loading support.
18627
18628 * docs/grub.texi (Supported OS): Add FreeDOS.
18629 * grub-core/Makefile.core.def (freedos): New module.
18630 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18631 variable.
18632 (grub_relocator16_boot): Handle %ebx.
18633 * grub-core/lib/i386/relocator16.S: Likewise.
18634 * grub-core/loader/i386/pc/freedos.c: New file.
18635
18636 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 Long Linux command line support.
18639
18640 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18641 (maximal_cmdline_size): New variable.
18642 (allocate_pages): Use maximal_cmdline_size.
18643 (grub_cmd_linux): Set and use maximal_cmdline_size.
18644 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18645 (allocate_pages): Use maximal_cmdline_size.
18646 (grub_cmd_linux): Set and use maximal_cmdline_size.
18647 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18648 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18649 and cmdline_size.
18650
18651 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18652 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
18653
18654 Improve devmapper support
18655
18656 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18657 (grub_util_is_lvm): New function.
18658 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18659 than lvm if not dmraid.
18660 Handle mapped md nodes.
18661 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18662 (grub_util_device_is_mapped): ... this. Make always available. All users
18663 updated.
18664 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18665 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18666 dmraid nodes.
18667 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18668
18669 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18672
18673 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18674 * grub-core/modinfo.sh.in: New file.
18675 * grub-core/Makefile.core.def (modinfo.sh): New script.
18676 * util/grub-mknetdir.in: Use modinfo.sh.
18677 * util/grub-mkrescue.in: Likewise.
18678
18679 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18682 Fix potential usage of Elf32 instead of Elf64 when compiling on
18683 32-bit architecture. Add endianness macros while on it.
18684
18685 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 Use mipsel- rather than mips- in directories involving mipsel ports to
18688 allow both endiannesses coexist.
18689
18690 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18691 mips. All conditions adjusted.
18692 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18693 variable.
18694 * util/grub-install.in: Adjust conditions to take renaming into account.
18695 * util/grub-mkimage.c (image_targets): Likewise. New target
18696 mips-qemu_mips-elf for bigendian mips.
18697
18698 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Avoid unnecessary copying on MIPS.
18701
18702 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18703 early if src == dest.
18704 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18705 compression is none.
18706
18707 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 Reduce memory footprint on SGI by putting modules before the kernel
18710 as opposed to after.
18711
18712 * grub-core/Makefile.core.def (kernel): Increase linking address.
18713 (none_decompress): Likewise.
18714 (xz_decompress): Likewise.
18715 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18716 address.
18717 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18718 layout change.
18719 (grub_arch_modules_addr): New function.
18720 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18721 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18722 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18723 here.
18724 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18725 (grub_total_modules_size): ... this. Make global.
18726 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18727 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18728 New definition.
18729 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18730 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18731 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18732 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18733 * util/grub-mkimage.c (image_target_desc): New flag
18734 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18735 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18736 (generate_image): Handle images with modules before kernel.
18737
18738 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 Prevent potential loss of memory map by overwrite on qemu-mips.
18741
18742 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18743 Save ram size in $s4.
18744 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18745 All users changed to grub_arch_memsize.
18746 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18747 Loongson.
18748 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18749 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18750 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18751 external variable.
18752
18753 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
18754
18755 * .bzrignore: Remove grub-dumpbios.
18756
18757 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
18758
18759 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18760 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18761 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18762 existing options which append).
18763 * docs/grub.texi (Simple configuration): Document new options.
18764 Reported by: Ian Jackson. Fixes Debian bug #617538.
18765
18766 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
18767
18768 * util/grub-fstest.c (cmd_cat): New function.
18769 (fstest): Handle CMD_CAT.
18770 (options): Add cat.
18771 (argp_parser): Handle cat.
18772
18773 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
18774
18775 * Makefile.util.def (grub-bin2h): Don't install.
18776 * docs/man/grub-bin2h.h2m: Remove.
18777
18778 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18781 place.
18782
18783 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 Reenable qemu-mips port.
18786
18787 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18788 Fix small arc bug while on it.
18789 * gentpl.py: Handle qemu_mips.
18790 * grub-core/Makefile.am: Likewise.
18791 * grub-core/Makefile.core.def: Likewise.
18792 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18793 inappropriate includes.
18794 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18795 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18796 * grub-core/kern/main.c (grub_modules_get_end)
18797 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18798 * grub-core/kern/mips/qemu-mips: Moved to ..
18799 * grub-core/kern/mips/qemu_mips: ... this.
18800 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18801 (grub_machine_init): Call terminfo_init and serial_init.
18802 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18803 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18804 New variable.
18805 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18806 parameter passing.
18807 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18808 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18809 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18810 * include/grub/mips/qemu_mips/cmos.h: New file.
18811 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18812 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18813 Removed.
18814 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18815 Use correct mips-style address.
18816 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18817 (GRUB_TICKS_PER_SECOND): Removed.
18818 (grub_get_rtc): Likewise.
18819 (grub_cpu_idle): Likewise.
18820 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18821 New definition.
18822 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18823 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18824 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18825 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18826 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18827 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18828 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18829 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18830
18831 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 SGI ARCS port.
18834
18835 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18836 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18837 platforms.
18838 * configure.ac: New target mips-arc.
18839 * gentpl.py: Likewise.
18840 * grub-core/Makefile.am: Likewise.
18841 * grub-core/Makefile.core.def: Likewise.
18842 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18843 (none_decompress): Likewise.
18844 (lsdev): New module.
18845 (datetime): Use lib/arc/datetime.c on ARC.
18846 (part_dvh): New module.
18847 * grub-core/commands/arc/lsdev.c: New file.
18848 * grub-core/disk/arc/arcdisk.c: Likewise.
18849 * grub-core/kern/mips/arc/init.c: Likewise.
18850 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18851 aligned addresses.
18852 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18853 support.
18854 (grub_arch_dl_relocate_symbols): Likewise.
18855 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18856 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18857 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18858 platforms.
18859 * grub-core/lib/arc/datetime.c: New file.
18860 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18861 pci.h on non-loongson.
18862 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18863 (grub_linux_boot): Set unused registers to 0.
18864 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18865 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18866 * grub-core/mmap/mips/uppermem.c: ...here.
18867 * grub-core/partmap/dvh.c: New file.
18868 * grub-core/term/arc/console.c: Likewise.
18869 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18870 (grub_terminfo_set_current): Add terminal "arc".
18871 (grub_terminfo_readkey): Support ARC sequences.
18872 * include/grub/arc/arc.h: New file.
18873 * include/grub/arc/console.h: Likewise.
18874 * include/grub/disk.h (grub_disk_dev_id): Add
18875 GRUB_DISK_DEVICE_ARCDISK_ID.
18876 * include/grub/mips/arc/kernel.h: New file.
18877 * include/grub/mips/arc/memory.h: Likewise.
18878 * include/grub/mips/arc/time.h: Likewise.
18879 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18880 * include/grub/mips/kernel.h (grub_halt): ... here.
18881 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18882 here...
18883 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18884 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18885 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18886 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18887 proto.
18888 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18889 from here ...
18890 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18891 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18892 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18893 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18894 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18895 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18896 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18897 (grub_phys_addr_t): Moved from here ...
18898 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18899 (grub_vtop): Moved from here ...
18900 * include/grub/mips/memory.h (grub_vtop): ... here.
18901 (grub_map_memory): Moved from here ...
18902 * include/grub/mips/memory.h (grub_map_memory): ... here.
18903 (grub_unmap_memory): Moved from here ...
18904 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18905 (grub_machine_mmap_iterate): Moved from here ...
18906 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18907 (grub_mmap_get_lower): Moved from here ...
18908 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18909 (grub_mmap_get_upper): Moved from here ...
18910 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18911 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18912 here ...
18913 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18914 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18915 here ...
18916 * include/grub/mips/time.h (grub_get_rtc): ... here.
18917 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18918 here ...
18919 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18920 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18921 here ...
18922 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18923 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18924 definition.
18925 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18926 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18927 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18928 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18929 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18930 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18931 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18932 (GRUB_MACHINE_LINK_ADDR): Likewise.
18933 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18934 to 6.
18935 * util/grub-install.in: Run dvhtool on ARC.
18936 * util/grub-mkimage.c (image_targets): Add mips-arc.
18937 (generate_image): Handle ECOFF output for mips-arc.
18938
18939 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18942 blocks.
18943
18944 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18947 after enabling port.
18948
18949 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 Skip incorrect USB devices.
18952
18953 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18954 configcnt == 0.
18955 * include/grub/usb.h (grub_usb_err_t): New enum value
18956 GRUB_USB_ERR_BADDEVICE.
18957
18958 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 Fuloong video init support.
18961
18962 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18963 well.
18964 (grub_vga_read_arx): New function.
18965 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18966 definition.
18967 (framebuffer): New members io, mmioptr and mmiobase.
18968 (read_sis_cmd): New function.
18969 (write_sis_cmd): Likewise.
18970 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18971 rather than 640x400.
18972 * grub-core/video/sis315_init.c: New file.
18973
18974 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18977 non-loongson.
18978 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18979 to grub_dl_register_symbol.
18980
18981 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 Fix compilation errors.
18984
18985 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18986 potentially unused.
18987 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18988 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18989 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18990 to loongson machines.
18991
18992 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18993
18994 Several FS mtime support.
18995
18996 * grub-core/fs/affs.c (grub_affs_time): New struct.
18997 (grub_affs_file): New field mtime.
18998 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18999 type. Removed 'size'. New field 'di'. All users updated.
19000 (grub_affs_mount): Simplify checsum checking.
19001 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19002 (grub_affs_dir): Handle mtime.
19003 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19004 (grub_cpio_dir): Likewise.
19005 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19006 (grub_hfs_filerec): New field mtime.
19007 (grub_hfs_dir): Handle mtime.
19008 (grub_hfs_mtime): New function.
19009 (grub_hfs_fs): Register grub_hfs_mtime.
19010 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19011 (grub_iso9660_dir): New field mtime.
19012 (grub_fshelp_node): New field dirent.
19013 (iso9660_to_unixtime): New function.
19014 (iso9660_to_unixtime2): Likewise.
19015 (grub_iso9660_read_symlink): Use node->dirent.
19016 (grub_iso9660_iterate_dir): Likewise.
19017 (grub_iso9660_dir): Set mtime.
19018 (grub_iso9660_mtime): New function.
19019 (grub_iso9660_fs): Register grub_iso9660_mtime.
19020 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19021 (grub_jfs_inode): New fields atime, ctime and mtime.
19022 (grub_jfs_dir): Set mtime.
19023 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19024 * grub-core/fs/ntfs.c (list_file): Set mtime.
19025 (grub_ntfs_dir): Likewise.
19026 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19027 (grub_reiserfs_iterate_dir): Set mtime.
19028 (grub_reiserfs_dir): Likewise.
19029 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19030 (grub_fshelp_node): Likewise.
19031 (grub_sfs_iterate_dir): Set mtime.
19032 (grub_sfs_dir): Likewise.
19033 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19034 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19035 (grub_xfs_inode): New fields atime, mtime, ctime.
19036 (grub_xfs_dir): Set mtime.
19037 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19038 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19039 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19040
19041 Support UDF symlinks.
19042
19043 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19044 (grub_ufs_read_symlink): New function. All users updated.
19045
19046 Check amiga partmap checksum.
19047
19048 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19049 (grub_amiga_partition): Likewise.
19050 (amiga_partition_map_checksum): New function.
19051 (amiga_partition_map_iterate): Check checksum.
19052
19053 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 ROMFS support.
19056
19057 * Makefile.util.def (libgrubmods.a): Add romfs.
19058 * grub-core/Makefile.core.def (romfs): New module.
19059 * grub-core/fs/romfs.c: New file.
19060
19061 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 Squashfs v4 support.
19064
19065 * Makefile.util.def (libgrubmods.a): Add squash4.
19066 * grub-core/Makefile.core.def (squash4): New module.
19067 * grub-core/fs/squash4.c: New file.
19068 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19069 disk_input_start, disk_input.
19070 (get_byte): Handle disk_input.
19071 (grub_zlib_disk_read): New function.
19072 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19073
19074 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19075 2011-05-15 Feiran Zheng <famcool@gmail.com>
19076
19077 * Makefile.util.def (libgrubmods.a): Add minix3.
19078 * grub-core/Makefile.core.def (minix3): New module.
19079 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19080 (GRUB_MINIX_BSIZE): Removed.
19081 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19082 (grub_minix_ino_t): New type.
19083 (grub_minix_le_to_cpu_ino): New macro.
19084 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19085 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19086 (grub_minix_data): New field block_size.
19087 (grub_minix_read_file): Handle 64-bit correctly.
19088 * grub-core/fs/minix3.c: New file.
19089
19090 2011-05-15 Tristan Gingold <gingold@free.fr>
19091 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19092 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 IA64 support.
19095
19096 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19097 * configure.ac: Add ia64-efi target.
19098 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19099 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19100 * gentpl.py: Add ia64_efi platform.
19101 Rename x86_efi to efi and Add ia64-efi. All users updated.
19102 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19103 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19104 Remove kern/generic/rtc_get_time_ms.c on EFI.
19105 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19106 kern/ia64/dl_helper.c on ia64-efi.
19107 Add kern/emu/cache.c on emu.
19108 (linux): Use on loader/ia64/efi/linux.c on ia64.
19109 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19110 whether symbol is a function.
19111 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19112 (grub_symbol): New field 'isfunc'.
19113 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19114 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19115 (grub_dl_load_segments): Place all sections into the same region.
19116 [__ia64__]: Create trampolines and got.
19117 [GRUB_MACHINE_EMU]: Call mprotect.
19118 (grub_dl_resolve_symbols): Resolve symbol type as well.
19119 [__ia64__]: Create function descriptors.
19120 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19121 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19122 (grub_get_rtc): New function.
19123 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19124 * grub-core/kern/emu/cache.S: Renamed to ...
19125 * grub-core/kern/emu/cache_s.S: ... this.
19126 [__ia64__]: Add a nop.
19127 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19128 [__ia64__]: New function.
19129 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19130 * grub-core/kern/ia64/dl.c: New file.
19131 * grub-core/kern/ia64/dl_helper.c: Likewise.
19132 * grub-core/kern/ia64/efi/init.c: New file.
19133 * grub-core/kern/ia64/efi/startup.S: Likewise.
19134 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19135 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19136 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19137 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19138 * grub-core/loader/ia64/efi/linux.c: New file.
19139 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19140 (GRUB_MOD_DEP): Likewise.
19141 (grub_dl) [__ia64__]: New fields got and tramp.
19142 (grub_dl): New field 'base'.
19143 (grub_dl_register_symbol): New argument isfunc. All users updated.
19144 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19145 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19146 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19147 (grub_ia64_dl_get_tramp_got_size): New proto.
19148 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19149 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19150 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19151 * include/grub/efi/api.h: Skip call wrappers on ia64.
19152 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19153 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19154 * include/grub/elf.h (ELF_ST_INFO): New definition.
19155 * include/grub/ia64/efi/kernel.h: New file.
19156 * include/grub/ia64/efi/memory.h: Likewise.
19157 * include/grub/ia64/efi/time.h: Likewise.
19158 * include/grub/ia64/kernel.h: Likewise.
19159 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19160 * include/grub/ia64/time.h: New file.
19161 * include/grub/ia64/types.h: Likewise.
19162 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19163 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19164 New protos.
19165 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19166 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19167 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19168 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19169 All users updated.
19170 (EFI64_HEADER_SIZE): New definition. All users updated.
19171 (image_targets): Add ia64-efi.
19172 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19173 jumpers_addr. All users updated.
19174 Create function descriptors.
19175 (count_funcs): New function.
19176 (unaligned_uint32): New struct.
19177 (MASK20): New definition.
19178 (MASK19): Likewise.
19179 (MASKF21): Likewise.
19180 (add_value_to_slot_20b): New function.
19181 (add_value_to_slot_21_real): Likewise.
19182 (add_value_to_slot_21): Likewise.
19183 (ia64_kernel_trampoline): New struct.
19184 (nopm): New variable.
19185 (jump): Likewise.
19186 (make_trampoline): New function.
19187 (relocate_addresses): Handle ia64.
19188 (make_reloc_section): Likewise.
19189 (load_image): Likewise.
19190
19191 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19194 warning. Move variables before code while on it.
19195
19196 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 Fuloong support.
19199
19200 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19201 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19202 * grub-core/boot/mips/loongson/fuloong.S: New file.
19203 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19204 Explicitly init CS5536.
19205 [FULOONG]: Don't use serial until CS5536 is available.
19206 Set GPIO based on dumps.
19207 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19208 [FULOONG]: Handle GPIO and memory controller differences.
19209 Parse machine type in $a2.
19210 * grub-core/boot/mips/startup_raw.S: Determine and save the
19211 architecture.
19212 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19213 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19214 init on architecture type.
19215 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19216 SIS315E. Don't init at_keyboard on fuloong.
19217 (grub_halt): Support Fuloong.
19218 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19219 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19220 (loongson_machtypes): New array.
19221 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19222 type.
19223 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19224 config. All users updated. Handle CS5536 serial.
19225 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19226 default port on machine type. Register serial as inactive.
19227 * grub-core/video/sis315pro.c: New file.
19228 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19229 definition.
19230 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19231 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19232 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19233 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19234 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19235 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19236 to ...
19237 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19238 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19239 definition.
19240 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19241 (grub_arch_machine): New extern var.
19242 * include/grub/mips/loongson/serial.h
19243 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19244 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19245 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19246 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19247 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19248 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19249 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19250 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19251 * include/grub/term.h (grub_term_register_input_inactive): New inline
19252 function.
19253 (grub_term_register_output_inactive): Likewise.
19254 * include/grub/video.h (grub_video_driver_id): New value
19255 GRUB_VIDEO_DRIVER_SIS315PRO.
19256 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19257 New field "names". All users updated.
19258 New field value IMAGE_FULOONG_FLASH.
19259 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19260
19261 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19262
19263 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19264 and add some clarification.
19265
19266 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19269 platforms if kernel is compressed.
19270
19271 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19274 unused modules since currently referrence counter isn't reliable and
19275 there isn't much memory to recover there anyway.
19276
19277 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19280 rather than resetting it to allow modules to reference themselves
19281 in init.
19282
19283 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19286 counter on dependencies since grub_dl_unref already handles this.
19287
19288 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19291 on error if not already done.
19292
19293 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 Fix few potential memory misusage.
19296
19297 * grub-core/font/font.c (load_font_index): Don't free char_index to
19298 avoid double free.
19299 (grub_font_load): Zero-fill font at alloc for safety.
19300 Close file on error.
19301 (free_font): Free bmp_idx.
19302
19303 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * docs/grub.texi (Installation): Fix several outdated claims.
19306
19307 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19308
19309 Handle module_license on windows.
19310
19311 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19312 sections shifted.
19313 (insert_string): Make argument const char * instead of char *.
19314 (write_section_data): Handle long section names.
19315 Handle module_license.
19316
19317 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19320 handle class-free menuentries.
19321 (grub_normal_add_menu_entry): Add a check to be sure.
19322
19323 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19326 PgUp and PgDown.
19327
19328 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * configure.ac: Bump version to 1.99.
19331
19332 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 Give ATA device a bit more time on first try in order to allow disks
19335 to spin up.
19336
19337 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19338 if dev->present is 1. Reset dev->present on failure.
19339 (grub_ata_device_initialize): Set dev->present to 1.
19340 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19341 (grub_ata_device): New member 'present'.
19342
19343 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * util/grub-mkimage.c (generate_image): Update hash.
19346
19347 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Flush caches on DMA memory.
19350
19351 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19352 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19353 (grub_dma_free): Likewise.
19354 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19355
19356 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19359 to avoid asm treating ld and sd as macros.
19360
19361 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19364 decompressor.
19365
19366 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19369 grub_decompress_core since later would fail if grub_decompress_core
19370 is too far.
19371
19372 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19375 R_MIPS_JALR since it's used by newer compiler.
19376
19377 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19380
19381 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19384 file_path to 0 for surety.
19385 (grub_chainloader_boot): Set exit_data to NULL.
19386 Unset the loader once done.
19387 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19388
19389 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19392 unknown key into a dprintf.
19393
19394 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19397 on first non-existant partition.
19398
19399 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19402 openning fails.
19403 Reported by: Mark Korenberg.
19404
19405 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19408 overflow.
19409
19410 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19413 before closing to ensure that it will be readable by grub-setup.
19414
19415 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19418 (devpath_1): Use MAKE_PIWG_PATH.
19419 (devpath_2): Likewise.
19420 (devpath_3): Likewise.
19421 (devpath_4): Likewise.
19422 (devpath_5): Likewise.
19423 (devpath_6): Likewise.
19424
19425 The appleldr.mod was checked that to be binary identical to previous
19426 version.
19427
19428 2011-05-05 Zach <mikezackles>
19429
19430 Support 2010 Macbooks.
19431
19432 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19433 (devs): Add devpath_6.
19434
19435 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19438 /dev/random. /dev/urandom is good enough for our purposes (salting).
19439
19440 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19443
19444 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19447 hexadecimal.
19448
19449 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19452 and not 0 on failure.
19453
19454 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19457 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19458 disk; otherwise grub_fs_probe will not fall back to the next
19459 filesystem.
19460 (grub_pxefs_open): Likewise, for consistency.
19461 Reported and tested by: Ezekiel Grave.
19462
19463 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
19464
19465 * tests/partmap_test.in: Don't hardcode path to parted.
19466 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19467
19468 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
19469
19470 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19471 of `ls' to find out which devices are available.
19472
19473 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19476 than source address for efi mmap buffer.
19477
19478 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19481 wrong action on non-detecting the magic.
19482
19483 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19486 already supplied by another part of the module (fixes compilation on
19487 FreeBSD).
19488
19489 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19492 match the one used by mdadm.
19493
19494 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
19495
19496 * po/README: Add instructions for creating po/LINGUAS.
19497
19498 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
19499
19500 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19501 #551428.
19502
19503 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19504 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19505 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19506 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19507 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19508 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19509 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19510 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19511 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19512 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19513 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19514 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19515 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19516 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19517 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19518 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19519 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19520 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19521 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19522 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19523 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19524 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19525
19526 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
19527
19528 * grub-core/kern/emu/getroot.c
19529 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19530 test that was incorrectly reintroduced in r3214.
19531 Reported by: Ian Dall. Fixes Savannah bug #33133.
19532
19533 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
19534
19535 Fix stack pointer handling in 16-bit relocator.
19536
19537 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19538 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19539 Fixes Ubuntu bug #683904.
19540
19541 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * configure.ac: Bump version to 1.99~rc2.
19544
19545 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19546
19547 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19548 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19549 * grub-core/lib/x86_64/setjmp.S: Likewise.
19550 * grub-core/lib/mips/setjmp.S: Likewise.
19551 * grub-core/lib/powerpc/setjmp.S: Likewise.
19552 * grub-core/lib/sparc64/setjmp.S: Likewise.
19553
19554 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19557 * grub-core/lib/efi/datetime.c: Likewise.
19558
19559 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19562 New function.
19563 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19564 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19565 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19566
19567 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19570 bitmap.
19571 (grub_gfxterm_term_init): Likewise.
19572
19573 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 Take into account the decorations the computing menu entry width.
19576
19577 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19578 (grub_gfxmenu_create_box): Register get_border_width.
19579 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19580 if available.
19581 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19582 get_border_width.
19583
19584 2011-04-18 Endres Puschner <code@e7p.de>
19585
19586 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19587 Don't skip first class.
19588
19589 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19592 chunks.
19593 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19594
19595 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 Complete 64-bit division support.
19598
19599 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19600 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19601 * include/grub/misc.h (grub_divmod64): Rename to ...
19602 (grub_divmod64_full): ... this.
19603 (grub_divmod64): New inline function.
19604
19605 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19608
19609 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19612 performing the necessary test.
19613
19614 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19617 (kfreebsd.elf): Likewise.
19618 (pc-chainloader.elf): Likewise.
19619 (ntldr.elf): Likewise.
19620
19621 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 Identify RAID by its UUID rather than (guessed) name.
19624
19625 * grub-core/disk/raid.c (ascii2hex): New function.
19626 (grub_raid_open): Accept mduuid/%s specification.
19627 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19628 (get_mdadm_uuid): ... this.
19629 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19630
19631 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19634 to negative size.
19635
19636 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
19637
19638 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19639 btrfs subvolume.
19640 * util/grub.d/20_linux_xen.in: Likewise.
19641
19642 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
19643
19644 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19645 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19646
19647 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19648 Build a list of relevant visible mounts using the mnt_id and
19649 parent_mnt_id fields, and then scan that list at the end.
19650
19651 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
19652
19653 * docs/grub.texi (normal): New section.
19654 (normal_exit): New section.
19655 (Embedded configuration): Add reference to normal.
19656 (GRUB only offers a rescue shell): Likewise.
19657 * docs/grub-dev.texi (Error Handling): Fix typo.
19658
19659 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
19660
19661 * NEWS: Drop obsolete entry about probe-only btrfs support.
19662
19663 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
19664
19665 * util/import_gcry.py: Fix typo.
19666
19667 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * NEWS: Add btrfs support.
19670
19671 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19672 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
19673
19674 BtrFS support. Written by me (Vladimir) with important bugfixes and
19675 even more important testing by Colin.
19676
19677 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19678 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19679 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19680 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19681 mem_input_off and mem_input. All users updated to accept in-RAM input.
19682 (gzio_seek): New function.
19683 (test_zlib_header): Likewise.
19684 (grub_gzio_read): Likewise.
19685 (grub_zlib_decompress): Likewise.
19686 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19687 Accept partial and non-virtual mounts.
19688 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19689 avoid receiving /dev/dm-X as device.
19690 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19691 Handle bind and partial mounts.
19692 * grub-core/lib/crc.c: New file.
19693 * include/grub/deflate.h: Likewise.
19694 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19695 proto.
19696 * include/grub/lib/crc.h: New file.
19697
19698 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 Implement automatic module license checking according to new GNU
19701 guidelines.
19702
19703 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19704 (grub_dl_load_core): Use grub_dl_check_license.
19705 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19706 (GRUB_MOD_LICENSE): Likewise.
19707 (GRUB_MOD_DUAL_LICENSE): Likewise.
19708 All modules updated.
19709
19710 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
19711
19712 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19713 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19714 loaders.
19715 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19716
19717 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19720
19721 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19724 failed.
19725
19726 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19729 parenthesis in the middle of the filename.
19730
19731 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19734 rather than trying to put initrd way too high.
19735 Reported by: Ryan Lortie <desrt@desrt.ca>
19736
19737 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19740 improperly removed string.
19741
19742 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19745 is_disk.
19746 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19747 (open_device) Likewise.
19748 (grub_util_biosdisk_close): Likewise.
19749 Reported by: Mark Korenberg.
19750
19751 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19752
19753 * util/grub-mkconfig_lib.in: Add missing quotes.
19754
19755 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
19756
19757 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19758 is NULL.
19759
19760 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 Dynamically count the number of lines for the lower banner.
19763
19764 * grub-core/normal/menu_entry.c (per_term_screen): New member
19765 num_entries.
19766 (print_down): Use num_entries.
19767 (update_screen): Likewise.
19768 (grub_menu_entry_run): Set num_entries.
19769 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19770 num_entries.
19771 (grub_print_message_indented): Move real part to ...
19772 (grub_print_message_indented_real): ... here. Additional argument
19773 dry_run.
19774 (draw_border): Additional argument num_entries.
19775 (print_message): Additional argument dry_run.
19776 (print_entries): Receive menu viewer data.
19777 (grub_menu_init_page): New argment num_entries.
19778 (menu_text_set_chosen_entry): Use num_entries.
19779 (grub_menu_try_text): Likewise.
19780 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19781 All users updated.
19782 (grub_ucs4_count_lines): New function.
19783 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19784 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19785 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19786 (grub_term_border_height): Likewise.
19787 (grub_term_num_entries): Likewise.
19788
19789 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19792 Remove now unused string.
19793
19794 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
19795
19796 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19797 build system.
19798 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19799
19800 (Comment): Fix typo.
19801 (Getting started): General copy-editing.
19802 (Typical Development Experience): Likewise.
19803 (Error Handling): Likewise.
19804 (Video API): Likewise.
19805
19806 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
19807
19808 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19809 throughout.
19810
19811 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19814 directory.
19815
19816 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19819 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19820 "development".
19821
19822 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19825 grub_strcpy since the lines aren't necessarily 0-terminated.
19826
19827 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19830 root on legacy.
19831
19832 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19835 (GRUB_MOD_INIT): DEVICE isn't optional.
19836
19837 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19840 word on new line if it's too long anyway. Fixes a hang.
19841
19842 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19843
19844 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19845 const.
19846 * util/grub-setup.c (main): Reuse md device name if available.
19847 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19848 not GRUB name as argument.
19849 Based on patch by: Florian Wagner <fwagner>.
19850
19851 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19854 Place mbi on low memory for better compatibility.
19855
19856 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19859
19860 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19861 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
19862
19863 * autogen.sh: Ensure that collate and ctype locale is C.
19864 * conf/Makefile.common: Likewise.
19865
19866 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 * grub-core/normal/menu.c: Add missing include.
19869
19870 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
19873
19874 2011-04-08 Martin Zuther <mzuther@mzuther.de>
19875
19876 * util/grub-mkconfig.in: Ignore emacsen backup.
19877
19878 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19881 on open.
19882 (grub_util_biosdisk_close): Likewise.
19883
19884 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19887 const attribute and use grub_isdigit.
19888
19889 2011-04-06 Andrey <dev_null@ukr.net>
19890
19891 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19892 gcc warning.
19893
19894 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19897 useful grub_dprintf's.
19898
19899 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19902
19903 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19906
19907 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 Output errors if theme loading failed.
19910
19911 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19912 grub_gfxterm_fullscreen on error paths to ...
19913 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19914 theme loading error.
19915
19916 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19919 space for older compilers.
19920 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19921
19922 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19925 and report them as not RAID members since they are useless for GRUB.
19926 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19927
19928 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 Increase LVM implementation robustness in order not to crash on
19931 configurations like pvmove. Previously code assumed that in some places
19932 only lvs or only pvs are used whereas it seems that they are used
19933 interchangeably.
19934
19935 * grub-core/disk/lvm.c (read_node): New function.
19936 (read_lv): Use read_node.
19937 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19938 Match volumes only at the end when all lvs are found. Take both
19939 pvs (first) and lvs (second) into account.
19940 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19941 mirror_* into node_*. All users updated.
19942 (grub_lvm_stripe): Merge this ...
19943 (grub_lvm_mirror): ... and this ...
19944 (grub_lvm_node): ... into this. All users updated.
19945
19946 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19949 of function to allow further scanning for LVMs.
19950
19951 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19954 on failed seek as it breaks open fd reusage.
19955
19956 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * util/grub-install.in: Add a recommendation to use --recheck before
19959 reporting bugs.
19960
19961 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19964 are obtained.
19965
19966 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 GRUB developper manual based on existing Internals section and
19969 contributions by the various authors with active copyright assignment.
19970
19971 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19972 * docs/font_char_metrics.png: New file.
19973 * docs/font_char_metrics.txt: Likewise.
19974 * docs/grub-dev.texi: Likewise.
19975 * docs/grub.texi (Internals): Move from here ...
19976 * docs/grub-dev.texi: ... here.
19977
19978 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
19979
19980 Store the loopback device as data on loopback grub_disk structures,
19981 rather than the file it points to. This fixes use of freed memory
19982 if an existing loopback device is replaced.
19983
19984 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19985 disk->data, not dev->file.
19986 (grub_loopback_read): Adjust file assignment to match.
19987 Fixes Ubuntu bug #742967.
19988
19989 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
19990
19991 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19992 when replacing an existing device.
19993
19994 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19997 memory corruptions.
19998
19999 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20000 unsigned.
20001 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20002 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20003 (grub_jfs_read_inode): Likewise.
20004 (grub_jfs_opendir): Likewise. Remove now useless casts.
20005 (grub_jfs_getent): Likewise.
20006 Make ino a grub_uint32_t rather than int.
20007 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20008 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20009 division and module with bit operations.
20010 (grub_jfs_find_file): Make ino a grub_uint32_t.
20011 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20012
20013 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20014
20015 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20016 warning. (This was in fact always initialised before use, but GCC
20017 wasn't smart enough to prove that.)
20018 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20019
20020 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20023 stack alignment.
20024 (efi_wrap_1): Likewise.
20025 (efi_wrap_2): Likewise.
20026 (efi_wrap_3): Likewise.
20027 (efi_wrap_4): Likewise.
20028 (efi_wrap_5): Likewise.
20029 (efi_wrap_6): Likewise.
20030 (efi_wrap_10): Likewise.
20031 Based on information by: Red Hat/Peter Jones.
20032
20033 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20036 set-but-not-used variable.
20037
20038 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20039
20040 * docs/grub.texi (Simple configuration): Be more explicit about
20041 GRUB_DEFAULT, and add an example.
20042 Reported by: Leslie Rhorer.
20043
20044 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20045
20046 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20047 shell".
20048
20049 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20050
20051 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20052 * util/grub.d/20_linux_xen.in: Likewise.
20053
20054 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * util/grub.d/10_linux.in: Try alternative config filenames where
20057 we parse config file.
20058 * util/grub.d/20_linux_xen.in: Likewise.
20059
20060 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20061
20062 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20063 * util/grub.d/20_linux_xen.in: Likewise.
20064
20065 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 * grub-core/disk/raid.c (insert_array): Add few potentially
20068 useful grub_util_info.
20069 (grub_raid_register): Likewise.
20070
20071 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20072
20073 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20074 Preserve partition number in mdadm code path.
20075
20076 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20079 few potentially useful grub_util_info.
20080
20081 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20084
20085 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20086
20087 * docs/grub.texi (default): Use @example rather than nested
20088 itemized lists to avoid breaking gendocs.
20089
20090 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20091
20092 * docs/grub.texi (Future): Update.
20093
20094 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20095
20096 * docs/grub.texi (Environment): New chapter.
20097 (Changes from GRUB Legacy): Link to "Environment block" section for
20098 details of limitations.
20099 (Simple configuration): Likewise. Link to documentation of gfxmode
20100 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20101 respectively.
20102 (Shell-like scripting): Note that normal variables are stored in the
20103 environment.
20104 (gettext): Link to documentation of lang and locale_dir.
20105 (list_env): New section.
20106 (load_env): New section.
20107 (save_env): New section.
20108
20109 (Reporting bugs): Fix typo.
20110
20111 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20114 the example.
20115
20116 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/term/at_keyboard.c (set_scancodes)
20119 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20120
20121 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20122
20123 * docs/grub.texi (Menu-specific commands): Remove some semantics
20124 that were true in GRUB Legacy but not in GRUB 2.
20125 (submenu): New section.
20126 (false): New section.
20127 (read): New section.
20128 (true): New section.
20129
20130 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20131
20132 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20133
20134 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20135
20136 * docs/grub.texi (Simple configuration): Explain some of the
20137 current limitations of grub-mkconfig.
20138 Reported by: Leslie Rhorer.
20139
20140 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 Old macs search for boot.efi rather than for bootia32.efi.
20143
20144 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20145 * util/grub-mkrescue.in: Likewise.
20146 Suggested by: Peter Jones.
20147
20148 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20151
20152 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20155 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20156 (grub_lvm_mirror): New struct.
20157 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20158 (grub_lvm_iterate): Iterate only visible volumes.
20159 (grub_lvm_read): Factor out to ..
20160 (read_lv): ... this. Support mirrors.
20161 (grub_lvm_read): New wrapper function.
20162 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20163 stripped or mirrored.
20164
20165 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20168
20169 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20170
20171 * docs/grub.texi (loopback): New section.
20172
20173 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20174
20175 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20176 removed -p option.
20177
20178 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * docs/grub.texi (BIOS installation): New section, partly based on
20181 previous text in other sections.
20182 (Installing GRUB using grub-install): Replace BIOS discussion with a
20183 cross-reference.
20184 (Images): Likewise.
20185
20186 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20187
20188 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20189 [HAVE_DIOCGDINFO]: Add safety checks.
20190
20191 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20194 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20195
20196 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20197
20198 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20199 real_sb->size is zero (e.g. RAID-0), get the disk size from
20200 real_sb->data_size instead.
20201 Fixes Ubuntu bug #743136.
20202
20203 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20206 printf clauses for printing size and start.
20207
20208 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20211 Reported and tested by: Timothy Nikkel.
20212
20213 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20216 (dirty_region_add_real): ... this.
20217 (dirty_region_add): Don't discard margin refresh when performing
20218 scheduled repaint.
20219
20220 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * grub-core/lib/relocator.c (allocate_regstart)
20223 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20224 terminals are capabple of malloc-free operation.
20225 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20226 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20227
20228 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20229
20230 * util/grub-setup.c: Copy the partition table zone if floppy support
20231 is disabled, even if no partition table is found.
20232
20233 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20234 during POST if an invalid partition table is contained in the PBR
20235 of the active partition when GRUB is installed to a partition.
20236
20237 2011-03-28 Colin Watson <cjwatson@debian.org>
20238
20239 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20240 comment.
20241
20242 2011-03-28 Colin Watson <cjwatson@debian.org>
20243
20244 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20245 to be specific about what kind of RAID device we're scanning for.
20246
20247 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20248
20249 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20250 return freed string.
20251
20252 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20255
20256 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 Use libgeom on FreeBSD to detect partitions.
20259
20260 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20261 (grub-mkrelpath): Likewise.
20262 (grub-script-check): Likewise.
20263 (grub-editenv): Likewise.
20264 (grub-mkpasswd-pbkdf2): Likewise.
20265 (grub-fstest): Likewise.
20266 (grub-mkfont): Likewise.
20267 (grub-mkdevicemap): Likewise.
20268 (grub-probe): Likewise.
20269 (grub-setup): Likewise.
20270 (grub-ofpathname): Likewise.
20271 (grub-mklayout): Likewise.
20272 (example_unit_test): Likewise.
20273 (grub-menulst2cfg): Likewise.
20274 * grub-core/Makefile.core.def (grub-emu): Likewise.
20275 (grub-emu-lite): Likewise.
20276 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20277 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20278 define HAVE_DIOCGDINFO.
20279 (follow_geom_up) [FreeBSD]: New function.
20280 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20281 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20282 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20283 unconditionally of HAVE_DIOCGDINFO.
20284
20285 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 Fix FreeBSD compilation problem.
20288
20289 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20290 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20291
20292 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
20293
20294 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20295 Switch back to page zero before loading a kernel, since some kernel
20296 drivers expect that.
20297 Thanks to: Felix Kuehling.
20298
20299 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20302 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20303 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20304
20305 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20308 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20309
20310 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20313 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20314 malloc is disabled.
20315
20316 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20319 for modules headers when counting the needed allocation size.
20320
20321 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20324 if no ASCII character is found to prevent crash.
20325
20326 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20327
20328 * grub-core/video/bitmap.c (match_extension): Ignore case.
20329
20330 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20333
20334 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * grub-core/script/parser.y: Declare "time" as valid argument.
20337
20338 2011-03-23 Peter Jones <pjones@redhat.com>
20339
20340 Fix incorrect assert failure reporting.
20341
20342 * grub-core/tests/example_functional_test.c (example_test): Add
20343 a failure comment.
20344 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20345 (failure_start): ...this. Check that malloc succeeded.
20346 Don't call xvasprintf. Return failure struct.
20347 (failure_append_vtext): New function.
20348 (failure_append_text): Likewise.
20349 (add_failure): Likewise.
20350 (grub_test_assert_helper): Likewise.
20351 * include/grub/test.h (grub_test_assert_helper): New declaration.
20352 (grub_test_assert): Macro rewritten.
20353
20354 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20357
20358 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20361
20362 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20365 into GRUB-style one.
20366
20367 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20370 error and not grub_errno.
20371 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20372
20373 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20376 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20377
20378 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * grub-core/efiemu/i386/pc/cfgtables.c
20381 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20382 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20383 (grub_xnu_unlock): Likewise.
20384 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20385
20386 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20389 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20390 * grub-core/commands/hashsum.c (aliases): Likewise.
20391 * grub-core/commands/setpci.c (pci_registers): Likewise.
20392 * grub-core/disk/usbms.c (attach_hook): Likewise.
20393 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20394 (zio_checksum_table): Likewise.
20395 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20396 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20397 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20398 * grub-core/lib/relocator.c (leftovers): Likewise.
20399 (extra_blocks): Likewise.
20400 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20401 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20402 (modules_last): Likewise.
20403 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20404 (devices): Likewise.
20405 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20406 (modules_last): Likewise.
20407 * grub-core/normal/auth.c (users): Likewise.
20408 * grub-core/normal/context.c (initial_menu): Likewise.
20409 (current_menu): Likewise.
20410 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20411 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20412 (grub_serial_terminfo_input_template): Likewise.
20413 (grub_serial_terminfo_output_template): Likewise.
20414 (grub_serial_terminfo_input): Likewise.
20415 (grub_serial_terminfo_output): Likewise.
20416 (registered): Likewise.
20417 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20418
20419 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20422 grub_video_mode_type_t.
20423 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20424 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20425 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20426
20427 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * util/grub-install.in: Correct the x86-64 name as x86_64.
20430
20431 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
20432
20433 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20434 initial chunk read from the kernel always includes GRUB's multiboot
20435 header, which is now outside the first sector.
20436
20437 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
20438
20439 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20440 cached mmap_size, so that this works correctly when called multiple
20441 times.
20442 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20443
20444 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
20445
20446 * docs/grub.texi (Simple configuration): Tidy up formatting.
20447
20448 2011-03-07 Szymon Janc <szymon@janc.net.pl>
20449
20450 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20451 Set-but-not-used variable removed.
20452
20453 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 Workaround yet another IEEE1275 bug.
20456
20457 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20458 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20459 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20460 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20461 is set.
20462 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20463 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20464
20465 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20468 error.
20469
20470 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
20471
20472 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20473 empty, since in that case we can only generate either nothing or a
20474 syntactically invalid configuration file.
20475 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20476
20477 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
20478
20479 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20480 (Making a GRUB bootable CD-ROM): Likewise.
20481 (Invoking grub-mkrescue): New section.
20482 Reported by: Yann Dirson. Fixes Debian bug #612585.
20483
20484 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
20485
20486 * util/grub-install.in: Remove unnecessary brackets from tr
20487 arguments.
20488 * util/grub.d/10_hurd.in: Likewise.
20489 * util/grub.d/10_kfreebsd.in: Likewise.
20490 * util/grub.d/10_linux.in: Likewise.
20491 * util/grub.d/20_linux_xen.in: Likewise.
20492 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20493
20494 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
20495
20496 * include/grub/file.h (not_easly_seekable): Rename to ...
20497 (not_easily_seekable): ... this. Update all users.
20498
20499 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
20500
20501 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20502 grub-mkrescue.
20503
20504 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * util/grub-mkimage.c (generate_image): Refuse to create the images
20507 bigger than the actual flash (512K) in Loongson machines. 512K is also
20508 the biggest chip supported by them.
20509
20510 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20511
20512 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20513
20514 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
20515
20516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20517 super_offset field.
20518
20519 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * util/grub-install.in: Ignore install device on platforms
20522 where it doesn't make sense. Always use UUIDs except on pc, efi and
20523 sparc64.
20524 Reported by: Daniel Kahn Gillmor.
20525
20526 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20529
20530 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20533 (iterate_real): Don't rely on partition being non-NULL.
20534
20535 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20538 supported platforms. Put a compile time assert for this rather than
20539 generate a warning with 32-bit shift.
20540
20541 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20544 logical expression more readable.
20545
20546 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20549 even if some elements have a name.
20550 Reported by: Alexander GQ Gerasiov.
20551
20552 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
20553
20554 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20555 path unreadable if `grub-probe -t abstraction' fails, for example if
20556 memberlist fails on an LVM volume group.
20557 Reported by: Darius Jahandarie.
20558
20559 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
20560
20561 * docs/grub.texi (Simple configuration): Document
20562 GRUB_PRELOAD_MODULES.
20563
20564 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
20565
20566 * .bzrignore: Remove nonexistent grub-pbkdf2.
20567
20568 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * configure.ac: Bump version to 1.99~rc1.
20571
20572 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20575 for safety.
20576
20577 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20580 module.
20581
20582 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20585
20586 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20589 diskdevid.
20590
20591 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 Fix compilation on cygwin.
20594
20595 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20596 -R .drectve on cygwin.
20597 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20598 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20599 (COND_CYGWIN): New condition.
20600 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20601 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20602 not @TARGET_OBJ2ELF@.
20603 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20604 type to determine whether aux is to be used.
20605
20606 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20609 realpath'ed device string.
20610 Handle floppy (somewhat).
20611 Issue error in unknown case rather than garbage.
20612 Reported by: Axel Beckert.
20613
20614 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * util/grub.d/00_header.in (load_video): Handle the case when no video
20617 drivers available.
20618 Thanks to: Axel Beckert.
20619
20620 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20621
20622 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20623 variable. Fixes problem on big endian platforms.
20624
20625 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20628 It doesn't work well there.
20629
20630 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20633 warning.
20634 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20635 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20636 counter.
20637
20638 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 Use alias->path rather than buggy "canon".
20641
20642 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20643 (ofdisk_hash_add): New argument curcan. All users updated.
20644
20645 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
20646
20647 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20648
20649 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20652 loadmask before doing any calculations. Use correct type for offset.
20653 (grub_linux_load64): Likewise.
20654
20655 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
20656
20657 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20658 with NULL.
20659 (console_grub_equivalences_unshift): Likewise.
20660 Reported by: Daniel Dehennin.
20661
20662 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20665 (set_env_limn_ro): Likewise.
20666 (GRUB_MOD_INIT): Likewise.
20667 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20668 ARRAY_SIZE while on it.
20669 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20670 * grub-core/normal/context.c (grub_env_export): Move from here ...
20671 * grub-core/kern/env.c (grub_env_export): ... here.
20672 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20673 prefix.
20674 * grub-core/kern/main.c (grub_main): Export root and prefix.
20675 * include/grub/env.h (grub_env_export): Export.
20676 Reported by: Seth Goldberg.
20677
20678 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20681 Take into account space used by ELF sections and multiboot palette.
20682 Reported by: Grégoire Sutre.
20683
20684 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20685
20686 * BUGS: New file.
20687
20688 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 Pass more appropriate video id to Linux.
20691
20692 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20693 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20694 fill have_vga.
20695 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20696 shift params->lfb_size.
20697 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20698
20699 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20700
20701 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20702
20703 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20706 separator and pass bootpath/devid even if only one of them is available.
20707 Reported by: Seth Goldberg.
20708
20709 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20712 implementations bug on them.
20713
20714 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20715 memory.
20716 (filter_memory_map): Likewise.
20717
20718 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20721 Reported by: nebuchadnezzar.
20722
20723 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20724
20725 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20726 Reported by: nebuchadnezzar.
20727
20728 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 Submenu default support.
20731
20732 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20733 auto_boot. All users updated.
20734 Declared static.
20735 Handle chosen and default with submenus.
20736 (grub_menu_execute_with_fallback): Declared static.
20737 Don't notify failure if autobooted. Upper level does it.
20738 (menuentry_eq): New function.
20739 (get_entry_number): Use menuentry_eq.
20740 (show_menu): New parameter "autobooted". All users updated.
20741 (grub_show_menu): Likewise.
20742 * include/grub/normal.h (grub_show_menu): Likewise.
20743 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20744 (grub_menu_execute_with_fallback): Likewise.
20745
20746 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * util/grub-mklayout.c (usage): Update help text.
20749
20750 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20753
20754 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * util/grub-menulst2cfg.c (main): Trim the line.
20757
20758 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20761 (grub_machine_init): Don't check amount of low memory as reportedly
20762 INT 12h can be broken and if low memory is too low we wouldn't have
20763 gotten into grub_machine_init anyway.
20764
20765 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20768 (grub_machine_mmap_iterate): Take low memory into account
20769
20770 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20773 badfs.
20774 Reported by: TiCPU.
20775
20776 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20779 members errors.
20780
20781 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20782
20783 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20784 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20785
20786 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20787
20788 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20789 openbsd and netbsd types being in part_bsd module.
20790
20791 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20792
20793 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20794 (_FILE_OFFSET_BITS): Likewise.
20795 Reported by: Seth Goldberg.
20796
20797 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20798
20799 * configure.ac: Check for libdevmapper header.
20800
20801 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20804 avoid aliasing.
20805 (fzap_lookup): Likewise.
20806 (dnode_get): Likewise.
20807 (make_mdn): Likewise.
20808 (zfs_mount): Likewise.
20809 (fzap_iterate): Use temporary pointer to avoid aliasing.
20810 (grub_zfs_read): Likewise.
20811 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20812 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20813 pointers to avoid aliasing.
20814 (grub_cmd_xnu_kernel64): Likewise.
20815 (grub_xnu_load_driver): Likewise.
20816
20817 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20820 aliasing warning.
20821 (grub_cmd_terminal_output): Likewise.
20822 Reported and tested by: Grégoire Sutre.
20823
20824 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20827 warning.
20828 Reported and tested by: Grégoire Sutre.
20829
20830 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * configure.ac: Do CPU substitution even if it's specified explicitly.
20833 Reported and tested by: Alain Greppin.
20834
20835 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20838 Reported and tested by: Alain Greppin.
20839
20840 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 Satisfy some bison versions need for inttypes.h.
20843
20844 * grub-core/lib/posix_wrap/inttypes.h: New file.
20845 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20846 (int16_t): Likewise.
20847 (int32_t): Likewise.
20848 (int64_t): Likewise.
20849 Reported and tested by: Alain Greppin.
20850
20851 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20854 Silence spurious warning.
20855 Reported and tested by: Alain Greppin.
20856
20857 2011-01-07 Szymon Janc <szymon@janc.net.pl>
20858
20859 * docs/grub.texi (Support automatic decompression): Update with xz
20860 decompression support.
20861
20862 2011-01-07 Szymon Janc <szymon@janc.net.pl>
20863
20864 Improve loaders' kernel command line handling.
20865
20866 * grub-core/lib/cmdline.c: New file.
20867 * include/grub/lib/cmdline.h: Likewise.
20868 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20869 grub_create_loader_cmdline to create kernel command line.
20870 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20871 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20872 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20873 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20874 (linux): Add lib/cmdline.c on common.
20875
20876 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20877
20878 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20879 inopos might be unaligned.
20880
20881 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20882
20883 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20884 endian transformations.
20885 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20886 Based on report by: Doug Nazar.
20887
20888 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
20889
20890 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20891 array->members[i].start_sector.
20892 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20893
20894 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20897 Reported and tested by: Grégoire Sutre.
20898
20899 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
20900
20901 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20902 avoid causing test failures by clearing the screen.
20903
20904 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
20905
20906 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20907 Fix prefix check to handle the case where dir ends with a slash
20908 (most significantly, "/" itself).
20909 Reported by: Michael Vogt.
20910
20911 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 Run terminfo_cls on initing terminfo output to clear the screen and
20914 move the cursor to (0,0).
20915
20916 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20917 Call grub_terminfo_output_init.
20918 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20919 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20920 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20921
20922 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20923
20924 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20925 only when needed.
20926
20927 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20930 CTRL.
20931
20932 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20933
20934 The E820 type 5 is BADRAM, not EXEC_CODE.
20935
20936 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20937 (GRUB_E820_BADRAM): New define.
20938 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20939 into reserved. Propagate BADRAM.
20940 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20941 (GRUB_E820_BADRAM): New define.
20942
20943 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20946 Ignore the memory post-4G.
20947 (grub_relocator_firmware_alloc_region): Additional debug statement.
20948
20949 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20952 names.
20953 Reported by: David Pravec.
20954
20955 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20956
20957 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20958 BIOSes.
20959
20960 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20963 Prevent overflow.
20964 (grub_reed_solomon_recover): Likewise.
20965
20966 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20969
20970 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20971
20972 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20973 variable.
20974
20975 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
20976
20977 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20978 descriptions of extract_legacy_entries_source and
20979 extract_legacy_entries_configfile.
20980 Reported by: Seung Soo, Ha.
20981
20982 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
20983
20984 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20985 on devices that do not implement function 0.
20986
20987 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20988
20989 * grub-core/fs/hfsplus.c: Make parent unsigned.
20990 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20991 overflows.
20992 (grub_hfsplus_cmp_extkey): Likewise
20993
20994 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 * util/grub-install.in: Correctly use bootloader_id and not
20997 GRUB_DISTRIBUTOR on efibootmgr line.
20998
20999 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21002
21003 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21004
21005 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21006 Xen and reorder menu item wording to make it clearer that this entry
21007 will launch Xen. Print separate messages when loading Xen and
21008 Linux.
21009
21010 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21013 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21014 loop in case of incorrect amiga partmap.
21015
21016 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21019 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21020 Reported by:EHeM.
21021
21022 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21025 spurious warning.
21026 Reported by: crocket
21027
21028 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21029
21030 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21031 Preload EFIemu.
21032 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21033
21034 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21037 is loaded
21038 (grub_cmd_xnu_kextdir): Likewise.
21039 (grub_cmd_xnu_splash): Likewise.
21040
21041 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 Avoid using Reed-Solomon with 0 redundancy.
21044
21045 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21046 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21047 or 0 redundancy.
21048 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21049 (grub_reed_solomon_recover): Likewise.
21050
21051 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21052
21053 Don't use disk subsystem in freebsd_boot.
21054
21055 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21056 (freebsd_biosdev): Likewise.
21057 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21058 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21059
21060 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 Handling of files of unknown size is currently limited. They can't be
21063 used e.g. for initrd or modules. Moreover gzip handling of not
21064 easily seekable files is buggy. Disable unknown file size for now. May
21065 be inefficient but works.
21066
21067 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21068 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21069
21070 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21071
21072 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21073 floppy probe.
21074
21075 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21076
21077 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21078
21079 2010-12-25 Shea Levy <shlevy>
21080
21081 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21082
21083 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21086 Windows Server 2008.
21087 Reported by: Devin Giddings.
21088
21089 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21090
21091 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21092 writing an error message because of async power management.
21093 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21094 (grub_reboot): Likewise.
21095
21096 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21097
21098 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21099 keep unit tests from failing when they shouldn't.
21100
21101 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21102
21103 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21104 previous patch increased the size of the RS code by 20 bytes (at
21105 least with gcc-4.4), so increase this by 20 bytes to match.
21106 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21107
21108 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21109
21110 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21111 scratch area. Make sure to initialise chosen in standalone mode as
21112 well as non-standalone.
21113 Reported by: Robert Hooker and Andy Whitcroft.
21114 Tested by: Andy Whitcroft.
21115
21116 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21117
21118 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21119 constructing a new unescaped string and passing it to grub_xputs in
21120 one go, rather than passing characters to grub_printf one at a time.
21121
21122 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21123
21124 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21125 initialising utf16.
21126
21127 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21128
21129 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21130 comment. Add an extra layer of quotation, requiring the output of
21131 this function to be used in a printf format string.
21132 (gettext_printf): New function.
21133 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21134 Extract translatable strings from here-documents and use a temporary
21135 variable instead, so that xgettext can find them.
21136 * util/grub.d/10_kfreebsd.in: Likewise.
21137 * util/grub.d/10_linux.in: Likewise.
21138 * util/grub.d/20_linux_xen.in: Likewise.
21139
21140 * po/grub.d.sed: New file.
21141 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21142 arguments. Set c-format flags on all strings extracted from
21143 util/grub.d/ (xgettext refuses to include these itself for strings
21144 it extracted from a shell file, but these really are c-format).
21145
21146 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21149 Avoid next pointing to nowhere.
21150
21151 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21154 rather than assuming than rootblock is exactly in the middle.
21155 (grub_affs_label): Likewise.
21156
21157 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21160 reserved_first_sector to 0.
21161 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21162 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21163 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21164
21165 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 Fix handling of UTF-16 UDF labels.
21168
21169 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21170 (read_string): .. here.
21171 (grub_udf_label): Use read_string.
21172
21173 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21174
21175 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21176 editor under argument scope.
21177 Reported by: Jordan Uggla
21178
21179 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21182
21183 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21186 line, and other keys scroll an entire page (previous handling was
21187 for \r and \n to scroll a page and other keys to scroll two lines).
21188
21189 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21192 Set ptrdest to correct get_physical_target_address rather than
21193 incorrect get_virtual_current_address.
21194
21195 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21196
21197 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21198 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21199
21200 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21201
21202 * .bzrignore: Ignore grub-core/rs_decoder.S.
21203
21204 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21205
21206 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21207 .mo/.mo.gz opening sequence to ...
21208 (grub_mofile_open_lang): ... here.
21209 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21210 * util/grub.d/00_header.in (grub_lang): Include country part of
21211 locale.
21212 Reported by: Mario Limonciello.
21213
21214 2010-12-09 Robert Millan <rmh@gnu.org>
21215
21216 * NEWS: Document addition of ZFS support.
21217
21218 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
21219
21220 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21221 rather than `/ 2', as the latter requires -Wa,--divide which would
21222 require bumping our minimum binutils version.
21223
21224 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21225
21226 * util/grub-script-check.c (main): Print script line number on
21227 error.
21228
21229 2010-12-01 Robert Millan <rmh@gnu.org>
21230
21231 * grub-core/fs/zfs/zfs.c: New file.
21232 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21233 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21234 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21235 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21236
21237 * include/grub/zfs/dmu.h: Likewise.
21238 * include/grub/zfs/dmu_objset.h: Likewise.
21239 * include/grub/zfs/dnode.h: Likewise.
21240 * include/grub/zfs/dsl_dataset.h: Likewise.
21241 * include/grub/zfs/dsl_dir.h: Likewise.
21242 * include/grub/zfs/sa_impl.h: Likewise.
21243 * include/grub/zfs/spa.h: Likewise.
21244 * include/grub/zfs/uberblock_impl.h: Likewise.
21245 * include/grub/zfs/vdev_impl.h: Likewise.
21246 * include/grub/zfs/zap_impl.h: Likewise.
21247 * include/grub/zfs/zap_leaf.h: Likewise.
21248 * include/grub/zfs/zfs.h: Likewise.
21249 * include/grub/zfs/zfs_acl.h: Likewise.
21250 * include/grub/zfs/zfs_znode.h: Likewise.
21251 * include/grub/zfs/zil.h: Likewise.
21252 * include/grub/zfs/zio.h: Likewise.
21253 * include/grub/zfs/zio_checksum.h: Likewise.
21254
21255 * Makefile.util.def: Build ZFS into libgrubmods.
21256 * grub-core/Makefile.core.def: Build zfs.mod.
21257
21258 2010-11-30 Szymon Janc <szymon@janc.net.pl>
21259
21260 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21261 variable.
21262 * grub-core/commands/wildcard.c (match_files): Likewise.
21263
21264 2010-11-30 Robert Millan <rmh@gnu.org>
21265
21266 * grub-core/loader/i386/bsd.c
21267 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21268 whether kernel is loaded using grub_loader_is_loaded(), rather
21269 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21270 certain error conditions.
21271
21272 2010-11-30 Robert Millan <rmh@gnu.org>
21273
21274 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21275 (grub_cmd_echo): Call grub_refresh() after printing a message.
21276
21277 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 Avoid using tricks for initialising endian variables.
21280
21281 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21282 Make const.
21283 (GRUB_MOD_INIT): Don't byte-swap.
21284 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21285 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21286 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21287 (grub_swap_bytes32_compile_time): Likewise.
21288 (grub_cpu_to_le32_compile_time): Likewise.
21289 (grub_cpu_to_le16_compile_time): Likewise.
21290
21291 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * util/grub-setup.c (setup): Stop recommending --force. People who
21294 understand the dangers of blocklists are able to find this option
21295 anyway and the ones who don't shouldn't use it anyway.
21296
21297 2010-11-26 Robert Millan <rmh@gnu.org>
21298
21299 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21300 Update all users.
21301
21302 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
21303
21304 Fix LVM-on-RAID probing.
21305
21306 * util/grub-probe.c (probe): Remember which disk was detected as
21307 RAID (perhaps an LVM physical volume). Use that disk's raidname
21308 rather than that of the top-level disk.
21309
21310 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
21311
21312 Fix cmdline argument quotes for setparams command of menuentry
21313 definitions.
21314
21315 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21316 quotes for arguments.
21317 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
21318 grub_strchrsub function instead.
21319
21320 * include/grub/misc.h (grub_strchrsub): New function.
21321
21322 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21323
21324 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21325 effort by skipping "." and ".." entries up-front.
21326 Suggested by: Michael Lazarev.
21327
21328 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21329
21330 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21331 ldflags to ldadd, to fix link line ordering.
21332 (none_decompress): Likewise.
21333
21334 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21335
21336 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21337 platforms.
21338 (grub-emu-lite): Remove kern/emu/cache.S.
21339
21340 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * util/deviceiter.c (compare_devices): If the by-id link for a
21343 device couldn't be resolved, fall back to sorting by the by-id link
21344 rather than segfaulting.
21345 Reported and tested by: Daniel Mierswa.
21346
21347 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21348
21349 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21350 ldflags, to fix link line ordering.
21351
21352 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21353
21354 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21355 linkers are picky about this.
21356
21357 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21358
21359 * grub-core/Makefile.am (command.lst): Adjust sed expression
21360 ordering so that extended and priority commands aren't treated as
21361 ordinary commands.
21362
21363 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21364
21365 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21366 Remove byte-swapping function calls, which are not valid in
21367 structure initialisers.
21368 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21369 non-const.
21370 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21371 grub_gpt_partition_type_bios_boot.
21372
21373 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21374
21375 Fix test program build on GNU/kFreeBSD.
21376
21377 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21378 $(LIBNVPAIR)' library dependencies.
21379
21380 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21381
21382 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21383
21384 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21385
21386 * util/grub-install.in: Remove excessive quoting that broke
21387 installations to RAID devices.
21388
21389 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21392 bootloader version instead of 0.
21393
21394 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21397 warning.
21398
21399 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21402 retrieve the metadat sector if size isn't known.
21403 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21404
21405 2010-11-18 Robert Millan <rmh@gnu.org>
21406
21407 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21408 with grub_memcmp().
21409
21410 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21413 arrow.
21414 Reported by: Jordan Uggla.
21415
21416 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 Make better UTF compliant.
21419
21420 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21421 sequences as incorrect.
21422 (grub_is_valid_utf8): Likewise.
21423 (grub_utf8_to_ucs4): Likewise.
21424 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21425 (grub_ucs4_to_utf8_alloc): Likewise.
21426 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21427
21428 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 Make legacy_source behave like source.
21431
21432 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21433 grub_show_menu.
21434 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21435
21436 2010-11-16 Colin Watson <cjwatson@debian.org>
21437
21438 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21439 (-Wunused implies -Wunused-parameter, but not vice versa).
21440
21441 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
21442
21443 * configure.ac: Make error messages less confusing by testing for
21444 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21445 accepted, but produces a diagnostic if something else is wrong).
21446
21447 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21450 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21451 (now unused).
21452 (grub_keyboard_controller_init)
21453 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21454 read the initial state since controller isn't inited yet.
21455
21456 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21459 allocate_regbeg may need to create new chunk header.
21460
21461 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 Fix quoting in legacy parser.
21464
21465 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21466 single quotes.
21467 (grub_legacy_parse): Likewise.
21468 Reported by: Jordan Uggla.
21469 Tested by: Jordan Uggla.
21470
21471 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 Don't add -lgcc on i386 and x86_64.
21474
21475 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21476 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21477 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21478
21479 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 * configure.ac: Add -Wno-trampolines when supported.
21482
21483 2010-11-14 Modestas Vainius <modax@debian.org>
21484
21485 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21486 fakeraid.
21487
21488 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21489
21490 Add generic logical block size support for UDF.
21491
21492 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21493 (GRUB_UDF_BLKSZ): Removed.
21494 (struct grub_udf_data): New field "lbshift" to hold the logical block
21495 size of the file system in log2 format. All users updated.
21496 (sblocklist): Change type to unsigned.
21497 (grub_udf_mount): Change type of "sblklist" to unsigned.
21498 Move AVDP search before VRS recognition, because the latter requires
21499 knowledge of the logical block size, which is detected during the
21500 former.
21501 Detect and validate logical block size during AVDP search, adding
21502 support for block sizes 512, 1024 and 4096.
21503 Make VRS recognition independent of block size.
21504
21505 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21506
21507 Properly handle deleted files on UDF.
21508
21509 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21510 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21511 set.
21512
21513 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21514
21515 Support reading files larger than 2 GiB.
21516
21517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21518 "offset" to grub_off_t.
21519 (grub_udf_read_file): Likewise for parameter "pos".
21520
21521 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21524 unavailable.
21525 (Simple configuration): Refer to Changes from GRUB Legacy about
21526 save_env availability.
21527
21528 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * util/grub-install.in: Ignore empty partition table detection
21531 instead of trying to include part_ module.
21532
21533 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21536 LVM on RAID support.
21537
21538 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 Properly define WORDS_BIGENDIAN in wrapped environments.
21541
21542 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21543 definition.
21544 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21545
21546 Reported by: Manoel Rebelo Abranches.
21547 Tested by: Manoel Rebelo Abranches.
21548
21549 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 * util/grub-mkconfig.in: Fix quoting.
21552
21553 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 Support big ext2 files.
21556
21557 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21558 (grub_ext2_read_block): Support triple indirect blocks.
21559 (grub_ext2_read_file): Use 64-bit types and read size_high.
21560 (grub_ext2_open): Read size_high.
21561 Reported by: Ximin Luo.
21562 Tested by: Manoel Rebelo Abranches.
21563
21564 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 * util/grub-install.in: Handle filenames containing spaces.
21567 Reported by: Jordan Uggla.
21568 Tested by: Jordan Uggla.
21569
21570 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * util/grub-mkconfig.in (grub_script_check): New variable.
21573 Use grub_script_check instead of grub-script-check.
21574 Reported by: Barry Jackson.
21575
21576 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * docs/grub.texi (menu): Correct the order.
21579 Reported by: D. Hugh Redelmeier.
21580
21581 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21584 jump.
21585
21586 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21587
21588 * include/grub/elfload.h (grub_elf32_size): New parameter.
21589 All users updated.
21590 Return maximum segments alignment.
21591 (grub_elf64_size): Likewise.
21592 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21593 Return maximum segments alignment.
21594 (grub_elf64_size): Likewise.
21595 * grub-core/loader/powerpc/ieee1275/linux.c:
21596 (grub_linux_claimmap_iterate): New function. Uses the
21597 "available" property in the "memory" node for memory allocation
21598 for kernel in the PowerPC loader.
21599 (grub_linux_load32): Correctly find linux entry point offset.
21600 (grub_linux_load64): Likewise.
21601
21602 2010-11-07 Robert Millan <rmh@gnu.org>
21603
21604 On mips-yeeloong, build with -march=loongson2f when this flag is
21605 available (GCC >= 4.4).
21606 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21607 `-march=mips3'.
21608 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21609 or otherwise add -march=mips3.
21610
21611 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21612
21613 Suppress shell expansion on echo '*' and echo "*" like cases.
21614 Reported by: Jordan Uggla.
21615
21616 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21617 string arguments before shell expansion.
21618 * tests/grub_cmd_echo.in: New testcases.
21619
21620 2010-11-07 Robert Millan <rmh@gnu.org>
21621
21622 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21623 transition.
21624
21625 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * grub-core/kern/emu/hostdisk.c
21628 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21629
21630 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21633 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21634 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21635
21636 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21639
21640 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * util/grub-install.in: Replace useless recomendation to pass
21643 --modules with a recomendation to report a bug.
21644
21645 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 Properly register serial terminfo.
21648 Reported by: Jordan Uggla
21649
21650 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21651 const.
21652 (grub_serial_terminfo_output_template): Likewise.
21653 (grub_cmd_serial): Register "serial" with terminfo.
21654 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21655 grub_serial_terminfo_output.
21656
21657 2010-11-05 Robert Millan <rmh@gnu.org>
21658
21659 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21660 needed).
21661
21662 2010-11-05 Robert Millan <rmh@gnu.org>
21663
21664 On Yeeloong, pass machine type information to Linux.
21665
21666 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21667 (LOONGSON_MACHTYPE): New macro, set to
21668 "machtype=lemote-yeeloong-2f-8.9inches".
21669 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21670 additional argument to Linux.
21671
21672 2010-11-04 Robert Millan <rmh@gnu.org>
21673
21674 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21675 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21676 (its SATA disks are detected as slaveless IDE master drives on
21677 kFreeBSD).
21678 Reported by Carsten Aulbert.
21679
21680 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
21681
21682 * util/bin2h.c (main): Fix spelling error in generated output.
21683
21684 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21685
21686 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21687
21688 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21691 vga= option is supplied.
21692
21693 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21696 * util/grub.d/10_kfreebsd.in: Likewise.
21697 * util/grub.d/10_linux.in: Likewise.
21698 * util/grub.d/20_linux_xen.in: Likewise.
21699
21700 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21703 argument as an argument to no-argument option.
21704
21705 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21706
21707 * util/grub.d/10_linux.in: Add missing load_video with explicit
21708 GRUB_GFXPAYLOAD_LINUX.
21709
21710 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21713
21714 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21717 elements with invlid index.
21718 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21719 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21720 members.
21721 * include/grub/raid.h (grub_raid_member): New struct.
21722 (grub_raid_array): Transform devices and start_sector into usage of
21723 grub_raid_member. All users updated
21724 (allocated_devs): New member.
21725
21726 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21729 is modified
21730
21731 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21732
21733 NetBSD build fix for getline function conflict from gnulib.
21734
21735 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21736 components that depend on gnulib headers.
21737 (libgrubmods.a): Renamed from earlier libgrub.a.
21738 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21739
21740 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21743 install rather than creating a broken install.
21744
21745 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * util/grub-setup.c (argp): Remove misleading example of installing to
21748 a partition.
21749
21750 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21751
21752 * util/grub-setup.c (setup): Clarify the error message.
21753
21754 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21757
21758 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 * grub-core/kern/emu/misc.c
21761 (grub_make_system_path_relative_to_its_root)
21762 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21763
21764 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 * grub-core/kern/emu/misc.c
21767 (grub_make_system_path_relative_to_its_root): Revert r2882.
21768
21769 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21772 useless field head. All users updated.
21773 (free_subchunk): Correct handling of IN_REGION subchunk.
21774
21775 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
21776
21777 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21778 (Supported kernels): Likewise.
21779
21780 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21781
21782 Make mktemp invocations portable.
21783
21784 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21785 exit if mktemp fails.
21786 * tests/grub_script_blockarg.in: Likewise.
21787 * tests/partmap_test.in: Likewise.
21788 * tests/util/grub-shell-tester.in: Likewise.
21789 * tests/util/grub-shell.in: Likewise.
21790 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21791 * Makefile.am: Likewise, and chain shell commands with `&&'
21792 instead of ';'.
21793 * util/grub-mkrescue.in: Use the same explicit template as above, and
21794 exit if mktemp fails.
21795
21796 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21797
21798 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21799 Linux kernel, reported by Dennis Schridde.
21800
21801 2010-10-17 Szymon Janc <szymon@janc.net.pl>
21802
21803 * grub-core/normal/auth.c (grub_auth_check_authentication):
21804 Set-but-not-used variable removed.
21805
21806 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21809 32-bit linux protocol.
21810
21811 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21814 cursor shape for sanity.
21815
21816 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 * docs/grub.texi (Installation): Document buggy BIOS install.
21819
21820 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * docs/grub.texi (Installation): Indent.
21823
21824 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * util/grub-setup.c (setup): New parameter allow_floppy.
21827 (arguments): New member allow_floppy.
21828 (argp_parser): Handle --allow-floppy.
21829 (main): Pass allow_floppy.
21830 * util/grub-install.in: New option --allow-floppy passed though to
21831 grub-setup.
21832
21833 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * util/grub-install.in: Handle partitionless disks.
21836
21837 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 * util/grub-setup.c (setup): Don't clean blocklists before readability
21840 verfification.
21841
21842 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21843
21844 * docs/grub.texi (Installation): Document embedding zone. Remove
21845 obsolete grub-install example.
21846
21847 2010-10-16 Szymon Janc <szymon@janc.net.pl>
21848
21849 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21850 Set-but-not-used variable ifdef'ed.
21851 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21852 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21853 variable removed.
21854 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21855 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21856 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21857 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21858 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21859 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21860 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21861 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21862 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21863 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21864 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21865 Likewise.
21866
21867 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21870 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21871 enum value.
21872
21873 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21874
21875 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21876 synonym to _S5_. Needed for some DSDTs.
21877
21878 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21879
21880 Userspace ACPI parser debugging.
21881
21882 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21883 headers and add relevant defines. Don't include standard headers.
21884 (main) [GRUB_DSDT_TEST]: New function.
21885 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21886 Don't declare functions.
21887
21888 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 Remove dead grub_efi_mm_fini.
21891
21892 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21893 (ALLOCATED_PAGES_SIZE): Likewise.
21894 (MAX_ALLOCATED_PAGES): Likewise.
21895 (allocated_pages): Likewise.
21896 (grub_efi_allocate_pages): Don't record allocated pages.
21897 (grub_efi_free_pages): Likewise.
21898 (grub_efi_mm_init): Likewise.
21899 (grub_efi_mm_fini): Removed.
21900
21901 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21904 (grub_efi_mm_init): Take into account the memory map size increase.
21905
21906 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21909 (serial_hw_put): Wait based on real time rather than port reads. Don't
21910 roken ports.
21911 * include/grub/serial.h (grub_serial_port): New field broken.
21912
21913 2010-10-16 Robert Millan <rmh@gnu.org>
21914
21915 * grub-core/kern/emu/misc.c
21916 (grub_make_system_path_relative_to_its_root): Fix premature return
21917 when processing non-root ZFS filesystems.
21918 Reported by Sergio Talens-Oliag.
21919
21920 2010-10-15 Robert Millan <rmh@gnu.org>
21921
21922 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21923 guarantee compressed ones are processed first.
21924
21925 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21928 grub_efiemu_autocore.
21929
21930 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21933 rather than 0x1b.
21934 (grub_console_getkey): Use correct jae opcode rather than ja.
21935
21936 2010-10-12 Robert Millan <rmh@gnu.org>
21937
21938 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21939 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21940 variable. All references updated.
21941
21942 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21943
21944 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 Correctly distinguish mdraid flavours.
21947
21948 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21949 (insert_array): New argument raid.
21950 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21951 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21952 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21953
21954 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21957 handling of special keys.
21958
21959 2010-10-02 Aleš Nesrsta <starous@volny.cz>
21960
21961 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21962 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
21963
21964 2010-10-02 Aleš Nesrsta <starous@volny.cz>
21965
21966 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21967 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21968 users updated.
21969 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
21970 Use right endpoint when querying descriptor.
21971
21972 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 Clear out 0x80 color bit on EFI.
21975 Tested by: decoder
21976 Reported by: decoder and meta tech.
21977
21978 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21979 (grub_console_setcolorstate): Clear out 0x80 bit.
21980 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21981 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21982 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21983
21984 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21985
21986 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21987 Set to "auto".
21988
21989 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21992 mo_file after freeing.
21993
21994 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21997
21998 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21999
22000 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22001 flags.
22002
22003 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22006 usage.
22007
22008 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22011
22012 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22013 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22014 and terminfo.h when needed.
22015 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22016 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22017 (terminfo): Enable only on terminfokernel.
22018 (extcmd): Likewise.
22019 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22020 * include/grub/lib/arg.h: Likewise.
22021 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22022 incorrect usage of ->.
22023
22024 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22027 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22028
22029 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 Fix coreboot compilation.
22032
22033 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22034 Take VBE info into account even if only text is supported.
22035 (fill_vbe_info): Take into account the case when only VGA text
22036 is supported.
22037 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22038 on coreboot, multiboot and qemu.
22039
22040 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22041
22042 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22043 debug messages.
22044 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22045
22046 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22049 parameters.
22050
22051 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22052
22053 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22054 if they were BSD-style.
22055
22056 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 * grub-core/boot/i386/pc/lnxboot.S: Replace
22059 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22060 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22061
22062 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 Write embedding zone using Reed-Solomon.
22065
22066 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22067 * grub-core/Makefile.am (rs_decoder.S): New target.
22068 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22069 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22070 (multiboot): Move to RS part.
22071 (post_reed_solomon): New label.
22072 (grub_boot_drive): Move to non-RS part since it's modified in memory
22073 on boot.
22074 Include rs_decoder.S.
22075 * grub-core/lib/reed_solomon.c: New file.
22076 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22077 New definition.
22078 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22079 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22080 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22081 * include/grub/partition.h (grub_partition_map): Change prototype of
22082 embed to allow returning additional sectors.
22083 * include/grub/reed_solomon.h: New file.
22084 * util/grub-setup.c (setup): Handle Reed-Solomon.
22085
22086 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22087
22088 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22089 i386 and x86-64 definedness tests.
22090
22091 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22092
22093 Fix generation of kernel_syms.lst
22094
22095 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22096 ASM_PREFIX
22097
22098 2010-09-26 Robert Millan <rmh@gnu.org>
22099
22100 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22101
22102 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22103 the pool is an array of devices, iterate through it and return the
22104 first device that passes a stat() test (instead of blindly returning
22105 the first one).
22106
22107 2010-09-26 Robert Millan <rmh@gnu.org>
22108
22109 Build fixes for GNU/kFreeBSD.
22110
22111 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22112 to programs that require ZFS conversion.
22113 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22114 kernels that don't have FLOPPY_MAJOR.
22115
22116 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22117
22118 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22119
22120 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22121
22122 Fix grub-emu build.
22123
22124 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22125 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22126 mdraid09 and mdraid1x.
22127
22128 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22129
22130 Re-enable grub-extras.
22131
22132 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22133 avoid confusing Automake. Run autogen only twice, once for the top
22134 level and once for grub-core. Add Makefile.util.def and
22135 Makefile.core.def from extra modules to the appropriate autogen
22136 invocations. If Makefile.common exists in an extra module, include
22137 it in both Makefile.util.am and grub-core/Makefile.core.am;
22138 similarly, include any Makefile.util.common file in Makefile.util.am
22139 and any Makefile.core.common file in grub-core/Makefile.core.am.
22140 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22141 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22142 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22143 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22144
22145 * gentpl.py (gvar_add): Turn GVARS into a set.
22146 (global_variable_initializers): Sort global variables on output.
22147 (vars_init): New function.
22148 (first_time): Likewise.
22149 (library): Ensure that non-global variable initialisations are
22150 emitted before the first time we emit code for a library block.
22151 Append to variables rather than setting them. Only emit
22152 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22153 each conditional path.
22154 (program): installdir() emits an Autogen macro, so must be passed to
22155 var_add rather than gvar_add.
22156 (data): Likewise.
22157 (script): Likewise.
22158 (rules): New function, centralising handling for different target
22159 types. Set up Guile association lists for first_time and vars_init,
22160 and send most output to a diversion so that variable initialisations
22161 can be emitted first.
22162 (module_rules): Use new rules function.
22163 (kernel_rules): Likewise.
22164 (image_rules): Likewise.
22165 (library_rules): Likewise.
22166 (program_rules): Likewise.
22167 (script_rules): Likewise.
22168 (data_rules): Likewise.
22169
22170 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22171
22172 * .bzrignore: Add contrib and grub-core/contrib. Remove
22173 grub-core/Makefile.gcry.am.
22174
22175 2010-09-24 Yves Blusseau <blusseau@zetam.org>
22176
22177 * grub-core/lib/LzFind.c: Add missing include.
22178 * grub-core/lib/LzmaEnc.c: Likewise.
22179 * grub-core/script/lexer.c: Likewise.
22180 * grub-core/script/yylex.l: Likewise.
22181 * util/grub-macho2img.c: Likewise.
22182 * util/grub-menulst2cfg.c: Likewise.
22183 * util/grub-mklayout.c: Likewise.
22184 * util/grub-mkpasswd-pbkdf2.c
22185 * util/grub-mkrelpath.c: Likewise.
22186 * util/resolve.c: Likewise.
22187
22188 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22189
22190 * Makefile.util.def (example_unit_test): Add
22191 grub-core/gnulib/libgnu.a.
22192
22193 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22194
22195 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22196
22197 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22198
22199 Support xz compression on yeeloong.
22200
22201 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22202 * configure.ac: Check for LZMA.
22203 * grub-core/Makefile.core.def (xz_decompress): New target.
22204 (none_decompress): Likewise.
22205 * grub-core/boot/decompressor/minilib.c: New file.
22206 * grub-core/boot/decompressor/none.c: Likewise.
22207 * grub-core/boot/decompressor/xz.c: Likewise.
22208 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22209 * grub-core/kern/mips/cache_flush.S: Likewise.
22210 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22211 * grub-core/kern/mips/startup.S: Move first stage to ...
22212 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22213 nomacro.
22214 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22215 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22216 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22217 Allocate statically.
22218 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22219 Allocate statically or use scratch. Don't check CRC32.
22220 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22221 Allocate statically. Don't check CRC32.
22222 * include/grub/decompressor.h: New file.
22223 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22224 Removed.
22225 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22226 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22227 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22228 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22229 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22230 * util/grub-mkimage.c (grub_compression_t): New type.
22231 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22232 (image_target_desc): New field default_compression.
22233 (image_targets): Adjust yeeloong targets.
22234 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22235 (compress_kernel): New parameter comp.
22236 (generate_image): Likewise. Handle new compression case.
22237 (options): New option --compression
22238 (help): Likewise.
22239 (main): Handle new option.
22240
22241 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22242
22243 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22244
22245 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
22246
22247 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22248 typo in __i386__ conditional.
22249
22250 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22253 include.
22254
22255 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22256
22257 Implement EFI and ACPI multiboot2 extensions.
22258
22259 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22260 new tags as supported.
22261 (acpiv2_size): New function.
22262 (grub_multiboot_get_mbi_size): Take new tags into account.
22263 (grub_multiboot_make_mbi): Add new tags.
22264 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
22265
22266 2010-09-21 Aleš Nesrsta <starous@volny.cz>
22267
22268 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22269 Added missing configuration of USB device.
22270
22271 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22272
22273 * grub-core/normal/menu_entry.c (run): Make sure we always return
22274 a value.
22275
22276 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22277
22278 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22279 NumberOfPages is UINT64 according to the UEFI specification, not
22280 UINTN. Fix printf format.
22281
22282 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22283
22284 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22285 `err' to grub_usb_err_t.
22286 Reported and tested by: KESHAV P.R.
22287
22288 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22289
22290 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22291 tpart non-const, so that we can assign to it. (Since this is a
22292 typedef, the constness refers to the pointer rather than what it
22293 points to.)
22294
22295 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22296
22297 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22298 $(top_srcdir)/grub-core/gnulib as well as
22299 $(top_builddir)/grub-core/gnulib.
22300 Reported by: KESHAV P.R.
22301
22302 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22303
22304 * util/grub-install.in: Fix the bootloader ID option to be
22305 consistently --bootloader-id, not --bootloader_id.
22306 Reported by: KESHAV P.R.
22307
22308 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22309
22310 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22311 check hash checksum." consistently translatable.
22312
22313 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22314
22315 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22316 $(top_builddir).
22317
22318 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22319
22320 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22321 (GRUB_MOD_INIT): Register sha1sum command.
22322 (GRUB_MOD_FINI): Unregister sha1sum command.
22323
22324 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22325
22326 Keep boot and grub directory names in sync with utils scripts
22327
22328 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22329 * config.h.in: Add previous macros.
22330 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22331 * util/grub-install.in: Use $bootdir and $grubdir variables.
22332
22333 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22334
22335 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22336 convert partition names to disk names if the new `convert' parameter
22337 is set.
22338 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22339 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22340 disk in its own right. This can happen with Xen disk images.
22341
22342 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22343
22344 * util/grub-editenv.c: Update strings to avoid warnings when generating
22345 grub.pot file.
22346 * util/grub-setup.c: Likewise.
22347
22348 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22349
22350 * configure.ac: Change version to 1.99~beta0.
22351
22352 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22355 Add BADRAM.
22356 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22357 Likewise.
22358 * include/multiboot.h: Resynced with specification.
22359 * include/multiboot2.h: Likewise.
22360
22361 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22362
22363 Fix po directory handling.
22364
22365 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22366 * grub-core/gnulib/Makefile.am: Import gettext module.
22367 * m4/gnulib-cache.m4: Likewise.
22368 * m4/gnulib-comp.m4: Likewise.
22369 * m4/gettext.m4: New file, from gnulib.
22370 * m4/glibc2.m4: Likewise.
22371 * m4/iconv.m4: Likewise.
22372 * m4/intdiv0.m4: Likewise.
22373 * m4/intl.m4: Likewise.
22374 * m4/intldir.m4: Likewise.
22375 * m4/intlmacosx.m4: Likewise.
22376 * m4/intmax.m4: Likewise.
22377 * m4/inttypes-pri.m4: Likewise.
22378 * m4/lcmessage.m4: Likewise.
22379 * m4/lib-ld.m4: Likewise.
22380 * m4/lib-link.m4: Likewise.
22381 * m4/lib-prefix.m4: Likewise.
22382 * m4/lock.m4: Likewise.
22383 * m4/nls.m4: Likewise.
22384 * m4/po.m4: Likewise.
22385 * m4/printf-posix.m4: Likewise.
22386 * m4/progtest.m4: Likewise.
22387 * m4/threadlib.m4: Likewise.
22388 * m4/uintmax_t.m4: Likewise.
22389 * m4/visibility.m4: Likewise.
22390 * po/Makefile.am: Remove.
22391 * po/Makefile.in.in: New file, from gettext.
22392 ($(DOMAIN).pot-update): Support POTFILES-shell.
22393 * po/Makevars: New file.
22394 * po/POTFILES-shell: Rename to ...
22395 * po/POTFILES-shell.in: ... this. Update.
22396 * po/POTFILES: Rename to ...
22397 * po/POTFILES.in: ... this. Update.
22398 * po/Rules-quot: New file, from gettext.
22399 * po/boldquot.sed: Likewise.
22400 * po/en@boldquot.header: Likewise.
22401 * po/en@quot.header: Likewise.
22402 * po/insert-header.sin: Likewise.
22403 * po/quot.sed: Likewise.
22404 * po/remove-potcdate.sin: Likewise.
22405
22406 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22409
22410 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * util/grub.d/20_linux_xen.in: Use submenus.
22413
22414 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22415
22416 Support submenus.
22417
22418 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22419 parameter submenu. All users updated.
22420 * grub-core/normal/main.c (free_menu): Rename to ...
22421 (grub_normal_free_menu): ... this. Made global.
22422 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22423 if requested.
22424 * grub-core/normal/menu_entry.c (screen): New field submenu.
22425 (make_screen): Set submenu.
22426 (run): Open new context if requested.
22427 * include/grub/menu.h (grub_menu_entry): New field submenu.
22428 * include/grub/normal.h (grub_normal_free_menu): New proto.
22429
22430 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22431
22432 Menu entries extractor.
22433
22434 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22435 variants.
22436 (GRUB_MOD_INIT): Register new variants.
22437 (GRUB_MOD_FINI): Unregister new variants.
22438 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22439 into grub_cmd_legacy_source.
22440 (grub_cmd_legacy_source): Implement extractor variants.
22441 (GRUB_MOD_INIT): Register new variants.
22442 (GRUB_MOD_FINI): Unregister new variants.
22443 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22444 as an extractor.
22445 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22446 search as an extractor.
22447 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22448 test as an extractor.
22449 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22450 as an extractor.
22451 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22452 (grub_env_new_context): New function.
22453 (grub_env_context_open): Likewise.
22454 (grub_env_extractor_open): Likewise.
22455 (grub_env_extractor_close): Likewise.
22456 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22457 grub_extractor_level.
22458 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22459 * include/grub/env.h (grub_env_extractor_open): New proto.
22460 (grub_env_extractor_close): Likewise.
22461 * include/grub/normal.h (grub_extractor_level): New external variable.
22462
22463 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 Make cutmem accept a region specification.
22466 Suggested by: Samuel Thibault
22467
22468 * grub-core/mmap/mmap.c (parsemem): New function.
22469 (grub_cmd_cutmem): Handle new arguments.
22470
22471 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 New command cutmem.
22474
22475 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22476 (GRUB_MOD_INIT): Register new command.
22477 (GRUB_MOD_FINI): Unregister new command.
22478
22479 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22480
22481 Support some annoying BSD and Minix subpartitions.
22482
22483 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22484 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22485 Properly handle concatenation.
22486 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22487 * grub-core/normal/completion.c (iterate_partition): Likewise.
22488 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22489 contain partition. All users updated.
22490 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22491 struct.
22492 (grub_openbsdlabel_partition_map): Likewise.
22493 (bsdlabel_partition_map_iterate): Rename to ..
22494 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22495 (bsdlabel_partition_map_iterate): New function.
22496 (netopenbsdlabel_partition_map_iterate): Likewise.
22497 (netbsdlabel_partition_map_iterate): Likewise.
22498 (openbsdlabel_partition_map_iterate): Likewise.
22499 (GRUB_MOD_INIT): Register new partmaps.
22500 (GRUB_MOD_FINI): Unregister new partmaps.
22501 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22502 (grub_partition_msdos_iterate): ... this. All users updated.
22503 Don't support embedding other than in a minix partition.
22504 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22505 proto.
22506 * include/grub/partition.h (grub_partition): New field msdostype.
22507 * util/grub-install.in: Handle openbsd and netbsd types being in
22508 part_bsd module.
22509
22510 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22513
22514 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22515 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22516 (mdraid09): ... this.
22517 (mdraid1x): New module.
22518 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22519 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22520
22521 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22522
22523 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22524 vsprintf.
22525
22526 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22527
22528 * grub-core/commands/efi/lsefimmap.c: Correct header.
22529 * NEWS: Update.
22530
22531 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22532
22533 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22534 as printf format strings; the translations might contain '%' which
22535 could cause a crash.
22536 (main): Likewise.
22537 * util/grub-fstest.c (argp_parser): Likewise.
22538 * util/grub-setup.c (argp_parser): Likewise.
22539 (main): Likewise.
22540
22541 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 Use argp in grub-fstest.
22544
22545 * util/grub-fstest.c: Don't include getopt.h.
22546 Include argp.h.
22547 (root): New variable.
22548 (args_count): Likewise.
22549 (nparm): Likewise.
22550 (num_disks): Likewise.
22551 (images): Likewise.
22552 (cmd): Likewise.
22553 (debug_str): Likewise.
22554 (args): Likewise.
22555 (options): Transformed to argp.
22556 (usage): Removed.
22557 (main): Split argument parsing into ...
22558 (argp_parser): ... this. Changed to argp format.
22559 (argp): New variable.
22560 (main): Use argp_parse.
22561
22562 2010-09-20 Tristan Gingold <gingold@free.fr>
22563 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
22564 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * grub-core/commands/efi/lsefimmap.c: New file.
22567 * grub-core/Makefile.core.def (lsefimmap): New module.
22568 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22569
22570 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 Pause the execution (10s max) if any errors are displayed so the user
22573 has a chance to see them.
22574
22575 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22576 (grub_print_error): Increment grub_err_printed_errors.
22577 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22578 execution if any errors were displayed.
22579 (show_menu): Remove old code for pause.
22580 * grub-core/normal/menu_entry.c (run): Likewise.
22581 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22582 users updated.
22583 (grub_normal_get_char_counter): Likewise.
22584 * include/grub/err.h (grub_err_printed_errors): New external variable.
22585 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22586
22587 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 Support multiboot VBE info.
22590
22591 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22592 Take VBE info into account.
22593 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22594 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22595 Call fill_vbe_info when appropriate.
22596 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22597 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22598 as supported.
22599 (grub_multiboot_get_mbi_size): Take new tags into account.
22600 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22601 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22602 Call fill_vbe_tag when appropriate.
22603 (grub_multiboot_make_mbi): Properly align tags.
22604 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22605 function.
22606 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22607 proto.
22608 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22609
22610 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 Suport manual terminal geometry specification.
22613
22614 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22615 Save state in grub_ofconsole_terminfo_output.
22616 (grub_ofconsole_term): Use grub_terminfo_getwh.
22617 (grub_ofconsole_getwh): Removed.
22618 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22619 (grub_serial_term): Use grub_terminfo_getwh.
22620 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22621 (options): New struct.
22622 (OPTION_*): New enum.
22623 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22624 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22625 width and height.
22626 (grub_terminfo_getwh): New proto.
22627 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22628
22629 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 Handle legacy "terminal" command.
22632
22633 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22634 and FLAG_TERMINAL.
22635 (legacy_commands): Add terminal and title.
22636 (grub_legacy_parse): Handle terminal. Simplify title handling.
22637
22638 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22641 parameters overflow.
22642
22643 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22644
22645 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22646 widthspec.h.
22647
22648 * docs/grub.texi (Shell-like scripting): Document `!'.
22649 (Network): Simplify using new i386-pc-pxe format. Mention
22650 grub-mknetdir.
22651
22652 * NEWS: Update.
22653
22654 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22655
22656 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22657 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22658 when needed.
22659
22660 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22661
22662 * grub-core/commands/efi/lsefisystab.c: Correct header.
22663 * grub-core/commands/efi/lssal.c: Likewise.
22664 * grub-core/commands/testload.c: Likewise.
22665
22666 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22667
22668 * util/grub-mkrescue.in: Add explicit root argument to --set to
22669 prevent the UUID being interpreted as an argument to --set (matches
22670 previous change to prepare_grub_to_access_device).
22671
22672 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22675 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22676 the verbosity of later #ifs.
22677 (find_partition_start): Define this function on FreeBSD too.
22678 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22679 function.
22680 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22681 on FreeBSD.
22682
22683 2010-09-20 Yves Blusseau <blusseau@zetam.org>
22684
22685 * util/grub-editenv.c: Use argp instead of getopt.
22686
22687 2010-09-20 Yves Blusseau <blusseau@zetam.org>
22688
22689 * util/grub-setup.c: Use argp instead of getopt.
22690
22691 2010-09-20 Yves Blusseau <blusseau@zetam.org>
22692
22693 Use gnulib-tool to create gnulib source files.
22694
22695 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22696 grub-core/gnulib directories
22697 * .bzignore: Add **/.deps and autogenerated gnulib files
22698 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22699 of gnulib macros, add grub-core/gnulib/Makefile
22700 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22701 include m4 directory to aclocal.
22702 * Makefile.util.def: Remove direct compilation of gnulib source files
22703 and use the new grub-core/gnulib/libgnu.a.
22704 * build-aux/config.rpath: move config.rpath from top directory to
22705 build-aux
22706 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22707 in gnulib headers
22708 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22709 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22710 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22711 header.
22712 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22713 string.
22714
22715 2010-09-20 Yves Blusseau <blusseau@zetam.org>
22716
22717 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22718 grub-core/genmod.sh and grub-core/gensyminfo.sh
22719
22720 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22721
22722 Add a test for echo command options.
22723
22724 * tests/grub_cmd_echo.in: New test.
22725 * Makefile.util.def: Rules for new test.
22726
22727 2010-09-20 Szymon Janc <szymon@janc.net.pl>
22728
22729 Remove crc.mod and move crc command to hashsum.mod.
22730 Remove lib/crc.c - users updated to use gcrypt implementation.
22731
22732 * grub-core/commands/crc.c: Removed.
22733 * grub-core/Makefile.core.def (crc): Module removed.
22734 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22735 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22736 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22737 * grub-core/lib/crc.c: Removed.
22738 * include/grub/lib/crc.h: Removed.
22739 * Makefile.util.def (crc): Remove lib/crc.c
22740 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22741 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22742 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22743 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22744 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22745 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22746
22747 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22748
22749 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22750
22751 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 Split config.h for util and core.
22754
22755 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22756 (ADDR32): Likewise.
22757 (DATA32): Likewise.
22758 (BSS_START_SYMBOL): Likewise.
22759 (END_SYMBOL): Likewise.
22760 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22761 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22762 * config.h.in: New file.
22763 * configure.ac: Use config-util.h as config define file.
22764 Rename MACHINE into GRUB_MACHINE. All users updated.
22765 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22766 updated.
22767 (NESTED_FUNC_ATTR): Likewise.
22768 Substitue new variables.
22769 (COND_HAVE_ASM_USCORE): New conditional.
22770 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22771 (kernel_syms.lst): Use ASM_PREFIX.
22772 * grub-core/kern/emu/console.c: Include config-util.h.
22773 * grub-core/kern/emu/misc.c: Likewise.
22774 * grub-core/kern/emu/mm.c: Likewise.
22775 * include/grub/emu/misc.h: Likewise.
22776 * include/grub/libgcc.h: Likewise.
22777
22778 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22779
22780 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22781 constants usage.
22782 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22783 Fix GRUB_TERM_KEY_* constants usage.
22784 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22785
22786 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22789 print pointer.
22790 * grub-core/bus/usb/uhci.c: Remove empty define.
22791 (grub_uhci_check_transfer): Add missing cast.
22792 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22793 print pointer.
22794 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22795 PRIuGRUB_SIZE.
22796 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22797
22798 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22799
22800 * grub-core/Makefile.core.def (legacycfg): Add
22801 lib/i386/pc/vesa_modes_table.c on emu.
22802
22803 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22804
22805 Reduce number of temporary files generated by build system.
22806
22807 * grub-core/gencmdlist.sh: Removed.
22808 * grub-core/genfslist.sh: Removed.
22809 * grub-core/genhandlerlist.sh: Removed.
22810 * grub-core/genmodsrc.sh: Removed.
22811 * grub-core/genpartmaplist.sh: Removed.
22812 * grub-core/genparttoollist.sh: Removed.
22813 * grub-core/gentermiinallist.sh: Removed.
22814 * grub-core/genvideolist.sh: Removed.
22815
22816 * grub-core/genmod.sh.in: New file.
22817 * grub-core/gensyminfo.sh.in: New file.
22818
22819 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22820 * conf/Makefile.extra-dist: Update with new files.
22821 * gentpl.py: Remove rules related to unnecessary temporary files.
22822 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22823 and und-* files.
22824 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22825 genmod.sh scripts.
22826 * grub-core/bus/usb/uhci.c: Remove empty #define.
22827 * grub-core/genmoddep.awk: Updated with new syminfo format.
22828 * util/bash-completion.d/Makefile.am: Add config.log to
22829 CLEANFILES.
22830
22831 2010-09-19 Yves Blusseau <blusseau@zetam.org>
22832
22833 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22834
22835 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22836
22837 * util/grub-mkconfig.in: Check the config script for syntax errors
22838 before saving.
22839
22840 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
22841 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22844 platforms.
22845 * util/grub-install.in: Add EFI and IEEE1275 support.
22846 * util/i386/efi/grub-install.in: Removed.
22847 * util/ieee1275/grub-install.in: Likewise.
22848
22849 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22852 (grub_cmd_cmosclean): Likewise.
22853 (GRUB_MOD_INIT): Register command cmosclean.
22854 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22855 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22856
22857 2010-09-18 Carles Pina i Estany <carles@pina.cat>
22858 2010-09-18 Aleš Nesrsta <starous@volny.cz>
22859 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22860
22861 Add keyboard layouts support.
22862
22863 * Makefile.util.def (grub-mklayout): New file.
22864 (grub-kbdcomp): New script.
22865 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22866 Add keyboard_layouts.h.
22867 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22868 commands/boot.c on yeeloong.
22869 (keylayouts): New module.
22870 * grub-core/bus/usb/ohci.c
22871 * grub-core/bus/usb/uhci.c
22872 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22873 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22874 (attach_root_port): Likewise.
22875 (poll_nonroot_hub): Likewise.
22876 (grub_usb_poll_devices): Likewise.
22877 (detach_device): Close transfer.
22878 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22879 function.
22880 (grub_usb_bulk_setup_readwrite): Likewise.
22881 (grub_usb_bulk_finish_readwrite): Likewise.
22882 * grub-core/commands/keylayouts.c: New file.
22883 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22884 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22885 aliases.
22886 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22887 support scancode 2.
22888 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22889 * include/grub/keyboard_layouts.h: New file.
22890 * util/grub-mklayout.c: New file.
22891 * util/grub-kbdcomp.in: Likewise.
22892
22893 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22894
22895 Unify memory types.
22896
22897 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22898 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22899 types.
22900 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22901 (grub_upper_mem): Likewise.
22902 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22903 * include/grub/memory.h (grub_memory_type_t): New enum.
22904 All users updated.
22905
22906 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 * grub-core/Makefile.core.def (lsapm): New module.
22909 * grub-core/commands/i386/pc/lsapm.c: New file.
22910 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22911 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22912 Likewise.
22913 * include/grub/i386/pc/apm.h: New file.
22914 * include/multiboot.h (multiboot_apm_info): New struct.
22915
22916 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22917
22918 GRUB-legacy configuration file support.
22919
22920 * Makefile.util.def (grub-menulst2cfg): New util.
22921 * docs/man/grub-menulst2cfg.h2m: New file.
22922 * grub-core/Makefile.core.def (legacycfg): New module.
22923 * grub-core/commands/legacycfg.c: New file.
22924 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22925 (grub_normal_add_menu_entry): ... this.
22926 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22927 (grub_normal_set_password): ...this.
22928 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22929 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22930 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22931 * grub-core/lib/legacy_parse.c: New file.
22932 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22933 * include/grub/i386/pc/vesa_modes_table.h: New file.
22934 * include/grub/legacy_parse.h: Likewise.
22935 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22936 * util/grub-menulst2cfg.c: New file.
22937
22938 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
22939
22940 * grub-core/kern/emu/hostdisk.c
22941 (convert_system_partition_to_system_disk): Initialise node.
22942
22943 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
22944
22945 * grub-core/kern/emu/hostdisk.c
22946 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22947 leak.
22948 Reported and based on patch by: Modestas Vainius.
22949
22950 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
22951
22952 Fix DM-RAID probing with recent versions of device-mapper udev
22953 rules.
22954
22955 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22956 canonicalise device paths under /dev/mapper/.
22957 (convert_system_partition_to_system_disk): Compare the
22958 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22959 path, since device nodes under /dev/mapper/ are often symlinks.
22960
22961 2010-09-17 Yves Blusseau <blusseau@zetam.org>
22962
22963 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22964
22965 2010-09-16 Yves Blusseau <blusseau@zetam.org>
22966
22967 * configure.ac: Avoid some annoying error messages if freetype-config
22968 program is not found.
22969
22970 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
22971
22972 Support RAID on virtio devices, and others.
22973
22974 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22975 Rename to ...
22976 [__MINGW32__] (grub_find_device): ... this.
22977 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22978 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22979 reasonable default if dir is NULL.
22980 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22981 ...
22982 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22983 (grub_guess_root_device): Update callers.
22984 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22985
22986 * util/raid.c (grub_util_getdiskname): Remove.
22987 (grub_util_raid_getmembers): Use grub_find_device rather than
22988 grub_util_getdiskname.
22989
22990 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
22991
22992 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22993 needing to be compiled with serial support.
22994 (ls): Indicate that multiple files are accepted.
22995 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22996 indicate that multiple files are accepted.
22997
22998 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
22999
23000 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23001 libgrub_a_init.c, and util/bash-completion.d/grub.
23002
23003 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 * util/grub-setup.c (setup): Fix incorrect container semantics.
23006
23007 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23008
23009 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23010 misusage.
23011 Reported by: J. Nick Terry
23012
23013 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23014
23015 Move embedding routines to partmap sources files.
23016
23017 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23018 [GRUB_UTIL]: New variable.
23019 (gpt_partition_map_iterate): Set part.parent.
23020 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23021 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23022 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23023 New function.
23024 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23025 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23026 (grub_partition_map) [GRUB_UTIL]: New field embed.
23027 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23028 (setup): Use ->embed.
23029
23030 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23033 function.
23034 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23035 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23036
23037 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23038
23039 Add function to get completions from usage.
23040
23041 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23042 completions from usage. Use LC_ALL=C to get options properly.
23043
23044 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 * grub-core/gnulib/basename-lgpl.c: Imported.
23047 * grub-core/gnulib/basename.c: Likewise.
23048 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23049 * grub-core/gnulib/dirname.c: Likewise.
23050 * grub-core/gnulib/dirname.h: Likewise.
23051 * grub-core/gnulib/stripslash.c: Likewise.
23052
23053 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 * grub-core/gnulib/error.c: Resynced.
23056 * grub-core/gnulib/getopt.c: Likewise.
23057 * grub-core/gnulib/getopt_int.h: Likewise.
23058 * grub-core/gnulib/regex.h: Likewise.
23059 * grub-core/gnulib/regex_internal.c: Likewise.
23060 * grub-core/gnulib/regex_internal.h: Likewise.
23061
23062 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23063
23064 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23065 CRC calculations and validity checks.
23066 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23067 calculations.
23068
23069 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23070
23071 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23072
23073 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 Fix incorrect echo options handling.
23076 Reported by: Yves Blusseau.
23077
23078 * include/grub/command.h (grub_command_flags_t): New flags
23079 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23080 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23081 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23082
23083 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23084
23085 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23086 users updated.
23087 (GRUB_COMMAND_FLAG_MENU): Likewise.
23088 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23089 (GRUB_COMMAND_FLAG_TITLE): Removed.
23090 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23091 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23092 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23093 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23094 (grub_command_flags_t): New enum. All users updated.
23095
23096 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23097
23098 Fix solaris compilation.
23099
23100 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23101 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23102 (grub-emu-list): Likewise.
23103
23104 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 Remove deprecated root command.
23107
23108 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23109 updated.
23110
23111 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 * util/i386/pc/grub-setup.c: Merge this ...
23114 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23115 * util/grub-setup.c: ... into this.
23116 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23117 New struct.
23118
23119 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23120
23121 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23122 possible.
23123
23124 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23125
23126 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23127 allocate p.
23128
23129 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23132 explicit root argument to set to prevent UUID to be interpreted as
23133 argument to set.
23134
23135 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23138
23139 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23140
23141 Don't export grub_gate_a20.
23142
23143 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23144 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23145 to ...
23146 (grub_gate_a20): ... this. All users updated.
23147 * include/grub/i386/pc/init.h: Removed. All users updated.
23148
23149 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23150
23151 Create euro.pf2 which supports most European languages.
23152
23153 * Makefile.am (grubdata_DATA): Add euro.pf2.
23154 (euro.pf2): New target.
23155 (CLEANFILES): Add euro.pf2.
23156
23157 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * configure.ac: Disable emu-usb by default to prevent inadvertent
23160 device takeover.
23161
23162 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23163
23164 Disable usbserial on grub-emu since our libusb code isn't good enough
23165 yet.
23166
23167 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23168 (usbserial_pl2303): Likewise.
23169 (usbserial_ftdi): Likewise.
23170
23171 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * include/grub/disk.h (grub_disk): Remove has_partitions.
23174 All users updated.
23175 * disk/loopback.c (grub_loopback): Remove has_partitions.
23176 All users updated.
23177 (options): Remove partitions. All users updated.
23178 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23179 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23180 actual partition table is found.
23181
23182 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 Remove readability checks (too many false negatives).
23185
23186 * util/grub-install.in: Remove readability checks.
23187 * util/grub-mkconfig.in: Likewise.
23188 * util/grub.d/10_hurd.in: Likewise.
23189 * util/grub.d/10_kfreebsd.in: Likewise.
23190 * util/grub.d/10_linux.in: Likewise.
23191 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23192 way.
23193
23194 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 Enable acpi shutdown on all ACPI platforms.
23197
23198 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23199 on coreboo, multiboot and EFI.
23200 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23201 (grub_acpi_halt): Likewise.
23202 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23203 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23204 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23205 * grub-core/lib/i386/halt.c (grub_halt)
23206 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23207
23208 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23209
23210 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23211 context.
23212
23213 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23216 * grub-core/video/efi_uga.c: Likewise.
23217
23218 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23219
23220 Filter devaliases and never open same device twice.
23221
23222 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23223 (last_ihandle): Likewise.
23224 (ofdisk_hash_ent): New member shortest.
23225 (ofdisk_hash_add): Add canonical path too.
23226 (scan): New function.
23227 (grub_ofdisk_iterate): Iterate over hashed entries.
23228 (compute_dev_path): Don't add :0.
23229 (grub_ofdisk_open): Don't really open the disk.
23230 (grub_ofdisk_close): Avoid closing unrelated disk.
23231 (grub_ofdisk_read): Implement reopen logic.
23232 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23233 New function.
23234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23235 New proto.
23236
23237 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 Fix sparc64.
23240
23241 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23242 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23243 right address. Add sparc64_ieee1275_ldflags.
23244 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23245 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23246 to grub_host_to_target_addr
23247 (load_image): Likewise.
23248
23249 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 * grub-core/normal/completion.c (complete_file): Handle device
23252 containing slash.
23253 Fix based on patch by Doug Nazar.
23254
23255 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23256
23257 grub-mknetdir script.
23258
23259 * Makefile.util.def (grub-mknetdir): New module.
23260 * tests/util/grub-shell.in: Support boot=net
23261 * util/grub-mknetdir.in: New file.
23262
23263 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 videoinfo on non-vbe.
23266
23267 * grub-core/Makefile.core.def (vbeinfo): Removed.
23268 (vbetest): Removed.
23269 (videoinfo): New module.
23270 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23271 * grub-core/commands/i386/pc/vbetest.c: Removed.
23272 * grub-core/commands/videoinfo.c: New file.
23273 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23274 specification.
23275 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23276 as vbetest.
23277 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23278 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23279 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23280 mode_number. New parameter mode. All users updated.
23281 (grub_video_gop_iterate): New function.
23282 (grub_video_efi_gop): New member iterate.
23283 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23284 (grub_vbe_set_video_mode): Remove setting useless fields.
23285 (vbe2videoinfo): New function.
23286 (grub_video_vbe_iterate): Likewise.
23287 (grub_video_vbe_setup): Use vbe2videoinfo.
23288 (grub_video_vbe_print_adapter_specific_info): New function.
23289 (grub_video_vbe_adapter): New fields iterate and
23290 print_adapter_specific_info.
23291 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23292 All users updated.
23293 (grub_video_mode_info): New field mode_number.
23294 (grub_video_adapter): New fields iterate and
23295 print_adapter_specific_info.
23296
23297 2010-09-13 Tristan Gingold <gingold@free.fr>
23298 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
23299 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 * grub-core/commands/efi/lsefisystab.c: New file.
23302 * grub-core/commands/efi/lssal.c: Likewise.
23303 * grub-core/Makefile.core.def (lsacpi): New module.
23304 (lsefisystab): Likewise.
23305 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23306 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23307 (grub_efi_sal_system_table): New struct.
23308 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23309 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23310 (grub_efi_sal_system_table_platform_features): Likewise.
23311 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23312 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23313 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23314 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23315
23316 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 Support explicit user claim that a device is BIOS-visible.
23319
23320 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23321 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23322 * grub-core/kern/emu/hostdisk.c
23323 (convert_system_partition_to_system_disk): Support mdX.
23324 (find_system_device): New parameter add. All users updated.
23325 (grub_util_biosdisk_is_present): New function.
23326 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23327 proto.
23328
23329 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23330
23331 Search hints support.
23332
23333 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23334 All users updated.
23335
23336 2010-09-13 Yves Blusseau <blusseau@zetam.org>
23337
23338 Bash completion script for util commands
23339
23340 * Makefile.am: Add util/bash-completion.d directory
23341 * configure.ac: Likewise.
23342 * util/bash-completion.d/Makefile.am: New file.
23343 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23344
23345 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23346
23347 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23348 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23349 Reported by: Yves Blusseau.
23350
23351 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23354 partition size and offset.
23355
23356 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23359
23360 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23363
23364 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23365
23366 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23367 (grub_xvasprintf): Likewise.
23368
23369 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23370
23371 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23372
23373 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23374
23375 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23376 args ending with NULL.
23377
23378 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23379
23380 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23381 pointer.
23382
23383 2010-09-11 Szymon Janc <szymon@janc.net.pl>
23384
23385 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23386
23387 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23388
23389 Shutdown using ACPI.
23390
23391 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23392 * grub-core/commands/acpihalt.c: New file.
23393 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23394 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23395 (grub_acpi_halt): New proto.
23396 (GRUB_ACPI_SLP_EN): New const.
23397 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23398 (GRUB_ACPI_OPCODE_*): New enum.
23399 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23400
23401 2010-09-11 Tristan Gingold <gingold@free.fr>
23402 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
23403 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 * commands/lsacpi.c: New file.
23406 * grub-core/Makefile.core.def (lsacpi): New module.
23407 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23408 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23409 (grub_acpi_madt_entry_header): New struct.
23410 (grub_acpi_madt): Likewise.
23411 (grub_acpi_madt_entry_interrupt_override): Likewise.
23412 (grub_acpi_madt_entry_sapic): Likewise.
23413 (grub_acpi_madt_entry_lsapic): Likewise.
23414 (grub_acpi_madt_entry_platform_int_source): Likewise.
23415 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23416 (PRIuGRUB_UINT32_T): Likewise.
23417 (PRIxGRUB_UINT64_T): Likewise.
23418
23419 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 Implement loading palette on ieee1275_fb.
23422
23423 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23424 (have_setcolors): Likewise.
23425 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23426 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23427 (grub_video_ieee1275_set_palette): Implement.
23428
23429 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23430 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * util/grub-install.in (grub_partition): New variable.
23433 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23434 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23435 Fixes a bug reported by Yves Blusseau.
23436
23437 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 Fix emu on mipsel.
23440
23441 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23442 =grub_cpu_flush_cache on all mips and not only yeeloong.
23443 * configure.ac (COND_mips): New conditional.
23444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23445 platforms.
23446 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23447 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23448 [GRUB_LINKER_HAVE_INIT]: New function.
23449 (grub_emu_post_init): Likewise.
23450 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23451 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23452 * include/grub/cache.h (_mips): Include mips/cache.h.
23453 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23454 LVM and RAID prototypes.
23455 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23456 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23457 function.
23458
23459 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
23460
23461 * util/grub-install.in: Don't try to verify core.img until after
23462 running grub-mkimage to create it.
23463
23464 2010-09-10 Robert Millan <rmh@gnu.org>
23465
23466 * util/grub.d/10_hurd.in: Add misc readability checks.
23467 * util/grub.d/10_kfreebsd.in: Likewise.
23468 * util/grub.d/10_linux.in: Likewise.
23469
23470 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
23471
23472 * util/grub-install.in: ${imgext} won't be defined here until the
23473 install branch is merged. For the meantime, only verify core.img on
23474 i386-pc and sparc64-ieee1275 platforms.
23475
23476 2010-09-10 Robert Millan <rmh@gnu.org>
23477
23478 Solaris support in grub_find_zpool_from_dir(). Thanks
23479 Seth Goldberg for referring to getextmntent() facility.
23480
23481 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23482 `sys/mkdev.h'.
23483 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23484 `<sys/mnttab.h>'.
23485 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23486 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23487 method for finding zpool name.
23488
23489 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
23490
23491 grub-fstest needs the host and hostfs modules while other utilities
23492 actively require those modules to be absent, so grub-fstest needs
23493 its own initialisation and finalisation code.
23494
23495 * Makefile.am (grub_fstest.pp): New target.
23496 (grub_fstest_init.lst): Likewise.
23497 (grub_fstest_init.c): Likewise.
23498 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23499
23500 2010-09-10 Robert Millan <rmh@gnu.org>
23501
23502 * configure.ac: Check for `struct statfs.f_fstypename' and
23503 `struct statfs.f_mntfromname'.
23504
23505 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23506 kFreeBSD-specific code.
23507
23508 2010-09-10 Robert Millan <rmh@gnu.org>
23509
23510 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23511 on ZFS. Now non-main filesystems are supported as / too.
23512
23513 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
23514
23515 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23516 and grub-core/disk/host.c to ...
23517 (grub-fstest): ... here. Having the host disk implementation
23518 present confuses grub-probe and other utility programs.
23519
23520 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23521 when writing to a file, not when writing to stdout.
23522
23523 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23524
23525 * tests/partmap_test.in: New test for partitions.
23526 * Makefile.util.def: Rules for new test.
23527
23528 2010-09-09 Robert Millan <rmh@gnu.org>
23529
23530 * util/grub-probe.c (probe): Fix a pair of unhandled error
23531 conditions.
23532
23533 2010-09-09 Robert Millan <rmh@gnu.org>
23534
23535 Basic Btrfs support (detection and UUID).
23536
23537 * grub-core/fs/btrfs.c: New file.
23538 * Makefile.util.def (library): Register btrfs.c.
23539 * grub-core/Makefile.core.def: Likewise.
23540
23541 2010-09-08 Robert Millan <rmh@gnu.org>
23542
23543 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23544 with (optional) parameters to specify device and relative path.
23545 * util/grub-install.in: Use is_path_readable_by_grub() to
23546 verify readability of a few critical files.
23547 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23548 verify readability of grub.cfg.new.
23549
23550 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 Split minix.mod into minix.mod and minix2.mod.
23553
23554 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23555 * grub-core/Makefile.core.def (minix2): New module.
23556 * grub-core/fs/minix.c: Use definitions instead of runtime version
23557 checking.
23558 * grub-core/fs/minix2.c: New file.
23559
23560 2010-09-08 Yves Blusseau <blusseau@zetam.org>
23561
23562 Add new --boot-directory option to replace --root-directory
23563
23564 * util/grub-install.in: Add new --boot-directory option
23565 * util/grub-reboot.in: Likewise.
23566 * util/grub-set-default.in: Likewise.
23567
23568 2010-09-08 Yves Blusseau <blusseau@zetam.org>
23569
23570 * util/grub-mkconfig.in: Use new variable.
23571
23572 2010-09-08 Yves Blusseau <blusseau@zetam.org>
23573
23574 * configure.ac: Define some useful variables.
23575
23576 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23577
23578 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23579 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23580 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23581 Use terminfo and don't use cursor-on/cursor-off unless it's known
23582 to work.
23583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23584 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23585
23586 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
23587
23588 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23589 starts with "(,", fill the drive containing the loaded image in
23590 between those two characters, but expect that a full partition
23591 specification including partition map names will follow.
23592
23593 2010-09-08 Robert Millan <rmh@gnu.org>
23594
23595 * configure.ac: Remove `--enable-grub-fstest' option.
23596 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23597
23598 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23599 `grub-fstest' instead of `grub-probe' for readability verification.
23600 * util/grub-probe.c (probe): Remove readability verification kludge.
23601
23602 2010-09-08 Robert Millan <rmh@gnu.org>
23603
23604 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23605 initializing `GRUB_FS'.
23606
23607 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23608
23609 Not command (!) support to GRUB script.
23610
23611 * tests/grub_script_not.in: New test.
23612 * Makefile.util.def: Rules for new test.
23613
23614 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23615 ! command as a special case.
23616 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23617
23618 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23619
23620 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23621 grub_free.
23622
23623 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23624
23625 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23626
23627 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23628
23629 * docs/grub.texi (Shell-like scripting): Documentation for break,
23630 continue, shift and return commands.
23631
23632 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 Rename CD-ROM to cd on BIOS.
23635
23636 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23637 "cd".
23638 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23639
23640 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23643 * util/grub-probe.c (main): Likewise.
23644 * util/i386/pc/grub-setup.c (main): Likewise.
23645 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23646 Reported and debugged by: alexxy
23647
23648 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23649
23650 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23651 diagnostic info.
23652
23653 2010-09-05 Jo Shields <directhex@apebox.org>
23654
23655 * util/grub.d/30_os-prober.in: Add missing classes.
23656
23657 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 * docs/grub.texi (Theme file format): Document new position format.
23660
23661 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23662
23663 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23664 a table. Use @code instead of @verbatim.
23665
23666 2010-09-05 Colin D Bennett <colin@gibibit.com>
23667
23668 Gfxmenu documentation.
23669
23670 * docs/grub.texi (Theme file format): New chapter.
23671
23672 2010-09-05 Szymon Janc <szymon@janc.net.pl>
23673
23674 * grub-core/Makefile.core.def (xzio): New module.
23675 * grub-core/io/xzio.c: New file.
23676 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23677 * grub-core/lib/xzembed/xz_config.h: Likewise.
23678 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23679 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23680 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23681 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23682 * grub-core/lib/xzembed/xz_private.h: Likewise.
23683 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23684 * include/grub/file.h (grub_file_filter_id): New compression filter
23685 GRUB_FILE_FILTER_XZIO.
23686
23687 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23688
23689 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23690 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23691 size.
23692
23693 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23696 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23697
23698 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23699
23700 Uncompressed checksum support.
23701
23702 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23703 (check_list): New parameter uncompress.
23704 (grub_cmd_hashsum): Handle --uncompress.
23705
23706 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23707
23708 Reintroduce testload.
23709
23710 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23711 from here ...
23712 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23713 (GRUB_MOD_INIT): New function.
23714 (GRUB_MOD_FINI): Likewise.
23715 * grub-core/Makefile.core.def (testload): New module.
23716
23717 2010-09-05 Szymon Janc <szymon@janc.net.pl>
23718
23719 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23720 (uint8_t): New type.
23721 (uint16_t): Likewise.
23722 (uint32_t): Likewise.
23723 (uint64_t): Likewise.
23724
23725 2010-09-05 Szymon Janc <szymon@janc.net.pl>
23726
23727 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23728
23729 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23732 Made static.
23733 (grub_gzfile_open): Removed. All users updated.
23734 (GRUB_MOD_INIT): New function.
23735 (GRUB_MOD_FINI): Likewise.
23736 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23737 (grub_file_filters_enabled): Likewise.
23738 (grub_file_open): Handle filters.
23739 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23740 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23741 * include/grub/file.h (grub_file_filter_id_t): New type.
23742 (grub_file_filter_t): Likewise.
23743 (grub_file_filters_all): New extern variable.
23744 (grub_file_filters_enabled): Likewise.
23745 (grub_file_filter_register): New inline function.
23746 (grub_file_filter_unregister): Likewise.
23747 (grub_file_filter_disable): Likewise.
23748 (grub_file_filter_disable_compression): Likewise.
23749 * include/grub/gzio.h: Removed.
23750
23751 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23752
23753 Filename expansion support for wildcards in GRUB script.
23754
23755 * tests/grub_script_expansion.in: New test.
23756 * Makefile.util.def: Rule for new test.
23757
23758 * grub-core/commands/wildcard.c: New file, implements filename
23759 expansion support for GRUB script.
23760 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23761 * grub-core/script/argv.c: Cosmetic changes.
23762 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23763 Refactored to perform wildcard expansion on arguments.
23764 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23765 struct.
23766
23767 * tests/util/grub-shell.in: Fix quoting for read input.
23768
23769 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23770
23771 Support for updating environment variables with matched substrings
23772 of regexp.
23773
23774 * tests/grub_cmd_regexp.in: New test.
23775 * Makefile.util.def: Rule for new test.
23776
23777 * grub-core/commands/regexp.c: New option -s to update environment
23778 variables with regexp matches.
23779
23780 2010-09-04 Szymon Janc <szymon@janc.net.pl>
23781
23782 * include/grub/file.h (grub_file): New member not_easly_seekable.
23783 (grub_file_seekable): New inline function.
23784 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23785 easily seekable.
23786 (grub_gzio_open): Set not_easly_seekable.
23787 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23788 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23789
23790 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23791
23792 Support for options to appear multiple times on cmdline.
23793
23794 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23795 * grub-core/commands/extcmd.c: Support for repeatable option.
23796 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23797 repeatable option support.
23798
23799 Refactor menuentry into a regular command.
23800
23801 * grub-core/commands/menuentry.c: New file, menuentry command
23802 implementation.
23803 * grub-core/Makefile.core.def: Rule update for normal.mod.
23804 * grub-core/normal/main.c: Moved menuentry creation to
23805 grub-core/commands/menuentry.c.
23806 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23807 (grub_menu_execute_entry_real): Removed.
23808 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23809 function.
23810 (grub_script_execute_menuentry): Removed.
23811 * grub-core/script/parser.y (menuentry): Removed.
23812 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23813 * grub-core/script/yylex.l (menuentry): Removed.
23814 * include/grub/menu.h (grub_menu_init): New prototype.
23815 (grub_menu_fini): New prototype.
23816 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23817 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23818 (grub_script_execute_sourcecode): New prototype.
23819
23820 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23821
23822 "return" command for GRUB script functions.
23823
23824 * tests/grub_script_return.in: New test.
23825 * Makefile.util.def: Rules for new test.
23826
23827 * grub-core/script/execute.c (grub_script_return): New function.
23828 * grub-core/script/main.c: Register/unregister return commaond.
23829 * include/grub/script_sh.h (grub_script_return): New prototype.
23830
23831 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23832
23833 "setparams" command to update positional parameters.
23834
23835 * tests/grub_script_setparams.in: New test.
23836 * Makefile.util.def: Rules for new test.
23837
23838 * grub-core/script/argv.c (grub_script_argv_make): New function.
23839 * grub-core/script/execute.c (replace_scope): New function.
23840 (grub_script_setparams): New function.
23841 * grub-core/script/lexer.c: Remove unused variables.
23842 * grub-core/script/main.c: Register/unregister setparams command.
23843 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23844 (grub_script_setparams): New prototype.
23845
23846 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23847
23848 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23849 grub_free order.
23850
23851 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23852
23853 Support for passing block of commands as an argument to extcmds.
23854
23855 * Makefile.util.def: Rules for new test.
23856 * tests/grub_script_blockarg.in: New test.
23857 * grub-core/tests/test_blockarg.c: New file, block argument
23858 command used in the test.
23859
23860 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23861 (grub_register_extcmd_prio): New function prototype.
23862 (grub_extcmd_dispatcher): New function prototype.
23863 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23864 type.
23865 * include/grub/script_sh.h (struct grub_script): New members
23866 `children', `next_siblings' and `refcnt' for block arguments and
23867 reference counting.
23868 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23869 (grub_script_arg): New member `script' for block argument.
23870 (grub_script_argv): New member `script' for block argument.
23871 (grub_parser_param): New member `scripts' for block argument.
23872 (grub_script_mem_free): New extern function prototype.
23873 (grub_script_ref): New function prototype.
23874 (grub_script_unref): New function prototype.
23875
23876 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23877 extcmd form to support block arguments.
23878 * grub-core/script/argv.c: Block arguments support.
23879 * grub-core/script/execute.c: Likewise.
23880 * grub-core/script/lexer.c: Likewise.
23881 * grub-core/script/main.c: Likewise.
23882 * grub-core/script/script.c: Likewise.
23883 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23884 non-terminals.
23885
23886 * grub-core/commands/acpi.c: Update extcmd implementations with
23887 grub_extcmd_context_t.
23888 * grub-core/commands/cat.c: Likewise.
23889 * grub-core/commands/echo.c: Likewise.
23890 * grub-core/commands/extcmd.c: Likewise.
23891 * grub-core/commands/hashsum.c: Likewise.
23892 * grub-core/commands/hdparm.c: Likewise.
23893 * grub-core/commands/help.c: Likewise.
23894 * grub-core/commands/hexdump.c: Likewise.
23895 * grub-core/commands/i386/cpuid.c: Likewise.
23896 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23897 * grub-core/commands/i386/pc/halt.c: Likewise.
23898 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23899 * grub-core/commands/iorw.c: Likewise.
23900 * grub-core/commands/keystatus.c: Likewise.
23901 * grub-core/commands/loadenv.c: Likewise.
23902 * grub-core/commands/ls.c: Likewise.
23903 * grub-core/commands/lspci.c: Likewise.
23904 * grub-core/commands/memrw.c: Likewise.
23905 * grub-core/commands/probe.c: Likewise.
23906 * grub-core/commands/search_wrap.c: Likewise.
23907 * grub-core/commands/setpci.c: Likewise.
23908 * grub-core/commands/sleep.c: Likewise.
23909 * grub-core/disk/loopback.c: Likewise.
23910 * grub-core/hello/hello.c: Likewise.
23911 * grub-core/loader/i386/bsd.c: Likewise.
23912 * grub-core/loader/xnu.c: Likewise.
23913 * grub-core/term/gfxterm.c: Likewise.
23914 * grub-core/term/serial.c: Likewise.
23915 * grub-core/tests/lib/functional_test.c: Likewise.
23916
23917 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23918
23919 Multi-line quoted strings support.
23920
23921 * grub-core/script/lexer.c (append_newline): Removed.
23922 (grub_script_lexer_yywrap): Refactored.
23923 (grub_script_lexer_init): Refactored.
23924 * grub-core/script/yylex.l (yywrap): New function.
23925 (grub_lexer_resplit): New function.
23926 (grub_lexer_unput): New function.
23927 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23928 and resplit.
23929 * tests/grub_script_echo1.in: Added few more testcases.
23930
23931 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23932
23933 * grub-core/kern/misc.c: Don't add abort alias in utils.
23934 Reported by: echoline.
23935
23936 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23937
23938 Add missing files into "make dist" tarball for other platforms.
23939
23940 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23941 * conf/Makefile.common (dist_noinst_DATA): New variable.
23942 * conf/Makefile.extra-dist: Added missing make dist files.
23943 * grub-core/Makefile.core.def: Likewise.
23944
23945 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Compress grub_prefix.
23948
23949 * grub-core/boot/i386/pc/lnxboot.S: Use
23950 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23951 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23952 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23953 GRUB_MACHINE_PREFIX_END. All users updated.
23954 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23955 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23956 + 0x40.
23957 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23958 * util/grub-mkimage.c (image_target_desc): Change data_end to
23959 prefix_end. All users updated.
23960
23961 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23962
23963 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23964 value.
23965 (grub_openbsd_boot): Likewise.
23966 (grub_netbsd_boot): Likewise.
23967 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23968 (grub_xnu_boot): Likewise.
23969
23970 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23971
23972 * configure.ac: Clean LIBS variable after tests.
23973
23974 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
23975
23976 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23977
23978 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23979
23980 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23981 echo if libdevmapper will be used.
23982
23983 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23984
23985 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23986 constant for the same file.
23987
23988 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23989
23990 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23991
23992 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
23993
23994 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23995 grub-core/*.pp.
23996
23997 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
23998
23999 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24000 required by the boot protocol.
24001
24002 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24003 ebp and edi members.
24004 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24005 state.ebp and state.edi.
24006 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24007 %ebp and %edi according to grub_relocator32_ebp and
24008 grub_relocator32_edi respectively.
24009 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24010 and state.edi.
24011
24012 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 Add i386-pc-pxe image target.
24015
24016 * util/grub-mkimage.c (image_target_desc): New enum value
24017 IMAGE_I386_PC_PXE.
24018 (image_targets): New target i386-pc-pxe.
24019 (generate_image): Handle i386-pc-pxe image.
24020
24021 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24022
24023 Fix grub_pxe_scan.
24024
24025 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24026 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24027 All users updated.
24028 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24029 (grub_pxe_pxenv): Correct type.
24030
24031 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24032
24033 * NEWS: Document most of the important changes since 1.98.
24034
24035 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24036
24037 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24038 generated manual page) a little.
24039
24040 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * docs/grub.texi: Add myself as an author.
24043
24044 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24045
24046 * Makefile.util.def (libgrub.a): Add missing sunpc.
24047 Reported by: Seth Goldberg.
24048
24049 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24050
24051 Interrupt wrapping and code simplifications.
24052
24053 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24054 x86_noieee1275 which are functionaly equivalent in this case.
24055 (grub-install): Make source on each platform explicit. Enable on
24056 all noemu.
24057 * gentpl.py (x86_efi_pc): Removed group.
24058 (x86_noefi): Likewise.
24059 (i386_noefi): Likewise.
24060 (x86_noieee1275): Likewise.
24061 (i386_noieee1275): Likewise.
24062 (i386_noefi_noieee1275): Likewise.
24063 (i386_pc_qemu_coreboot): Likewise.
24064 (i386_coreboot_multiboot): Likewise.
24065 (i386_pc_coreboot_multiboot_qemu): Likewise.
24066 (x86_noefi_mips): Likewise.
24067 (noieee1275): Likewise.
24068 (ieee1275_mips): Likewise.
24069 (noemu_noieee1275): Likewise.
24070 (cmos): New group.
24071 (usb): Likewise.
24072 (videoinkernel): Likewise.
24073 (videomodules): Likewise.
24074 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24075 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24076 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24077 include/grub/loader.h, include/grub/msdos_partition.h,
24078 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24079 include/grub/machine/console.h, include/grub/machine/vga.h,
24080 include/grub/machine/vbe.h, include/grub/machine/init.h,
24081 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24082 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24083 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24084 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24085 * grub-core/Makefile.core.def (kernel): Explicit the source for
24086 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24087 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24088 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24089 Use videoinkernel tag.
24090 (usb): Enable on all usb.
24091 (usbserial_common): Likewise.
24092 (usbserial_pl2303): Likewise.
24093 (usbserial_ftdi): Likewise.
24094 (uhci): Enable on all x86.
24095 (ohci): Enable on all pci.
24096 (cmostest): Enable on all CMOS.
24097 (acpi): Include commands/acpi.c on all platforms.
24098 (halt): Add relevant lib/*/halt.c.
24099 (hdparm): Enable on all pci.
24100 (lspci): Likewise.
24101 (usbtest): Enable on all usb.
24102 (ata): Enable on all pci.
24103 (ata_pthru): Likewise.
24104 (usbms): Enable on all usb.
24105 (usb_keyboard): Likewise.
24106 (font): Use tag videomodules.
24107 (bufio): Likewise.
24108 (datetime): Use tag cmos. Enable on all noemu.
24109 (mmap): Use tags common and x86.
24110 (gfxterm): Use tag videomodules.
24111 (bitmap): Likewise.
24112 (bitmap_scale): Likewise.
24113 (video_fb): Likewise.
24114 (video): Likewise.
24115 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24116 adjust padding accordingly. All users updated.
24117 (grub_ohci_transaction): Fix bad format specification.
24118 (GRUB_MOD_INIT): Add asserts for struct size.
24119 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24120 (grub_alloc_td): Likewise.
24121 (grub_free_queue): Likewise.
24122 (grub_uhci_transfer): Likewise.
24123 (grub_uhci_transaction): Fix bad format specification.
24124 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24125 (grub_usb_bulk_readwrite): Likewise.
24126 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24127 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24128 Made static.
24129 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24130 Made static.
24131 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24132 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24133 Transformed into C.
24134 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24135 Moved from here ...
24136 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24137 ... here. Transformed into C. Made static.
24138 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24139 Moved from here ...
24140 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24141 ... here. Transformed into C. Made static.
24142 * grub-core/kern/i386/pc/startup.S
24143 (grub_biosdisk_check_int13_extensions): Moved from here ...
24144 * grub-core/disk/i386/pc/biosdisk.c
24145 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24146 Made static.
24147 * grub-core/kern/i386/pc/startup.S
24148 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24149 * grub-core/disk/i386/pc/biosdisk.c
24150 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24151 Transformed into C. Made static.
24152 * grub-core/kern/i386/pc/startup.S
24153 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24154 * grub-core/disk/i386/pc/biosdisk.c
24155 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24156 Transformed into C. Made static.
24157 * grub-core/kern/i386/pc/startup.S
24158 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24159 * grub-core/disk/i386/pc/biosdisk.c
24160 (grub_biosdisk_get_diskinfo_standard): ... here.
24161 Transformed into C. Made static.
24162 * grub-core/kern/i386/pc/startup.S
24163 (grub_biosdisk_get_num_floppies): Moved from here ...
24164 * grub-core/disk/i386/pc/biosdisk.c
24165 (grub_biosdisk_get_num_floppies): ... here.
24166 Transformed into C. Made static.
24167 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24168 New function.
24169 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24170 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24171 Transformed into C. Made static.
24172 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24173 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24174 Transformed into C. Made static.
24175 * grub-core/kern/i386/ieee1275/init.c: Removed.
24176 * grub-core/kern/i386/misc.S: Likewise.
24177 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24178 Splitted from here ...
24179 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24180 Transformed into C. Made static. All users updated.
24181 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24182 Transformed into C. Made static. All users updated.
24183 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24184 Moved from here...
24185 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24186 Transformed into C. Made static. All users updated.
24187 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24188 Moved from here...
24189 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24190 Transformed into C. Made static. All users updated.
24191 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24192 Removed (replaced by C version).
24193 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24194 Moved from here...
24195 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24196 Transformed into C. Made static.
24197 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24198 Moved from here...
24199 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24200 ... here. Transformed into C.
24201 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24202 Moved from here...
24203 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24204 ... here. Transformed into C.
24205 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24206 Moved from here...
24207 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24208 ... here. Transformed into C. Made static.
24209 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24210 Moved from here...
24211 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24212 ... here. Transformed into C.
24213 * grub-core/kern/i386/pc/startup.S
24214 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24215 * grub-core/video/i386/pc/vbe.c
24216 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
24217 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24218 Moved from here...
24219 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24220 ... here. Transformed into C.
24221 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24222 Moved from here...
24223 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24224 ... here. Transformed into C.
24225 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24226 Moved from here...
24227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24228 ... here. Transformed into C.
24229 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24230 Moved from here...
24231 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24232 ... here. Transformed into C.
24233 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24234 Moved from here...
24235 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24236 ... here. Transformed into C. Made static.
24237 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24238 Moved from here...
24239 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24240 ... here. Transformed into C. Made static.
24241 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24242 Moved from here...
24243 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24244 ... here. Transformed into C. Made static.
24245 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24246 pxe_rm_entry as third argument.
24247 (grub_bios_interrupt): New function.
24248 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24249 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24250 of calling grub_stop.
24251 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24252 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24253 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24254 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24255 * grub-core/lib/i386/halt.c: Moved from here ...
24256 * grub-core/lib/i386/halt.c: ... here.
24257 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24258 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24259 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24260 grub_stop_floppy.
24261 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24262 * include/grub/i386/coreboot/init.h: Removed.
24263 * include/grub/i386/multiboot/init.h: Likewise.
24264 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24265 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24266 * include/grub/i386/pc/int.h: New file.
24267 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24268 (grub_pxe_scan): Removed.
24269 (grub_pxe_call): Update prototype.
24270 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24271 prototypes.
24272 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24273 * include/grub/i386/qemu/init.h: Removed.
24274 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24275 noreturn.
24276 (grub_halt): Likewise.
24277 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24278 (grub_reboot): Likewise.
24279 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24280 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
24281 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24282
24283 2010-08-30 Robert Millan <rmh@gnu.org>
24284
24285 * NEWS: Document addition of ZFS support in `grub-install' and
24286 `grub-mkconfig'.
24287
24288 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24289
24290 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24291 dprintf output.
24292
24293 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24294
24295 Remove leftover embedding of font objects.
24296
24297 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24298 * util/grub-install.in (font): Removed.
24299 * util/grub-mkimage.c (generate_image): Remove font support. All users
24300 updated.
24301
24302 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 Remove leftover embedding of font objects.
24305
24306 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24307 * util/grub-install.in (font): Removed.
24308 * util/grub-mkimage.c (generate_image): Remove font support. All users
24309 updated.
24310
24311 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 * docs/grub.texi (Network): Fix reference to pxe_blksize.
24314 Reported by: Ian Turner
24315
24316 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24317
24318 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24319 timeout to avoid indefinite boot stalling.
24320
24321 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24322
24323 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24324 (grub_env_write_color_highlight): Likewise.
24325
24326 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24327
24328 * grub-core/normal/term.c (print_more): Return to normal and not
24329 to standard state after printing "---MORE---".
24330
24331 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24334 Mask out the bit 0x80 since it has other meaning that specifiing color.
24335
24336 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24337
24338 New relocator. Allows for more kernel support and more straightforward
24339 loader writing.
24340
24341 * Makefile.am (BOOTTARGET): New variable.
24342 (QEMU32): Likewise.
24343 (linux.init.x86_64): New target.
24344 (linux.init.i386): Likewise.
24345 (multiboot.elf): Likewise.
24346 (kfreebsd.elf): Likewise.
24347 (kfreebsd.aout): Likewise.
24348 (pc-chainloader.elf): Likewise.
24349 (pc-chainloader.bin): Likewise.
24350 (ntldr.elf): Likewise.
24351 (ntldr.bin): Likewise.
24352 (multiboot2.elf): Likewise.
24353 (kfreebsd.init.x86_64): Likewise.
24354 (kfreebsd.init.i386): Likewise.
24355 (knetbsd.init.i386): Likewise.
24356 (kopenbsd.init.i386): Likewise.
24357 (knetbsd.init.x86_64): Likewise.
24358 (kopenbsd.init.x86_64): Likewise.
24359 (linux-initramfs.i386): Likewise.
24360 (linux-initramfs.x86_64): Likewise.
24361 (kfreebsd-mfsroot.i386.img): Likewise.
24362 (knetbsd.image.i386): Likewise.
24363 (kopenbsd.image.i386): Likewise.
24364 (kopenbsd.image.x86_64): Likewise.
24365 (knetbsd.miniroot-image.i386.img): Likewise.
24366 (kfreebsd-mfsroot.x86_64.img): Likewise.
24367 (knetbsd.image.x86_64): Likewise.
24368 (knetbsd.miniroot-image.x86_64.img): Likewise.
24369 (kfreebsd-mfsroot.i386.gz): Likewise.
24370 (bootcheck-kfreebsd-i386): Likewise.
24371 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24372 (bootcheck-kfreebsd-x86_64): Likewise.
24373 (knetbsd.miniroot-image.i386.gz): Likewise.
24374 (bootcheck-knetbsd-i386): Likewise.
24375 (bootcheck-kopenbsd-i386): Likewise.
24376 (bootcheck-kopenbsd-x86_64): Likewise.
24377 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24378 (bootcheck-knetbsd-x86_64): Likewise.
24379 (bootcheck-linux-i386): Likewise.
24380 (bootcheck-linux-x86_64): Likewise.
24381 (bootcheck-linux16-i386): Likewise.
24382 (bootcheck-linux16-x86_64): Likewise.
24383 (bootcheck-multiboot): Likewise.
24384 (bootcheck-multiboot2): Likewise.
24385 (bootcheck-kfreebsd-aout): Likewise.
24386 (bootcheck-pc-chainloader): Likewise.
24387 (bootcheck-ntldr): Likewise.
24388 (CLEANFILES): Add new targets.
24389 (BOOTCHECKS): New variable.
24390 (.PHONY): Add bootchecks.
24391 (SUCCESSFUL_BOOT_STRING): New variable.
24392 (BOOTCHECK_TIMEOUT): Likewise.
24393 (bootcheck): New target
24394 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24395 * configure.ac: Correct efiemu excuse.
24396 * docs/grub.texi (Supported kernels): New chapter.
24397 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24398 include/grub/mm_private.h. Simplify inclusion of
24399 include/grub/boot.h, include/grub/loader.h
24400 and include/grub/msdos_partition.h
24401 (KERNEL_HEADER_FILES) [i386_coreboot]:
24402 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24403 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24404 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24405 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24406 include/grub/machine/loader.h.
24407 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24408 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24409 extra_dist.
24410 (pci.mod): Enable on i386-multiboot.
24411 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24412 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24413 i386-qemu.
24414 (relocator.mod): Rewritten.
24415 (aout.mod): Enable on all x86.
24416 (bsd.mod): Likewise.
24417 (ntldr.mod): New module.
24418 (linux.mod): Use loader/i386/linux.c on all x86.
24419 (xnu.mod): Enable on all x86.
24420 (vga_text.mod): disable on EFI and QEMU.
24421 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24422 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24423 * grub-core/efiemu/loadcore.c: Likewise.
24424 * grub-core/efiemu/main.c: Likewise.
24425 (grub_efiemu_exit_boot_services): Removed.
24426 (grub_efiemu_finish_boot_services): Likewise.
24427 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24428 function.
24429 * grub-core/efiemu/i386/nocfgtables.c: New file.
24430 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24431 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24432 (grub_efi_finish_boot_services): Moved from here ...
24433 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24434 Fille finish memory map and related data.
24435 (finish_mmap_buf): New variable.
24436 (grub_efi_uintn_t finish_mmap_size): Likewise.
24437 (grub_efi_uintn_t finish_key): Likewise.
24438 (grub_efi_uintn_t finish_desc_size): Likewise.
24439 (grub_efi_uint32_t finish_desc_version): Likewise.
24440 (grub_efi_is_finished): Likewise.
24441 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24442 finished.
24443 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24444 (grub_elf64_phdr_iterate): Likewise.
24445 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24446 (grub_os_area_size): Likewise.
24447 (grub_machine_init): Don't reserve os area.
24448 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24449 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24450 * grub-core/kern/i386/loader.S: Removed.
24451 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24452 (grub_os_area_size): Likewise.
24453 (grub_machine_init): Don't reserve os area.
24454 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24455 Don't call grub_dl_unload_all.
24456 Don't include loader.S.
24457 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24458 Declare the memory after _end as available.
24459 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
24460 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
24461 (GRUB_MM_ALLOC_MAGIC): Moved from here...
24462 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24463 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24464 * include/grub/mm_private.h (grub_mm_header): ... here.
24465 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24466 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
24467 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24468 (grub_mm_region): ..here. Removed addr. Added pre_size.
24469 All users updated.
24470 * grub-core/kern/mm.c (base): Renamed to ...
24471 (grub_mm_base): ... this. Made global.
24472 (grub_real_malloc): Alloc from end of region.
24473 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24474 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24475 * grub-core/kern/powerpc/cache_flush.S: ... here.
24476 * grub-core/lib/efi/relocator.c: New file.
24477 * grub-core/lib/i386/relocator.c: Rewritten.
24478 * grub-core/lib/i386/relocator16.S: New file.
24479 * grub-core/lib/i386/relocator32.S: Likewise.
24480 * grub-core/lib/i386/relocator64.S: Likewise.
24481 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24482 * grub-core/lib/i386/relocator_common.S: New file.
24483 * grub-core/lib/ieee1275/relocator.c: Likewise.
24484 * grub-core/lib/mips/relocator.c: Rewritten.
24485 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24486 stylistic adjustments.
24487 * grub-core/lib/powerpc/relocator.c: New file.
24488 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24489 * grub-core/lib/relocator.c: Rewritten.
24490 * grub-core/lib/x86_64/relocator_asm.S: New file.
24491 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24492 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24493 (bsd_tag): New struct.
24494 (tags): New variable.
24495 (tags_last): Likewise.
24496 (netbsd_module): New struct.
24497 (netbsd_mods): New variable.
24498 (netbsd_mods_last): Likewise.
24499 (openbsd_opts): New parameter "serial".
24500 (OPENBSD_SERIAL_ARG): New definition.
24501 (netbsd_opts): New parameter "serial".
24502 (NETBSD_SERIAL_ARG): New definition.
24503 (grub_freebsd_add_meta): Reorganised into ...
24504 (grub_bsd_add_meta): ...this. All users updated.
24505 (grub_freebsd_add_mmap): Reorganised into ...
24506 (generate_e820_mmap): ...this...
24507 (grub_bsd_add_mmap): ...and this. All users updated.
24508 (grub_freebsd_list_modules): Use tags.
24509 (grub_netbsd_add_meta_module): New function.
24510 (grub_netbsd_list_modules): Likewise.
24511 (grub_freebsd_boot): Use relocator and finish EFI.
24512 (grub_openbsd_boot): Likewise.
24513 (grub_netbsd_setup_video): New function.
24514 (grub_netbsd_add_modules): Likewise.
24515 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24516 and finish EFI.
24517 (grub_bsd_unload): Unload tags.
24518 (grub_bsd_load_aout): Use relocator.
24519 (grub_bsd_elf32_size_hook): New function.
24520 (grub_bsd_elf32_hook): Use relocator.
24521 (grub_bsd_elf64_size_hook): New function.
24522 (grub_bsd_elf64_hook): Use relocator.
24523 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24524 (grub_bsd_load): Zero-out openbsd_ramdisk.
24525 (grub_bsd_load): Use relocator.
24526 (grub_cmd_openbsd): Support serial.
24527 (grub_cmd_netbsd): Support modules.
24528 (grub_cmd_freebsd_module): Use relocator.
24529 (grub_netbsd_module_load): New function.
24530 (grub_cmd_netbsd_module): Likewise.
24531 (grub_cmd_openbsd_ramdisk): Likewise.
24532 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24533 kopenbsd_ramdisk.
24534 (GRUB_MOD_FINI): Unregister new commands.
24535 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24536 (grub_freebsd_load_elfmodule_obj): Use relocator.
24537 (grub_freebsd_load_elfmodule): Likewise.
24538 (grub_freebsd_load_elf_meta): Likewise.
24539 (grub_netbsd_load_elf_meta): New function.
24540 (grub_openbsd_find_ramdisk): Likewise.
24541 * grub-core/loader/i386/bsd_helper.S: Removed.
24542 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24543 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24544 * grub-core/loader/i386/efi/linux.c: Likewise.
24545 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24546 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24547 (DEFAULT_VIDEO_MODE): Likewise.
24548 (real_mode_target): New variable.
24549 (prot_mode_target): Likewise.
24550 (initrd_mem_target): Likewise.
24551 (relocator): Likewise.
24552 (efi_mmap_buf): Likewise.
24553 (efi_mmap_size): Likewise.
24554 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24555 (free_pages): Use relocator.
24556 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24557 (grub_linux_setup_video): Return error.
24558 (grub_linux_trampoline_start): Removed.
24559 (grub_linux_trampoline_end): Likewise.
24560 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24561 andd video parameters depending on firmware.
24562 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24563 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24564 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24565 (grub_cmd_initrd): Use relocator.
24566 * grub-core/loader/i386/linux_trampoline.S: Removed.
24567 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24568 (elf_sec_entsize): Likewise.
24569 (elf_sec_shstrndx): Likewise.
24570 (elf_sections): Likewise.
24571 (grub_multiboot_load): Use relocator.
24572 (grub_multiboot_get_mbi_size): Account for sections.
24573 (grub_multiboot_make_mbi): Use relocator and support sections.
24574 (grub_multiboot_add_elfsyms): New function.
24575 (grub_multiboot_free_mbi): Free sections.
24576 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24577 (grub_linux_real_target): Likewise.
24578 (grub_linux_real_chunk): Likewise.
24579 (grub_linux16_prot_size): Likewise.
24580 (grub_linux16_boot): Use relocator.
24581 (grub_linux_unload): Unload relocator.
24582 (grub_cmd_linux): Use relocator.
24583 (grub_cmd_initrd): Likewise.
24584 * grub-core/loader/i386/pc/ntldr.c: New file.
24585 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24586 Don't try to guess CPU frequency.
24587 (grub_xnu_set_video): Stretch bitmap.
24588 (grub_xnu_boot): Use relocator.
24589 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24590 (grub_linux_unload): Free relocator.
24591 (grub_linux_load32): Use relocator.
24592 (grub_linux_load64): Likewise.
24593 (grub_cmd_initrd): Likewise.
24594 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24595 (grub_multiboot_unload): Unload relocator.
24596 (grub_cmd_multiboot): Use relocator.
24597 (grub_cmd_module): Likewise.
24598 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24599 Use relocator and support sections.
24600 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24601 (elf_sec_entsize): Likewise.
24602 (elf_sec_shstrndx): Likewise.
24603 (elf_sections): Likewise.
24604 (grub_multiboot_load): Use relocator.
24605 (grub_multiboot_get_mbi_size): Account for sections.
24606 (grub_multiboot_make_mbi): Use relocator and support sections.
24607 (grub_multiboot_add_elfsyms): New function.
24608 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24609 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24610 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24611 Prototype changed. All users updated.
24612 (grub_xnu_align_heap): Simplified.
24613 (grub_xnu_writetree_toheap): Likewise.
24614 (grub_xnu_unload): Unload relocator.
24615 (grub_cmd_xnu_kernel): Use relocator.
24616 (grub_cmd_xnu_kernel64): Likewise.
24617 (grub_xnu_register_memory): Simplified.
24618 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
24619 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24620 EFI is finished.
24621 (grub_console_checkkey): Likewise.
24622 (grub_console_getkey): Likewise.
24623 (grub_console_getwh): Likewise.
24624 (grub_console_getxy): Likewise.
24625 (grub_console_gotoxy): Likewise.
24626 (grub_console_cls): Likewise.
24627 (grub_console_setcolorstate): Likewise.
24628 (grub_console_setcursor): Likewise.
24629 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24630 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24631 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24632 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24633 * grub-core/tests/boot/kernel-8086.S: Likewise.
24634 * grub-core/tests/boot/kernel-i386.S: Likewise.
24635 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24636 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24637 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24638 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24639 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24640 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24641 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24642 * grub-core/tests/boot/linux.cfg: Likewise.
24643 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24644 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24645 * grub-core/tests/boot/linux16.cfg: Likewise.
24646 * grub-core/tests/boot/multiboot.cfg: Likewise.
24647 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24648 * grub-core/tests/boot/ntldr.cfg: Likewise.
24649 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24650 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24651 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24652 New definition.
24653 * include/grub/dl.h (grub_dl_unload_all): Removed.
24654 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24655 (grub_efi_finish_boot_services): Change prototype.
24656 (grub_efi_is_finished): New variable.
24657 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24658 Changed prototype.
24659 (grub_efiemu_finish_boot_services): Removed.
24660 (grub_machine_efiemu_init_tables): New prototype.
24661 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24662 (grub_elf64_phdr_iterate): Likewise.
24663 * include/grub/i386/bsd.h: Include relocator.h.
24664 (freebsd_tag_header): New struct.
24665 (grub_openbsd_bios_mmap): Removed.
24666 (grub_unix_real_boot): Removed.
24667 (grub_freebsd_load_elfmodule32): Changed prototype.
24668 (grub_freebsd_load_elfmodule_obj64): Likewise.
24669 (grub_freebsd_load_elf_meta32): Likewise.
24670 (grub_freebsd_load_elf_meta64): Likewise.
24671 (grub_freebsd_add_meta): Removed.
24672 (grub_netbsd_load_elf_meta32): New prototype.
24673 (grub_netbsd_load_elf_meta64): Likewise.
24674 (grub_bsd_add_meta): Likewise.
24675 (grub_openbsd_ramdisk_descriptor): New struct.
24676 (grub_openbsd_find_ramdisk32): New prototype.
24677 (grub_openbsd_find_ramdisk64): Likewise.
24678 * include/grub/i386/coreboot/loader.h: Removed.
24679 * include/grub/i386/efi/loader.h: Likewise.
24680 * include/grub/i386/ieee1275/loader.h: Likewise.
24681 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24682 to grub_uint32_t.
24683 * include/grub/i386/loader.h: Removed.
24684 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24685 value.
24686 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24687 (grub_phys_addr_t): New type.
24688 (grub_vtop): New inline function.
24689 (grub_map_memory): Likewise.
24690 (grub_unmap_memory): Likewise.
24691 * include/grub/i386/multiboot/loader.h: Removed.
24692 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24693 (NETBSD_BTINFO_CONSOLE): New definition.
24694 (NETBSD_BTINFO_SYMTAB): Likewise.
24695 (NETBSD_BTINFO_MODULES): Likewise.
24696 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24697 (grub_netbsd_bootinfo): New struct.
24698 (grub_netbsd_btinfo_common): Use explicit bitsize.
24699 (grub_netbsd_btinfo_mmap_entry): Removed.
24700 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24701 (grub_netbsd_btinfo_bootdisk): New struct.
24702 (grub_netbsd_btinfo_symtab): Likewise.
24703 (grub_netbsd_btinfo_serial): Likewise.
24704 (grub_netbsd_btinfo_modules): Likewise.
24705 (grub_netbsd_btinfo_framebuf): Likewise.
24706 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24707 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24708 Likewise.
24709 (grub_openbsd_bootargs): Use explicit bitsize.
24710 (grub_openbsd_bootarg_console): New struct.
24711 (GRUB_OPENBSD_COM_MAJOR): New definition.
24712 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24713 * include/grub/i386/pc/efiemu.h: Removed.
24714 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24715 * include/grub/i386/qemu/loader.h: Removed.
24716 * include/grub/i386/relocator.h: Rewritten.
24717 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24718 * include/grub/mips/memory.h: New file.
24719 * include/grub/mips/multiboot.h: Rewritten.
24720 * include/grub/mips/relocator.h: Rewritten.
24721 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24722 (grub_vtop): New function.
24723 (grub_map_memory): Likewise.
24724 (grub_unmap_memory): Likewise.
24725 * include/grub/misc.h (ALIGN_DOWN): New definition.
24726 * include/grub/mm.h (grub_mm_check_real): New proto.
24727 (GRUB_MM_CHECK): New definition.
24728 * include/grub/mm_private.h: New file.
24729 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24730 (grub_multiboot_get_mbi_size): Removed.
24731 (grub_multiboot_make_mbi): Change prottype.
24732 (grub_multiboot_set_accepts_video): New proto.
24733 (grub_multiboot_add_elfsyms): Likewise.
24734 (grub_multiboot_payload_eip): New variable.
24735 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24736 New prototype.
24737 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24738 New definition.
24739 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24740 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24741 * include/grub/powerpc/ieee1275/loader.h: Removed.
24742 * include/grub/powerpc/memory.h: New file.
24743 * include/grub/powerpc/relocator.h: Likewise.
24744 * include/grub/relocator.h: Likewise.
24745 * include/grub/relocator_private.h: Likewise.
24746 * include/grub/sparc64/ieee1275/loader.h: Removed.
24747 * include/grub/x86_64/memory.h: New file.
24748 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24749 (grub_xnu_heap_malloc): Likewise.
24750 (grub_xnu_heap_real_start): Removed.
24751 (grub_xnu_heap_start): Likewise.
24752 (grub_xnu_relocator): New variable.
24753 (grub_xnu_heap_target_start): Likewise.
24754 * tests/util/grub-shell.in: Support non-pc.
24755 * util/grub-mkimage.c (image_targets): Fix multiboot target.
24756
24757 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24758
24759 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24760 on malloc error.
24761 (grub_bidi_logical_to_visual): Check that malloc succeded.
24762 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24763 puts.
24764 (grub_xputs_normal): Likewise.
24765
24766 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24767
24768 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24769 extra_dist.
24770
24771 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24772
24773 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24774
24775 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24778
24779 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24780
24781 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24782 dprintf.
24783
24784 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24785
24786 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24787
24788 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * grub-core/normal/term.c (print_more): Fix a memory leak.
24791 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24792 (grub_xputs_normal): Likewise.
24793
24794 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24797 the begining of the string
24798
24799 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 * grub-core/script/script.c (grub_script_parse): Free parsed on
24802 failure.
24803
24804 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24807 on failure.
24808
24809 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24812 return.
24813
24814 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24817 (scroll_up): Fix a memory leak.
24818
24819 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24820
24821 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24822 errors.
24823
24824 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24825
24826 Handle USB pendrives exposed as floppies.
24827
24828 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24829 floppy.
24830 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24831 Check for partitions on all devices.
24832
24833 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24836 (readkey): Likewise.
24837
24838 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24839
24840 Multiple variable names support to "export" command.
24841
24842 * normal/context.c (grub_cmd_export): "export" command supports
24843 multiple variable names.
24844
24845 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24846
24847 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24848 --target=drive output to Mach device name.
24849
24850 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24851
24852 New Automake based build system for GRUB.
24853
24854 * ABOUT-NLS: New file.
24855 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24856 in Makefile.util.def file.
24857 * Makefile.util.def: New file. Autogen build definitions file for
24858 GRUB host utils.
24859 * conf/Makefile.common: New file. Common variables for GRUB host
24860 utils and target modules.
24861 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24862 * docs/Makefile.am: New file. Automake file for docs.
24863 * gentpl.py: New file. Python script to generate Autogen
24864 template.
24865 * grub-core/Makefile.am: New file. GRUB target modules' rules
24866 that doesn't fit in Makefile.core.def file.
24867 * grub-core/Makefile.core.def: New file. Autogen build
24868 definitions file for GRUB target modules.
24869 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24870 specific setjmp.S file.
24871 * po/Makefile.am: New file.
24872
24873 * .bzrignore: New ignores.
24874 * INSTALL: New requirements, without Ruby.
24875 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24876 * autogen.sh: Updated to invoke autogen as necessary.
24877 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24878 and defines for Automake conditionals.
24879 * geninit.sh: Refactoring.
24880
24881 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24882 necessary.
24883 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24884 New prototype.
24885
24886 * include/grub/test.h: Fix functional test modules' naming.
24887 * grub-core/tests/example_functional_test.c: Fix test module name.
24888
24889 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24890 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24891 * util/grub-editenv.c: Likewise.
24892 * util/grub-fstest.c: Likewise.
24893 * util/grub-mkdevicemap.c: Likewise.
24894 * util/grub-mkfont.c: Likewise.
24895 * util/grub-mkimage.c: Likewise.
24896 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24897 * util/grub-probe.c: Likewise.
24898 * util/grub-script-check.c: Likewise.
24899 * util/i386/pc/grub-setup.c: Likewise.
24900 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24901
24902 * tests/util/grub-shell.in: Fix override directory path.
24903 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24904 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24905
24906 * util/lvm.c: Update #includes.
24907 * util/raid.c: Likewise.
24908 * util/resolve.c: Likewise.
24909 * grub-core/bus/emu/pci.c: Likewise.
24910 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24911 * grub-core/lib/posix_wrap/string.h: Likewise.
24912 * grub-core/kern/emu/main.c: Likewise.
24913
24914 * grub-core/gensymlist.sh: New file. Script for generating kernel
24915 symbols file.
24916 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24917
24918 * grub-core/gentrigtables.c: Fix unused variable warnings.
24919
24920 * Makefile.in: Removed.
24921 * conf/any-emu.rmk: Removed.
24922 * conf/common.rmk: Removed.
24923 * conf/i386-coreboot.rmk: Removed.
24924 * conf/i386-efi.rmk: Removed.
24925 * conf/i386-ieee1275.rmk: Removed.
24926 * conf/i386-multiboot.rmk: Removed.
24927 * conf/i386-pc.rmk: Removed.
24928 * conf/i386-qemu.rmk: Removed.
24929 * conf/i386.rmk: Removed.
24930 * conf/mips-yeeloong.rmk: Removed.
24931 * conf/mips.rmk: Removed.
24932 * conf/powerpc-ieee1275.rmk: Removed.
24933 * conf/sparc64-ieee1275.rmk: Removed.
24934 * conf/tests.rmk: Removed.
24935 * conf/x86-efi.rmk: Removed.
24936 * conf/x86_64-efi.rmk: Removed.
24937 * gendistlist.sh: Removed.
24938 * geninitheader.sh: Removed.
24939 * genkernsyms.sh.in: Removed.
24940 * genmk.rb: Removed.
24941 * gensymlist.sh.in: Removed.
24942 * mkinstalldirs: Removed.
24943 * boot: Moved ...
24944 * grub-core/boot: ... to here.
24945 * bus: Moved ...
24946 * grub-core/bus: ... to here.
24947 * commands: Moved ...
24948 * grub-core/commands: ... to here.
24949 * disk: Moved ...
24950 * grub-core/disk: ... to here.
24951 * efiemu: Moved ...
24952 * grub-core/efiemu: ... to here.
24953 * font: Moved ...
24954 * grub-core/font: ... to here.
24955 * fs: Moved ...
24956 * grub-core/fs: ... to here.
24957 * gencmdlist.sh: Moved ...
24958 * grub-core/gencmdlist.sh: ... to here.
24959 * genemuinit.sh: Moved ...
24960 * grub-core/genemuinit.sh: ... to here.
24961 * genemuinitheader.sh: Moved ...
24962 * grub-core/genemuinitheader.sh: ... to here.
24963 * genfslist.sh: Moved ...
24964 * grub-core/genfslist.sh: ... to here.
24965 * genhandlerlist.sh: Moved ...
24966 * grub-core/genhandlerlist.sh: ... to here.
24967 * genmoddep.awk: Moved ...
24968 * grub-core/genmoddep.awk: ... to here.
24969 * genmodsrc.sh: Moved ...
24970 * grub-core/genmodsrc.sh: ... to here.
24971 * genpartmaplist.sh: Moved ...
24972 * grub-core/genpartmaplist.sh: ... to here.
24973 * genparttoollist.sh: Moved ...
24974 * grub-core/genparttoollist.sh: ... to here.
24975 * genterminallist.sh: Moved ...
24976 * grub-core/genterminallist.sh: ... to here.
24977 * gentrigtables.c: Moved ...
24978 * grub-core/gentrigtables.c: ... to here.
24979 * genvideolist.sh: Moved ...
24980 * grub-core/genvideolist.sh: ... to here.
24981 * gettext: Moved ...
24982 * grub-core/gettext: ... to here.
24983 * gfxmenu: Moved ...
24984 * grub-core/gfxmenu: ... to here.
24985 * gnulib: Moved ...
24986 * grub-core/gnulib: ... to here.
24987 * hello: Moved ...
24988 * grub-core/hello: ... to here.
24989 * hook: Moved ...
24990 * grub-core/hook: ... to here.
24991 * io: Moved ...
24992 * grub-core/io: ... to here.
24993 * kern: Moved ...
24994 * grub-core/kern: ... to here.
24995 * lib: Moved ...
24996 * grub-core/lib: ... to here.
24997 * loader: Moved ...
24998 * grub-core/loader: ... to here.
24999 * mmap: Moved ...
25000 * grub-core/mmap: ... to here.
25001 * normal: Moved ...
25002 * grub-core/normal: ... to here.
25003 * partmap: Moved ...
25004 * grub-core/partmap: ... to here.
25005 * parttool: Moved ...
25006 * grub-core/parttool: ... to here.
25007 * script: Moved ...
25008 * grub-core/script: ... to here.
25009 * term: Moved ...
25010 * grub-core/term: ... to here
25011 * tests/example_functional_test.c: Moved ...
25012 * grub-core/tests/example_functional_test.c: ... to here.
25013 * tests/lib/functional_test.c: Moved ...
25014 * grub-core/tests/lib/functional_test.c: ... to here.
25015 * tests/lib/test.c: Moved ...
25016 * grub-core/tests/lib/test.c: ... to here.
25017 * video: Moved ...
25018 * grub-core/video: ... to here.
25019
25020 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25021
25022 Replace --enable-grub-emu-modules with grub-emu-lite.
25023
25024 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25025 cache.S.
25026
25027 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25028 * kern/emu/full.c: New file. For grub-emu specific initialization.
25029 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25030 * kern/emu/main.c: Call initialization function grub_emu_init.
25031
25032 * Makefile.in: Include grub-emu-lite in install.
25033 * commands/parttool.c: Use grub_no_autoload to differentiate
25034 between grub-emu and grub-emu-lite.
25035 * include/grub/misc.h: New variable grub_no_autoload.
25036
25037 * conf/any-emu.rmk: New rules for grub-emu-lite.
25038 * configure.ac: Remove --enable-grub-emu-modules.
25039 * genmk.rb: Cleanup unnecessary rules.
25040 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25041
25042 * normal/main.c: Don't load list files on grub-emu-lite.
25043 * util/misc.c (grub_arch_sync_caches): Removed.
25044
25045 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25046
25047 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25048 grub-mkimage rather than grub-mkelfimage.
25049 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25050
25051 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25052
25053 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25054 a key after CapsLock or NumLock. It's just a qemu bug.
25055
25056 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25057
25058 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25059 needed by libusb wrapper.
25060
25061 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25062
25063 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25064
25065 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25068 --nounzip is passed.
25069
25070 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 USB hotunplugging and USB serial support.
25073
25074 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25075 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25076 (grub_uhci_transfer): Respect timeout and set *actual.
25077 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25078 non-standard length.
25079 (grub_usb_device_attach): Autoload modules.
25080 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25081 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25082 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25083 users updated.
25084 (grub_usb_add_hub): Fill nports and children.
25085 (attach_root_port): Receive hub instead of controller.
25086 All users updated. Fill hub->devices.
25087 (grub_usb_root_hub): Allocate hub->devices.
25088 (detach_device): New function.
25089 (poll_nonroot_hub): Fill children and detach devices.
25090 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25091 actual arguments. All users updated.
25092 (grub_usb_bulk_read_extended): New function.
25093 * bus/usb/serial/common.c: New file.
25094 * bus/usb/serial/ftdi.c: Likewise.
25095 * bus/usb/serial/pl2303.c: Likewise.
25096 * commands/terminal.c (handle_command): Support wildcard.
25097 * commands/usbtest.c: Output "Unknown" instead of empty string.
25098 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25099 (usbserial_common_mod_SOURCES): New variable.
25100 (usbserial_common_mod_CFLAGS): Likewise.
25101 (usbserial_common_mod_LDFLAGS): Likewise.
25102 (pkglib_MODULES): Add usbserial_pl2303.mod.
25103 (usbserial_pl2303_mod_SOURCES): New variable.
25104 (usbserial_pl2303_mod_CFLAGS): Likewise.
25105 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25106 (pkglib_MODULES): Add usbserial_ftdi.mod.
25107 (usbserial_ftdi_mod_SOURCES): New variable.
25108 (usbserial_ftdi_mod_CFLAGS): Likewise.
25109 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25110 (pkglib_MODULES): Add serial.mod.
25111 (serial_mod_SOURCES): New variable.
25112 (serial_mod_CFLAGS): Likewise.
25113 (serial_mod_LDFLAGS): Likewise.
25114 * conf/i386-pc.rmk: Likewise.
25115 * conf/mips-yeeloong.rmk: Likewise.
25116 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25117 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25118 * disk/usbms.c (first_available_slot): New variable.
25119 (grub_usbms_attach): Don't reuse free slots due to potential cache
25120 problems.
25121 * include/grub/serial.h: Moved to ..
25122 * include/grub/ns8250.h: ...this.
25123 * include/grub/serial.h: New file.
25124 * include/grub/term.h (grub_term_poll_usb): New variable.
25125 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25126 readkey. All users updated.
25127 (grub_terminfo_output_state): Pass term to put.
25128 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25129 (grub_usb_controller_dev): Add timeout and actual arguments to
25130 transfer. All users updated.
25131 (grub_usb_interface): New field detach_data.
25132 (grub_usb_device): New fields children and nports.
25133 (grub_usb_ep_type_t): New type.
25134 (grub_usb_get_ep_type): New function.
25135 (grub_usb_bulk_read_extended): Likewise.
25136 * include/grub/usbdesc.h (grub_usb_desc): New type.
25137 * include/grub/usbserial.h: New file.
25138 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25139 * kern/term.c (grub_term_poll_usb): New variable.
25140 (grub_getkey): Call grub_term_poll_usb if set.
25141 (grub_checkkey): Likewise.
25142 (grub_getkeystatus): Likewise.
25143 * term/serial.c: Moved controller-specific parts to ...
25144 * term/ns8250.c: ... here.
25145 * term/serial.c: Mostly rewritten.
25146 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25147 according to spec.
25148
25149 2010-08-20 Robert Millan <rmh@gnu.org>
25150
25151 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25152 a separate module and maybe other interesting combinations.
25153
25154 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25155 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25156 (kfreebsd_entry): Add generic filesystem module load routine.
25157 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25158
25159 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25160
25161 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25162 "numcenter" (I misunderstood the purpose of this entry).
25163 * docs/grub.texi (sendkey): Likewise.
25164
25165 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25166
25167 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25168 status flag options; simply omitting the option is equivalent and
25169 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25170 (keysym_table): Rename "num5numlock" to "numlock".
25171 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25172 can uniformly say that only the last of multiple `sendkey'
25173 invocations has any effect.
25174 * docs/grub.texi (sendkey): New section.
25175
25176 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
25177
25178 * commands/i386/pc/sendkey.c (options): Fix three typos.
25179
25180 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 Implement sendkey support.
25183
25184 * commands/i386/pc/sendkey.c: New file.
25185 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25186 (sendkey_mod_SOURCES): New variable.
25187 (sendkey_mod_CFLAGS): Likewise.
25188 (sendkey_mod_LDFLAGS): Likewise.
25189
25190 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25191
25192 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25193 fix warnings from Autoconf.
25194
25195 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25196
25197 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25198 to avoid false positives with some assemblers that output things
25199 like "someprefix_func" as part of their output.
25200
25201 2010-08-15 Robert Millan <rmh@gnu.org>
25202
25203 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25204 errors.
25205 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25206 grub_get_libzfs_handle() errors.
25207
25208 2010-08-14 Robert Millan <rmh@gnu.org>
25209
25210 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25211 filesystem is not ZFS.
25212
25213 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25214
25215 Fix for misspelled color names defaulting to black/black (bug
25216 reported by Doug Nazar)
25217
25218 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25219 status to prototype.
25220 * normal/color.c (grub_parse_color_name_pair): Return failure
25221 status.
25222 (grub_env_write_color_normal): Ignore bad color names.
25223 (grub_env_write_color_highlight): Likewise.
25224 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25225
25226 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25227
25228 "shift" command support to GRUB script.
25229
25230 * include/grub/script_sh.h (grub_script_shift): New prototype.
25231 * script/execute.c (grub_script_shift): New function.
25232 * script/main.c (grub_script_init): Register shift command.
25233 (grub_script_fini): Unregister shift command.
25234 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25235
25236 * tests/grub_script_shift.in: New testcase.
25237 * conf/tests.rmk: Rules for new testcase.
25238
25239 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25240
25241 "continue" command support to GRUB script.
25242
25243 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25244 (grub_script_break): Continue support.
25245 * script/main.c (grub_script_init): Register continue command.
25246 (grub_script_fini): Unregister continue command.
25247
25248 * tests/grub_script_continue.in: New testcase.
25249 * conf/tests.rmk: Rules for new testcase.
25250
25251 2010-08-12 BVK Chaitanya <bvk@dbook>
25252
25253 "break" command support to GRUB script.
25254
25255 * conf/common.rmk: Rule updates to grub-script-check.
25256 * include/grub/misc.h (grub_min): New function.
25257 * include/grub/script_sh.h (grub_script_init): New prototype.
25258 (grub_script_fini): New prototype.
25259 (grub_script_break): New prototype.
25260 * script/main.c (grub_script_init): New function.
25261 (grub_script_fini): New function.
25262 * script/execute.c (grub_script_break): New function.
25263 * normal/main.c: Calls to grub_script_{init,fini}.
25264 * util/grub-script-check.c (grub_script_break): New function.
25265
25266 * tests/grub_script_break.in: New testcase.
25267 * conf/tests.rmk: Rules for new test case.
25268
25269 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25270
25271 Function parameters support to GRUB script.
25272
25273 * script/yylex.l (VARIABLE): Regular expression update.
25274 * script/function.c (grub_script_function_call): Moved ...
25275 * script/execute.c (grub_script_function_call): ... to here.
25276 (grub_script_execute_arglist_to_argv): Removed.
25277 (grub_script_arglist_to_argv): New function.
25278 * script/argv.c: New file.
25279 (grub_script_argv_free): New function.
25280 (grub_script_argv_next): Likewise.
25281 (grub_script_argv_append): Likewise.
25282 (grub_script_argv_split_append): Likewise.
25283 * include/grub/script_sh.h (grub_script_argv): New struct.
25284 (grub_script_argv_free): New function.
25285 (grub_script_argv_next): Likewise.
25286 (grub_script_argv_append): Likewise.
25287 (grub_script_argv_split_append): Likewise.
25288
25289 * conf/common.rmk (normal.mod): New source script/argv.c.
25290
25291 * tests/grub_script_echo1.in: More tests.
25292 * tests/grub_script_vars1.in: Likewise.
25293 * tests/grub_script_functions.in: New test case.
25294 * conf/tests.rmk: Rules for new testcase.
25295
25296 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25297
25298 Remove grub_script_cmdblock struct.
25299
25300 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25301 * script/parser.y: Likewise.
25302 * script/execute.c: Rename cmdblock suffix to cmdlist.
25303 * script/script.c: Likewise.
25304 * util/grub-script-check.c: Likewise.
25305
25306 2010-08-11 Yves Blusseau <blusseau@zetam.org>
25307
25308 * .bzrignore: add grub-macho2img
25309
25310 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25313
25314 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 Remove the dump of sm712 initialisation sequence.
25317
25318 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25319 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25320 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25321 (GRUB_VGA_CR_*): Added many registers.
25322 (GRUB_VGA_SR_*): Likewise.
25323 (GRUB_VGA_GR_*): Likewise.
25324 (grub_vga_write_arx): New function.
25325 (grub_video_hw_config): New struct.
25326 (grub_vga_set_geometry): New function.
25327 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25328 GRUB_PCI_CLASS_SUBCLASS_VGA.
25329 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25330 * video/sm712.c (grub_sm712_write_reg): New function
25331 (grub_sm712_read_reg): Likewise.
25332 (grub_sm712_sr_write): Likewise.
25333 (grub_sm712_gr_write): Likewise.
25334 (grub_sm712_cr_write): Likewise.
25335 (grub_sm712_write_arx): Likewise.
25336 (grub_sm712_cr_shadow_write): Likewise.
25337 (grub_sm712_write_dda_lookup): Likewise.
25338 (grub_video_sm712_setup): Initialise the video rather then
25339 blindly replay the dump.
25340 (main) [TEST]: Add a routine to be able to compile as standalone for
25341 tests.
25342 * video/sm712_init.c (sm712_init): Removed.
25343 (sm712_sr_seq1): New array.
25344 (sm712_sr_seq2): Likewise.
25345
25346 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * include/grub/vga.h: Add missing grub/pci.h include.
25349
25350 2010-08-10 Yves Blusseau <blusseau@zetam.org>
25351
25352 * util/grub-macho2img.c (main): fix typo
25353
25354 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25357 (grub_vga_gr_read): Likewise.
25358 (grub_vga_cr_write): Likewise.
25359 (grub_vga_cr_read): Likewise.
25360 (grub_vga_sr_write): Likewise.
25361 (grub_vga_sr_read): Likewise.
25362 (grub_vga_palette_read): Likewise.
25363 (grub_vga_palette_write): Likewise.
25364 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25365 (grub_sm712_sr_read): New function.
25366 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25367 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25368
25369 2010-08-09 Robert Millan <rmh@gnu.org>
25370
25371 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25372 out unused variables on non-ZFS build.
25373
25374 2010-08-08 Robert Millan <rmh@gnu.org>
25375
25376 Fix path generation for sub-filesystems in ZFS.
25377
25378 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25379 missing slash.
25380
25381 2010-08-08 Robert Millan <rmh@gnu.org>
25382
25383 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25384
25385 2010-08-08 Robert Millan <rmh@gnu.org>
25386
25387 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25388 exist, issue a proper error message (rely on `ls' for translated
25389 strings).
25390
25391 2010-08-08 Robert Millan <rmh@gnu.org>
25392
25393 Fix grub-probe invocation.
25394
25395 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25396
25397 2010-08-04 Robert Millan <rmh@gnu.org>
25398
25399 * configure.ac: Remove checks for getfsstat() and getmntany().
25400 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25401 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25402 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25403 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25404 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25405 function.
25406 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25407 via find_mount_point_from_dir() and getfsstat() / getmntany().
25408
25409 2010-08-04 Robert Millan <rmh@gnu.org>
25410
25411 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25412 (grub_find_zpool_from_mount_point): Merge into ...
25413 (grub_find_zpool_from_dir): ... this.
25414 * kern/emu/misc.c: Likewise.
25415
25416 * kern/emu/misc.c
25417 (grub_make_system_path_relative_to_its_root): Replace
25418 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25419 with grub_find_zpool_from_dir().
25420 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25421
25422 2010-08-04 Robert Millan <rmh@gnu.org>
25423
25424 Support OpenSolaris in ZFS device resolution.
25425
25426 * configure.ac: Check for getmntany().
25427 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25428 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25429 support.
25430
25431 2010-08-03 Robert Millan <rmh@gnu.org>
25432
25433 Fix grub-emu build.
25434
25435 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25436 * include/grub/emu/misc.h: ... here.
25437
25438 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25439 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25440
25441 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25442 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25443 (grub_get_libzfs_handle): Move to ...
25444 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25445 (grub_get_libzfs_handle): ... here.
25446
25447 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25448
25449 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25450 as command name case.
25451
25452 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
25453
25454 * disk/raid.c (insert_array): Select unique numbers for named arrays
25455 as well, for use as keys in the disk cache.
25456
25457 2010-08-01 Robert Millan <rmh@gnu.org>
25458
25459 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25460 kFreeBSD device name, except on ZFS where the filesystem label is
25461 used.
25462 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25463 `/boot/zfs/zpool.cache'.
25464 Set mountfrom kernel variable using ${kfreebsd_device}.
25465
25466 2010-08-01 Robert Millan <rmh@gnu.org>
25467
25468 Make it even harder to use uninitialized `libzfs_handle' (and
25469 make the interface a bit simpler).
25470
25471 * include/grub/util/misc.h (grub_util_init_libzfs)
25472 (libzfs_handle): Remove.
25473 (grub_get_libzfs_handle): New prototype.
25474
25475 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25476 attribute.
25477 (grub_util_init_libzfs): Remove.
25478 (grub_get_libzfs_handle): New function.
25479
25480 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25481 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25482 accessing `libzfs_handle' directly.
25483
25484 2010-08-01 Robert Millan <rmh@gnu.org>
25485
25486 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25487 (grub_find_zpool_from_mount_point): New function prototypes.
25488
25489 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25490 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25491
25492 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25493 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25494 `static' attribute.
25495
25496 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25497 finding zpool from mount point into ...
25498 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25499
25500 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25501 requested path is part of a ZFS pool, use
25502 grub_find_zpool_from_mount_point() to detect its filesystem name,
25503 and generate a path with `/fsname@path' syntax.
25504
25505 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
25506
25507 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25508 (void) rather than () so that this is a proper prototype.
25509
25510 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25513
25514 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25515
25516 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25517 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25518
25519 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
25520
25521 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25522
25523 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
25524
25525 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25526
25527 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
25528
25529 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25530 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25531 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25532 disable gfxpayload.
25533 (Shell-like scripting): Add real content.
25534 (Serial terminal): Suggest `terminal_input serial; terminal_output
25535 serial' rather than putting the two commands on separate lines,
25536 since console input will be inoperative after the first command.
25537 (menuentry): Document --class, --users, and --hotkey options.
25538 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25539 Vladimir Serbinenko).
25540
25541 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25542 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
25543
25544 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25545
25546 2010-08-01 Robert Millan <rmh@gnu.org>
25547
25548 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25549 (grub_find_zpool_from_mount_point): New function prototypes.
25550
25551 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25552 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25553
25554 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25555 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25556 `static' attribute.
25557
25558 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25559 finding zpool from mount point into ...
25560 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25561
25562 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25563 requested path is part of a ZFS pool, use
25564 grub_find_zpool_from_mount_point() to detect its filesystem name,
25565 and generate a path with `/fsname@path' syntax.
25566
25567 2010-08-01 Robert Millan <rmh@gnu.org>
25568
25569 Prevent accidental use of uninitialized libzfs_handle.
25570
25571 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25572 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25573 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25574
25575 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
25576
25577 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25578 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25579
25580 2010-08-01 Robert Millan <rmh@gnu.org>
25581
25582 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
25583
25584 2010-07-31 Robert Millan <rmh@gnu.org>
25585
25586 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25587
25588 2010-07-31 Robert Millan <rmh@gnu.org>
25589
25590 * kern/emu/misc.c: Add missing license header.
25591
25592 2010-07-31 Robert Millan <rmh@gnu.org>
25593
25594 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25595
25596 * include/grub/util/libnvpair.h: Include `<config.h>'.
25597 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25598 declaring libnvpair prototypes ourselves.
25599 * include/grub/util/libzfs.h: Include `<config.h>'.
25600 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25601 declaring libzfs prototypes ourselves.
25602
25603 (libzfs_handle): Moved to ...
25604 * include/grub/util/misc.h (libzfs_handle): ... here.
25605 Include `<grub/util/libzfs.h>'.
25606
25607 2010-07-30 Robert Millan <rmh@gnu.org>
25608
25609 * include/grub/emu/misc.h: Add missing license header.
25610
25611 2010-07-30 Robert Millan <rmh@gnu.org>
25612
25613 Enable `grub-probe -t device' resolution on ZFS.
25614
25615 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25616 * include/grub/util/libnvpair.h: New file.
25617 * include/grub/util/libzfs.h: New file.
25618
25619 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25620 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25621 `<grub/util/libnvpair.h>'.
25622 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25623
25624 (find_mount_point_from_dir): New static function.
25625 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25626 function.
25627 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25628 find_root_device_from_libzfs() before ressorting to find_root_device().
25629
25630 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25631 prototype.
25632 * util/misc.c: Include `<grub/util/libzfs.h>'.
25633 (grub_util_init_libzfs): New function.
25634 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25635 [HAVE_LIBZFS] (fini_libzfs): New static function.
25636 (grub_util_init_libzfs): New function.
25637 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25638
25639 2010-07-30 Robert Millan <rmh@gnu.org>
25640
25641 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25642 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25643 `warn_unused_result' attribute.
25644 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25645 (grub_xasprintf, grub_xvasprintf): Likewise.
25646 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25647
25648 2010-07-29 Robert Millan <rmh@gnu.org>
25649
25650 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25651 (probe): Handle `PRINT_FS_LABEL'.
25652 (main): Handle `-t fs_label'.
25653
25654 2010-07-29 Robert Millan <rmh@gnu.org>
25655
25656 * configure.ac: Remove grub-mkisofs checks.
25657
25658 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25659
25660 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25661 Reported by: Lennart Sorensen.
25662
25663 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25666 prior to terminal_input/terminal_output separation. It's been over 1.5
25667 years and those versions weren't widely deployed.
25668
25669 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
25670
25671 * disk/raid.c (insert_array): Don't count named arrays when looking
25672 for unused array numbers.
25673 Reported and tested by: Michael Guntsche.
25674
25675 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25676
25677 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25678 implementation of this so that grub-emu links again, with a note
25679 that this should support hotplugging in the future.
25680
25681 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25682
25683 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25684
25685 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25686
25687 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25688 handle on failure.
25689 (grub_loopback_close): Remove empty function.
25690 (grub_loopback_dev): Remove close method.
25691
25692 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25693
25694 Disable EFI cursor when the EFI console becomes inactive.
25695
25696 * term/efi/console.c (grub_efi_console_init): New function.
25697 (grub_efi_console_fini): New function.
25698 (grub_console_term_output): Register init and fini methods.
25699
25700 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25703 sh script.
25704
25705 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 * disk/loopback.c (grub_loopback): Replace filename with file.
25708 (delete_loopback): Handle new semantics.
25709 (grub_cmd_loopback): Likewise.
25710 (grub_loopback_iterate): Likewise.
25711 (grub_loopback_close): Likewise.
25712
25713 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25714
25715 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25716 with -p "".
25717 Reported by: Tito Keitel.
25718
25719 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * docs/grub.texi (Naming convention): Document new naming convention.
25722
25723 2010-07-20 Vadim Solomin <vadic052@gmail.com>
25724 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25725
25726 Generate device.map in something closer to the old ordering.
25727
25728 * util/deviceiter.c (struct device): New declaration.
25729 (compare_file_names): Rename to ...
25730 (compare_devices): ... this. Sort by kernel name in preference to
25731 the stable by-id name, but keep the latter as a fallback comparison.
25732 Update header comment.
25733 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25734 of `struct device' rather than of plain file names.
25735
25736 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25737
25738 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25739 on i386.
25740
25741 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25742
25743 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25744 hardcoding size.
25745 (setv1table): Likewise.
25746
25747 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25748
25749 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25750 removing the homehost if present.
25751 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25752 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25753 removing the homehost if present.
25754 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25755 if possible.
25756 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25757
25758 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25759 parameter. Set its pointer target to 0.
25760 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25761 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25762 `data_offset' value from the superblock for 1.x metadata.
25763 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25764 data on the device.
25765 (insert_array): Record the start sector of data on the device.
25766 (grub_raid_register): Pass start_sector parameters to
25767 grub_raid_list->detect and insert_array.
25768 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25769 member.
25770 (struct grub_raid): Add start_sector parameter to `detect'.
25771
25772 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25773 __attribute__ ((packed)), leaving a comment.
25774 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25775 (grub_mdraid_detect_09): ... here and ...
25776 (grub_mdraid_detect_1x): ... here.
25777
25778 2010-07-20 Peter Henn <peter.henn@web.de>
25779
25780 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25781 chunk size and disk size, which are already given as sector counts
25782 as distinct from the 0.90 units. Fetch the correct device number
25783 from the role table instead of using the table index.
25784
25785 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
25786
25787 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25788 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25789 (WriteMostly1): New macro.
25790 Set array->name to NULL for metadata format 0.90. Add support for
25791 metadata 1.x. Fix some comments.
25792 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25793 few comments.
25794 * util/getroot.c (grub_util_get_grub_dev): Add support for
25795 /dev/md/name style devices.
25796
25797 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
25798
25799 * .bzrignore: Ignore 20_linux_xen.
25800
25801 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
25802
25803 * util/import_unicode.py: Remove unnecessary imports.
25804
25805 2010-07-17 Aleš Nesrsta <starous@volny.cz>
25806
25807 Hotplugging and USB hub support.
25808
25809 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25810 (grub_ohci): Likewise.
25811 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25812 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25813 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25814 (GRUB_OHCI_CTRL_EDS): Likewise.
25815 (GRUB_OHCI_BULK_EDS): Likewise.
25816 (GRUB_OHCI_TDS): Likewise.
25817 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25818 (grub_ohci_ed_phys2virt): New function.
25819 (grub_ohci_virt_to_phys): Likewise.
25820 (grub_ohci_td_phys2virt): Likewise.
25821 (grub_ohci_td_virt2phys): Likewise.
25822 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25823 attachment.
25824 (grub_ohci_find_ed): New function.
25825 (grub_ohci_alloc_td): Likewise.
25826 (grub_ohci_free_td): Likewise.
25827 (grub_ohci_free_tds): Likewise.
25828 (grub_ohci_transfer): Use previously allocated memory.
25829 (grub_ohci_portstatus): Reset status changed bit.
25830 (grub_ohci_detect_dev): Supply status changed.
25831 (grub_ohci_fini_hw): Free memory.
25832 (grub_ohci_restore_hw): Reallocate memory.
25833 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25834 Reset status change.
25835 (grub_uhci_detect_dev): Supply status_change.
25836 * bus/usb/usb.c (attach_hooks): New var.
25837 (grub_usb_device_attach): New function.
25838 (grub_usb_register_attach_hook_class): Likewise.
25839 (grub_usb_unregister_attach_hook_class): Likewise.
25840 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25841 (grub_usb_add_hub): Reset connection changed bit.
25842 (attach_root_port): New function.
25843 (grub_usb_root_hub): Likewise.
25844 (poll_nonroot_hub): Likewise.
25845 (grub_usb_poll_devices): Likewise.
25846 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25847 * disk/usbms.c (grub_usbms_open): Use device hooks.
25848 (grub_usbms_iterate) :Poll devices.
25849 (grub_usbms_finddevs): Split into ...
25850 (grub_usbms_attach): ... this ...
25851 (grub_usbms_attach): ... and this.
25852 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25853 in detect_dev.
25854 (grub_usb_interface): New fields attached and detach_hook.
25855 (grub_usb_attach_hook_class): New type.
25856 (grub_usb_attach_desc): New struct.
25857 (grub_usb_register_attach_hook_class): New function.
25858 (grub_usb_unregister_attach_hook_class): Likewise.
25859 (grub_usb_poll_devices): Likewise.
25860 (grub_usb_device_attach): Likewise.
25861 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25862 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25863
25864 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25865
25866 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25867 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25868 delta determination style. Works with most NetBSD partitions too.
25869
25870 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25873 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25874
25875 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25878
25879 2010-07-14 Anton Blanchard <anton@samba.org>
25880
25881 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25882 ET_DYN files.
25883
25884 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25885
25886 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25887
25888 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25889
25890 * kern/partition.c (grub_partition_check_containment): New function to
25891 check that a partition is physically contained in a parent. Since
25892 offsets are relative (and non-negative), this reduces to checking that
25893 the partition ends before its parent.
25894 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25895 (grub_partition_iterate): Likewise.
25896 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25897 comments.
25898 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25899 partitions that start before their parent, and add debug printfs.
25900
25901 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
25902
25903 * Makefile.in (.SUFFIX): Spell correctly, as ...
25904 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25905 bare module name without `.mod', e.g. `test') tried to invoke a
25906 Modula-2 compiler.
25907
25908 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
25909
25910 * README: Point to the Info manual.
25911
25912 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
25913
25914 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25915 2nd superblock position from partition size.
25916
25917 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
25918
25919 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25920 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25921 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25922 outputs.
25923
25924 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 Restructure SCSI .id handling.
25927 Reported and tested by: Aleš Nesrsta.
25928
25929 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25930 (grub_atapi_dev): Changed .name to "ata". New field .id.
25931 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25932 (grub_usbms_dev): New field .id.
25933 * disk/scsi.c (grub_scsi_iterate): Generate name.
25934 (grub_scsi_open): Parse name.
25935 * include/grub/scsi.h (grub_make_scsi_id): New function.
25936 (grub_scsi_dev): Change iterate and open to number instead of naming
25937 busses. All users updated.
25938 (grub_scsi): Remove name. Add .bus.
25939
25940 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 * commands/help.c (grub_cmd_help): Fix a typo.
25943
25944 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25945
25946 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25947 Reported and tested by: Colin Watson.
25948
25949 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25950
25951 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25952 in this context.
25953
25954 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25955
25956 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25957
25958 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
25959
25960 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25961 indentation.
25962
25963 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25964
25965 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25966 and disk/raid6_recover.c.
25967 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25968 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25969
25970 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25971
25972 * term/gfxterm.c (repaint_schedulded): Rename to ...
25973 (repaint_scheduled): ... this. Update all callers.
25974 (repaint_was_schedulded): Rename to ...
25975 (repaint_was_scheduled): ... this. Update all callers.
25976
25977 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25978
25979 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25980 which we expect to be handled by upper layers.
25981
25982 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25983
25984 * bus/usb/usbhub.c: #include time.h header.
25985
25986 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25987
25988 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25989 entry_name also for entries without stat blocks (e.g. ".."); fixes
25990 corruption of the first entry in a directory.
25991
25992 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
25993
25994 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25995 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25996 doesn't work otherwise.
25997
25998 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
25999
26000 * docs/grub.texi (Features): Update list of supported file systems.
26001 (GNU/Linux): Update for GRUB 2.
26002 (Serial terminal): Remove mention of --disable-serial, which was a
26003 GRUB Legacy configure option. Update instructions to use
26004 `terminal_input' and `terminal_output' rather than `terminal'.
26005 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26006 configuration' and `Installing GRUB using grub-install'.
26007 (Menu entry editor): Update for GRUB 2.
26008 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26009 Document new -a, -u, and -v options.
26010 (initrd): New section.
26011 (initrd16): New section.
26012 (linux): New section.
26013 (linux16): New section.
26014 (search): The `var' argument to `--set' is optional.
26015 (GRUB only offers a rescue shell): Go into a little more detail on
26016 drive ordering.
26017
26018 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26019
26020 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26021
26022 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26023
26024 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26025 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26026
26027 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26028
26029 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26030 install_prefix, in line with install_dos_part and install_bsd_part.
26031 Add new prefix variable, which is copied to install_prefix after
26032 comparing core.img in memory with the one read from disk in the
26033 no-embedding case, and use that rather than overwriting
26034 install_prefix immediately when installing to a partition.
26035 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26036 Bicakci.
26037
26038 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26039
26040 * configure.ac: Avoid == in test command, it's not portable.
26041 * util/grub.d/30_os-prober.in: Likewise.
26042
26043 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26044
26045 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26046
26047 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26048
26049 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26050 multiple (top-level) partmaps.
26051
26052 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26053
26054 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26055 Reported by: Tino Keitel.
26056
26057 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 Bidi and diacritics support.
26060
26061 * Makefile.in (widthspec.bin): New target.
26062 (widthspec.h): Likewise.
26063 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26064 * autogen.sh: Generate unidata.c.
26065 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26066 * commands/ls.c (grub_ls_list_devices): Likewise.
26067 (grub_ls_list_files): Likewise.
26068 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26069 (grub_mini_cmd_lsmod): Likewise.
26070 * commands/read.c: Likewise.
26071 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26072 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26073 * lib/arg.c (grub_arg_show_help): Likewise.
26074 * lib/crypto.c (grub_password_get): Likewise.
26075 * normal/auth.c (grub_username_get): Likewise.
26076 * normal/misc.c (grub_normal_print_device_info): Likewise.
26077 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26078 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26079 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26080 (normal/charset.c_DEPENDENCIES): New variable.
26081 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26082 (pkglib_MODULES): Remove charset.mod.
26083 (charset_mod_SOURCES): Removed.
26084 (charset_mod_CFLAGS): Likewise.
26085 (charset_mod_LDFLAGS): Likewise.
26086 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26087 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26088 and term/tparm.c.
26089 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26090 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26091 (kernel_img_HEADERS): Add terminfo.h.
26092 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26093 Fill ->font. Reverse ascii bitmaps.
26094 (grub_font_get_xheight): New function.
26095 * font/font.c (grub_font_get_string_width): Moved from here ...
26096 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26097 * font/font.c (grub_font_draw_string): Moved from here ...
26098 * gfxmenu/font.c (grub_font_draw_string): ... here.
26099 * font/font.c (grub_font_dup_glyph): New function.
26100 (grub_font_blit_glyph): Likewise.
26101 (grub_font_blit_glyph_mirror): Likewise.
26102 (blit_comb): Likewise.
26103 (grub_font_construct_dry_run): Likewise.
26104 (grub_font_get_constructed_device_width): Likewise.
26105 (grub_font_construct_glyph): Likewise.
26106 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26107 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26108 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26109 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26110 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26111 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26112 (grub_font_get_xheight): New proto.
26113 (grub_font_get_constructed_device_width): Likewise.
26114 (grub_font_construct_glyph): Likewise.
26115 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26116 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26117 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26118 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26119 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26120 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26121 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26122 (grub_console_getcharwidth): Likewise.
26123 * include/grub/misc.h (grub_xputs): New proto.
26124 (grub_puts): Inlined.
26125 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26126 (grub_normal_get_line_counter): Removed.
26127 (grub_install_newline_hook): Likewise.
26128 (grub_normal_get_char_counter): New proto.
26129 (grub_normal_reset_more): Likewise.
26130 (grub_xputs_normal): Likewise.
26131 * include/grub/powerpc/ieee1275/console.h: Removed.
26132 * include/grub/sparc64/ieee1275/console.h: Likewise.
26133 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26134 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26135 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26136 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26137 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26138 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26139 (grub_term_input): Pass reference to self. All users updated.
26140 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26141 Pass reference to self. New fields normal_color, highlight_color and
26142 data. All users updated.
26143 (grub_putchar): Removed.
26144 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26145 (grub_unicode_estimate_width): New function.
26146 (grub_term_getcharwidth): Add defaults.
26147 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26148 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26149 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26150 (grub_cls): Remove EXPORT_FUNC.
26151 (grub_setcolorstate): Inline.
26152 (grub_newline_hook): Removed.
26153 * include/grub/terminfo.h: Rewritten. All users updated.
26154 * include/grub/unicode.h: New file.
26155 * include/grub/video.h (grub_video_signed_rect): New type.
26156 * kern/emu/console.c (grub_console_highlight_color): Removed.
26157 (grub_console_normal_color): Likewise.
26158 (grub_console_standard_color): Made static.
26159 (grub_ncurses_putchar): Remove mapping.
26160 (grub_ncurses_getcharwidth): Removed.
26161 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26162 (grub_ncurses_setcolor): Removed.
26163 (grub_ncurses_getcolor): Likewise.
26164 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26165 (grub_console_putchar): ... this.
26166 (grub_console_putchar): Handle argument difference.
26167 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26168 console_init_early and console_init_lately.
26169 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26170 * kern/misc.c (grub_puts): Removed.
26171 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26172 (grub_vsnprintf_real): Remove str = NULL support.
26173 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26174 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26175 * kern/term.c (grub_putcode): Renamed to ...
26176 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26177 (grub_putchar): Removed.
26178 (grub_xputs_dumb): New function.
26179 (grub_xputs): New variable.
26180 * lib/charset.c: Move from here ...
26181 * normal/charset.c: ... to here.
26182 (grub_ucs4_to_utf8): New function.
26183 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26184 (join_types): New variable.
26185 (unpack_join): New function.
26186 (bidi_types): New variable.
26187 (unpack_bidi): New function.
26188 (get_bidi_type): Likewise.
26189 (get_join_type): Likewise.
26190 (is_mirrored): Likewise.
26191 (grub_unicode_get_comb_type): Likewise.
26192 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26193 (is_type_after): Likewise.
26194 (grub_unicode_aglomerate_comb): Likewise.
26195 (bidi_line_wrap): Likewise.
26196 (grub_bidi_line_logical_to_visual): Likewise.
26197 (grub_bidi_logical_to_visual): Likewise.
26198 (grub_unicode_mirror_code): Likewise.
26199 (grub_unicode_shape_code): Likewise.
26200 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26201 Don't use grub_putchar.
26202 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26203 (grub_normal_reader_init): Likewise.
26204 (grub_xputs_saved): New variable.
26205 (GRUB_MOD_INIT): Set grub_xputs.
26206 (GRUB_MOD_FINI): Restore grub_xputs.
26207 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26208 (menu_init): Avoid printing gfxmenu error.
26209 (show_menu): Use grub_normal_get_char_counter.
26210 * normal/menu_entry.c (update_screen): Fix out-of-array.
26211 (complete): Avoid NULL dereferencing.
26212 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26213 * normal/menu_text.c (print_spaces): Removed.
26214 (grub_print_ucs4): Likewise.
26215 (grub_print_message_indented): Use grub_print_ucs4.
26216 (print_message): Use grub_putcode.
26217 (print_entry): Hanlde diacritics.
26218 * normal/term.c (term_state): New type.
26219 (grub_more_lines): Removed.
26220 (term_states): New variable.
26221 (grub_normal_line_counter): Renamed to ..
26222 (grub_normal_char_counter): ...this. All users updated.
26223 (grub_normal_get_line_counter): Renamed to ...
26224 (grub_normal_get_char_counter): ... this.
26225 (grub_normal_reset_more): New function.
26226 (process_newline): Removed.
26227 (print_more): New function.
26228 (grub_install_newline_hook): Removed.
26229 (map_code): New function.
26230 (grub_puts_terminal): Use grub_print_ucs4.
26231 (putglyph): New function.
26232 (putcode_real): Likewise.
26233 (grub_putcode): Use putcode_real.
26234 (get_maxwidth): New function.
26235 (get_startwidth): Likewise.
26236 (print_ucs4_terminal): Likewise.
26237 (find_term_state): Likewise.
26238 (put_glyphs_terminal): Likewise.
26239 (print_backlog): Likewise.
26240 (print_ucs4_real): Likewise.
26241 (grub_print_ucs4): Likewise.
26242 (grub_xputs_normal): Likewise.
26243 * term/efi/console.c (grub_console_putchar): Output diacritics.
26244 (grub_console_getcharwidth): Removed.
26245 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26246 * term/gfxterm.c (clear_char): Free chars.
26247 (scroll_up): Avoid leaking memory.
26248 (grub_gfxterm_putchar): Support diacritics.
26249 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26250 * term/i386/pc/console.c (grub_console_term_output): Declare as
26251 GRUB_TERM_CODE_TYPE_VGA.
26252 * term/i386/pc/vga.c (grub_vga_term): Declare as
26253 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26254 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26255 GRUB_TERM_CODE_TYPE_VGA.
26256 * term/i386/vga_common.c (map_char): Removed.
26257 (grub_console_putchar): Likewise.
26258 (grub_console_getcharwidth): Likewise.
26259 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26260 (colors): Reordered to match terminfo.
26261 (grub_ofconsole_normal_color): Removed.
26262 (grub_ofconsole_writeesc): Likewise.
26263 (grub_ofconsole_highlight_color): Likewise.
26264 (grub_ofconsole_getcharwidth): Likewise.
26265 (grub_ofconsole_setcolorstate): Likewise.
26266 (grub_ofconsole_setcolor): Likewise.
26267 (grub_ofconsole_getcolor): Likewise.
26268 (grub_ofconsole_readkey): Renamed to ...
26269 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26270 key.
26271 (grub_ofconsole_checkkey): Removed.
26272 (grub_ofconsole_getkey): Likewise.
26273 (grub_ofconsole_getxy): Likewise.
26274 (grub_ofconsole_gotoxy): Likewise.
26275 (grub_ofconsole_cls): Likewise.
26276 (grub_ofconsole_refresh): Likewise.
26277 (grub_ofconsole_terminfo_input): New struct.
26278 (grub_ofconsole_terminfo_output): Likewise.
26279 (grub_ofconsole_term_input): Use terminfo.
26280 (grub_ofconsole_term_output): Likewise.
26281 (grub_console_init): Split into ...
26282 (grub_console_init_early): ...this and ...
26283 (grub_console_init_lately): ...this. Use terminfo.
26284 (grub_ofconsole_putchar): Renamed to ...
26285 (put): ... this. Remove mapping.
26286 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26287 * term/serial.c: Simplify using terminfo.
26288 (xpos): Removed.
26289 (ypos): Likewise.
26290 (keep_track): Likewise.
26291 (registered): Likewise.
26292 (input_buf): Likewise.
26293 (npending): Likewise.
26294 (serial_translate_key_sequence): Likewise.
26295 (fill_input_buf): Likewise.
26296 (grub_serial_checkkey): Likewise.
26297 (grub_serial_getkey): Likewise.
26298 (grub_serial_getxy): Likewise.
26299 (grub_serial_gotoxy): Likewise.
26300 (grub_serial_putchar): Likewise.
26301 (grub_serial_cls): Likewise.
26302 (grub_serial_setcolorstate): Likewise.
26303 (grub_serial_setcursor): Likewise.
26304 (serial_hw_init): Use serial_hw_fetch.
26305 (grub_serial_terminfo_input): New variable.
26306 (grub_serial_terminfo_output): Likewise.
26307 (grub_serial_term_input): Use terminfo.
26308 (grub_serial_term_output): Likewise.
26309 * term/terminfo.c (putstr): Use put.
26310 (grub_terminfo_all_free): New function
26311 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26312 (grub_terminfo_output_register): New function.
26313 (grub_terminfo_output_unregister): Likewise.
26314 (grub_terminfo_getxy): Likewise.
26315 (grub_terminfo_readkey): Likewise.
26316 (grub_terminfo_checkkey): Likewise.
26317 (grub_terminfo_getkey): Likewise.
26318 (grub_terminfo_input_init): Likewise.
26319 (print_terminfo): Likewise.
26320 (grub_cmd_terminfo): Handle encoding.
26321 (grub_terminfo_gotoxy): Track position.
26322 (grub_terminfo_cls): Likewise.
26323 (grub_terminfo_putchar): Likewise.
26324 (grub_terminfo_setcolorstate): Handle colors
26325 (grub_terminfo_cursor_on): This ...
26326 (grub_terminfo_cursor_off): ... and this merged into ...
26327 (grub_terminfo_setcursor): ... this.
26328 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26329 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26330 * unicode/BidiMirroring.txt: Likewise.
26331 * unicode/UnicodeData.txt: Likewise.
26332 * unicode/COPYING: Likewise.
26333 * util/grub-editenv.c (grub_putchar): Removed.
26334 (grub_xputs_real): New function.
26335 (grub_xputs): New variable.
26336 * util/grub-fstest.c (grub_putchar): Removed.
26337 (grub_xputs_real): New function.
26338 (grub_xputs): New variable.
26339 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26340 (grub_xputs_real): New function.
26341 (grub_xputs): New variable.
26342 * util/grub-probe.c (grub_putchar): Removed.
26343 (grub_xputs_real): New function.
26344 (grub_xputs): New variable.
26345 * util/grub-script-check.c (grub_putchar): Removed.
26346 (grub_xputs_real): New function.
26347 (grub_xputs): New variable.
26348 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26349 (grub_xputs_real): New function.
26350 (grub_xputs): New variable.
26351 * util/import_unicode.py: New file.
26352 * util/grub-mkfont.c (ft_errmsgs): New array.
26353 (grub_glyph_info): Make bitmap a pointer.
26354 (file_formats): New type WIDTH_SPEC.
26355 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26356 (options): Add width-spec.
26357 (help): Likewise.
26358 (add_char): Renamed to ...
26359 (add_glyph): ... this.
26360 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26361 (glyph_replace): New type.
26362 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26363 (add_char): New function.
26364 (add_subst): Likewise.
26365 (process_cursive): Likewise.
26366 (add_font): Handle GSUB.
26367 (write_font_width_spec): New function.
26368 (main): Sort glyphs.
26369 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26370 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26371 * kern/term.c (grub_cls): Moved from here...
26372 * normal/term.c (grub_cls): ... here.
26373
26374 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26377 suitable for using within the format argument of printf when
26378 converting grub_size_t.
26379 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26380 "x" to convert grub_size_t arguments.
26381
26382 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26383
26384 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26385 too long captions.
26386 (list_get_minimal_size): Take selection box into account.
26387
26388 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26391 NULL font.
26392
26393 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26394
26395 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26396 devices when iterating over /dev/disk/by-id; they will be handled
26397 later if appropriate, which they aren't always (e.g. LVM).
26398
26399 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26400
26401 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26402 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26403 fails.
26404 (grub_halt): Likewise.
26405 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26406 reset-all fails.
26407 (grub_halt): Don't return, even if all of shut-down, power-off, and
26408 poweroff fail.
26409
26410 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26411
26412 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26413 arguments, not three.
26414
26415 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26416
26417 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26418 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26419 LVM-on-RAID is handled correctly.
26420
26421 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26422
26423 * docs/grub.texi (Changes from GRUB Legacy): New section.
26424 (Future): Fix typo.
26425
26426 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26427
26428 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26429 grub.d/README accidentally ends up executable for one reason or
26430 another. Ignore it.
26431
26432 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26435 (gpt_partition_map_iterate): Support non-512B sectors.
26436
26437 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26438
26439 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26440 Tested by: Seth Goldberg.
26441
26442 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26443
26444 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26445 Properly align mbi.
26446 Reported by: Seth Goldberg.
26447
26448 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 * util/grub-mkrescue.in: Avoid module duplication.
26451
26452 2010-07-01 Sean Finney <seanius@seanius.net>
26453
26454 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26455
26456 2010-07-01 Sean Finney <seanius@seanius.net>
26457
26458 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26459
26460 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 * disk/lvm.c (grub_lvm_checkvalue): New function.
26463 (grub_lvm_check_flag): Likewise.
26464
26465 2010-07-01 Robert Millan <rmh@gnu.org>
26466
26467 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26468 Support 'p' as partition separator on kernel of FreeBSD (used
26469 with GPT labels).
26470 (grub_util_biosdisk_get_grub_dev): Likewise.
26471
26472 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26473
26474 Yeeloong firmware port.
26475
26476 * boot/mips/yeeloong/fwstart.S: New file.
26477 * bus/cs5536.c (gpiodump): New const.
26478 (set_io_space): New function.
26479 (set_iod): Likewise.
26480 (set_p2d): Likewise.
26481 (grub_cs5536_init_geode): Likewise.
26482 * commands/mips/yeeloong/lsspd.c: New file.
26483 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26484 (serial_mod_SOURCES): New variable.
26485 (serial_mod_CFLAGS): Likewise.
26486 (serial_mod_LDFLAGS): Likewise.
26487 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26488 term/terminfo.c and term/tparm.c.
26489 (pkglib_IMAGES): Add fwstart.img.
26490 (fwstart_img_SOURCES): New variable.
26491 (fwstart_img_CFLAGS): Likewise.
26492 (fwstart_img_ASFLAGS): Likewise.
26493 (fwstart_img_LDFLAGS): Likewise.
26494 (fwstart_img_FORMAT): Likewise.
26495 (pkglib_MODULES): Add lsspd.mod.
26496 (lsspd_mod_SOURCES): New variable.
26497 (lsspd_mod_CFLAGS): Likewise.
26498 (lsspd_mod_LDFLAGS): Likewise.
26499 (pkglib_MODULES): Add halt.mod.
26500 (halt_mod_SOURCES): New variable.
26501 (halt_mod_CFLAGS): Likewise.
26502 (halt_mod_LDFLAGS): Likewise.
26503 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26504 (serial_mod_SOURCES): Removed.
26505 (serial_mod_CFLAGS): Likewise.
26506 (serial_mod_LDFLAGS): Likewise.
26507 * disk/ata.c (check_device): New function.
26508 (grub_ata_device_initialize): Use check_device.
26509 (grub_ata_iterate): Recheck devices.
26510 (grub_ata_open): Likewise.
26511 (grub_atapi_iterate): Likewise.
26512 (grub_atapi_open): Likewise.
26513 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26514 (GRUB_ATA_CH1_PORT1): Likewise.
26515 (GRUB_ATA_CH0_PORT2): Likewise.
26516 (GRUB_ATA_CH1_PORT2): Likewise.
26517 * include/grub/mips/loongson.h: New file.
26518 * include/grub/mips/yeeloong/ec.h: Likewise.
26519 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26520 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26521 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26522 * include/grub/misc.h (grub_halt): Declare as noreturn.
26523 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26524 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26525 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26526 (UART_ENABLE_DTRRTS): Likewise.
26527 (UART_ENABLE_MODEM): Removed.
26528 (UART_ENABLE_OUT2): New const.
26529 * include/grub/term.h (grub_term_register_input_active): New function.
26530 (grub_term_register_output_active): Likewise.
26531 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26532 argument.
26533 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26534 (init_pci): New function.
26535 (grub_machine_init): Execute platform init when firmware. Init serial.
26536 (grub_halt): Implement.
26537 (grub_exit): Likewise.
26538 (grub_reboot): Likewise.
26539 * term/serial.c (serial_hw_init): Update macros.
26540 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26541 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26542 (image_targets): New target mipsel-yeeloong-flash.
26543 (generate_image): Support IMAGE_YEELOONG_FLASH.
26544 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26545 (grub_video_sm712_setup): Init card.
26546 (grub_video_sm712_set_palette): Removed.
26547 * video/sm712_init.c: New file.
26548
26549 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
26550
26551 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26552 PATH when running help2man and then run it on the unadorned
26553 executable names, rather than passing $(builddir)/* paths to
26554 help2man. This avoids the build directory ending up in generated
26555 manual pages.
26556
26557 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
26558
26559 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26560 to avoid accidents when debugging with 'sh -x'.
26561 * util/grub-mkrescue.in: Likewise.
26562 * util/grub.d/00_header.in: Likewise.
26563 * util/grub.d/10_hurd.in: Likewise.
26564 * util/grub.d/10_kfreebsd.in: Likewise.
26565 * util/grub.d/10_linux.in: Likewise.
26566 * util/grub.d/10_netbsd.in: Likewise.
26567 * util/grub.d/10_windows.in: Likewise.
26568 * util/grub.d/20_linux_xen.in: Likewise.
26569 * util/grub.d/30_os-prober.in: Likewise.
26570 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26571
26572 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
26573
26574 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26575 last character in the buffer.
26576 Reported by: Vladimir Serbinenko.
26577
26578 2010-06-29 Robert Millan <rmh@gnu.org>
26579
26580 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26581 (Command-line and menu entry commands): Document `badram' command.
26582
26583 2010-06-28 Robert Millan <rmh@gnu.org>
26584
26585 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26586 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26587 command using ${GRUB_BADRAM} as parameter.
26588
26589 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
26590
26591 * docs/grub.texi (Device map): New section.
26592 (Themes): New section (stub).
26593 * Makefile.in (docs/grub.info): The info documentation now builds
26594 without errors. Make sure it stays that way.
26595
26596 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 Use normal parser for menu entries.
26599 Reported by: Thomas Frauendorfer
26600
26601 * include/grub/parser.h (grub_parser_execute): Don't export.
26602 * normal/menu.c (grub_menu_execute_entry_real): New function.
26603 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26604
26605 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
26606
26607 * docs/grub.texi (Embedded configuration): New section (replacing
26608 old "Preset Menu" stub).
26609 (Images): New section.
26610 (configfile): Note that any menu entries defined in `file' are shown
26611 immediately.
26612
26613 2010-06-28 Josh Triplett <josh@joshtriplett.org>
26614
26615 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26616
26617 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
26618
26619 * util/grub-install.in: Add --debug-image= option.
26620
26621 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
26622
26623 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26624 possible on Linux.
26625
26626 * util/deviceiter.c (check_device): Rename to ...
26627 (check_device_readable_unique): ... this. Update all callers.
26628 Maintain and check a list of which devices (by canonicalized name)
26629 have already been seen.
26630 (clear_seen_devices): New function.
26631 (compare_file_names) [__linux__]: New function.
26632 (grub_util_iterate_devices): Clear the list of seen devices on exit
26633 and (just in case) on entry.
26634 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26635 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26636 seen-devices list, superseded by general code in check_device.
26637
26638 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
26639
26640 * commands/cat.c (options): New variable.
26641 (grub_cmd_cat): Parse options. If the --dos option is given, print
26642 DOS-style "\r\n" line endings as simple newlines (Debian bug
26643 #586358).
26644 (GRUB_MOD_INIT): Use extcmd.
26645 (GRUB_MOD_FINI): Likewise.
26646 * docs/grub.texi (cat): Document --dos.
26647
26648 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26649
26650 XEN with Linux grub-mkconfig support.
26651
26652 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26653 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26654 GRUB_CMDLINE_XEN_DEFAULT.
26655 * util/grub.d/20_linux_xen.in: New file.
26656
26657 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26658
26659 Initialise VGA video on qemu ourselves.
26660
26661 * boot/i386/qemu/boot.S: Don't call 0xc000.
26662 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26663 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26664 (kernel_img_HEADERS): Add pci.h.
26665 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26666 * configure.ac: Force unifont on qemu and yeeloong.
26667 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26668 (grub_vga_palette_write): Use correct register.
26669 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26670 Call grub_qemu_init_cirrus.
26671 * kern/i386/qemu/init.c: New file.
26672 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26673
26674 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26675
26676 2010-06-26 Pavel Roskin <proski@gnu.org>
26677
26678 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26679 13.
26680
26681 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
26682
26683 * docs/grub.texi (Simple configuration): Explain that
26684 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26685 set to `true' to disable their respective recovery entries, not
26686 merely set.
26687
26688 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
26689
26690 Make the `source' command slightly faster.
26691
26692 * normal/main.c (grub_normal_execute): Don't re-read list files when
26693 nested.
26694
26695 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
26696
26697 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26698 field position and mask size to red fields from mode_info, not
26699 green.
26700 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26701 Remove redundant tag->common.framebuffer_type assignment.
26702 Reported by: Seth Goldberg.
26703
26704 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
26705
26706 Sync up other versions of the Linux loader with Robert Millan's
26707 change of 2010-01-09, "Make loader output a bit more user-friendly".
26708
26709 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26710 grub_dprintf().
26711 (grub_cmd_linux): Likewise.
26712 (grub_cmd_initrd): Likewise.
26713 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26714 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26715
26716 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
26717
26718 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26719 larger than MEMORY_MAP_SIZE.
26720
26721 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26722
26723 Fix parallel build.
26724
26725 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26726 dependency.
26727 * script/parser.y: #include grub_script.tab.h header.
26728
26729 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26730
26731 Support >3GiB and <16MiB RAM in i386-qemu.
26732
26733 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26734 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26735 (grub_lower_mem): Removed.
26736 (grub_upper_mem): Likewise.
26737 (mem_size): Made static.
26738 (above_4g): New variable.
26739 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26740 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26741 support.
26742
26743 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26744
26745 Cirrus 5446 and Bochs video cards support.
26746
26747 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26748 video_bochs.mod
26749 (video_cirrus_mod_SOURCES): New variable.
26750 (video_cirrus_mod_CFLAGS): Likewise.
26751 (video_cirrus_mod_LDFLAGS): Likewise.
26752 (video_bochs_mod_SOURCES): Likewise.
26753 (video_bochs_mod_CFLAGS): Likewise.
26754 (video_bochs_mod_LDFLAGS): Likewise.
26755 * include/grub/vga.h: New file.
26756 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26757 (grub_video_fb_set_page_t): New type.
26758 (grub_video_fb_setup): New prototype.
26759 (grub_video_fb_swap_buffers): Likewise.
26760 (grub_video_fb_get_info_and_fini): Likewise.
26761 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26762 (CRTC_DATA_PORT): Likewise.
26763 (CRTC_CURSOR): Likewise.
26764 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26765 (CRTC_CURSOR_ADDR_LOW): Likewise.
26766 (CRTC_CURSOR_DISABLE): Likewise.
26767 (update_cursor): Use grub_vga_cr_write.
26768 (grub_vga_text_setcursor): Likewise.
26769 * video/bochs.c: New file.
26770 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26771 (palette): Likewise.
26772 (palette_size): Likewise.
26773 (framebuffer): New variable.
26774 (grub_video_fb_init): Use 'framebuffer'.
26775 (grub_video_fb_fini): Likewise.
26776 (grub_video_fb_get_info): Likewise.
26777 (grub_video_fb_get_palette): Likewise.
26778 (grub_video_fb_set_palette): Likewise.
26779 (grub_video_fb_set_viewport): Likewise.
26780 (grub_video_fb_get_viewport): Likewise.
26781 (grub_video_fb_map_color): Likewise.
26782 (grub_video_fb_map_rgb): Likewise.
26783 (grub_video_fb_map_rgba): Likewise.
26784 (grub_video_fb_unmap_color): Likewise.
26785 (grub_video_fb_unmap_color_int): Likewise.
26786 (grub_video_fb_fill_rect): Likewise.
26787 (grub_video_fb_blit_bitmap): Likewise.
26788 (grub_video_fb_blit_render_target): Likewise.
26789 (grub_video_fb_scroll): Likewise.
26790 (grub_video_fb_create_render_target): Likewise.
26791 (grub_video_fb_doublebuf_blit_init): Likewise.
26792 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26793 (doublebuf_pageflipping_update_screen): New function.
26794 (doublebuf_pageflipping_init): Likewise.
26795 (grub_video_fb_setup): Likewise.
26796 (grub_video_fb_swap_buffers): Likewise.
26797 (grub_video_fb_get_info_and_fini): Likewise.
26798 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26799 All users updated.
26800 (doublebuf_pageflipping_commit): Restructured into ...
26801 (doublebuf_pageflipping_set_page): ... this.
26802 (doublebuf_pageflipping_update_screen): Removed.
26803 (doublebuf_pageflipping_init): Likewise.
26804 (double_buffering_init): Likewise.
26805 (grub_video_vbe_setup): Use grub_video_fb_setup.
26806 (grub_video_vbe_swap_buffers): Removed.
26807 (grub_video_vbe_set_active_render_target): Likewise.
26808 (grub_video_vbe_get_active_render_target): Likewise.
26809 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26810 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26811 grub_video_fb_set_active_render_target and
26812 grub_video_fb_get_active_render_target.
26813 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26814 (SEQUENCER_DATA_PORT): Likewise.
26815 (MAP_MASK_REGISTER): Likewise.
26816 (CRTC_ADDR_PORT): Likewise.
26817 (CRTC_DATA_PORT): Likewise.
26818 (START_ADDR_HIGH_REGISTER): Likewise.
26819 (START_ADDR_LOW_REGISTER): Likewise.
26820 (GRAPHICS_ADDR_PORT): Likewise.
26821 (GRAPHICS_DATA_PORT): Likewise.
26822 (READ_MAP_REGISTER): Likewise.
26823 (INPUT_STATUS1_REGISTER): Likewise.
26824 (INPUT_STATUS1_VERTR_BIT): Likewise.
26825 (get_map_mask): Use grub_vga_sr_read.
26826 (set_map_mask): Use grub_vga_sr_write.
26827 (set_read_map): Use grub_vga_gr_write.
26828 (set_start_address): Use grub_vga_cr_write.
26829 * video/sm712.c (framebuffer): Remove leftover fields.
26830
26831 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
26832
26833 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26834 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26835 instead. Replace the gfxterm backend check with a check that
26836 ${GRUB_PREFIX}/video.lst is non-empty.
26837 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26838 again.
26839 (load_video): New generated function. Call it before loading
26840 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26841 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26842 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26843 * docs/grub.texi (Simple configuration): Document
26844 GRUB_VIDEO_BACKEND.
26845
26846 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 Use video functions in linux and xnu loaders.
26849
26850 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26851 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26852 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26853 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26854 loader/i386/pc/linux.c.
26855 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26856 (find_line_len): Removed.
26857 (find_framebuf): Likewise.
26858 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26859 * loader/i386/efi/xnu.c: Removed.
26860 * loader/i386/pc/xnu.c: Moved from here...
26861 * loader/i386/xnu.c: ...here.
26862
26863 Enable priorities in video drivers.
26864
26865 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26866 (grub_video_adapter): New field prio.
26867 (grub_video_register): Respect prio when inserting.
26868 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26869 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26870 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26871 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26872 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26873 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26874 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26875
26876 Fix SDL driver ID.
26877
26878 * include/grub/video.h (grub_video_driver_id_t): New value
26879 GRUB_VIDEO_DRIVER_SDL.
26880 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26881
26882 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26883
26884 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26885 argument to printf.
26886 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26887
26888 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26889
26890 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26891 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26892
26893 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26894
26895 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26896 directly, and recommend grub-install instead.
26897 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26898
26899 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
26900
26901 Fix i386-pc prefix handling with nested partitions (Debian bug
26902 #585068). Note that the case where the core image is booted using
26903 multiboot and relocated from its original location still requires
26904 more work.
26905
26906 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26907 with "(,", fill the boot drive in between those two characters, but
26908 expect that a full partition specification including partition map
26909 names will follow.
26910 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26911 specified, write a prefix without the drive name but including a
26912 full partition specification.
26913
26914 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
26915
26916 * util/grub-mkconfig.in: Ignore non-option arguments, for
26917 compatibility with older versions (before 2010-06-12) which did the
26918 same. In particular, this makes it easier to ship an update-grub
26919 wrapper which is compatible with that used with GRUB Legacy (Debian
26920 bug #586056).
26921
26922 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26923
26924 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26925 for manual page generation.
26926
26927 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26928
26929 * po/POTFILES: Remove leftover commands/handler.c.
26930
26931 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
26932
26933 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26934 left this script non-functional.
26935
26936 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
26937
26938 * docs/man/grub-emu.h2m: New file.
26939
26940 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
26941
26942 * docs/grub.texi (Commands): Document reduced command set in rescue
26943 mode.
26944 (cpuid): New section.
26945
26946 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26947
26948 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26949 new partition naming style.
26950 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26951
26952 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26953
26954 Add "-o grub.iso" like cmdline options support.
26955
26956 * util/grub-install.in: Improve cmdline option parsing.
26957 * util/grub-mkconfig.in: Likewise.
26958 * util/grub-mkrescue.in: Likewise.
26959 * util/grub-reboot.in: Likewise.
26960 * util/grub-set-default.in: Likewise.
26961 * util/i386/efi/grub-install.in: Likewise.
26962 * util/ieee1275/grub-install.in: Likewise.
26963 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26964
26965 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
26966
26967 * .bzrignore: Ignore 41_custom.
26968
26969 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26970
26971 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26972
26973 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
26974
26975 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26976 prototype declarations.
26977
26978 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26979 generating fs, partmap, and video lists.
26980 * include/grub/fs.h (grub_fs_register): Omit prototype if
26981 GRUB_LST_GENERATOR is defined.
26982 * include/grub/partition.h (grub_partition_map_register): Likewise.
26983 * include/grub/video.h (grub_video_register): Likewise.
26984
26985 2010-06-12 Javier Martín <lordhabbit@gmail.com>
26986
26987 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26988
26989 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26990
26991 * util/grub-mkrescue.in: Support --xorriso argument.
26992
26993 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26994
26995 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26996 Suggested by: Thomas Schmitt.
26997
26998 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26999
27000 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27001 Suggested by: Thomas Schmitt.
27002
27003 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27004
27005 custom.cfg support.
27006
27007 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27008 * util/grub.d/41_custom.in: New file.
27009
27010 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27011
27012 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27013 been merged back into normal.
27014
27015 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27016
27017 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27018 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27019
27020 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27021
27022 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27023 when generating manual pages.
27024 * docs/man/grub-bin2h.h2m: New file.
27025 * docs/man/grub-editenv.h2m: New file.
27026 * docs/man/grub-fstest.h2m: New file.
27027 * docs/man/grub-install.h2m: New file.
27028 * docs/man/grub-macho2img.h2m: New file.
27029 * docs/man/grub-mkconfig.h2m: New file.
27030 * docs/man/grub-mkdevicemap.h2m: New file.
27031 * docs/man/grub-mkfont.h2m: New file.
27032 * docs/man/grub-mkimage.h2m: New file.
27033 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27034 * docs/man/grub-mkrelpath.h2m: New file.
27035 * docs/man/grub-mkrescue.h2m: New file.
27036 * docs/man/grub-ofpathname.h2m: New file.
27037 * docs/man/grub-pe2elf.h2m: New file.
27038 * docs/man/grub-probe.h2m: New file.
27039 * docs/man/grub-reboot.h2m: New file.
27040 * docs/man/grub-script-check.h2m: New file.
27041 * docs/man/grub-set-default.h2m: New file.
27042 * docs/man/grub-setup.h2m: New file.
27043
27044 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 Use FOR_* macros instead of *_iterate whenever possible.
27047
27048 * commands/handler.c: Removed.
27049 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27050 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27051 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27052 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27053 (grub_probe_SOURCES): Remove kern/parser.c.
27054 (util/grub-script-check.c_DEPENDENCIES): Removed.
27055 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27056 and grub_script_check_init.c.
27057 (grub_script_check_init.lst): Removed.
27058 (grub_script_check_init.h): Likewise.
27059 (grub_script_check_init.c): Likewise.
27060 (pkglib_MODULES): Remove handler.mod and sh.mod.
27061 (handler_mod_SOURCES): Removed.
27062 (handler_mod_CFLAGS): Likewise.
27063 (handler_mod_LDFLAGS): Likewise.
27064 (normal_mod_SOURCES): Remove normal/handler.c.
27065 Add script/main.c, script/script.c, script/execute.c,
27066 script/function.c, script/lexer.c, grub_script.tab.c
27067 and grub_script.yy.c.
27068 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27069 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27070 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27071 (grub_setup_SOURCES): Remove kern/parser.c.
27072 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27073 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27074 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27075 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27076 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27077 (grub_setup_SOURCES): Remove kern/parser.c.
27078 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27079 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27080 * include/grub/command.h (grub_command_iterate): Removed.
27081 (FOR_COMMANDS): New macro.
27082 * include/grub/dl.h (grub_dl): New member next.
27083 (grub_dl_iterate): Removed.
27084 (grub_dl_head): New variable declaration.
27085 (FOR_DL_MODULES): New macro.
27086 * include/grub/fs.h: Include list.h.
27087 (grub_fs): Make next first element.
27088 (grub_fs_list): New variable declaration.
27089 (grub_fs_register): Make inline.
27090 (grub_fs_unregister): Likewise.
27091 (grub_fs_iterate): Removed.
27092 (FOR_FILESYSTEMS): New macro.
27093 * include/grub/handler.h: Removed.
27094 * include/grub/list.h (grub_list_hook_t): Removed.
27095 (grub_list_test_t): Likewise.
27096 (grub_list_pop): Likewise.
27097 (grub_list_iterate): Likewise.
27098 (grub_list_insert): Likewise.
27099 (FOR_LIST_ELEMENTS): New macro.
27100 * include/grub/parser.h (grub_parser_class): Removed.
27101 (grub_parser_register): Likewise.
27102 (grub_parser_unregister): Likewise.
27103 (grub_parser_get_current): Likewise.
27104 (grub_parser_set_current): Likewise.
27105 (grub_register_rescue_parser): Likewise.
27106 (grub_rescue_parse_line): New function.
27107 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27108 * include/grub/script_sh.h (grub_script_function_list): New variable
27109 declaration.
27110 (FOR_SCRIPT_FUNCTIONS): New macro.
27111 (grub_script_function_iterate): Removed.
27112 (grub_normal_parse_line): New prototype.
27113 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27114 (FOR_DISABLED_TERM_INPUTS): Likewise.
27115 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27116 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27117 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27118 element.
27119 (grub_video_register): Inline.
27120 (grub_video_unregister): Likewise.
27121 (grub_video_adapter_list): New variable declaration.
27122 (grub_video_iterate): Removed.
27123 (FOR_VIDEO_ADAPTERS): New macro.
27124 * kern/dl.c (grub_dl_list): Removed. All users updated.
27125 (grub_dl_iterate): Removed.
27126 * kern/fs.c (grub_fs_list): Make global.
27127 (grub_fs_register): Removed.
27128 (grub_fs_unregister): Likewise.
27129 (grub_fs_iterate): Likewise.
27130 * kern/handler.c: Removed.
27131 * kern/list.c (grub_list_pop): Removed.
27132 (grub_list_iterate): Likewise.
27133 (grub_list_insert): Likewise.
27134 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27135 (grub_prio_list_insert): Don't use grub_list_insert.
27136 * kern/main.c (grub_register_rescue_parser): Don't call
27137 grub_register_rescue_parser.
27138 * kern/parser.c (grub_parser_class): Removed.
27139 (grub_parser_execute): Use grub_rescue_parse_line.
27140 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27141 (grub_rescue_parser): Removed.
27142 (grub_register_rescue_parser): Likewise.
27143 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27144 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27145 (grub_auth_check_authentication): Likewise.
27146 * normal/completion.c (iterate_command): Removed.
27147 (grub_normal_do_completion): Use FOR_COMMANDS.
27148 * normal/handler.c: Removed.
27149 * normal/main.c (read_config_file): Remove parser changing.
27150 (grub_normal_execute): Don't call read_handler_list.
27151 (grub_normal_read_line_real): Statically allocate prompt.
27152 (grub_cmdline_run): Use grub_normal_parse_line.
27153 (GRUB_MOD_FINI): Don't call free_handler_list.
27154 * normal/menu_entry.c (run): Likewise.
27155 * script/function.c (grub_script_function_list): Make global.
27156 (grub_script_function_iterate): Removed.
27157 * script/main.c (grub_normal_parse_line): Make global.
27158 (grub_sh_parser): Removed.
27159 (GRUB_MOD_INIT): Likewise.
27160 (GRUB_MOD_FINI): Likewise.
27161 * tests/lib/functional_test.c (grub_functional_test): Use
27162 FOR_LIST_ELEMENTS.
27163 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27164 (grub_test_run): Use FOR_LIST_ELEMENTS.
27165 * tests/lib/unit_test.c (main): Likewise.
27166 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27167 grub_list_pop.
27168 * util/grub-fstest.c (grub_term_input_class): Removed.
27169 (grub_term_output_class): Likewise.
27170 * util/grub-probe.c: Likewise.
27171 * util/i386/pc/grub-setup.c: Likewise.
27172 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27173 * util/grub-script-check.c (main): Don't call grub_init_all and
27174 grub_fini_all.
27175 * video/video.c (grub_video_adapter_list): Make global.
27176 (grub_video_register): Removed.
27177 (grub_video_unregister): Likewise.
27178 (grub_video_iterate): Likewise.
27179
27180 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27183 reported by Henrique Ferreiro.
27184
27185 2010-06-09 Robert Millan <rmh@gnu.org>
27186
27187 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27188 ones, when both are available.
27189
27190 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27191
27192 Make --version uniform and avoid hard-coded program name.
27193
27194 * util/grub-mkimage.c (main): Use `program_name' instead of
27195 hard-coded string.
27196 * util/i386/pc/grub-setup.c (main): Likewise.
27197 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27198 * util/grub-install.in: Save the basename of $0 in $self, and use the
27199 latter in informational messages. Use the same format for --version
27200 as the binary programs.
27201 * util/grub-mkconfig.in: Likewise.
27202 * util/grub-mkrescue.in: Likewise.
27203 * util/grub-reboot.in: Likewise.
27204 * util/grub-set-default.in: Likewise.
27205 * util/i386/efi/grub-install.in: Likewise.
27206 * util/ieee1275/grub-install.in: Likewise.
27207 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27208
27209 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27210
27211 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27212 embedding area. Use <= instead of == when checking for non-emptiness.
27213
27214 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27215
27216 * configure.ac: Add `.' to the directories searched for unifont.
27217
27218 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27219
27220 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27221 grub_script.yy.h.
27222
27223 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27224
27225 * docs/grub.texi (History): Expand to cover GRUB 2.
27226 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27227 commands, not `terminal'.
27228 (serial): Likewise.
27229 (terminal_input): New section.
27230 (terminal_output): New section.
27231 (uppermem): New section (stub).
27232 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27233
27234 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27235
27236 * docs/grub.texi (Security): Menu entries are unrestricted by
27237 default, not restricted to superusers as I had previously thought.
27238 Reword to account for this.
27239
27240 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27241
27242 * kern/emu/misc.c (device_mapper_null_log): New function.
27243 (grub_device_mapper_supported): New function.
27244 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27245 prototype.
27246 * kern/emu/hostdisk.c (find_partition_start): Check whether
27247 device-mapper is supported before trying to use it.
27248 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27249
27250 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27251
27252 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27253 (File name syntax): Likewise.
27254 (help): --all is no longer supported in GRUB 2. Be more precise
27255 about pattern matching.
27256
27257 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27258
27259 * normal/completion.c (grub_normal_do_completion): When completing
27260 arguments to "set" and the current word contains an equals sign,
27261 skip to after the equals sign before starting completion.
27262
27263 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27264
27265 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27266
27267 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27268
27269 * docs/grub.texi (Network): New section.
27270 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27271 `(nd)' as in GRUB Legacy.
27272 (pxe_unload): New section.
27273
27274 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27275
27276 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27277 in the rescue shell, so recommend using `set' instead. Thanks,
27278 Jordan Uggla.
27279
27280 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27281
27282 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27283 (password): New section.
27284 (password_pbkdf2): New section.
27285 (search): New section.
27286 (Security): New section.
27287 (Troubleshooting): New section, currently very incomplete.
27288 (Invoking grub-mkpasswd-pbkdf2): New section.
27289 (Internals): New section, currently very incomplete.
27290
27291 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27292
27293 * util/grub.d/00_header.in: Add some more quoting (of
27294 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27295 work again.
27296 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27297
27298 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27299
27300 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27301 to `count', fixing variable shadowing that broke the -c option.
27302
27303 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
27304
27305 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27306 in case they contain spaces.
27307
27308 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27309
27310 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27311 "part_" to partmap module names, in line with grub-install.
27312 Reported by: Jindřich Makovička (Debian bug #584426).
27313
27314 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27315
27316 * util/grub-mkimage.c: Make target-related error messages slightly
27317 more helpful; -O talks about "format". Explicitly point to the use
27318 of -O if no target is specified.
27319 Reported by: Didier Raboud (Debian bug #584415).
27320
27321 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
27322
27323 * INSTALL: Document several build requirements for optional features
27324 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27325
27326 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27327
27328 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27329 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27330 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27331
27332 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27333
27334 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27335 Thanks to Jordan Uggla for spotting this.
27336
27337 2010-06-02 Aleš Nesrsta <starous@volny.cz>
27338
27339 Finally make USB usable.
27340
27341 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27342 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27343 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27344 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27345 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27346 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27347 (GRUB_OHCI_FSMPS): Likewise.
27348 (GRUB_OHCI_PERIODIC_START): Likewise.
27349 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27350 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27351 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27352 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27353 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27354 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27355 (grub_ohci_transaction): Likewise.
27356 (grub_ohci_transfer): Improve condition detection algorithms.
27357 Handle toggle property. Program the transactions correctly.
27358 Improve error handling. Various important fixups.
27359 (grub_ohci_portstatus): Put register writes in right order.
27360 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27361 (grub_uhci_transfer): Don't show "failed" message on success.
27362 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27363 array.
27364 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27365 determine its size.
27366 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27367 before initialization is completed. Use IN direction for empty
27368 transfers. Use last_trans and compute toggle.
27369 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27370 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27371 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27372 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27373 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27374 (grub_usb_device): Increase toggle to 256.
27375 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27376 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27377 GRUB_USBMS_SUBCLASS_SFF8070.
27378 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27379 (grub_scsi_inquiry): New member page and alloc_length.
27380 (grub_scsi_request_sense): New structure.
27381 (grub_scsi_request_sense_data): Likewise.
27382 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27383 control.
27384 * disk/scsi.c (grub_scsi_request_sense): New function.
27385 (grub_scsi_test_unit_ready): Likewise.
27386 (grub_scsi_inquiry): Fill new fields.
27387 (grub_scsi_read_capacity): Likewise.
27388 (grub_scsi_read10): Add request sense at the end.
27389 (grub_scsi_read12): Likewise.
27390 (grub_scsi_write10): Likewise.
27391 (grub_scsi_write12): Likewise.
27392 (grub_scsi_open): Add Test Unit Ready.
27393 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27394 Support additional subclasses. Con't clear halt yet. Activate the
27395 proper config. Calculate LUNs correctly.
27396 (grub_usbms_transfer): Various important fixups.
27397
27398 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27401 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27402 (grub_ohci_fini_hw): New function.
27403 (grub_ohci_restore_hw): Likewise.
27404 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27405 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27406 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27407
27408 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 Dedicated DMA allocations.
27411
27412 * bus/pci.c (grub_memalign_dma32): New function
27413 (grub_dma_free): Likewise.
27414 (grub_dma_get_virt): Likewise.
27415 (grub_dma_get_phys): Likewise.
27416 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27417 (grub_ohci_pci_iter): Use dma32_alloc.
27418 (grub_ohci_transfer): Likewise.
27419 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27420 (grub_usb_bulk_readwrite): Likewise.
27421 * include/grub/pci.h: Add declarations.
27422
27423 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27424
27425 CS5536 support.
27426
27427 * bus/cs5536.c: New file.
27428 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27429 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27430 (cs5536_mod_SOURCES): New variable.
27431 (cs5536_mod_CFLAGS): Likewise.
27432 (cs5536_mod_LDFLAGS): Likewise.
27433 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27434 machine/pci.h.
27435 (kernel_img_SOURCES): Add bus/cs5536.c.
27436 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27437 usb_keyboard.mod.
27438 (usb_mod_SOURCES): New variable.
27439 (usb_mod_CFLAGS): New variable.
27440 (usb_mod_LDFLAGS): New variable.
27441 (usbtest_mod_SOURCES): New variable.
27442 (usbtest_mod_CFLAGS): New variable.
27443 (usbtest_mod_LDFLAGS): New variable.
27444 (ohci_mod_SOURCES): New variable.
27445 (ohci_mod_CFLAGS): New variable.
27446 (ohci_mod_LDFLAGS): New variable.
27447 (usbms_mod_SOURCES): New variable.
27448 (usbms_mod_CFLAGS): New variable.
27449 (usbms_mod_LDFLAGS): New variable.
27450 (usb_keyboard_mod_SOURCES): New variable.
27451 (usb_keyboard_mod_CFLAGS): New variable.
27452 (usb_keyboard_mod_LDFLAGS): New variable.
27453 * include/grub/smbus.h: New file.
27454 * include/grub/cs5536.h: New file.
27455
27456 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27457
27458 * util/grub.d/00_header.in: Add safety check to make sure that
27459 ${locale_dir} exists before trying to probe it.
27460
27461 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27462
27463 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27464 per the GNU Coding Standards; this is now too obscure to be worth
27465 documenting.
27466 (QNX): Likewise.
27467 (chainloader): Remove cross-reference to `SCO UnixWare'.
27468
27469 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27470
27471 * docs/grub.texi (Chain-loading): New section.
27472 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27473 adjusted for GRUB 2.
27474 (SCO UnixWare): Likewise.
27475 (QNX): Likewise.
27476 (chainloader): Add reference to `Block list syntax'.
27477 (drivemap): New section.
27478 (parttool): New section.
27479
27480 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27481
27482 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27483 the grub shell'.
27484 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27485 (Installing GRUB using grub-install): Remove reference to the grub
27486 shell; mention `grub-mkimage' and `grub-setup' instead.
27487 (Invoking grub-install): Likewise.
27488 (Interface): Add reference to `Menu entry editor'.
27489 (serial): Remove `--device' option.
27490
27491 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27492
27493 * docs/grub.texi (Configuration): New section, documenting
27494 configuration file generation using grub-mkconfig. I've left a slot
27495 for documenting the full shell scripting format but have not yet
27496 started on writing that up.
27497 (Invoking grub-mkconfig): New section.
27498
27499 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27500
27501 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27502 (GNU GRUB manual): Likewise.
27503 (General commands): Update description of `terminfo' for GRUB 2.
27504
27505 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27506
27507 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27508 (GRUB_MOD_INIT): Fix capitalisation.
27509 * docs/grub.texi (Command-line and menu entry commands): Document
27510 gettext and gptsync commands.
27511
27512 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27513
27514 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27515 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27516
27517 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
27518
27519 Add btrfs probing support, currently only in the single-device case.
27520
27521 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27522 function.
27523 (grub_guess_root_device): Call find_root_device_from_mountinfo
27524 before looking in /dev.
27525
27526 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27529 GRUB_DISK_SIZE_UNKNOWN.
27530 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27531
27532 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
27533
27534 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27535 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27536 corrupted or not synced properly.
27537
27538 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27539
27540 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27541 Reported by: Seth Goldberg.
27542
27543 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27544
27545 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27546 addition of dest.
27547 Reported by: Seth Goldberg.
27548
27549 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27550
27551 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27552 Reported by: Seth Goldberg.
27553
27554 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27555
27556 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27557 64-bit address as signed on MIPS.
27558
27559 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
27560
27561 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27562 to the empty string.
27563
27564 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27565
27566 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27567
27568 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27569 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27570 * kern/misc.c (__enable_execute_stack): Disable on
27571 GRUB_MACHINE_EMU.
27572
27573 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
27574
27575 Make grub-probe work with symbolic links under /dev/mapper as well
27576 as with real block devices. The Linux world seems to be (at best)
27577 in transition here, and GRUB shouldn't get caught in the middle.
27578
27579 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27580 /dev/mapper.
27581
27582 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
27583
27584 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27585 input files (in which case exit zero).
27586
27587 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
27588
27589 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27590 return NULL for various reasons even if it has a maximum-length
27591 buffer: for example, there might be a symlink loop, or the path
27592 might exceed PATH_MAX. If this happens, return NULL.
27593
27594 2010-05-27 Robert Millan <rmh@gnu.org>
27595
27596 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27597 partmap module to handle cross-partmap setups.
27598 Reported by Orestes Mas. Gràcies!
27599
27600 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
27601
27602 * util/grub-mkrescue.in: Initialise override_dir rather than
27603 assuming that it's unset or empty in the environment.
27604
27605 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27606
27607 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27608 variable index into p_index to suppress a warning with -Wshadow.
27609
27610 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27611
27612 * INSTALL: Added flex >= 2.5.35 requirement.
27613
27614 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27615
27616 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27617
27618 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 cmostest support.
27621
27622 * commands/i386/cmostest.c: New file.
27623 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27624 (cmostest_mod_SOURCES): New variable.
27625 (cmostest_mod_CFLAGS): Likewise.
27626 (cmostest_mod_LDFLAGS): Likewise.
27627 * conf/i386-pc.rmk: Likewise.
27628 * docs/grub.texi (Vendor power-on keys): New section.
27629 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27630 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27631 and GRUB_BUTTON_CMOS_ADDRESS.
27632 * util/grub.d/00_header.in: Handle powering-on by separate button.
27633
27634 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27637 Removed drawing_scrollbar argument. All users updated
27638 Fixes #29792.
27639 Reported by Jo Shields
27640
27641 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27644 buffer since gfxterm handles double repaint.
27645
27646 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27647
27648 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27649 * term/gfxterm.c (real_scroll): Likewise.
27650
27651 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27654 before calling BIOS.
27655
27656 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27657
27658 * include/grub/i18n.h: Always enable grub_gettext.
27659
27660 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27663 partition naming style.
27664
27665 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
27666
27667 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27668 not the first option.
27669
27670 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
27671
27672 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27673
27674 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
27675
27676 * util/misc.c: Move inclusion of <limits.h> to ...
27677 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27678
27679 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27680
27681 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27682 Fix merge error in NetBSD code.
27683 (find_partition_start) [__NetBSD__]: Likewise.
27684
27685 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27686
27687 Fix grub-mkrescue usage unit testing.
27688
27689 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27690
27691 2010-05-18 Christian Franke <franke@computer.org>
27692
27693 * util/grub.d/10_windows.in: Use path names instead of
27694 drive letters to prevent warning from Cygwin 1.7.
27695 Add drivemap command to menuentry if needed.
27696
27697 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27698
27699 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27700 gnumach and gnumach.gz.
27701
27702 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27703
27704 * include/grub/i18n.h (gettext): Inline instead of using #define.
27705 (grub_gettext): Likewise.
27706 (_): Likewise.
27707
27708 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27709
27710 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27711 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27712 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27713 (main): Add a slash after pkglibdirroot.
27714
27715 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27716
27717 * util/grub-install.in: Add missing "in" keyword.
27718
27719 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27720
27721 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27722 Reported by: Seth Goldberg.
27723
27724 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27725
27726 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27727
27728 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
27729
27730 * configure.ac: Check for Linux device-mapper support.
27731
27732 * util/hostdisk.c (device_is_mapped): New function.
27733 (find_partition_start): New function, partly broken out from
27734 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27735 device-mapper support added.
27736 (linux_find_partition): Use find_partition_start.
27737 (convert_system_partition_to_system_disk): Add `st' argument.
27738 Support Linux /dev/mapper/* devices if device-mapper support is
27739 available; only DM-RAID devices are understood at present.
27740 (find_system_device): Add `st' argument. Pass it to
27741 convert_system_partition_to_system_disk.
27742 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27743 find_system_device and convert_system_partition_to_system_disk. Use
27744 find_partition_start.
27745
27746 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27747 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27748 * util/deviceiter.c [__linux__]: Define MINOR.
27749 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27750 * util/mkdevicemap.c (grub_putchar): New function.
27751 (grub_getkey): New function.
27752 (grub_refresh): New function.
27753 (main): Set debug=all if -v -v is used.
27754
27755 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
27756
27757 Fix build with non-GNU libcs.
27758
27759 * util/misc.c (canonicalize_file_name): Move to ...
27760 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27761 grub_make_system_path_relative_to_its_root.
27762
27763 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
27764
27765 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27766 we handle finding grub-mkimage. Default to finding grub-mkimage in
27767 ${bindir} with program_transform_name applied, and provide a
27768 --grub-mkimage option to override this.
27769
27770 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27771
27772 Remove grub-mkisofs.
27773
27774 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27775 (grub_mkisofs_SOURCES): Removed.
27776 (grub_mkisofs_CFLAGS): Removed.
27777 * util/mkisofs/defaults.h: Removed.
27778 * util/mkisofs/eltorito.c: Likewise.
27779 * util/mkisofs/exclude.h: Likewise.
27780 * util/mkisofs/hash.c: Likewise.
27781 * util/mkisofs/include/: Likewise.
27782 * util/mkisofs/include/fctldefs.h: Likewise.
27783 * util/mkisofs/include/mconfig.h: Likewise.
27784 * util/mkisofs/include/prototyp.h: Likewise.
27785 * util/mkisofs/include/statdefs.h: Likewise.
27786 * util/mkisofs/iso9660.h: Likewise.
27787 * util/mkisofs/joliet.c: Likewise.
27788 * util/mkisofs/match.c: Likewise.
27789 * util/mkisofs/match.h: Likewise.
27790 * util/mkisofs/mkisofs.c: Likewise.
27791 * util/mkisofs/mkisofs.h: Likewise.
27792 * util/mkisofs/msdos_partition.h: Likewise.
27793 * util/mkisofs/multi.c: Likewise.
27794 * util/mkisofs/name.c: Likewise.
27795 * util/mkisofs/rock.c: Likewise.
27796 * util/mkisofs/tree.c: Likewise.
27797 * util/mkisofs/write.c: Likewise.
27798
27799 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27800
27801 Unify grub-mkimage accross platforms.
27802
27803 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27804 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27805 (grub_mkelfimage_SOURCES): Removed.
27806 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27807 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27808 (bin_UTILITIES): Add grub-mkimage.
27809 (grub_mkimage_SOURCES): New variable.
27810 (kernel_img_HEADERS): Remove machine/kernel.h.
27811 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27812 (pkglib_PROGRAMS): Add kernel.img.
27813 (kernel_img_HEADERS): Add machine/kernel.h.
27814 (kernel_img_FORMAT): Removed.
27815 (bin_UTILITIES): Remove grub-mkimage.
27816 (grub_mkimage_SOURCES): Removed.
27817 (grub_mkimage_CFLAGS): Likewise.
27818 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27819 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27820 (pkglib_PROGRAMS): Add kernel.img.
27821 (bin_UTILITIES): Remove grub-mkimage.
27822 (grub_mkimage_SOURCES): Removed.
27823 (grub_mkimage_CFLAGS): Likewise.
27824 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27825 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27826 (pkglib_PROGRAMS): Add kernel.img.
27827 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27828 (pkglib_PROGRAMS): Add kernel.img.
27829 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27830 (grub_mkimage_SOURCES): Removed.
27831 (grub_mkimage_CFLAGS): Likewise.
27832 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27833 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27834 (pkglib_PROGRAMS): Add kernel.img.
27835 (bin_UTILITIES): Remove grub-mkimage.
27836 (grub_mkimage_SOURCES): Removed.
27837 (grub_mkimage_CFLAGS): Likewise.
27838 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27839 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27840 (grub_mkimage_SOURCES): Removed.
27841 (grub_mkimage_CFLAGS): Likewise.
27842 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27843 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27844 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27845 (grub_pe32_optional_header): ... this.
27846 (grub_pe64_optional_header): ... and this. All users updated.
27847 (GRUB_PE32_PE32_MAGIC): Split into ..
27848 (GRUB_PE32_PE32_MAGIC): .. this.
27849 (GRUB_PE32_PE64_MAGIC): .. and this.
27850 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27851 * include/grub/elf.h (PT_GNU_STACK): New definition.
27852 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27853 * include/grub/i386/efi/kernel.h: Likewise.
27854 * include/grub/i386/kernel.h: Likewise.
27855 * include/grub/i386/pc/kernel.h: Likewise.
27856 * include/grub/i386/qemu/boot.h: Likewise.
27857 * include/grub/mips/kernel.h: Likewise.
27858 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27859 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27860 * include/grub/powerpc/kernel.h: Likewise.
27861 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27862 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27863 * include/grub/sparc64/kernel.h: Likewise.
27864 * include/grub/x86_64/efi/kernel.h: Likewise.
27865 * include/grub/x86_64/kernel.h: Likewise.
27866 * include/grub/offsets.h: New file.
27867 * include/grub/kernel.h (grub_module_info): Split into ...
27868 (grub_module_info32): ... this.
27869 (grub_module_info64): ... and this.
27870 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27871 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27872 (grub_boot_blocklist): Moved from here ...
27873 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27874 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27875 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27876 * include/grub/types.h (grub_target_to_host16): Removed.
27877 (grub_target_to_host32): Likewise.
27878 (grub_target_to_host64): Likewise.
27879 (grub_host_to_target16): Likewise.
27880 (grub_host_to_target32): Likewise.
27881 (grub_host_to_target64): Likewise.
27882 (grub_host_to_target_addr): Likewise.
27883
27884 Support grub-mkrescue for efi, coreboot and qemu.
27885
27886 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27887 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27888 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27889 * util/grub-mkrawimage.c: Moved from here ...
27890 * util/grub-mkimage.c: ... here. All users updated.
27891 (ALIGN_ADDR): Use image_target.
27892 (TARGET_NO_FIELD): New const.
27893 (image_target_desc): New type.
27894 (image_targets): New array.
27895 (grub_target_to_host64): Use image_target.
27896 (grub_target_to_host32): Likewise.
27897 (grub_target_to_host16): Likewise.
27898 (grub_host_to_target64): Likewise.
27899 (grub_host_to_target32): Likewise.
27900 (grub_host_to_target16): Likewise.
27901 (grub_host_to_target_addr): Likewise.
27902 (generate_image): Handle multiimage.
27903 (main): Require -O parameter. All users updated.
27904 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27905 util/efi/grub-mkimage.c
27906 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27907 New option --rom-directory.
27908 Use xorriso.
27909 * util/i386/efi/grub-mkimage.c: Removed.
27910 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27911 (grub_target_to_host32): Likewise.
27912 (grub_target_to_host64): Likewise.
27913 (grub_host_to_target16): Likewise.
27914 (grub_host_to_target32): Likewise.
27915 (grub_host_to_target64): Likewise.
27916 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27917 (grub_target_to_host32): Likewise.
27918 (grub_target_to_host64): Likewise.
27919 (grub_host_to_target16): Likewise.
27920 (grub_host_to_target32): Likewise.
27921 (grub_host_to_target64): Likewise.
27922
27923 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27924
27925 Source tree is reorganized for emu build.
27926
27927 * include/grub/util/console.h: Move from here...
27928 * include/grub/emu/console.h: ...to here.
27929 * include/grub/util/getroot.h: Move from here...
27930 * include/grub/emu/getroot.h: ...to here.
27931 * include/grub/util/hostdisk.h: Move from here...
27932 * include/grub/emu/hostdisk.h: ...to here.
27933 * util/console.c: Move from here...
27934 * kern/emu/console.c: ...to here.
27935 * util/getroot.c: Move from here...
27936 * kern/emu/getroot.c: ...to here.
27937 * util/grub-emu.c: Move from here...
27938 * kern/emu/main.c: ...to here.
27939 * util/hostdisk.c: Move from here...
27940 * kern/emu/hostdisk.c: ...to here.
27941 * util/hostfs.c: Move from here...
27942 * kern/emu/hostfs.c: ...to here.
27943 * util/mm.c: Move from here...
27944 * kern/emu/mm.c: ...to here.
27945 * util/pci.c: Move from here...
27946 * bus/emu/pci.c: ...to here.
27947 * util/sdl.c: Move from here...
27948 * video/emu/sdl.c: ...to here.
27949 * util/time.c: Move from here...
27950 * kern/emu/time.c: ...to here.
27951 * util/usb.c: Move from here...
27952 * bus/usb/emu/usb.c: ...to here.
27953
27954 * include/grub/emu/misc.h: New header for grub-emu functions.
27955 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27956
27957 * conf/any-emu.rmk: Rule updates for above renames.
27958 * conf/common.rmk: Likewise.
27959 * conf/i386-pc.rmk: Likewise.
27960 * conf/i386-qemu.rmk: Likewise.
27961 * conf/mips.rmk: Likewise.
27962 * conf/sparc64-ieee1275.rmk: Likewise.
27963 * conf/x86-efi.rmk: Likewise.
27964
27965 * disk/lvm.h: #include updates for above renames.
27966 * util/grub-mkrelpath.c: Likewise.
27967 * util/grub-probe.c: Likewise.
27968 * util/i386/pc/grub-setup.c: Likewise.
27969 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27970 * kern/emu/console.c: Likewise.
27971 * kern/emu/getroot.c: Likewise.
27972 * kern/emu/hostdisk.c: Likewise.
27973 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27974
27975 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27976 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27977 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27978 * util/misc.c: Remove grub-emu functions.
27979
27980 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 Fix gfxmenu crash.
27983 Reported by: Thorsten Grützmacher.
27984
27985 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27986 timeout hook.
27987 (circprog_set_property): Register and unregister timeout hook.
27988 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27989 (label_destroy): Free template. and unregister hook.
27990 (label_set_state): New function.
27991 (label_set_property): Handle templates and hooks.
27992 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27993 timeout hook.
27994 (progress_bar_set_property): Register and unregister timeout hook.
27995 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27996 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27997 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27998 (update_timeout_visit): Removed.
27999 (update_timeouts): New function.
28000 (redraw_timeouts): Likewise.
28001 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28002 (grub_gfxmenu_clear_timeout): Likewise.
28003 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28004 (grub_gfxmenu_timeout_notify): Likewise.
28005 (grub_gfxmenu_timeout_notifications): New external variable.
28006 (grub_gfxmenu_timeout_register): New function.
28007 (grub_gfxmenu_timeout_unregister): Likewise.
28008
28009 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28010
28011 Transform (broken) vga terminal into (working) vga video driver.
28012
28013 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28014 video/i386/pc/vga.c.
28015 * include/grub/video.h (grub_video_driver_id):
28016 Add GRUB_VIDEO_DRIVER_VGA.
28017 * term/i386/pc/vga.c: Renamed to ...
28018 * video/i386/pc/vga.c: ...this
28019 (DEBUG_VGA): Removed.
28020 (CHAR_WIDTH): Likewise.
28021 (CHAR_HEIGHT): Likewise.
28022 (TEXT_WIDTH): Likewise.
28023 (TEXT_HEIGHT): Likewise.
28024 (DEFAULT_FG_COLOR): Likewise.
28025 (DEFAULT_BG_COLOR): Likewise.
28026 (colored_char): Likewise.
28027 (xpos): Likewise.
28028 (ypos): Likewise.
28029 (cursor_state): Likewise.
28030 (fg_color): Likewise.
28031 (bg_color): Likewise.
28032 (text_buf): Likewise.
28033 (page): Likewise.
28034 (font): Likewise.
28035 (framebuffer): New variable.
28036 (set_read_map): Disabled.
28037 (setup): New variable.
28038 (is_target): Likewise.
28039 (grub_vga_mod_init): Likewise.
28040 (grub_vga_mod_fini): Likewise.
28041 (check_vga_mem): Likewise.
28042 (write_char): Likewise.
28043 (write_cursor): Likewise.
28044 (scroll_up): Likewise.
28045 (grub_vga_putchar): Likewise.
28046 (grub_vga_getcharwidth): Likewise.
28047 (grub_vga_getwh): Likewise.
28048 (grub_vga_getxy): Likewise.
28049 (grub_vga_gotoxy): Likewise.
28050 (grub_vga_cls): Likewise.
28051 (grub_vga_setcolorstate): Likewise.
28052 (grub_vga_setcursor): Likewise.
28053 (grub_video_vga_init): New function.
28054 (grub_video_vga_setup): Likewise.
28055 (grub_video_vga_fini): Likewise.
28056 (update_target): Likewise.
28057 (grub_video_vga_blit_bitmap): Likewise.
28058 (grub_video_vga_blit_render_target): Likewise.
28059 (grub_video_vga_set_active_render_target): Likewise.
28060 (grub_video_vga_get_active_render_target): Likewise.
28061 (grub_video_vga_swap_buffers): Likewise.
28062 (grub_video_vga_set_palette): Likewise.
28063 (grub_video_vga_get_info_and_fini): Likewise.
28064 (grub_vga_term): Removed.
28065 (grub_video_vga_adapter): New variable.
28066 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28067 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28068
28069 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 * video/readers/jpeg.c: Indented.
28072
28073 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 Various jpeg cleanups.
28076
28077 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28078 (grub_jpeg_decode_quan_table): Use sizeof.
28079 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28080
28081 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28082
28083 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28084 tables. Ignore non-last ac bit.
28085 (grub_jpeg_decode_quan_table): Likewise.
28086
28087 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28090 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28091 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28092 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28093 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28094 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28095
28096 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28099 error.
28100
28101 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28104
28105 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28106
28107 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28108 condition.
28109
28110 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28111
28112 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28113 part.
28114
28115 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28118 pointers.
28119
28120 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28123
28124 2010-05-01 Christian Franke <franke@computer.org>
28125
28126 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28127 Remove broken Cygwin path conversion.
28128 * util/misc.c: [__CYGWIN__] Add include and define.
28129 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28130 for Cygwin 1.7.
28131 (make_system_path_relative_to_its_root): Simplify loop, replace early
28132 return by break.
28133 [__CYGWIN__] Add conversion to win32 path.
28134 Include "/" case in trailing slash removal.
28135
28136 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28139 Reported by: Seth Goldberg
28140
28141 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 * commands/help.c (grub_cmd_help): Fix a typo.
28144 Reported by: Seth Goldberg
28145
28146 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28147
28148 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28149 name and add N_.
28150 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28151 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28152 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28153 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28154 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28155 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28156 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28157 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28158 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28159 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28160 * normal/context.c (GRUB_MOD_INIT): Likewise.
28161 * normal/main.c (GRUB_MOD_INIT): Likewise.
28162 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28163 * term/serial.c (GRUB_MOD_INIT): Likewise.
28164 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28165
28166 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28167
28168 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28169 extra == 0.
28170
28171 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28172
28173 * commands/iorw.c: New file.
28174 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28175 (iorw_mod_SOURCES): New variable.
28176 (iorw_mod_CFLAGS): Likewise.
28177 (iorw_mod_LDFLAGS): Likewise.
28178
28179 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28180
28181 Hotkey support
28182
28183 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28184 * normal/main.c (hotkey_aliases): New variable.
28185 (grub_normal_add_menu_entry): Parse "--hotkey".
28186 * normal/menu_text.c (run_menu): Handle hotkeys.
28187
28188 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28189
28190 * kern/i386/coreboot/init.c (grub_machine_init): Call
28191 grub_machine_mmap_init on qemu.
28192
28193 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 * boot/i386/qemu/boot.S: Add a missing .code16.
28196
28197 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28198
28199 Use LBIO on coreboot.
28200
28201 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28202 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28203 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28204 New declaration.
28205 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28206 grub_machine_mmap_init on coreboot.
28207 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28208 GRUB_LINUXBIOS_MEMBER_LINK.
28209 (grub_machine_mmap_iterate): Fix declaration.
28210 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28211
28212 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 Split coreboot and multiboot ports.
28215
28216 * conf/i386-multiboot.rmk: New file.
28217 * configure.ac: Add multiboot port.
28218 * include/grub/i386/multiboot/boot.h: New file.
28219 * include/grub/i386/multiboot/console.h: Likewise.
28220 * include/grub/i386/multiboot/init.h: Likewise.
28221 * include/grub/i386/multiboot/kernel.h: Likewise.
28222 * include/grub/i386/multiboot/loader.h: Likewise.
28223 * include/grub/i386/multiboot/memory.h: Likewise.
28224 * include/grub/i386/multiboot/serial.h: Likewise.
28225 * include/grub/i386/multiboot/time.h: Likewise.
28226 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28227 * loader/multiboot.c: Likewise.
28228 * loader/multiboot_mbi2.c: Likewise.
28229 * util/grub-mkrescue.in: Generate multiboot rescue.
28230
28231 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28234
28235 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 Merge handling of input and output terminals. Fix a hang.
28238
28239 * commands/terminal.c (abstract_terminal): New struct.
28240 (handle_command): New function. Based on grub_cmd_terminal_input.
28241 (grub_cmd_terminal_input): Use handle_command.
28242 (grub_cmd_terminal_output): Use handle_command.
28243
28244 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28245
28246 Fix comment handling.
28247
28248 * tests/grub_script_comments.in: New testcase.
28249 * conf/tests.rmk: Rules for new testcase.
28250 * script/yylex.l: Updated flex rules.
28251
28252 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28253
28254 * docs/grub.texi (play): Document that zero pitches produce rests.
28255 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28256 if argc is 1.
28257
28258 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28259
28260 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28261 autogen issues.
28262
28263 2010-04-26 Christian Franke <franke@computer.org>
28264
28265 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28266 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28267 (grub_get_prefix): Remove function.
28268 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28269 make_system_path_relative_to_its_root ().
28270 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28271
28272 2010-04-24 Christian Franke <franke@computer.org>
28273
28274 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28275 (kernel_img_LDFLAGS): Remove -static-libgcc.
28276
28277 2010-04-24 Christian Franke <franke@computer.org>
28278
28279 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28280 and CHECK_END_SYMBOL if grub-emu is built.
28281 Unset TARGET_OBJ2ELF if grub-emu is built
28282 without module support.
28283
28284 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
28285
28286 Nilfs2 support.
28287
28288 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28289 (grub_fstest_SOURCES): Likewise.
28290 (pkglib_MODULES): Add nilfs2.mod.
28291 (nilfs2_mod_SOURCES): New variable.
28292 (nilfs2_mod_CFLAGS): Likewise.
28293 (nilfs2_mod_LDFLAGS): Likewise.
28294 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28295 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28296 * fs/nilfs2.c: New file.
28297
28298 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28301 is not supported.
28302
28303 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28304
28305 Add grub-mkconfig support for NetBSD.
28306
28307 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28308 * util/grub-mkconfig.in: export new NetBSD specific variables.
28309 * po/POTFILES-shell: added 10_netbsd.in.
28310 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28311
28312 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28313
28314 Fix emu build with grub-emu-pci and grub-emu-modules.
28315
28316 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28317 functions.
28318 * include/grub/libpciaccess.h: New file.
28319 * conf/any-emu.rmk: Update kernel headers for emu build.
28320
28321 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28324
28325 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28328
28329 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28330
28331 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28332 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28333 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28334 util/ieee1275/ofpath.c.
28335 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28336 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28337 * include/grub/sparc64/ieee1275/boot.h
28338 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28339 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28340 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28341 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28342 const char *.
28343 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28344 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28345 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28346 install.
28347
28348 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28349
28350 * util/grub-mkconfig.in: Corrected two == equality tests.
28351 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28352 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28353 expect a number appended to it.
28354 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28355 expects a number appended to it.
28356
28357 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28358
28359 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28360
28361 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * util/hostdisk.c (make_device_name): Change to new partition naming.
28364
28365 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28368
28369 2010-04-17 Christian Franke <franke@computer.org>
28370
28371 * Makefile.in: Add missing localedir setting.
28372
28373 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
28374
28375 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28376 mistake in r2156. Noticed by Anthony Fok.
28377
28378 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28379 @localedir@.
28380 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28381
28382 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28383
28384 Fix a spurious, uninitialized variable warning.
28385
28386 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28387 Initialize variable, shdr.
28388 (grub_freebsd_load_elfmodule): Likewise.
28389 (grub_freebsd_load_elf_meta): Likewise.
28390
28391 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28392
28393 Fix for escaped dollar in double quoted strings.
28394
28395 * script/yylex.l: Updated flex rules.
28396 * conf/tests.rmk: Rule for new testcase.
28397 * tests/grub_script_dollar.in: New testcase.
28398
28399 2010-04-13 Carles Pina i Estany <carles@pina.cat>
28400 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
28401
28402 Enclose all translated strings in grub.cfg in single quotes, and
28403 escape them appropriately (Ubuntu bug #552921).
28404
28405 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28406 * util/grub.d/10_hurd.in: Use it.
28407 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28408 * util/grub.d/10_linux.in (linux_entry): Likewise.
28409
28410 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28411
28412 Fix cygwin compilation.
28413
28414 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28415 * include/grub/misc.h (__register_frame_info)
28416 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28417 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28418 * kern/misc.c (__register_frame_info)
28419 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28420 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28421
28422 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28423
28424 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28425
28426 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 Unify libgcc processing.
28429
28430 * Makefile.in (kernel_img_LDFLAGS): New variable.
28431 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28432 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28433 overwriting.
28434 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28435 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28436 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28437 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28438 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28439 overwriting. Remove -lgcc and -static-libgcc
28440 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28441 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28442 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28443 (kernel_img_LDFLAGS): Append instead of overwriting.
28444 Remove -lgcc and -static-libgcc
28445 * conf/sparc64-ieee1275.rmk: Likewise.
28446 * include/grub/powerpc/libgcc.h: Move to ...
28447 * include/grub/libgcc.h: .. this.
28448 * include/grub/libgcc.h: Don't export most of the function on x86.
28449 (__bswapsi2): New export.
28450 (__bswapdi2): Likewise.
28451 * include/grub/mips/libgcc.h: Removed.
28452 * include/grub/sparc64/libgcc.h: Likewise.
28453
28454 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28457 disk_info_msg (conflicts with gettexting into languages with cases).
28458
28459 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28460
28461 Add grub-probe support for NetBSD.
28462
28463 * util/getroot.c (find_root_device): Convert block device to
28464 character device on NetBSD.
28465 * util/probe.c (probe): Require character device on NetBSD.
28466 * util/hostdisk.c: NetBSD specific headers.
28467 (configure_device_driver): new function to tune device driver
28468 parameters (currently only for NetBSD floppy driver).
28469 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28470 via disklabel ioctl).
28471 (open_device): call configure_device_driver on NetBSD.
28472 (convert_system_partition_to_system_disk): NetBSD specific code.
28473 (device_is_wholedisk): Likewise.
28474 (grub_util_biosdisk_get_grub_dev): Likewise.
28475 (make_device_name): Fixed a typo in bsd_part_str.
28476 * configure.ac: check for opendisk() and getrawpartition() on
28477 NetBSD and set LIBUTIL.
28478 * Makefile.in: add LIBUTIL to LIBS.
28479
28480 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28481
28482 Documentation fix.
28483
28484 * util/grub-script-check.c: Better help message.
28485
28486 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28487
28488 Fix FreeBSD build.
28489
28490 * configure.ac: Flex version check.
28491 * conf/common.rmk: Add -Wno-error to sh.mod.
28492 * script/yylex.l: Remove all #pragma.
28493
28494 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28497 prototype.
28498 Reported by: Seth Goldberg.
28499
28500 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28501
28502 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28503 Rename "module" to "module2".
28504 Reported by: Seth Goldberg.
28505
28506 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28509 EXPORT_FUNC.
28510 Reported by: Seth Goldberg.
28511
28512 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28513
28514 * lib/posix_wrap/locale.h: Add missing file.
28515 Reported by: Seth Goldberg.
28516
28517 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28518
28519 grub-emu module load support.
28520
28521 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28522 NO_DYNAMIC_MODULES switched to this.
28523 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28524 (CFLAGS): Likewise.
28525 * conf/any-emu.rmk: Generate symlist.
28526 (kernel_img_HEADERS): Add util/datetime.h.
28527 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28528 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28529 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28530 kern/$(target_cpu)/cache.S.
28531 * configure.ac (grub-emu-modules): New option.
28532 * genmk.rb: Handle multiple source lists.
28533 * include/grub/sdl.h: New file.
28534 * include/grub/libusb.h: Likewise.
28535 * util/grub-emu.c (main): Hanle (host) root.
28536 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28537 GRUB_ERR_UNKNOWN_DEVICE.
28538 * util/misc.c: Move mm functions to ...
28539 * util/mm.c: ... here. All users updated.
28540
28541 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28542
28543 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28544 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28545 missing files.
28546 (maintainer-clean): Remove libgcrypt-grub.
28547
28548 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28551
28552 2010-04-09 EFI Coder <eficoder@hotmail.com>
28553
28554 * normal/menu_text.c (print_message): Clean up the message and show
28555 the Fn information when on EFI
28556 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28557
28558 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28559
28560 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28561 All users updated.
28562 * normal/crypto.c (read_crypto_list): Likewise.
28563 * normal/dyncmd.c (read_command_list): Likewise.
28564 * normal/term.c (read_terminal_list): Likewise.
28565 * normal/main.c (read_lists): Use explicit prefix.
28566 (read_lists_hook): Use read_lists.
28567 (grub_normal_execute): Likewise.
28568
28569 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28570
28571 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28572 Reported by: Thomas Schmitt.
28573 Add -no-emul-boot to grub-mkisofs parameters.
28574
28575 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28576
28577 * font/font.c: Indented.
28578
28579 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28580
28581 Elif support to GRUB script (by Deepak Vankadaru).
28582
28583 * tests/grub_script_if.in: New testcase.
28584 * conf/tests.rmk: Rule for new testcase.
28585 * script/parser.y: Grammar rules for elif.
28586
28587 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28588
28589 While and until loops support to GRUB script.
28590
28591 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28592 (grub_script_create_cmdwhile): New function prototype.
28593 (grub_script_execute_cmdwhile): New function prototype.
28594 * script/execute.c (grub_script_execute_cmdwhile): New function.
28595 * script/parser.y (command): New commands.
28596 (whilecmd): New grammar rule.
28597 (untilcmd): New grammar rule.
28598 * script/script.c (grub_script_create_cmdwhile): New function.
28599 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28600 function.
28601
28602 * tests/grub_script_while1.in: New testcase.
28603 * conf/tests.rmk: Rule for new testcase.
28604
28605 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28608 as *.jpg.
28609
28610 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
28611
28612 GRUB_BACKGROUND support.
28613
28614 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28615 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28616
28617 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28618
28619 Load fonts and modules for gfxmenu in grub-mkconfig.
28620 Idea by: Mario Vazquez
28621
28622 * util/grub.d/00_header.in: Load pf2 and image modules.
28623
28624 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28625
28626 grub-mkconfig multiple terminal support.
28627
28628 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28629 * util/grub.d/00_header.in: Likewise.
28630
28631 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28632
28633 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28634 we use cd $(srcdir).
28635
28636 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
28637
28638 * util/grub.d/10_linux.in: Only use the first word of
28639 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28640 spaces in GRUB_DISTRIBUTOR.
28641 * util/grub.d/10_kfreebsd.in: Likewise.
28642 * util/grub.d/10_hurd.in: Likewise.
28643
28644 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28645
28646 Fix unit testing framework for Qemu 0.12.
28647
28648 * tests/util/grub-shell.in: Remove -serial stdio option.
28649
28650 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28651
28652 POSIX header file wrappers.
28653
28654 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28655 equivalents.
28656 * lib/posix_wrap/ctype.h: Likewise.
28657 * lib/posix_wrap/errno.h: Likewise.
28658 * lib/posix_wrap/langinfo.h: Likewise.
28659 * lib/posix_wrap/limits.h: Likewise.
28660 * lib/posix_wrap/localcharset.h: Likewise.
28661 * lib/posix_wrap/stdint.h: Likewise.
28662 * lib/posix_wrap/stdio.h: Likewise.
28663 * lib/posix_wrap/stdlib.h: Likewise.
28664 * lib/posix_wrap/string.h: Likewise.
28665 * lib/posix_wrap/sys/types.h: Likewise.
28666 * lib/posix_wrap/unistd.h: Likewise.
28667 * lib/posix_wrap/wchar.h: Likewise.
28668 * lib/posix_wrap/wctype.h: Likewise.
28669 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28670 (grub_script.yy.h): Likewise.
28671 * script/yylex.l: Remove POSIX emulation #defines.
28672 * Makefile.in (POSIX_CFLAGS): New variable.
28673 (GNULIB_UTIL_CFLAGS): Likewise.
28674
28675 Regexp support.
28676
28677 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28678 (regexp_mod_SOURCES): New variable.
28679 (regexp_mod_CFLAGS): Likewise.
28680 (regexp_mod_LDFLAGS): Likewise.
28681 * commands/regexp.c: New file.
28682 * gnulib/regcomp.c: New file. Imported from gnulib.
28683 * gnulib/regex.c: Likewise.
28684 * gnulib/regex_internal.c: Likewise.
28685 * gnulib/regex_internal.h: Likewise.
28686 * gnulib/regexec.c: Likewise.
28687 * gnulib/regex.h: Likewise.
28688
28689 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28690
28691 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28692 unsupported video mode types.
28693
28694 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28695
28696 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28697
28698 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28699
28700 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28701 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28702
28703 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28704
28705 Remove unused grub_vga_get_font.
28706
28707 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28708 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28709
28710 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28711
28712 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28713 * include/grub/misc.h: Likewise.
28714
28715 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28716
28717 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28718 for which failure is fatal.
28719
28720 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28721
28722 * util/grub-install.in: Use mkdir -p to create grub directory.
28723 * util/i386/efi/grub-install.in: Likewise.
28724 * util/ieee1275/grub-install.in: Likewise.
28725
28726 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28727
28728 * Makefile.in (LEX): new variable.
28729
28730 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28731
28732 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28733 `=' and added double quotes on operands of this equality test.
28734
28735 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28736
28737 * Makefile.in (uninstall): Remove a leftover debug echo.
28738 Reported by: Grégoire Sutre
28739
28740 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 MIPS multiboot2 support.
28743
28744 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28745 (multiboot2_mod_SOURCES): New variable.
28746 (multiboot2_mod_CFLAGS): Likewise.
28747 (multiboot2_mod_LDFLAGS): Likewise.
28748 (multiboot2_mod_ASFLAGS): Likewise.
28749 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28750 definition.
28751 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28752 (MULTIBOOT_MBI_REGISTER): Likewise.
28753 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28754 (MULTIBOOT_ELF32_MACHINE): Likewise.
28755 (MULTIBOOT_ELF64_MACHINE): Likewise.
28756 * include/grub/mips/multiboot.h: New file.
28757 * include/grub/video.h (grub_video_driver_id): New type
28758 GRUB_VIDEO_DRIVER_SM712.
28759 (grub_video_get_info_and_fini): Export.
28760 (grub_video_get_palette): Likewise.
28761 (grub_video_get_driver_id): Likewise.
28762 * include/multiboot2.h: Resynced with spec.
28763 * loader/i386/multiboot.c: Moved from here ...
28764 * loader/multiboot.c: ... here. All users updated.
28765 (grub_multiboot_boot): Use platform-specific macros.
28766 * loader/i386/multiboot_elfxx.c: Moved from here ...
28767 * loader/multiboot_elfxx.c: ... here. All users updated.
28768 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28769 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28770 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28771
28772 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 Import gnulib argp module.
28775
28776 * gnulib/argp-ba.c: New file.
28777 * gnulib/argp-eexst.c: Likewise.
28778 * gnulib/argp-fmtstream.c: Likewise.
28779 * gnulib/argp-fmtstream.h: Likewise.
28780 * gnulib/argp-fs-xinl.c: Likewise.
28781 * gnulib/argp-help.c: Likewise.
28782 * gnulib/argp-namefrob.h: Likewise.
28783 * gnulib/argp-parse.c: Likewise.
28784 * gnulib/argp-pin.c: Likewise.
28785 * gnulib/argp-pv.c: Likewise.
28786 * gnulib/argp-pvh.c: Likewise.
28787 * gnulib/argp-version-etc.c: Likewise.
28788 * gnulib/argp-version-etc.h: Likewise.
28789 * gnulib/argp-xinl.c: Likewise.
28790 * gnulib/argp.h: Likewise.
28791
28792 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28793
28794 * kern/device.c (grub_device_iterate): Clear errors after failed
28795 opening device.
28796
28797 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28798
28799 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28800 returned by firmware.
28801
28802 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28805 compilation on coreboot and qemu
28806
28807 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28808
28809 * include/multiboot2.h: Resync with spec.
28810
28811 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28812
28813 Multiboot2 tag support
28814
28815 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28816 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28817 Remove loader/multiboot_loader.c.
28818 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28819 (grub_multiboot2_real_boot): Likewise.
28820 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28821 (grub_get_multiboot_mmap_count): New proto.
28822 (grub_fill_multiboot_mmap): Likewise.
28823 (grub_multiboot_set_video_mode): Likewise.
28824 (grub_multiboot_set_console): Likewise.
28825 (grub_multiboot_load): Likewise.
28826 (grub_multiboot_load_elf): Likewise.
28827 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28828 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28829 * include/multiboot.h: Resynced with specification.
28830 * include/multiboot2.h: Resynced with specification.
28831 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28832 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28833 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28834 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28835 users updated.
28836 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28837 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28838 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28839 Removed.
28840 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28841 Moved from here...
28842 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28843 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28844 Moved from here...
28845 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28846 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28847 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28848 All users updated.
28849 * loader/i386/multiboot_mbi2.c: New file.
28850
28851 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28852
28853 Resync with gnulib.
28854
28855 * Makefile.in (GNULIB_CFLAGS): New variable.
28856 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28857 (grub_script_check_CFLAGS): New variable.
28858 * gnulib/alloca.h: Resync with gnulib.
28859 * gnulib/error.c: Likewise.
28860 * gnulib/error.h: Likewise.
28861 * gnulib/fnmatch.c: Likewise.
28862 * gnulib/fnmatch_loop.c: Likewise.
28863 * gnulib/getdelim.c: Likewise.
28864 * gnulib/getline.c: Likewise.
28865 * gnulib/getopt.c: Likewise.
28866 * gnulib/getopt1.c: Likewise.
28867 * gnulib/getopt_int.h: Likewise.
28868 * gnulib/gettext.h: Likewise.
28869 * gnulib/progname.c: Likewise.
28870 * gnulib/progname.h: Likewise.
28871
28872 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28873
28874 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28875 which is the case with --disabled-nls.
28876
28877 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28878 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28879 * util/misc.c: Likewise.
28880 * util/mkisofs/mkisofs.c: Likewise.
28881 * util/mkisofs/mkisofs.h: Likewise.
28882
28883 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28884
28885 Simplify Apple CC support.
28886
28887 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28888 Add 0 byte at the end not to have a symbol with empty target.
28889 * mmap/i386/pc/mmap_helper.S: Likewise.
28890 * genmk.rb: Ignore errors 2030 and 2050.
28891 * kern/i386/pc/startup.S: Use LOCAL when possible.
28892
28893 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28894
28895 Testcase and the fix for final semicolon on cmdline.
28896
28897 * tests/grub_script_final_semicolon.in: New testcase.
28898 * conf/tests.rmk: Rules for the new testcase.
28899 * script/parser.y: Grammar fix.
28900
28901 2010-03-26 BVK Chaitanya <bvk@localhost>
28902
28903 Blank lines testcase for GRUB script.
28904
28905 * tests/grub_script_blanklines.in: New testcase.
28906 * conf/tests.rmk: Rules for the new testcase.
28907
28908 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28909
28910 Don't use __FILE__.
28911
28912 * genmk.rb: Add -DGRUB_FILE to all C targets.
28913 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28914 * include/grub/list.h: Likewise.
28915 * include/grub/misc.h: Likewise.
28916 * include/grub/mm.h: Likewise.
28917 * include/grub/test.h: Likewise.
28918 * kern/mm.c: Likewise.
28919 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28920
28921 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28922
28923 Sunpc partitions support.
28924
28925 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28926 (grub_fstest_SOURCES): Likewise.
28927 (pkglib_MODULES): Add part_sunpc.mod.
28928 (part_sunpc_mod_SOURCES): New variable.
28929 (part_sunpc_mod_CFLAGS): Likewise.
28930 (part_sunpc_mod_LDFLAGS): Likewise.
28931 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28932 * partmap/sunpc.c: New file.
28933
28934 2010-03-26 BVK Chaitanya <bvk@localhost>
28935
28936 For loop support to GRUB script.
28937
28938 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28939 (grub_script_create_cmdfor): New function prototype.
28940 (grub_script_execute_cmdfor): New function prototype.
28941 * script/execute.c (grub_script_execute_cmdfor): New function.
28942 * script/parser.y (command): New for command.
28943 (forcmd): New grammar rule.
28944 * script/script.c (grub_script_create_cmdfor): New function.
28945 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28946 function.
28947 * tests/grub_script_for1.in: New testcase.
28948 * conf/tests.rmk: Rules for new testcase.
28949
28950 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28951
28952 Nested partitions
28953
28954 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28955 'partition' is NULL, grub_partition_get_start already does that.
28956 * commands/loadenv.c (check_blocklists): Likewise.
28957 (write_blocklists): Likewise.
28958 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28959 (grub_fstest_SOURCES): Likewise.
28960 (pkglib_MODULES): Add part_bsd.mod.
28961 (part_bsd_mod_SOURCES): New variable.
28962 (part_bsd_mod_CFLAGS): Likewise.
28963 (part_bsd_mod_LDFLAGS): Likewise.
28964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28965 (grub_emu_SOURCES): Likewise.
28966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28967 * include/grub/bsdlabel.h: New file.
28968 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28969 'get_name'.
28970 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28971 (grub_partition_map_list): New variable.
28972 (grub_partition_map_register): Inline.
28973 (grub_partition_map_unregister): Likewise.
28974 (FOR_PARTITION_MAPS): New macro.
28975 (grub_partition_map_iterate): Removed.
28976 (grub_partition_get_start): Handle nested partitions.
28977 * include/grub/msdos_partition.h: Remove bsd-related entries.
28978 (grub_pc_partition): Remove.
28979 * kern/disk.c (grub_disk_close): Free partition data.
28980 (grub_disk_adjust_range): Handle nested partitions.
28981 * kern/partition.c (grub_partition_map_probe): New function.
28982 (grub_partition_probe): Parse name to number, handle subpartitions.
28983 (get_partmap): New function.
28984 (grub_partition_iterate): Handle subpartitions.
28985 (grub_partition_get_name): Likewise.
28986 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28987 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28988 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28989 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28990 Set 'number'.
28991 (acorn_partition_map_probe): Remove.
28992 (acorn_partition_map_get_name): Likewise.
28993 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28994 Set 'number'.
28995 Set 'index' to 0 since there can be only one partition entry per sector.
28996 (amiga_partition_map_probe): Remove.
28997 (amiga_partition_map_get_name): Likewise.
28998 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28999 Set 'number'.
29000 Set 'offset' and 'index' to real positions of partitions.
29001 (apple_partition_map_probe): Remove.
29002 (apple_partition_map_get_name): Likewise.
29003 * partmap/bsdlabel.c: New file.
29004 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29005 Set 'number'.
29006 Allocate 'data' so it can be correctly freed.
29007 Set 'index' to offset inside sector.
29008 (gpt_partition_map_probe): Remove.
29009 (gpt_partition_map_get_name): Likewise.
29010 * partmap/msdos.c (grub_partition_parse): Remove.
29011 (pc_partition_map_iterate): Don't force raw access.
29012 Set 'number'.
29013 Make 'ext_offset' a local variable.
29014 (pc_partition_map_probe): Remove.
29015 (pc_partition_map_get_name): Remove.
29016 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29017 Set 'number'.
29018 (sun_partition_map_probe): Remove.
29019 (sun_partition_map_get_name): Likewise.
29020 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29021 (grub_pcpart_type): Likewise.
29022 * util/hostdisk.c (open_device): Handle new numbering scheme.
29023 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29024 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29025 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29026 * util/grub-install.in: Insert all subpartition modules.
29027 * util/ieee1275/grub-install.in: Likewise.
29028
29029 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29030
29031 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29032 grammar.
29033
29034 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29035
29036 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29037
29038 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29039
29040 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29041 match where 'make install' puts them.
29042 * util/i386/efi/grub-install.in: Likewise.
29043
29044 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29045
29046 * .bzrignore: Add gentrigtables, grub-script-check,
29047 grub_script_check_init.c, grub_script_check_init.h, and
29048 trigtables.c.
29049
29050 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 * kern/parser.c: Indented.
29053
29054 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29057
29058 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29061 alpha_mask_size == 0 case.
29062
29063 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29064
29065 GRUB shell lexer and parser improvements.
29066
29067 * conf/any-emu.rmk: Build rule updates.
29068 * conf/common.rmk: Likewise.
29069 * conf/i386-coreboot.rmk: Likewise.
29070 * conf/i386-efi.rmk: Likewise.
29071 * conf/i386-ieee1275.rmk: Likewise.
29072 * conf/i386-pc.rmk: Likewise.
29073 * conf/powerpc-ieee1275.rmk: Likewise.
29074 * conf/x86_64-efi.rmk: Likewise.
29075
29076 * configure.ac: Configure check for flex.
29077
29078 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29079 types.
29080 (grub_lexer_param): Struct member updates.
29081 (grub_parser_param): Likewise.
29082 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29083 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29084 (grub_script_lexer_init): Prototype update.
29085 (grub_script_lexer_record_start): Likewise.
29086 (grub_script_lexer_record_stop): Likewise.
29087 (grub_script_lexer_yywrap): New function prototype.
29088 (grub_script_lexer_fini): Likewise.
29089 (grub_script_execute_argument_to_string): Removed by...
29090 (grub_script_execute_argument_to_argv): ...better version.
29091
29092 * script/execute.c (ROUND_UPTO): New macro.
29093 (grub_script_execute_cmdline): Out of memory fixes.
29094 (grub_script_execute_menuentry): Likewise.
29095 (grub_script_execute_argument_to_string): Removed. Update all
29096 users by...
29097 (grub_script_execute_argument_to_argv): ...better version.
29098 * script/function.c (grub_script_function_create): Use
29099 grub_script_execute_argument_to_argv instead of
29100 grub_script_execute_argument_to_string.
29101
29102 * script/lexer.c (check_varstate): Removed.
29103 (check_textstate): Removed.
29104 (grub_script_lexer_record_start): Likewise.
29105 (grub_script_lexer_record_stop): Likewise.
29106 (recordchar): Replaced with...
29107 (grub_script_lexer_record): ...new function.
29108 (nextchar): Removed.
29109 (grub_script_lexer_init): Rewritten.
29110 (grub_script_yylex): Rewritten.
29111 (append_newline): New function.
29112 (grub_script_lexer_yywrap): New function.
29113 (grub_script_lexer_fini): New function.
29114 (grub_script_yyerror): Sets error flag.
29115
29116 * script/yylex.l: New file.
29117 (grub_lexer_yyfree): Wrapper for flex yyffre.
29118 (grub_lexer_yyalloc): Likewise.
29119 (grub_lexer_yyrealloc): Likewise.
29120 * script/parser.y: Refactored.
29121
29122 * script/script.c (grub_script_arg_add): Out of memory fixes.
29123 (grub_script_add_arglist): Likewise.
29124 (grub_script_create_cmdline): Likewise.
29125 (grub_script_create_cmdmenu): Likewise.
29126 (grub_script_add_cmd): Likewise.
29127 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29128 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29129 unnecessary code.
29130
29131 * tests/grub_script_echo1.in: New testcase.
29132 * tests/grub_script_vars1.in: New testcase.
29133 * tests/grub_script_echo_keywords.in: New testcase.
29134
29135 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 Remove some redundancy in build system.
29138
29139 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29140 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29141 (TARGET_LDFLAGS): Add -nostdlib.
29142 (TARGET_IMG_LDFLAGS): Likewise.
29143 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29144 anything since mmap isn't available.
29145 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29146 Add util/time.c.
29147 (pkglib_MODULES): Remove reboot.mod.
29148 (reboot_mod_SOURCES): Removed.
29149 (reboot_mod_CFLAGS): Likewise.
29150 (reboot_mod_LDFLAGS): Likewise.
29151 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29152 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29153 (DEFSYMFILES): Add kernel_syms.lst.
29154 (kernel_img_HEADERS): Add common headers.
29155 (symlist.c): New target.
29156 (kernel_syms.lst): Likewise.
29157 (pkglib_MODULES): Add memdisk.mod.
29158 (memdisk_mod_SOURCES): New variable.
29159 (memdisk_mod_CFLAGS): Likewise.
29160 (memdisk_mod_LDFLAGS): Likewise.
29161 (pkglib_MODULES): Add reboot.mod.
29162 (reboot_mod_SOURCES): New variable.
29163 (reboot_mod_CFLAGS): Likewise.
29164 (reboot_mod_LDFLAGS): Likewise.
29165 (pkglib_MODULES): Add date.mod.
29166 (date_mod_SOURCES): New variable.
29167 (date_mod_CFLAGS): Likewise.
29168 (date_mod_LDFLAGS): Likewise.
29169 (pkglib_MODULES): Add datehook.mod.
29170 (datehook_mod_SOURCES): New variable.
29171 (datehook_mod_CFLAGS): Likewise.
29172 (datehook_mod_LDFLAGS): Likewise.
29173 (pkglib_MODULES): Add lsmmap.mod.
29174 (lsmmap_mod_SOURCES): New variable.
29175 (lsmmap_mod_CFLAGS): Likewise.
29176 (lsmmap_mod_LDFLAGS): Likewise.
29177 (pkglib_MODULES): Add boot.mod.
29178 (boot_mod_SOURCES): New variable.
29179 (boot_mod_CFLAGS): Likewise.
29180 (boot_mod_LDFLAGS): Likewise.
29181 * conf/i386-coreboot.rmk: Removed redundant parts.
29182 * conf/i386-ieee1275.rmk: Likewise.
29183 * conf/i386-pc.rmk: Likewise.
29184 * conf/mips-yeeloong.rmk: Likewise.
29185 * conf/mips.rmk: Likewise.
29186 * conf/powerpc-ieee1275.rmk: Likewise.
29187 * conf/sparc64-ieee1275.rmk: Likewise.
29188 * conf/x86_64-efi.rmk: Likewise.
29189 * conf/i386-coreboot.rmk: Moved qemu parts ..
29190 * conf/i386-qemu.rmk: ... here
29191 * conf/i386-efi.rmk: Moved common parts to...
29192 * conf/x86-efi.rmk: ... here.
29193 * conf/i386.rmk: Added modules common to all x86 variants.
29194 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29195 * disk/memdisk.c: Remove grub/machine/kernel.h.
29196 * gensymlist.sh.in: Include symbol.h.
29197 * hook/datehook.c: Correct module name.
29198 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29199 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29200 * include/grub/i386/efi/serial.h: New file.
29201 * include/grub/x86_64/efi/serial.h: Likewise.
29202 * util/time.c: Likewise.
29203 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29204
29205 2010-03-14 Colin King <colin.king@ubuntu.com>
29206 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29207
29208 Shrink the pre-partition-table part of boot.img by eight bytes.
29209
29210 * boot/i386/pc/boot.S (ERR): New macro.
29211 (chs_mode): Use ERR.
29212 (geometry_error): Likewise.
29213 (hd_probe_error): Remove. This is only used once, so we wrwite
29214 it inline instead.
29215 (read_error): Instead of printing read_error_string, just set up
29216 %si and fall through to ...
29217 (error_message): ... this new function, also used by ERR.
29218
29219 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29220
29221 Speed up consecutive hostdisk operations on the same device.
29222
29223 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29224 (grub_util_biosdisk_open): Initialise disk->data.
29225 (struct linux_partition_cache): New structure.
29226 (linux_find_partition): Cache partition start positions; these are
29227 expensive to compute on every read and write.
29228 (open_device): Cache open file descriptor in disk->data, so that we
29229 don't have to reopen it and flush the buffer cache for consecutive
29230 operations on the same device.
29231 (grub_util_biosdisk_close): New function.
29232 (grub_util_biosdisk_dev): Set `close' member.
29233
29234 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29235 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29236 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29237 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29238 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29239
29240 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 Compile parts of grub-emu as modules.
29243
29244 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29245 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29246 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29247 (all-local): Add $(GRUB_EMU).
29248 (install-local): Install $(GRUB_EMU).
29249 (uninstall): Uninstall $(GRUB_EMU).
29250 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29251 * kern/dl.c: Likewise.
29252 * commands/sleep.c: Not include machine/time.h.
29253 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29254 (COMMON_CFLAGS): Likewise.
29255 (sbin_UTILITIES): Remove grub-emu.
29256 (grub_emu_SOURCES): Removed.
29257 (kernel_img_RELOCATABLE): New variable.
29258 (pkglib_PROGRAMS): Add kernel.img.
29259 (kernel_img_SOURCES): New variable
29260 (kernel_img_CFLAGS): Likewise.
29261 (kernel_img_LDFLAGS): Likewise.
29262 (TARGET_NO_STRIP): Likewise.
29263 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29264 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29265 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29266 (grub-emu): New target.
29267 (GRUB_EMU): New variable.
29268 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29269 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29270 * loader/xnu.c: Likewise.
29271 * include/grub/pci.h: Likewise.
29272 * genemuinit.sh: New file.
29273 * genemuinitheader.sh: Likewise.
29274 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29275 Support TARGET_NO_DYNAMIC_MODULES.
29276 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29277 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29278 * disk/loopback.c: Likewise.
29279 * font/font_cmd.c: Likewise.
29280 * partmap/acorn.c: Likewise.
29281 * partmap/amiga.c: Likewise.
29282 * partmap/apple.c: Likewise.
29283 * partmap/gpt.c: Likewise.
29284 * partmap/msdos.c: Likewise.
29285 * partmap/sun.c: Likewise.
29286 * parttool/msdospart.c: Likewise.
29287 * term/gfxterm.c: Likewise.
29288 * video/bitmap.c: Likewise.
29289 * video/readers/jpeg.c: Likewise.
29290 * video/readers/png.c: Likewise.
29291 * video/readers/tga.c: Likewise.
29292 * video/video.c: Likewise.
29293 * util/grub-emu.c (read_command_list): Removed.
29294 (main): Don't call util_init_nls.
29295 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29296 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29297
29298 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29301 date.mod, datehook.mod.
29302 (datetime_mod_SOURCES): New variable.
29303 (datetime_mod_CFLAGS): Likewise.
29304 (datetime_mod_LDFLAGS): Likewise.
29305 (date_mod_SOURCES): Likewise.
29306 (date_mod_CFLAGS): Likewise.
29307 (date_mod_LDFLAGS): Likewise.
29308 (datehook_mod_SOURCES): Likewise.
29309 (datehook_mod_CFLAGS): Likewise.
29310 (datehook_mod_LDFLAGS): Likewise.
29311 * conf/sparc64-ieee1275.rmk: Likewise.
29312 * lib/ieee1275/datetime.c: New file.
29313
29314 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29315
29316 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29317 (ieee1275_fb_mod_SOURCES): New variable.
29318 (ieee1275_fb_mod_CFLAGS): Likewise.
29319 (ieee1275_fb_mod_LDFLAGS): Likewise.
29320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29321 New proto.
29322 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29323 (HEAP_MAX_ADDR): Likewise.
29324 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29325 type.
29326 Correct stop condition.
29327 (grub_ieee1275_devices_iterate): New function.
29328 * video/ieee1275.c: New file.
29329
29330 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29331
29332 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29333
29334 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29335 as scratch.
29336 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29337 SCRATCH_PAD_DISKBOOT as scratch.
29338 (bootit): Pass Openfirmware pointer in %o4.
29339 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29340 of 0x200000.
29341 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29342 with util/grub-mkrawimage.c.
29343 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29344 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29345 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29346 (grub_aout_load) [GRUB_UTIL]: Likewise.
29347 * include/grub/kernel.h (grub_modules_get_end): New proto.
29348 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29349 (SCRATCH_PAD_BOOT): New definition.
29350 (SCRATCH_PAD_DISKBOOT): Likewise.
29351 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29352 * include/grub/sparc64/ieee1275/ieee1275.h
29353 (grub_ieee1275_original_stack): New variable
29354 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29355 New definition
29356 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29357 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29358 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29359 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29360 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29361 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29362 (grub_platform_image_format_t): New type.
29363 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29364 * kern/main.c (grub_modules_get_end)
29365 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29366 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29367 (codestart): Switch stacks.
29368 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29369 variable.
29370 (grub_heap_init): Use grub_modules_get_end.
29371 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29372 stack.
29373 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29374 (main): Likewise.
29375 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29376
29377 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
29378
29379 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29380
29381 2010-03-08 Matt Kraai <kraai@ftbfs.org>
29382
29383 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29384 bug #559005).
29385
29386 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 * genmoddep.awk: Output all missing symbols and not only first.
29389
29390 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29391
29392 * NEWS: Put the date of 1.98 release.
29393
29394 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29395
29396 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29397 ft2build.h.
29398
29399 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29400
29401 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29402 completition in the middle of string.
29403
29404 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29405
29406 * util/grub-mkrescue.in: Use mktemp with explicit template.
29407
29408 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29411
29412 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29415 right pointer.
29416
29417 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29418
29419 Fix FreeBSD compilation.
29420
29421 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29422 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29423
29424 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29427
29428 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29429
29430 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29431
29432 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29433
29434 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29435
29436 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 Support relative image path in theme file.
29439
29440 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29441 (image_set_property): Handle theme_dir and relative path.
29442
29443 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29444
29445 * configure.ac: Alias amd64 to x86_64.
29446
29447 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29448
29449 * NEWS: mention multiboot on EFI.
29450
29451 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29452
29453 * kern/main.c (grub_load_modules): Handle errors from init functions of
29454 embeded modules.
29455
29456 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 * normal/autofs.c (autoload_fs_module): Handle errors.
29459
29460 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29461
29462 Disable linux.mod on qemu-mips since it's not functional and leads
29463 to compilation failure.
29464
29465 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29466 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29467 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29468 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29469 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29470 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29471 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29472 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29473 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29474 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29475 Reported by: BVK Chaitanya
29476
29477 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29478
29479 * INSTALL: Add gettext as a dependency and add qemu to a new section
29480 "Prerequisites for make-check".
29481
29482 2010-03-04 Christian Franke <franke@computer.org>
29483
29484 * util/grub-pe2elf.c: Add missing include "progname.h".
29485
29486 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29487
29488 * normal/crypto.c (read_crypto_list): Fix a typo.
29489 Reported by: Seth Goldberg.
29490
29491 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29492
29493 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
29494 Reported by: Seth Goldberg.
29495
29496 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29497
29498 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29499 ascii.bitmaps.
29500
29501 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29502
29503 * genmk.rb: Remove terminal*.lst in make clean.
29504 Reported by: Seth Goldberg.
29505
29506 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29507
29508 * util/i386/efi/grub-install.in: Copy gettext files.
29509
29510 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29511
29512 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29513
29514 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29515
29516 Wait for user entry basing on presence of output rather than on errors.
29517
29518 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29519 (grub_install_newline_hook): Likewise.
29520 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29521 * normal/menu.c (show_menu): Check line_counter to determine presence
29522 of output.
29523 * normal/term.c (grub_normal_line_counter): New variable.
29524 (grub_normal_get_line_counter): New function.
29525 (grub_install_newline_hook): Likewise.
29526
29527 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29528
29529 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29530
29531 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29532
29533 * configure.ac: Update version to 1.98.
29534
29535 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29536
29537 * util/grub.d/10_linux.in (linux_entry): Don't default to
29538 gfxpayload=keep if Linux doesn't support video handover.
29539
29540 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29541
29542 Don't compile video modules on yeeloong since video subsystem is part
29543 of kernel.
29544
29545 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29546 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29547 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29548 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29549 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29550 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29551 * include/grub/bitmap_scale.h: Likewise.
29552 * include/grub/bufio.h: Likewise.
29553 * include/grub/font.h: Likewise.
29554 * include/grub/gfxterm.h: Likewise.
29555 * include/grub/video.h: Likewise.
29556 * include/grub/vbe.h: Don't include video_fb.h.
29557 * video/i386/pc/vbe.c: Include video_fb.h.
29558 * commands/i386/pc/vbetest.c: Include video.h.
29559
29560 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29561
29562 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29563 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29564 default entry if GRUB_SAVEDEFAULT=true. This allows using
29565 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29566 saving a new default on every boot.
29567
29568 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29569
29570 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29571 * normal/term.c (read_terminal_list): Likewise.
29572 * normal/main.c (grub_normal_init_page): Likewise.
29573 (grub_normal_read_line_real): Likewise.
29574
29575 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29576
29577 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29578 memory leak.
29579 Reported by: Seth Goldberg.
29580
29581 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29582
29583 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29584 duplicate declaration of `start'.
29585
29586 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29587
29588 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29589 filename.
29590 Reported by: Georgy Buranov
29591
29592 2010-02-20 Carles Pina i Estany <carles@pina.cat>
29593
29594 * util/grub-mkrawimage.c (usage): Change string formatting to
29595 improve gettext.
29596
29597 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29598
29599 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29600 backspace keys.
29601
29602 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29605 Reported by: Michael Suchanek.
29606
29607 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
29608
29609 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29610 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29611
29612 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29613
29614 Remove any reference to non-free fonts.
29615
29616 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29617 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29618 uses non-free components.
29619 * font/font.c (grub_font_get_name): Remove example name.
29620 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29621 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29622 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29623 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29624
29625 2010-02-16 Georgy Buranov <gburanov@gmail.com>
29626
29627 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29628
29629 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29630
29631 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29632 Double divisor.
29633 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29634 features.
29635 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29636
29637 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29638
29639 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29640
29641 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29642
29643 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29644 * docs/grub.texi (Command-line and menu entry commands): Document play
29645 command.
29646
29647 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29648
29649 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29650 parse arguments as inline tempo and notes. Move code for playing notes
29651 to...
29652 (play): ... new function.
29653
29654 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29655
29656 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29657 grub_uint16_t instead of short.
29658 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29659 disk from little endian to cpu endianness.
29660
29661 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29662
29663 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29664 GRUB_TICKS_PER_SECOND instead of 120.
29665
29666 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29667
29668 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29669 escape sequence after \e.
29670
29671 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29672
29673 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29674 non-ASCII characters.
29675
29676 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29677
29678 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29679 set root in single quotes to prevent \, from being unescaped.
29680
29681 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 Prevent unknown commands from stopping menuentry execution.
29684
29685 * script/execute.c (grub_script_execute_cmdline): Print error after
29686 unknown command.
29687
29688 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29689
29690 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29691 Reported by: Pavel Pisa.
29692
29693 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29694
29695 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29696
29697 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29698
29699 Merge grub_ieee1275_map_physical into grub_map and rename to
29700 grub_ieee1275_map
29701
29702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29703 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29704 Remove.
29705 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29706 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29707 necessary.
29708 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29709
29710 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29711
29712 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29713 opening and not after.
29714
29715 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29718 constants.
29719
29720 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29721
29722 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29723 (alloc_phys): Use ALIGN_UP instead of align_addr.
29724
29725 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29726
29727 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29728
29729 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29730
29731 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29732
29733 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29734
29735 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29736 verbose dprintf.
29737
29738 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29739
29740 Fix over-4GiB seek on sparc64.
29741
29742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29743 Replace pos_i and pos_lo with pos. All users updated.
29744 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29745 New constant.
29746 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29747 Likewise.
29748 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29749 and pos_lo.
29750
29751 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29752
29753 * util/grub-mkrawimage.c (main): Call set_program_name.
29754
29755 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 Properly align 64-bit targets.
29758
29759 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29760 (generate_image): Use ALIGN_ADDR.
29761
29762 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29763
29764 Properly create cross-endian images.
29765
29766 * include/grub/types.h (grub_host_to_target_addr): New macro
29767 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29768
29769 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29770
29771 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29772
29773 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29774
29775 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29776
29777 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29778 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29779 (grub_linux_boot): Divide by 64K when on VESA.
29780
29781 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29782
29783 Support GRUB_GFXPAYLOAD_LINUX.
29784
29785 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29786 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29787
29788 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29789
29790 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29791 to show messages instead of discarding them.
29792 Process errors after executing command and not before. Keep old method
29793 too as precaution.
29794
29795 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29796
29797 * configure.ac: Check for ft2build.h.
29798
29799 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29800
29801 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29802
29803 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29804
29805 * genkernsyms.sh.in: Use TARGET_CC.
29806
29807 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
29808
29809 * NEWS: Update.
29810
29811 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29812
29813 * include/grub/multiboot2.h: Remove leftover file.
29814 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29815 * include/grub/partition.h [GRUB_UTIL]: Likewise.
29816
29817 2010-02-07 Yves Blusseau <blusseau@zetam.org>
29818
29819 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
29820
29821 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29822
29823 Fix warnings in grub-emu when compiling with maximum warning options.
29824
29825 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29826 (grub_arch_modules_addr): Return 0 and not NULL.
29827 * util/misc.c (ENABLE_RELOCATABLE): New definition.
29828 (xstrdup): Use newstr instead of dup.
29829 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29830 of disk to dsk to avoid shadowing.
29831 (find_free_slot): Fix prototype.
29832 * util/getroot.c (grub_util_is_dmraid): Make static.
29833 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29834 Add missing prototype.
29835 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
29836
29837 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29838
29839 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29840 appropriately.
29841
29842 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29843
29844 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29845 code out.
29846
29847 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29848
29849 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29850 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29851 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29852 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29853 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29854 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29855
29856 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 * include/grub/err.h (grub_err_printf): Don't export.
29859
29860 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29861
29862 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29863
29864 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29865
29866 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29867 * kern/misc.c (grub_gettext_dummy): Make static.
29868
29869 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29870
29871 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29872 by non-valid ones.
29873 * kern/term.c (grub_putchar): Likewise.
29874
29875 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29876
29877 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29878 buggy hook call and memory leak.
29879
29880 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29881
29882 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29883
29884 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29885
29886 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29887
29888 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29889
29890 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29891 modevar.
29892 Return grub_errno on allocation error.
29893
29894 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29895
29896 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29897
29898 2010-02-06 Yves Blusseau <blusseau@zetam.org>
29899
29900 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29901 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29902
29903 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29904
29905 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29906 non-pxe disk.
29907 (grub_pxefs_open): Likewise.
29908
29909 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29910
29911 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29912 * util/grub.d/10_kfreebsd.in: Likewise.
29913 * util/grub.d/10_linux.in: Likewise.
29914
29915 2010-02-06 Colin D Bennett <colin@gibibit.com>
29916
29917 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29918 (gfxmenu_mod_SOURCES): New variable.
29919 (gfxmenu_mod_CFLAGS): Likewise.
29920 (gfxmenu_mod_LDFLAGS): Likewise.
29921 * include/grub/term.h (grub_term_set_current_output): Declare
29922 argument as const.
29923 * docs/gfxmenu-theme-example.txt: New file.
29924 * gfxmenu/gfxmenu.c: Likewise.
29925 * gfxmenu/gui_box.c: Likewise.
29926 * gfxmenu/gui_canvas.c: Likewise.
29927 * gfxmenu/gui_circular_progress.c: Likewise.
29928 * gfxmenu/gui_image.c: Likewise.
29929 * gfxmenu/gui_label.c: Likewise.
29930 * gfxmenu/gui_list.c: Likewise.
29931 * gfxmenu/gui_progress_bar.c: Likewise.
29932 * gfxmenu/gui_string_util.c: Likewise.
29933 * gfxmenu/gui_util.c: Likewise.
29934 * gfxmenu/icon_manager.c: Likewise.
29935 * gfxmenu/model.c: Likewise.
29936 * gfxmenu/named_colors.c: Likewise.
29937 * gfxmenu/theme_loader.c: Likewise.
29938 * gfxmenu/view.c: Likewise.
29939 * gfxmenu/widget-box.c: Likewise.
29940 * include/grub/gfxmenu_model.h: Likewise.
29941 * include/grub/gfxmenu_view.h: Likewise.
29942 * include/grub/gfxwidgets.h: Likewise.
29943 * include/grub/gui.h: Likewise.
29944 * include/grub/gui_string_util.h: Likewise.
29945 * include/grub/icon_manager.h: Likewise.
29946
29947 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29948
29949 Agglomerate scrolling in gfxterm.
29950
29951 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29952 (grub_virtual_screen_setup): Initialise 'total_screen'.
29953 (write_char): Split to ...
29954 (paint_char): ... this ...
29955 (write_char): ... and this.
29956 (paint_char): Handle delayed scrolling.
29957 (draw_cursor): Likewise.
29958 (scroll_up): Split to ...
29959 (real_scroll): ... this ...
29960 (scroll_up): ... and this.
29961 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29962 characters.
29963 (grub_gfxterm_refresh): Call real_scroll.
29964
29965 2010-02-06 Colin D Bennett <colin@gibibit.com>
29966
29967 * include/grub/misc.h (grub_iscntrl): New inline function.
29968 (grub_isalnum): Likewise.
29969 (grub_strtol): Likewise.
29970
29971 2010-02-06 Colin D Bennett <colin@gibibit.com>
29972
29973 * normal/menu_text.c (get_entry_number): Move from here ...
29974 * normal/menu.c (get_entry_number): ... moved here.
29975 * include/grub/menu.h (grub_menu_get_default_entry_index):
29976 New prototype.
29977 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29978 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29979 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29980 (grub_menu_viewer_should_return): Likewise.
29981 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29982 * normal/menu_text.c (run_menu): Enable menu switching.
29983 * normal/menu_viewer.c (should_return): New variable.
29984 (menu_viewer_changed): Likewise.
29985 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29986 (grub_menu_viewer_should_return): New function.
29987 (menuviewer_write_hook): Likewise.
29988 (grub_menu_viewer_init): Likewise.
29989
29990 2010-02-06 Colin D Bennet <colin@gibibit.com>
29991 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29992
29993 Support for gfxterm in a window.
29994
29995 * include/grub/gfxterm.h: New file.
29996 * include/grub/video.h (struct grub_video_rect): New declaration.
29997 (grub_video_rect_t): Likewise.
29998 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29999 (refcount): New variable.
30000 (render_target): Likewise.
30001 (window): Likewise.
30002 (repaint_callback): Likewise.
30003 (grub_virtual_screen_setup): Use 'render_target'.
30004 (init_window): New function.
30005 (grub_gfxterm_init_window): Likewise.
30006 (grub_gfxterm_init): Check reference counter.
30007 Use init_window.
30008 (destroy_window): New function.
30009 (grub_gfxterm_destroy_window): Likewise.
30010 (grub_gfxterm_fini): Check reference counter.
30011 Use destroy_window.
30012 (redraw_screen_rect): Restore viewport.
30013 Use 'render_target' and 'window'.
30014 Call 'repaint_callback'.
30015 (write_char): Use 'render_target'.
30016 (draw_cursor): Likewise.
30017 (scroll_up): Restore viewport.
30018 Use 'render_target' and 'window'.
30019 Call 'repaint_callback'.
30020 (grub_gfxterm_cls): Likewise.
30021 (grub_gfxterm_refresh): Use 'window'.
30022 (grub_gfxterm_set_repaint_callback): New function.
30023 (grub_gfxterm_background_image_cmd): Use 'window'.
30024 (grub_gfxterm_get_term): New function.
30025 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30026
30027 2010-02-06 Colin D Bennett <colin@gibibit.com>
30028
30029 Bitmap scaling support.
30030
30031 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30032 (bitmap_scale_mod_SOURCES): New variable.
30033 (bitmap_scale_mod_CFLAGS): Likewise.
30034 (bitmap_scale_mod_LDFLAGS): Likewise.
30035 * include/grub/bitmap_scale.h: New file.
30036 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30037 (background_image_cmd_options): New variable.
30038 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30039 (cmd): Rename and change type to ...
30040 (background_image_cmd_handle): ... this. All users updated.
30041 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30042 * video/bitmap_scale.c: New file.
30043
30044 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30045
30046 SDL support.
30047
30048 * Makefile.in (LIBSDL): New variable.
30049 (enable_grub_emu_sdl): Likewise.
30050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30051 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30052 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30053 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30054 * util/sdl.c: New file.
30055
30056 2010-02-06 Colin D Bennett <colin@gibibit.com>
30057 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 Double buffering support.
30060
30061 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30062 * include/grub/video.h: Update comment.
30063 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30064 New type.
30065 (grub_video_fb_doublebuf_blit_init): New prototype.
30066 * term/gfxterm.c (scroll_up): Support double buffering.
30067 (grub_gfxterm_refresh): Likewise.
30068 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30069 (grub_video_fb_doublebuf_blit_init): Likewise.
30070 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30071 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30072 'displayed_page', 'render_page' and 'update_screen'.
30073 (grub_video_vbe_fini): Free offscreen buffer.
30074 (doublebuf_pageflipping_commit): New function.
30075 (doublebuf_pageflipping_update_screen): Likewise.
30076 (doublebuf_pageflipping_init): Likewise.
30077 (double_buffering_init): Likewise.
30078 (grub_video_vbe_setup): Enable doublebuffering.
30079 (grub_video_vbe_swap_buffers): Implement.
30080 (grub_video_vbe_set_active_render_target): Handle double buffering.
30081 (grub_video_vbe_get_active_render_target): Likewise.
30082 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30083 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30084 (grub_video_vbe_enable_double_buffering): Likewise.
30085 (grub_video_vbe_swap_buffers): Use update_screen.
30086 (grub_video_set_mode): Use double buffering.
30087
30088 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30089
30090 * maintainance/gentrigtables.py: Remove.
30091 * lib/trig.c: Likewise.
30092
30093 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30094
30095 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30096 `trigtables.c'.
30097 (trigtables.c): New rule.
30098 (gentrigtables): Likewise.
30099 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30100
30101 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30102
30103 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30104 integer constants.
30105
30106 2010-02-06 Colin D Bennet <colin@gibibit.com>
30107
30108 Trigonometry support.
30109
30110 * include/grub/trig.h: New file.
30111 * lib/trig.c: Likewise.
30112 * maintainance/gentrigtables.py: Likewise.
30113 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30114 (trig_mod_SOURCES): New variable.
30115 (trig_mod_CFLAGS): Likewise.
30116 (trig_mod_LDFLAGS): Likewise.
30117
30118 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30119
30120 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30121 disk devices.
30122
30123 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30124
30125 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30126 error.
30127
30128 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30129
30130 * util/hostdisk.c (open_device): Don't use partition device when reading
30131 before the partition.
30132 (grub_util_biosdisk_read): Don't read from partition and before the
30133 partition in single operation.
30134 (grub_util_biosdisk_write): Don't write to partition and before the
30135 partition in single operation.
30136
30137 2010-02-03 Torsten Landschoff <torsten@debian.org>
30138
30139 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30140 last sectors.
30141
30142 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30143
30144 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30145 CDROM reads.
30146 (grub_biosdisk_write): Refuse to write to CDROM.
30147
30148 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30149
30150 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30151
30152 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30153
30154 * font/font.c (find_glyph): Check that bmp_idx is available before
30155 using it.
30156 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30157 with (font == NULL).
30158
30159 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
30160
30161 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30162
30163 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30164
30165 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30166 * util/grub-script-check.c (getline): Fix empty lines case.
30167
30168 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30169
30170 * Makefile.in (check): Exit with fail status when one of the tests
30171 fails.
30172 * tests/example_functional_test.c (example_test): Fix reversed assert.
30173 * tests/example_unit_test.c (example_test): Likewise.
30174
30175 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
30176
30177 * util/grub.d/10_linux.in: This script does not use any of the
30178 contents of gettext.sh, only the external command `gettext', so stop
30179 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30180 the same prefix as GRUB.)
30181 * util/grub.d/10_kfreebsd.in: Likewise.
30182
30183 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30184
30185 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30186 of the line.
30187
30188 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30189
30190 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30191 last sectors.
30192
30193 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30194
30195 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30196 having a 4KiB and not 32KiB buffer size.
30197
30198 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30199
30200 * util/hostfs.c: Include `<errno.h>'.
30201 (grub_hostfs_read): Handle errors from fseeko() and fread().
30202
30203 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30204
30205 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30206 loop when using read hooks on files whose size isn't sector-aligned.
30207
30208 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 Remove unused parameter.
30211
30212 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30213 (grub_iso9660_open): Remove initialization of `data->length'.
30214
30215 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30218 memleak conditions.
30219
30220 2010-01-27 Carles Pina i Estany <carles@pina.cat>
30221
30222 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30223 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30224
30225 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30226
30227 * util/bin2h.c (usage): Fix warning (space after backslash).
30228
30229 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30230
30231 * font/font.c: Include `grub/fontformat.h.
30232 Remove font file format constants.
30233 (grub_font_load): Use the new macros.
30234 * include/grub/fontformat.h: New file.
30235 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30236 (write_font_pf2): Use the new macros.
30237
30238 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30239
30240 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30241 does.
30242
30243 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30244
30245 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30246
30247 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30248 (_start): Macroify `0x7F'.
30249
30250 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30251 (make_install_device): Use "(pxe)" as fallback prefix when booting
30252 via PXE.
30253
30254 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * configure.ac: Reset LIBS after check for libgcc symbols.
30257
30258 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
30259
30260 * util/hostdisk.c (open_device): Add trailing newline to debug
30261 message.
30262
30263 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30264
30265 * configure.ac: Check for `limits.h'.
30266 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30267
30268 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30269
30270 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30271 capitalize error strings.
30272
30273 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30274
30275 * util/grub.d/10_hurd.in: Add a recovery mode.
30276
30277 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30278
30279 * configure.ac: Check for libgcc symbols with -nostdlib.
30280
30281 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30282
30283 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30284
30285 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30286
30287 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30288 stack since heap may be unavailable at that point.
30289 (grub_ofconsole_gotoxy): Likewise.
30290
30291 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 * configure.ac: Check for _restgpr_14_x.
30294 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30295 and _savegpr_* prototypes.
30296
30297 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30298
30299 Use generic grub_reboot() for i386-efi.
30300
30301 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30302 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30303 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30304
30305 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30306
30307 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30308 presence of "prefix" variable as it breaks when normal.mod is
30309 embedded.
30310
30311 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30314 stack since heap is unavailable at that point.
30315
30316 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30317
30318 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30319 (grub_freebsd_bootinfo): Rewritten.
30320 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30321
30322 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30323
30324 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30325
30326 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30327
30328 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30329 domain now.
30330
30331 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
30332
30333 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30334 around for handling "/" to the correct fix. Fix a memory leak. Use
30335 xstrdup instead of strdup.
30336
30337 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30340
30341 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30342
30343 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30344
30345 * font/font.c (struct grub_font): New member 'bmp_idx'.
30346 (font_init): Initialise 'bmp_idx'.
30347 (load_font_index): Fill 'bmp_idx'.
30348 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30349
30350 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30353 unnecessary calls.
30354
30355 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30356
30357 Move context handling out of the kernel.
30358
30359 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30360 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30361 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30362 * conf/i386-efi.rmk: Likewise.
30363 * conf/i386-ieee1275.rmk: Likewise.
30364 * conf/i386-pc.rmk: Likewise.
30365 * conf/powerpc-ieee1275.rmk: Likewise.
30366 * conf/sparc64-ieee1275.rmk: Likewise.
30367 * conf/x86_64-efi.rmk: Likewise.
30368 * include/grub/env.h: Include grub/menu.h.
30369 (grub_env_var_type): Removed.
30370 (grub_env_var): Replaced field 'type' with 'global'.
30371 (grub_env_find): New prototype.
30372 (grub_env_context_open): Remove EXPORT_FUNC.
30373 (grub_env_context_close): Likewise.
30374 (grub_env_export): Likewise.
30375 (grub_env_set_data_slot): Removed.
30376 (grub_env_get_data_slot): Likewise.
30377 (grub_env_unset_data_slot): Likewise.
30378 (grub_env_unset_menu): New prototype.
30379 (grub_env_set_menu): Likewise.
30380 (grub_env_get_menu): Likewise.
30381 * include/grub/env_private.h: New file.
30382 * include/grub/normal.h (grub_context_init): New prototype.
30383 (grub_context_fini): Likewise.
30384 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30385 * normal/context.c (grub_cmd_export): ... to here.
30386 * kern/env.c: Include env_private.h.
30387 (HASHSZ): Moved to include/grub/env_private.h.
30388 (grub_env_context): Likewise.
30389 (grub_env_sorted_var): Likewise.
30390 (current_context): Renamed from this ...
30391 (grub_current_context): ...to this. 'static' removed. All users updated.
30392 (grub_env_find): Removed 'static'.
30393 (grub_env_context_open): Moved to normal/context.c.
30394 (grub_env_context_close): Likewise.
30395 (grub_env_export): Likewise.
30396 (mangle_data_slot_name): Removed.
30397 (grub_env_set_data_slot): Likewise.
30398 (grub_env_get_data_slot): Likewise.
30399 (grub_env_unset_data_slot): Likewise.
30400 * kern/main.c (grub_set_root_dev): Don't export root.
30401 It will be done later.
30402 (grub_main): Don't export prefix.
30403 It will be done later.
30404 * normal/context.c: New file.
30405 * normal/main.c (free_menu): Use grub_env_unset_menu.
30406 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30407 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30408 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30409 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30410
30411 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30412
30413 setpci support.
30414
30415 * commands/setpci.c: New file.
30416 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30417 (setpci_mod_SOURCES): New variable.
30418 (setpci_mod_CFLAGS): Likewise.
30419 (setpci_mod_LDFLAGS): Likewise.
30420
30421 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30422
30423 Byte-addressable PCI configuration space.
30424
30425 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30426 dword address.
30427 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30428 GRUB_PCI_REG_CACHELINE.
30429 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30430 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30431 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30432 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30433 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30434 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30435 grub_pci_make_address.
30436 (lock_rom_area): Likewise.
30437 * commands/lspci.c (grub_lspci_iter): Use macroses
30438 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30439 of grub_pci_make_address.
30440 * disk/ata.c (grub_ata_pciinit): Likewise.
30441 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30442 (GRUB_PCI_REG_VENDOR): Likewise.
30443 (GRUB_PCI_REG_DEVICE): Likewise.
30444 (GRUB_PCI_REG_COMMAND): Likewise.
30445 (GRUB_PCI_REG_STATUS): Likewise.
30446 (GRUB_PCI_REG_REVISION): Likewise.
30447 (GRUB_PCI_REG_CLASS): Likewise.
30448 (GRUB_PCI_REG_CACHELINE): Likewise.
30449 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30450 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30451 (GRUB_PCI_REG_BIST): Likewise.
30452 (GRUB_PCI_REG_ADDRESSES): Likewise.
30453 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30454 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30455 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30456 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30457 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30458 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30459 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30460 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30461 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30462 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30463 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30464 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30465 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30466 (GRUB_PCI_REG_MIN_GNT): Likewise.
30467 (GRUB_PCI_REG_MAX_LAT): Likewise.
30468 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30469 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30470 * video/efi_uga.c (find_framebuf): Likewise.
30471 * video/sm712.c (grub_video_sm712_setup): Likewise.
30472 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30473 space.
30474
30475 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30476
30477 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30478 can be reliably determined to be supported.
30479
30480 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30483 that VESA is supported.
30484 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30485 supported.
30486
30487 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30488
30489 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30490
30491 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30492
30493 * util/misc.c (make_system_path_relative_to_its_root): Work around
30494 special-casing of "/", as previous incarnation of this routine did.
30495
30496 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30497
30498 Fix any-emu compilation.
30499
30500 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30501 * grub_bin2h_SOURCES: New variable.
30502
30503 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30504
30505 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30506
30507 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30508
30509 * util/grub.d/00_header.in: Fix handling of locale_dir.
30510
30511 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30512
30513 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30514 as possible unifont location (Gentoo).
30515 Reported by: Alexander Brüning
30516
30517 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30518
30519 Don't try to generate lists for kernel.img.
30520
30521 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30522 (pkglib_MODULES): Remove kernel.img.
30523 (kernel_img_EXPORTS): Removed.
30524 (kernel_img_RELOCATABLE): New variable.
30525 * conf/x86_64-efi.rmk: Likewise.
30526 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30527
30528 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30529
30530 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30531 grub_xasprintf or grub_snprintf.
30532 (grub_vsprintf): Likewise.
30533 (grub_snprintf): New proto.
30534 (grub_vsnprintf): Likewise.
30535 (grub_xasprintf): Likewise.
30536 (grub_xvasprintf): Likewise.
30537 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30538 (grub_sprintf): Removed.
30539 (grub_vsnprintf): New function.
30540 (grub_snprintf): Likewise.
30541 (grub_xvasprintf): Likewise.
30542 (grub_xasprintf): Likewise.
30543 (grub_vsprintf): Renamed to ...
30544 (grub_vsnprintf_real): ...this. New argument max_len.
30545
30546 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30547
30548 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30549 fix grub-script-check warning.
30550
30551 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30552
30553 * include/grub/font.h (grub_font_load): Fix prototype.
30554
30555 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30556
30557 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30558
30559 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30560
30561 * include/grub/x86_64/at_keyboard.h: New file.
30562
30563 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30564
30565 * loader/mips/linux.c: Include missing grub/i18n.h.
30566
30567 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30568
30569 * normal/menu.c (notify_execution_failure): Clarify error message.
30570
30571 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30572
30573 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30574 return value (and revert all return statements). Update users.
30575
30576 2010-01-20 Dan Merillat <debian@dan.merillat.org>
30577
30578 * kern/device.c (grub_device_iterate): Allocate new part_ent
30579 structure based on sizeof (*p) rather than sizeof (p->next), to
30580 account for structure padding.
30581
30582 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30583 disk is NULL, which might happen for LVM physical volumes with no
30584 LVM signature.
30585
30586 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30587
30588 * loader/mips/linux.c (grub_cmd_initrd)
30589 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30590
30591 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30594 (grub_video_video_init, grub_video_bitmap_init)
30595 (grub_font_manager_init, grub_term_gfxterm_init)
30596 (grub_at_keyboard_init): New extern declarations.
30597 (grub_machine_init): Initialize gfxterm and at_keyboard.
30598
30599 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30600
30601 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30602 `gfxterm.mod' into core image.
30603
30604 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30605 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30606 (kernel_img_FORMAT): Copy to ...
30607
30608 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30609 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30610 (kernel_img_FORMAT): ... here, and ...
30611
30612 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30613 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30614 (kernel_img_FORMAT): ... here.
30615
30616 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30617 and input (at_keyboard) terminals in kernel.
30618 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30619
30620 (pkglib_MODULES): Remove `pci.mod'.
30621 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30622 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30623 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30624 (at_keyboard_mod_LDFLAGS): Remove variables.
30625
30626 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
30627
30628 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30629
30630 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30631
30632 * include/grub/mips/libgcc.h: Only export symbols for functions
30633 that libgcc provides.
30634
30635 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30636
30637 MIPS support.
30638
30639 * bus/bonito.c: New file.
30640 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30641 GRUB_PCI_NUM_DEVICES.
30642 * term/i386/pc/serial.c: Move to ...
30643 * term/serial.c: ... here. All users updated.
30644 * util/i386/pc/grub-mkimage.c: Move to ...
30645 * util/grub-mkrawimage.c: ... here. All users updated.
30646 * term/i386/pc/at_keyboard.c: Move to ...
30647 * term/at_keyboard.c: ... here. All users updated.
30648 * conf/mips-qemu-mips.rmk: New file.
30649 * conf/mips-yeeloong.rmk: Likewise.
30650 * conf/mips.rmk: Likewise.
30651 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30652 mipsel-qemu-mips.
30653 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30654 to port addresses.
30655 (grub_ata_pciinit): Support CS5536.
30656 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30657 * font/font_cmd.c (loadfont_command): Open file before passing it to
30658 grub_font_load.
30659 (pseudo_file_read): New function.
30660 (pseudo_file_close): Likewise.
30661 (pseudo_fs): New structure.
30662 (load_font_module): New function.
30663 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30664 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30665 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30666 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30667 * include/grub/i386/at_keyboard.h: Split into ...
30668 * include/grub/at_keyboard.h: ... this ...
30669 * include/grub/i386/at_keyboard.h: ... and this.
30670 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30671 New prototype.
30672 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30673 updated.
30674 (grub_elf64_size): Likewise.
30675 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30676 filename.
30677 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30678 * include/grub/i386/coreboot/serial.h: Rewritten.
30679 * include/grub/i386/ieee1275/serial.h: Include
30680 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30681 * include/grub/i386/pc/serial.h: Moved from here ...
30682 * include/grub/serial.h: ... to here. All users updated.
30683 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30684 (GRUB_PCI_NUM_BUS): Likewise.
30685 (GRUB_PCI_NUM_DEVICES): Likewise.
30686 (grub_pci_device_map_range): Add missing volatile keyword.
30687 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30688 * include/grub/mips/at_keyboard.h: New file.
30689 * include/grub/mips/cache.h: Likewise.
30690 * include/grub/mips/io.h: Likewise.
30691 * include/grub/mips/kernel.h: Likewise.
30692 * include/grub/mips/libgcc.h: Likewise.
30693 * include/grub/mips/pci.h: Likewise.
30694 * include/grub/mips/qemu-mips/boot.h: Likewise.
30695 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30696 * include/grub/mips/qemu-mips/loader.h: Likewise.
30697 * include/grub/mips/qemu-mips/memory.h: Likewise.
30698 * include/grub/mips/qemu-mips/serial.h: Likewise.
30699 * include/grub/mips/qemu-mips/time.h: Likewise.
30700 * include/grub/mips/relocator.h: Likewise.
30701 * include/grub/mips/time.h: Likewise.
30702 * include/grub/mips/types.h: Likewise.
30703 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30704 * include/grub/mips/yeeloong/boot.h: Likewise.
30705 * include/grub/mips/yeeloong/kernel.h: Likewise.
30706 * include/grub/mips/yeeloong/loader.h: Likewise.
30707 * include/grub/mips/yeeloong/memory.h: Likewise.
30708 * include/grub/mips/yeeloong/pci.h: Likewise.
30709 * include/grub/mips/yeeloong/serial.h: Likewise.
30710 * include/grub/mips/yeeloong/time.h: Likewise.
30711 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30712 * kern/elf.c (grub_elf32_size): New parameter. All users
30713 updated.
30714 (grub_elf64_size): Likewise.
30715 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30716 Load modules before saying "Welcome to GRUB!".
30717 Call grub_refresh after saying "Welcome to GRUB!".
30718 * kern/mips/cache.S: New file.
30719 * kern/mips/cache_flush.S: Likewise.
30720 * kern/mips/dl.c: Likewise.
30721 * kern/mips/init.c: Likewise.
30722 * kern/mips/qemu-mips/init.c: Likewise.
30723 * kern/mips/startup.S: Likewise.
30724 * kern/mips/yeeloong/init.c: Likewise.
30725 * kern/term.c (grub_putcode): Handle NULL terminal.
30726 (grub_getcharwidth): Likewise.
30727 (grub_getkey): Likewise.
30728 (grub_checkkey): Likewise.
30729 (grub_getkeystatus): Likewise.
30730 (grub_getxy): Likewise.
30731 (grub_getwh): Likewise.
30732 (grub_gotoxy): Likewise.
30733 (grub_cls): Likewise.
30734 (grub_setcolorstate): Likewise.
30735 (grub_setcolor): Likewise.
30736 (grub_getcolor): Likewise.
30737 (grub_refresh): Likewise.
30738 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30739 (write_jump): Add hatch nop.
30740 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30741 * lib/mips/setjmp.S: New file.
30742 * loader/mips/linux.c: Likewise.
30743 * term/i386/pc/at_keyboard.c: Move from here ...
30744 * term/at_keyboard.c: ... to here.
30745 * term/i386/pc/serial.c: Moved from here ...
30746 * term/serial.c: ... to here. All users updated.
30747 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30748 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30749 (serial_translate_key_sequence): Avoid deadlock.
30750 (grub_serial_getkey): Handle backspace.
30751 (grub_serial_putchar): Fix newline handling.
30752 * util/i386/pc/grub-mkimage.c: Move from here ...
30753 * util/grub-mkrawimage.c: ... to here. All users updated.
30754 (generate_image): New parameters 'font_path' and 'format'.
30755 Support embedding font.
30756 Use grub_host_to_target* instead of grub_cpu_to_le*.
30757 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30758 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30759 (options): New option "--font".
30760 (usage): Likewise.
30761 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30762 (main): Handle "--font".
30763 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30764 (grub_virtual_screen_setup): Set bg_color_display.
30765 (redraw_screen_rect): Use bg_color_display instead of incorrect
30766 bg_color.
30767 (grub_gfxterm_cls): Likewise.
30768 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30769 Support embedding config file.
30770 (add_segments): Likewise.
30771 (options): New option "--config".
30772 (main): Handle "--config".
30773 * video/sm712.c: New file.
30774
30775 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30776
30777 Fix parallel builds.
30778
30779 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30780 font.c depend on ascii.h).
30781
30782 2010-01-12 Carles Pina i Estany <carles@pina.cat>
30783
30784 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30785
30786 2010-01-11 Carles Pina i Estany <carles@pina.cat>
30787
30788 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30789 By default: disabled.
30790 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30791 parameter.
30792
30793 2010-01-10 Carles Pina i Estany <carles@pina.cat>
30794
30795 * font/font.c: Update copyright years.
30796 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30797
30798 2010-01-10 Carles Pina i Estany <carles@pina.cat>
30799
30800 * font/font.c: Include `ascii.h'.
30801 (ASCII_BITMAP_SIZE): New macro.
30802 (ascii_font_glyph): Define.
30803 (ascii_glyph_lookup): New function.
30804 (grub_font_get_string_width): Change comment. If glyph not found, use
30805 ascii_glyph_lookup.
30806 (grub_font_get_glyph_with_fallback): If glyph not available returns
30807 ascii_glyph_lookup.
30808 * util/grub-mkfont.c (file_formats): New enum.
30809 (options): Add `ascii-bitmaps' new option.
30810 (usage): Add `asii-bitmaps' new option.
30811 (write_font_ascii_bitmap): New function.
30812 (write_font): Rename to ...
30813 (write_font_p2): ... this. Remove print_glyphs call.
30814 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30815 used. Call print_glyphs.
30816 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30817
30818 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30819
30820 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30821 (grub_bin2h_SOURCES): New variable.
30822 * util/bin2h.c: New file.
30823
30824 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30825
30826 * include/multiboot.h: Resynced with spec.
30827 * include/multiboot2.h: Likewise.
30828 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30829 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30830
30831 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30832
30833 * include/grub/term.h (grub_term_register_input,
30834 grub_term_register_output): Check return of terminal init()
30835 routines, and abort if errors are raised.
30836
30837 * commands/terminal.c: Update copyright year.
30838
30839 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 * commands/terminal.c (grub_cmd_terminal_input)
30842 (grub_cmd_terminal_output): Check return of terminal init()
30843 routines, and abort if errors are raised.
30844
30845 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30846
30847 * include/grub/i386/bsd.h: Fix include pathes.
30848
30849 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 Add missing *BSD copyright headers.
30852
30853 * include/grub/aout.h: Add BSD licence.
30854 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30855 * include/grub/i386/freebsd_linker.h: ... here,
30856 * include/grub/i386/freebsd_reboot.h: ... here,
30857 * include/grub/i386/netbsd_bootinfo.h: ... here,
30858 * include/grub/i386/netbsd_reboot.h: ... here,
30859 * include/grub/i386/openbsd_bootarg.h: ... here,
30860 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30861 licence to each file.
30862
30863 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30864
30865 * acinclude.m4: Remove `nop' assembly instruction; it's not
30866 implemented by all architectures.
30867
30868 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30869
30870 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30871 ELILO. This is no longer necessary.
30872
30873 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30874
30875 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30876
30877 * util/grub-script-check.c: grub-script-check tool.
30878 * conf/common.rmk: Make rules for grub-script-check.
30879
30880 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30881
30882 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30883 spotting it back in 2008. Shame on me for forgetting he did.
30884
30885 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30886
30887 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30888
30889 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30890 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30891 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30892 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30893 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30894 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30895
30896 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30897
30898 * include/grub/test.h: Add license header.
30899 * tests/example_functional_test.c: Likewise.
30900 * tests/example_unit_test.c: Likewise.
30901 * tests/lib/functional_test.c: Likewise.
30902 * tests/lib/test.c: Likewise.
30903 * tests/lib/unit_test.c: Likewise.
30904
30905 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30906
30907 Use flag-based instead of hook-based video mode selection and "auto"
30908 keyword.
30909
30910 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30911 (grub_video_set_mode): Changed prototype. All users updated.
30912 (grub_video_check_mode_flag): New inline function.
30913 * video/video.c (parse_modespec): New function.
30914 (grub_video_set_mode): Parse flags and keywords.
30915
30916 2010-01-17 Carles Pina i Estany <carles@pina.cat>
30917
30918 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30919 fprintf call.
30920
30921 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30922
30923 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30924
30925 2010-01-16 Carles Pina i Estany <carles@pina.cat>
30926
30927 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30928 string.
30929 * util/grub-emu.c (usage): Likewise.
30930 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30931 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30932 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30933 * util/i386/pc/grub-setup.c (usage): Likewise.
30934
30935 2010-01-16 Carles Pina i Estany <carles@pina.cat>
30936
30937 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30938 the message.
30939 (grub_util_info): Likewise.
30940 (grub_util_error): Likewise.
30941 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30942 and/or new lines in `grub_util_warna', `grub_util_info',
30943 `grub_util_error' calls.
30944 * util/getroot.c: Likewise.
30945 * util/grub-editenv.c: Likewise.
30946 * util/grub-emu.c: Likewise.
30947 * util/grub-fstest.c: Likewise.
30948 * util/grub-mkdevicemap.c: Likewise.
30949 * util/grub-mkfont.c: Likewise.
30950 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30951 * util/grub-mkrelpath.c: Likewise.
30952 * util/grub-pe2elf.c: Likewise.
30953 * util/grub-probe.c: Likewise.
30954 * util/hostdisk.c: Likewise.
30955 * util/i386/efi/grub-mkimage.c: Likewise.
30956 * util/i386/pc/grub-mkimage.c: Likewise.
30957 * util/i386/pc/grub-setup.c: Likewise.
30958 * util/ieee1275/ofpath.c: Likewise.
30959 * util/mkisofs/eltorito.c: Likewise.
30960 * util/mkisofs/rock.c: Likewise.
30961 * util/mkisofs/write.c: Likewise.
30962 * util/raid.c: Likewise.
30963 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30964 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30965
30966 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30967
30968 Enable multiboot on non-pc.
30969
30970 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30971 multiboot.mod and multiboot2.mod to ...
30972 * conf/i386.rmk (pkglib_MODULES): ... here.
30973 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30974 Moved to ...
30975 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30976 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30977 Moved to ...
30978 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30979 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30980 Moved to ...
30981 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30982 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30983 Moved to ...
30984 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30985 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30986 relocator.mod.
30987 (ata_mod_SOURCES): Removed.
30988 (ata_mod_CFLAGS): Likewise.
30989 (ata_mod_LDFLAGS): Likewise.
30990 (relocator_mod_SOURCES): Removed.
30991 (relocator_mod_CFLAGS): Likewise.
30992 (relocator_mod_ASFLAGS): Likewise.
30993 (relocator_mod_LDFLAGS): Likewise.
30994 Include i386.mk.
30995 * include/grub/x86_64/multiboot.h: New file.
30996 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30997 Terminate EFI.
30998
30999 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31000
31001 Video multiboot support.
31002
31003 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31004 New prototype.
31005 * include/multiboot.h: Resynced with multiboot specification.
31006 * include/multiboot2.h: Likewise.
31007 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31008 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31009 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31010 (HAS_VGA_TEXT): Likewise.
31011 (accepts_video): New variable.
31012 (grub_multiboot_set_accepts_video): New function.
31013 (grub_multiboot_get_mbi_size): Account for video structures.
31014 (set_video_mode): New function.
31015 (retrieve_video_parameters): Likewise.
31016 (grub_multiboot_make_mbi): Fill video fields.
31017
31018 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31019
31020 Video driver ids.
31021
31022 * include/grub/video.h (grub_video_driver_id): New type.
31023 (grub_video_adapter): New member 'id'. All users updated.
31024 (grub_video_get_driver_id): New proto.
31025 * video/video.c (grub_video_get_driver_id): New function.
31026
31027 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31028
31029 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31030 `var=val'.
31031
31032 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31033
31034 * normal/cmdline.c (print_completion): Gettextizze.
31035
31036 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31037
31038 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31039
31040 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31041
31042 * gettext/gettext.c (grub_gettext_translate): Push and pop
31043 grub_errno.
31044 (grub_gettext_delete_list): Change comment style.
31045 * kern/err.c (grub_error): Gettextizze.
31046 (grub_fatal): Gettextizze.
31047
31048 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31051 (grub_linux16_real_boot): ... this.
31052 * kern/i386/loader.S: Likewise.
31053 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31054 (grub_linux16_boot): New function. Switches to text mode and calls
31055 grub_linux16_real_boot().
31056
31057 * loader/i386/bsd.c: Include `<grub/video.h>'.
31058 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31059 text mode before calling grub_unix_real_boot().
31060
31061 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31062 (grub_multiboot_boot): Switch to text mode before calling
31063 grub_relocator32_boot().
31064
31065 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31066 (grub_chainloader_boot): Switch to text mode before calling
31067 grub_chainloader_real_boot().
31068
31069 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31070 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31071
31072 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31073 non-empty value.
31074
31075 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31076 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31077
31078 * util/grub.d/00_header.in: Define a "savedefault" function for use
31079 in menu entries.
31080 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31081
31082 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31083 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31084
31085 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31086 saved_entry if boot_once is unset.
31087 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31088 previous saved entry (i.e. grub-reboot).
31089
31090 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31091
31092 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31093
31094 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31095
31096 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31097 `var=val'.
31098 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31099
31100 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31101
31102 * util/grub-reboot.in: Fix --version output.
31103 * util/grub-set-default.in: Likewise.
31104
31105 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31106
31107 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31108 blocks.
31109
31110 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31111
31112 * util/grub.d/00_header.in: Quote the value assigned to `default',
31113 in case it contains spaces.
31114
31115 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31116
31117 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31118 `save_default_entry' call from the macosx case to the linux case.
31119
31120 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31121 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31122
31123 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31124 in `chosen' environment variable.
31125 * normal/menu_text.c (get_entry_number): Check if the variable
31126 matches the title of a menu entry.
31127 (run_menu): Pass menu to get_entry_number.
31128
31129 * util/grub-reboot.in: New file.
31130 * util/grub-set-default.in: New file.
31131 * conf/common.rmk (grub-reboot): New utility.
31132 (grub-set-default): New utility.
31133
31134 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31135 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31136 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31137 move it to `saved_entry' for the next boot. Load environment on
31138 initialisation.
31139 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31140 * util/grub.d/10_hurd.in: Likewise.
31141 * util/grub.d/10_linux.in (linux_entry): Likewise.
31142 * util/grub.d/10_windows.in: Likewise.
31143 * util/grub.d/30_os-prober.in: Likewise.
31144
31145 * util/grub-install.in: Create environment block.
31146 * util/i386/efi/grub-install.in: Likewise.
31147 * util/ieee1275/grub-install.in: Likewise.
31148 * util/sparc64/ieee1275/grub-install.in: Likewise.
31149
31150 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31151
31152 Unit testing framework for GRUB.
31153
31154 * Makefile.in: Test framework build rules for 'make check'.
31155 * conf/tests.rmk: Build rules for individual tests and framework.
31156
31157 * include/grub/test.h: Header file for whitebox tests.
31158 * tests/lib/functional_test.c: Framework support for whitebox
31159 functional tests.
31160 * tests/lib/test.c: Common whitebox testing code for unit and
31161 functional tests.
31162 * tests/lib/unit_test.c: Framework support for whitebox unit
31163 tests.
31164
31165 * tests/util/grub-shell-tester.in: Support utility for grub-script
31166 tests.
31167 * tests/util/grub-shell.in: Utility to execute grub-script
31168 commands in a Qemu instance.
31169
31170 * tests/example_functional_test.c: Example whitebox functional
31171 test.
31172 * tests/example_grub_script_test.in: Example grub-script test.
31173 * tests/example_scripted_test.in: Example scripted test.
31174 * tests/example_unit_test.c: Example whitebox unit test.
31175
31176 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31177
31178 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31179 Add loader/i386/multiboot_mbi.c.
31180 (multiboot2_mod_SOURCES): Likewise.
31181 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31182 (multiboot2_mod_SOURCES): Likewise.
31183 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31184 (grub_multiboot_make_mbi): Likewise.
31185 (grub_multiboot_free_mbi): Likewise.
31186 (grub_multiboot_init_mbi): Likewise.
31187 (grub_multiboot_add_module): Likewise.
31188 (grub_multiboot_set_bootdev): Likewise.
31189 * loader/i386/multiboot.c (mbi): Removed.
31190 (mbi_dest): Likewise.
31191 (alloc_mbi): New variable.
31192 (grub_multiboot_payload_size): Removed. All users updated.
31193 (grub_multiboot_pure_size): New variable.
31194 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31195 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31196 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31197 (grub_fill_multiboot_mmap): Likewise.
31198 (grub_multiboot_get_bootdev): Likewise.
31199 (grub_multiboot): Use multiboot_mbi functions.
31200 * loader/i386/multiboot_mbi.c: New file.
31201
31202 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31203
31204 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31205 it would result in module crash.
31206
31207 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31208
31209 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31210 (grub_ofconsole_getwh): Split to ...
31211 (grub_ofconsole_getwh): ... this.
31212 (grub_ofconsole_dimensions): ...and this.
31213 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31214
31215 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31216
31217 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31218
31219 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31220
31221 * loader/i386/pc/multiboot2.c: Removed stalled file.
31222
31223 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31224
31225 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31226 Reported by: Grégoire Sutre
31227
31228 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31229
31230 * util/misc.c (canonicalize_file_name): New function.
31231 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31232 instead of realpath().
31233
31234 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
31235
31236 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31237 and make it clearer that it's optional. Based on confusion
31238 witnessed on IRC.
31239
31240 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31241
31242 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31243 in premature implicit newline.
31244
31245 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31246
31247 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31248 which resulted in garbled command line at the end of screen.
31249
31250 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31251
31252 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31253 initialization with similar approach as with other Linux loaders.
31254
31255 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31256
31257 Fix i386-ieee1275 build.
31258
31259 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31260 and grub_term_height() for video_{width,height} initialization.
31261
31262 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31263
31264 Fix grub-emu build.
31265
31266 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31267
31268 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31269 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31270
31271 Support for multiple terminals.
31272
31273 * Makefile.in (pkglib_DATA): terminal.lst.
31274 (terminal.lst): New target.
31275 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31276 (GRUB_MOD_INIT(handler)): Likewise.
31277 (GRUB_MOD_FINI(handler)): Likewise.
31278 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31279 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31280 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31281 (grub_cmd_sleep): Use grub_term_save_pos.
31282 * commands/terminal.c: New file.
31283 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31284 commands/terminal.c and lib/charset.c.
31285 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31286 (pkglib_MODULES): Add terminal.mod.
31287 (terminal_mod_SOURCES): New variable.
31288 (terminal_mod_CFLAGS): Likewise.
31289 (terminal_mod_LDFLAGS): Likewise.
31290 * genhandlerlist.sh: Don't handle terminals.
31291 * genmk.rb: Generate terminal-*.lst.
31292 * genterminallist.sh: New file.
31293 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31294 (grub_is_valid_utf8): Likewise.
31295 (grub_utf8_to_ucs4_alloc): Likewise.
31296 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31297 (grub_menu_register_viewer): Changed argument.
31298 (grub_menu_try_text): New proto.
31299 (grub_gfxmenu_try_hook): New declaration.
31300 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31301 (grub_menu_init_page): Additional argument term.
31302 (grub_normal_init_page): Likewise.
31303 (grub_cmdline_get): Arguments simplified.
31304 (grub_utf8_to_ucs4_alloc): Removed.
31305 (grub_print_ucs4): Additional argument term.
31306 (grub_getstringwidth): Likewise.
31307 (grub_print_message_indented): Likewise.
31308 (grub_menu_text_register_instances): New proto.
31309 (grub_show_menu): Likewise.
31310 (read_terminal_list): Likewise.
31311 (grub_set_more): Likewise.
31312 * include/grub/parser.h: Include handler.h.
31313 * include/grub/reader.h: Rewritten.
31314 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31315 (GRUB_TERM_WIDTH): Changed to function.
31316 (GRUB_TERM_HEIGHT): Likewise.
31317 (GRUB_TERM_BORDER_WIDTH): Likewise.
31318 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31319 (GRUB_TERM_NUM_ENTRIES): Likewise.
31320 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31321 (GRUB_TERM_CURSOR_X): Likewise.
31322 (grub_term_input_class): Likewise.
31323 (grub_term_output_class): Likewise.
31324 (grub_term_outputs_disabled): New declaration.
31325 (grub_term_inputs_disabled): Likewise.
31326 (grub_term_outputs): Likewise.
31327 (grub_term_inputs): Likewise.
31328 (grub_term_register_input): Rewritten.
31329 (grub_term_register_output): Likewise.
31330 (grub_term_unregister_input): Likewise.
31331 (grub_term_unregister_output): Likewise.
31332 (FOR_ACTIVE_TERM_INPUTS): New macro.
31333 (FOR_DISABLED_TERM_INPUTS): Likewise.
31334 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31335 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31336 * include/grub/terminfo.h: Add oterm argument to all protypes.
31337 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31338 Use grub_rescue_run.
31339 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31340 All users updated.
31341 * kern/reader.c: Removed. All users updated.
31342 * kern/rescue_reader.c (grub_rescue_init): Removed.
31343 (grub_rescue_reader): Likewise.
31344 (grub_register_rescue_reader): Likewise.
31345 (grub_rescue_run): New function based on kern/reader.c.
31346 * kern/term.c: Adapted for multiterm.
31347 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31348 (grub_is_valid_utf8): Likewise.
31349 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31350 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31351 right terminal.
31352 * loader/i386/linux.c (grub_linux_boot): Likewise.
31353 * normal/auth.c (grub_username_get): New function.
31354 (grub_auth_check_authentication): Use grub_username_get.
31355 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31356 * normal/color.c: Adapt for multiterm.
31357 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31358 (grub_normal_init_page): Additional argument term.
31359 (read_lists): Call read_terminal_lists.
31360 (grub_enter_normal_mode): Call grub_cmdline_run.
31361 Handle grub_normal_exit_level.
31362 (grub_cmd_normal): Make reentrant.
31363 (grub_cmd_normal_exit): New function.
31364 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31365 * normal/menu.c: Adapt for multiterm.
31366 * normal/menu_entry.c: Likewise.
31367 * normal/menu_text.c: Likewise.
31368 * normal/menu_viewer.c: Removed. All users updated.
31369 * normal/term.c: New file.
31370 * util/console.c: Change order of includes to workaround a bug in
31371 ncurses headers.
31372 * term/terminfo.c: New argument oterm on all exported functions.
31373 All users updated.
31374 * util/grub-editenv.c (grub_term_input_class): Removed.
31375 (grub_term_output_class): Likewise.
31376
31377 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31378
31379 Make loader output a bit more user-friendly.
31380
31381 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31382 is being loaded. Likewise for the Hurd.
31383
31384 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31385 that kernel of FreeBSD ${version} is being loaded.
31386
31387 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31388 grub_dprintf().
31389 (grub_cmd_initrd): Likewise.
31390 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31391 that Linux ${version} is being loaded. Likewise for initrd.
31392
31393 2010-01-09 Carles Pina i Estany <carles@pina.cat>
31394
31395 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31396
31397 2010-01-08 Carles Pina i Estany <carles@pina.cat>
31398
31399 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31400 (GRUB_MOD_INIT): Gettextizze.
31401 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31402 (GRUB_MOD_INIT): Gettextizze.
31403 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31404 (grub_cmd_linux): Capitalise Linux.
31405 (GRUB_MOD_INIT): Gettextizze.
31406 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31407 (grub_cmd_linux): Capitalise Linux.
31408 (GRUB_MOD_INIT): Gettextizze.
31409 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31410 (grub_cmd_linux): Capitalise Linux.
31411 (GRUB_MOD_INIT): Gettextizze.
31412 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31413 (GRUB_MOD_INIT): Gettextizze.
31414 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31415 (grub_cmd_linux): Capitalise Linux.
31416 (GRUB_MOD_INIT): Gettextizze.
31417 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31418 (grub_cpu_xnu_init): Gettextizze.
31419 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31420 (GRUB_MOD_INIT): Gettextizze.
31421 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31422 (GRUB_MOD_INIT): Gettextizze.
31423 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31424 (grub_linux_load64): Capitalise Linux.
31425 (GRUB_MOD_INIT): Gettextizze.
31426 * loader/xnu.c: Include `<grub/i18n.h>'.
31427 (GRUB_MOD_INIT): Gettextizze.
31428 * po/POTFILES: Add `loader/efi/appleloader.c',
31429 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31430 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31431 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31432 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31433 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31434 and `loader/xnu.c'.
31435
31436 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31437
31438 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31439
31440 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31441
31442 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31443 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31444 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31445
31446 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31447
31448 Reset Multiboot 2 support. New loader implements the draft in
31449 /branches/multiboot2 and shares as much code as possible with the
31450 production Multiboot 1 implementation.
31451
31452 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31453 * loader/multiboot2.c: Likewise.
31454 * loader/i386/multiboot_helper.S: Likewise.
31455 * include/multiboot2.h: Replace with latest version from the draft
31456 in /branches/multiboot2.
31457
31458 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31459 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31460 and `loader/multiboot2.c'.
31461 (pkglib_MODULES): Add `multiboot2.mod'.
31462 (multiboot2_mod_SOURCES): New variable.
31463 (multiboot2_mod_LDFLAGS): Likewise.
31464 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31465
31466 * conf/i386-pc.rmk: Likewise.
31467
31468 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31469 (multiboot_mod_SOURCES): Remove variable.
31470 (multiboot_mod_LDFLAGS): Likewise.
31471 (multiboot_mod_CFLAGS): Likewise.
31472
31473 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31474 `<multiboot2.h>' instead of `<multiboot.h>'.
31475 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31476 (MULTIBOOT_HEADER_MAGIC): New macros.
31477
31478 * loader/multiboot_loader.c (module_version_status): Remove variable.
31479 (find_multi_boot2_header): Remove function.
31480 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31481 logic. Always check for the Multiboot version we're compiling for.
31482 (grub_cmd_module_loader): Likewise.
31483 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31484 command instead of `multiboot'.
31485
31486 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31487
31488 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31489 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31490 all users.
31491
31492 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31493 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31494
31495 Fix breakage introduced with previous commit.
31496
31497 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31498 commands.
31499 * normal/handler.c (read_handler_list): Revert part of previous commit
31500 affecting this file.
31501 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31502 (grub_normal_execute): ... here.
31503
31504 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31505
31506 Merge prefix-redefinition-fix branch.
31507
31508 * normal/autofs.c (read_fs_list): Make function capable of being
31509 run multiple times, gracefuly replacing the previous data
31510 structures.
31511 * normal/dyncmd.c (read_command_list): Likewise.
31512 * normal/handler.c (read_handler_list): Likewise.
31513 * normal/main.c (read_lists): New function. Calls all the
31514 list reading functions.
31515 (grub_normal_execute): Use read_lists() instead of calling all
31516 list reading functions explicitly. Register read_lists() as a
31517 variable hook attached to ${prefix}.
31518
31519 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31520
31521 Merge crypto branch.
31522
31523 * Makefile.in (pkglib_DATA): Add crypto.lst.
31524 (crypto.lst): New target.
31525 * commands/hashsum.c: New file.
31526 * commands/password.c (check_password): Use grub_crypto_memcmp.
31527 * commands/password_pbkdf2.c: New file.
31528 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31529 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31530 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31531 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31532 -I$(srcdir)/lib/libgcrypt_wrap.
31533 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31534 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31535 password_pbkdf2.mod.
31536 (crypto_mod_SOURCES): New variable.
31537 (crypto_mod_CFLAGS): Likewise.
31538 (crypto_mod_LDFLAGS): Likewise.
31539 (hashsum_mod_SOURCES): New variable.
31540 (hashsum_mod_CFLAGS): Likewise.
31541 (hashsum_mod_LDFLAGS): Likewise.
31542 (pbkdf2_mod_SOURCES): New variable.
31543 (pbkdf2_mod_CFLAGS): Likewise.
31544 (pbkdf2_mod_LDFLAGS): Likewise.
31545 (password_pbkdf2_mod_SOURCES): New variable.
31546 (password_pbkdf2_mod_CFLAGS): Likewise.
31547 (password_pbkdf2_mod_LDFLAGS): Likewise.
31548 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31549 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31550 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31551 Include conf/gcry.rmk.
31552 * include/grub/auth.h: Rewritten.
31553 * include/grub/crypto.h: New file.
31554 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31555 * include/grub/normal.h (read_crypto_list): New prototype.
31556 * lib/crypto.c: New file.
31557 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31558 * lib/pbkdf2.c: Likewise.
31559 * normal/auth.c (grub_auth_strcmp): Removed.
31560 (grub_iswordseparator): Likewise.
31561 (grub_auth_strword): Likewise.
31562 (is_authenticated): Use grub_strword.
31563 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31564 and grub_strword. Pass entered password to authentication callback.
31565 * normal/crypto.c: New file.
31566 * normal/main.c: Call read_crypto_list.
31567 * util/grub-mkpasswd-pbkdf2.c: New file.
31568 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31569
31570 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31571
31572 Fix descent and ascent calculation.
31573
31574 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31575 (options): New option "asce".
31576 (usage): Likewise.
31577 (add_char): Ignore invalid glyphs for descent calculation.
31578 Calculate ascent from actual content.
31579 (print_glyphs): Use 'asce'.
31580 (write_font): Likewise. Allow ascent override.
31581 (main): Handle "asce" option.
31582
31583 2010-01-06 Carles Pina i Estany <carles@pina.cat>
31584
31585 * kern/err.c: Include `<grub/i18n.h>'.
31586 (grub_print_error): Add full stop. Gettextizze.
31587 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31588 (grub_bsd_load_elf): Capitalise ELF.
31589 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31590 (grub_cmd_freebsd_module): Likewise.
31591 (grub_cmd_freebsd_module_elf): Likewise.
31592 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31593
31594 2010-01-06 Carles Pina i Estany <carles@pina.cat>
31595
31596 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31597 * commands/search_file.c (HELP_MESSAGE): New macro.
31598 * commands/search_label.c (HELP_MESSAGE): Likewise.
31599 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31600 * po/POTFILES: Add `commands/search_file.c',
31601 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31602 `commands/search.c'.
31603
31604 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31605
31606 * config.rpath: Update from Gnulib.
31607
31608 2010-01-05 Yves Blusseau <blusseau@zetam.org>
31609
31610 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31611
31612 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31613
31614 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31615
31616 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31617
31618 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31619 arguments to fread so that we get a return value in bytes, rather
31620 than something that will normally be rounded down to 0.
31621 Adjust error handling to avoid producing garbage when size_t is not
31622 the same size as long long.
31623
31624 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31625
31626 * util/mkisofs/write.c (padblock_write): Check return value of
31627 fread.
31628
31629 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31630
31631 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31632 floppy images now.
31633
31634 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31635
31636 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31637
31638 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31639 instead of manual alignment.
31640 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31641 verbose). Avoid attempts to read past end of the device
31642 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31643 but GRUB_DISK_CACHE_SIZE may exceed that).
31644
31645 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31646
31647 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31648 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31649 it to upper layer.
31650
31651 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31652
31653 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31654 New constant.
31655 (grub_efi_piwg_device_path): New structure
31656 (grub_efi_piwg_device_path_t): New type.
31657 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31658 (devpath_1): Transform to a structure. All users updated.
31659 (devpath_2): Likewise.
31660 (devpath_3): Likewise.
31661 (devpath_4): Likewise.
31662 (devpath_5): Likewise.
31663
31664 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 * loader/efi/appleloader.c: Restored. Update all users.
31667
31668 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31669
31670 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31671
31672 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31673 (struct boot_blocklist): Move from here ...
31674 * include/grub/i386/pc/boot.h [ASM_FILE]
31675 (struct grub_boot_blocklist): ... to here. Update all users.
31676 (setup): Only initialize `start' member of `first_block'
31677 structure. Add assert() calls to verify the other members.
31678
31679 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31680 (generate_image): Fix broken blocklist length initialization.
31681 Add assert() call to verify blocklist `segment' field.
31682
31683 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31684
31685 * loader/efi/appleloader.c: Remove. Update all users.
31686
31687 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31688
31689 * boot/i386/pc/boot.S: Update copyright year.
31690 * boot/i386/pc/cdboot.S: Likewise.
31691 * boot/i386/pc/diskboot.S: Likewise.
31692 * boot/i386/pc/lnxboot.S: Likewise.
31693 * boot/i386/pc/pxeboot.S: Likewise.
31694 * bus/pci.c: Likewise.
31695 * commands/cmp.c: Likewise.
31696 * commands/help.c: Likewise.
31697 * commands/hexdump.c: Likewise.
31698 * commands/i386/pc/halt.c: Likewise.
31699 * commands/i386/pc/play.c: Likewise.
31700 * commands/i386/pc/vbeinfo.c: Likewise.
31701 * commands/ls.c: Likewise.
31702 * commands/test.c: Likewise.
31703 * disk/dmraid_nvidia.c: Likewise.
31704 * disk/i386/pc/biosdisk.c: Likewise.
31705 * disk/ieee1275/nand.c: Likewise.
31706 * disk/ieee1275/ofdisk.c: Likewise.
31707 * disk/lvm.c: Likewise.
31708 * disk/raid.c: Likewise.
31709 * disk/raid6_recover.c: Likewise.
31710 * disk/scsi.c: Likewise.
31711 * fs/affs.c: Likewise.
31712 * fs/cpio.c: Likewise.
31713 * fs/ext2.c: Likewise.
31714 * fs/hfs.c: Likewise.
31715 * fs/iso9660.c: Likewise.
31716 * fs/ntfs.c: Likewise.
31717 * fs/sfs.c: Likewise.
31718 * fs/udf.c: Likewise.
31719 * fs/ufs.c: Likewise.
31720 * fs/xfs.c: Likewise.
31721 * gencmdlist.sh: Likewise.
31722 * genmk.rb: Likewise.
31723 * include/grub/disk.h: Likewise.
31724 * include/grub/efi/api.h: Likewise.
31725 * include/grub/efi/efi.h: Likewise.
31726 * include/grub/efi/pe32.h: Likewise.
31727 * include/grub/elf.h: Likewise.
31728 * include/grub/fs.h: Likewise.
31729 * include/grub/i386/at_keyboard.h: Likewise.
31730 * include/grub/i386/pc/memory.h: Likewise.
31731 * include/grub/i386/pc/vbe.h: Likewise.
31732 * include/grub/i386/pci.h: Likewise.
31733 * include/grub/i386/tsc.h: Likewise.
31734 * include/grub/ieee1275/ieee1275.h: Likewise.
31735 * include/grub/ntfs.h: Likewise.
31736 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31737 * include/grub/sparc64/libgcc.h: Likewise.
31738 * include/grub/symbol.h: Likewise.
31739 * include/grub/types.h: Likewise.
31740 * include/multiboot2.h: Likewise.
31741 * io/gzio.c: Likewise.
31742 * kern/device.c: Likewise.
31743 * kern/disk.c: Likewise.
31744 * kern/efi/efi.c: Likewise.
31745 * kern/efi/mm.c: Likewise.
31746 * kern/elf.c: Likewise.
31747 * kern/file.c: Likewise.
31748 * kern/i386/dl.c: Likewise.
31749 * kern/i386/pc/init.c: Likewise.
31750 * kern/i386/pc/startup.S: Likewise.
31751 * kern/ieee1275/ieee1275.c: Likewise.
31752 * kern/ieee1275/init.c: Likewise.
31753 * kern/main.c: Likewise.
31754 * kern/mm.c: Likewise.
31755 * kern/powerpc/dl.c: Likewise.
31756 * kern/sparc64/dl.c: Likewise.
31757 * kern/x86_64/dl.c: Likewise.
31758 * lib/hexdump.c: Likewise.
31759 * loader/efi/appleloader.c: Likewise.
31760 * loader/i386/ieee1275/linux.c: Likewise.
31761 * loader/i386/pc/chainloader.c: Likewise.
31762 * loader/i386/pc/linux.c: Likewise.
31763 * loader/i386/pc/multiboot2.c: Likewise.
31764 * loader/ieee1275/multiboot2.c: Likewise.
31765 * loader/multiboot2.c: Likewise.
31766 * loader/multiboot_loader.c: Likewise.
31767 * loader/powerpc/ieee1275/linux.c: Likewise.
31768 * normal/completion.c: Likewise.
31769 * normal/menu_entry.c: Likewise.
31770 * partmap/apple.c: Likewise.
31771 * util/grub.d/10_hurd.in: Likewise.
31772 * util/hostfs.c: Likewise.
31773 * video/readers/png.c: Likewise.
31774
31775 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
31776
31777 * include/grub/misc.h (GNUC_PREREQ): New macro.
31778 (ATTRIBUTE_ERROR): New macro.
31779 * include/grub/list.h (grub_bad_type_cast_real): Use
31780 ATTRIBUTE_ERROR.
31781
31782 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31783
31784 * normal/menu_text.c (print_message): Change messages.
31785
31786 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31787
31788 * normal/menu_entry.c (store_completion): Gettextizze.
31789
31790 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31791
31792 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31793
31794 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31795
31796 * po/POTFILES: Sort correctly.
31797
31798 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31799
31800 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31801 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31802 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31803 full stop.
31804 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31805 summary. Gettextizze the strings.
31806 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31807 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31808 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31809 full stop.
31810 (GRUB_MOD_INIT): Remove command name from summary.
31811 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31812 summary.
31813 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31814 * term/i386/pc/serial.c (options): Add full stops.
31815 (GRUB_MOD_INIT): Remove command name from the summary.
31816
31817 2010-01-03 Carles Pina i Estany <carles@pina.cat>
31818
31819 * commands/acpi.c: Gettextizze help strings and/or options. Include
31820 `grub/i18n.h' if needed.
31821 * commands/blocklist.c: Likewise.
31822 * commands/boot.c: Likewise.
31823 * commands/cat.c: Likewise.
31824 * commands/cmp.c: Likewise.
31825 * commands/configfile.c: Likewise.
31826 * commands/crc.c: Likewise.
31827 * commands/date.c: Likewise.
31828 * commands/echo.c: Likewise.
31829 * commands/efi/fixvideo.c: Likewise.
31830 * commands/efi/loadbios.c: Likewise.
31831 * commands/gptsync.c: Likewise.
31832 * commands/halt.c: Likewise.
31833 * commands/handler.c: Likewise.
31834 * commands/hdparm.c: Likewise.
31835 * commands/hexdump.c: Likewise.
31836 * commands/i386/cpuid.c: Likewise.
31837 * commands/i386/pc/drivemap.c: Likewise.
31838 * commands/i386/pc/halt.c: Likewise.
31839 * commands/i386/pc/pxecmd.c: Likewise.
31840 * commands/i386/pc/vbeinfo.c: Likewise.
31841 * commands/i386/pc/vbetest.c: Likewise.
31842 * commands/ieee1275/suspend.c: Likewise.
31843 * commands/keystatus.c: Likewise.
31844 * commands/loadenv.c: Likewise.
31845 * commands/ls.c: Likewise.
31846 * commands/lsmmap.c: Likewise.
31847 * commands/lspci.c: Likewise.
31848 * commands/memrw.c: Likewise.
31849 * commands/minicmd.c: Likewise.
31850 * commands/parttool.c: Likewise.
31851 * commands/password.c: Likewise.
31852 * commands/probe.c: Likewise.
31853 * commands/read.c: Likewise.
31854 * commands/reboot.c: Likewise.
31855 * commands/search.c: Likewise.
31856 * commands/sleep.c: Likewise.
31857 * commands/test.c: Likewise.
31858 * commands/true.c: Likewise.
31859 * commands/usbtest.c: Likewise.
31860 * commands/videotest.c: Likewise.
31861 * commands/xnu_uuid.c: Likewise.
31862 * disk/loopback.c: Likewise.
31863 * hello/hello.c: Likewise.
31864 * loader/i386/bsd.c: Likewise.
31865 * term/i386/pc/serial.c: Likewise.
31866 * po/POTFILES: Add new files.
31867
31868 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
31869
31870 * term/i386/pc/at_keyboard.c
31871 (keyboard_controller_wait_untill_ready): Rename to ...
31872 (keyboard_controller_wait_until_ready): ... this. Update all users.
31873
31874 2010-01-01 Carles Pina i Estany <carles@pina.cat>
31875
31876 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31877 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31878 string using string width.
31879 * normal/menu_text.c (grub_print_message_indented): Use
31880 grub_print_spaces and not print_spaces.
31881 (print_timeout): Likewise.
31882 (print_spaces): Move to...
31883 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31884
31885 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 Import from Gnulib.
31888
31889 * gnulib/getdelim.c: New file.
31890 * gnulib/getline.c: Likewise.
31891
31892 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31893
31894 * include/grub/list.h (grub_assert_fail): Removed.
31895 (grub_bad_type_cast_real): New function.
31896 (grub_bad_type_cast): New macro.
31897 (GRUB_AS_LIST): Use grub_bad_type_cast.
31898 (GRUB_AS_LIST_P): Likewise.
31899 (GRUB_AS_NAMED_LIST): Likewise.
31900 (GRUB_AS_NAMED_LIST_P): Likewise.
31901 (GRUB_AS_PRIO_LIST): Likewise.
31902 (GRUB_AS_PRIO_LIST_P): Likewise.
31903 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
31904
31905 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31906
31907 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31908 Fix syntax error.
31909
31910 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31911
31912 * configure.ac: Check for TARGET_CFLAGS initialization before we
31913 initialize it ourselves (sigh).
31914 Move a few modifications to TARGET_CFLAGS to be unconditional
31915 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31916 eh_frame)
31917
31918 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31919 * term/i386/pc/at_keyboard.c
31920 (keyboard_controller_wait_untill_ready): Likewise.
31921 (keyboard_controller_led): Rename `led_status' paramter to avoid
31922 name conflict.
31923
31924 2009-12-28 Carles Pina i Estany <carles@pina.cat>
31925
31926 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31927 quotes.
31928
31929 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31930
31931 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31932
31933 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31934
31935 * normal/menu_text.c (grub_print_message_indented): Prevent
31936 past-the-end-of-array dereference.
31937
31938 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31939
31940 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31941 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31942
31943 2009-12-27 Carles Pina i Estany <carles@pina.cat>
31944
31945 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31946 * normal/main.c (grub_normal_read_line): Remove a space from the
31947 default prompt.
31948
31949 2009-12-27 Carles Pina i Estany <carles@pina.cat>
31950
31951 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31952 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31953 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31954 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31955 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31956 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31957 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31958
31959 2009-12-26 Carles Pina i Estany <carles@pina.cat>
31960
31961 * video/readers/jpeg.c (cmd): Declare.
31962 (grub_cmd_jpegtest): Use `grub_command_t' type.
31963 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31964 Assign to `cmd'.
31965 (GRUB_MOD_FINI): Use `cmd' to unregister.
31966 * video/readers/png.c (cmd): Declare.
31967 (grub_cmd_pngtest): Use `grub_command_t' type.
31968 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31969 Assign to `cmd'.
31970 (GRUB_MOD_FINI): Use `cmd' to unregister.
31971 * video/readers/tga.c (cmd): Declare.
31972 (grub_cmd_tgatest): Use `grub_command_t' type.
31973 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31974 Assign to `cmd'.
31975 (GRUB_MOD_FINI): Use `cmd' to unregister.
31976
31977 2009-12-26 Carles Pina i Estany <carles@pina.cat>
31978
31979 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31980 stops.
31981 * kern/corecmd.c (grub_register_core_commands): Likewise.
31982 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31983 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31984 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31985 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31986 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31987 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31988 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31989 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31990 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31991 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31992 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31993 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31994 * normal/handler.c (insert_handler): Likewise.
31995 * normal/main.c (GRUB_MOD_INIT): Likewise.
31996 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31997
31998 2009-12-26 Carles Pina i Estany <carles@pina.cat>
31999
32000 * commands/help.c (grub_cmd_help): Print the command name before the
32001 summary.
32002 (GRUB_MOD_INIT): Remove command name from the summary.
32003 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32004 string as summary.
32005 * lib/arg.c (find_long): Print the command name before the summary.
32006 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32007 summary.
32008 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32009 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32010 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32011 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32012 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32013 * commands/date.c (GRUB_MOD_INIT): Likewise.
32014 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32015 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32016 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32017 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32018 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32019 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32020 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32021 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32022 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32023 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32024 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32025 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32026 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32027 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32028 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32029 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32030 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32031 * commands/password.c (GRUB_MOD_INIT): Likewise.
32032 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32033 * commands/read.c (GRUB_MOD_INIT): Likewise.
32034 * commands/search.c (GRUB_MOD_INIT): Likewise.
32035 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32036 * commands/test.c (GRUB_MOD_INIT): Likewise.
32037 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32038 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32039 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32040 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32041 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32042 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32043 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32044 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32045 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32046 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32047 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32048 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32049 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32050 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32051
32052 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32053
32054 Use search command for preliminar UUID search.
32055
32056 * commands/search.c: Split into ...
32057 * commands/search_wrap.c: ...this
32058 * commands/search.c: ...and this.
32059 * commands/search_file.c: New file.
32060 * commands/search_label.c: New file.
32061 * commands/search_uuid.c: New file.
32062 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32063 Add commands/search_wrap.c, commands/search_file.c,
32064 commands/search_label.c and commands/search_uuid.c.
32065 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32066 (search_mod_SOURCES): Set to commands/search_wrap.c.
32067 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32068 search_label.mod.
32069 (search_fs_file_mod_SOURCES): New variable.
32070 (search_fs_file_mod_CFLAGS): Likewise.
32071 (search_fs_file_mod_LDFLAGS): Likewise.
32072 (search_label_mod_SOURCES): Likewise.
32073 (search_label_mod_CFLAGS): Likewise.
32074 (search_label_mod_LDFLAGS): Likewise.
32075 (search_fs_uuid_mod_SOURCES): New variable.
32076 (search_fs_uuid_mod_CFLAGS): Likewise.
32077 (search_fs_uuid_mod_LDFLAGS): Likewise.
32078 (fs_file_mod_SOURCES): Removed.
32079 (fs_file_mod_CFLAGS): Likewise.
32080 (fs_file_mod_LDFLAGS): Likewise.
32081 (fs_uuid_mod_SOURCES): Removed.
32082 (fs_uuid_mod_CFLAGS): Likewise.
32083 (fs_uuid_mod_LDFLAGS): Likewise.
32084 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32085 Set to util/grub-install.in.
32086 * disk/fs_file.c: Removed.
32087 * disk/fs_uuid.c: Likewise.
32088 * include/grub/search.h: New file.
32089 * util/grub-install.in: Handle sparc64.
32090 Create and use load.cfg.
32091 * util/sparc64/ieee1275/grub-install.in: Removed.
32092
32093 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32094
32095 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32096 Ignore return status if CF is cleared.
32097 (grub_biosdisk_get_diskinfo_standard): Likewise.
32098
32099 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32100
32101 * term/i386/pc/at_keyboard.c
32102 (keyboard_controller_wait_untill_ready): New function.
32103 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32104 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32105 for keyboard polling, rather than duplicate the same loop. This
32106 saves a few bytes in code size.
32107
32108 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32109
32110 Support for (pxe[:server[:gateway]]) syntax and
32111 use environment variable for PXE.
32112
32113 * commands/i386/pc/pxecmd.c (options): Removed.
32114 (print_ip): Removed.
32115 (grub_cmd_pxe): Removed
32116 (grub_cmd_pxe_unload): New function.
32117 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32118 (grub_pxe_your_ip): Made static.
32119 (grub_pxe_default_server_ip): Likewise.
32120 (grub_pxe_default_gateway_ip): Likewise.
32121 (grub_pxe_blksize): Likewise.
32122 (parse_ip): New function.
32123 (grub_pxe_open): Support server and gateway specification.
32124 (grub_pxe_close): Free disk->data.
32125 (grub_pxefs_open): Use disk->data.
32126 (grub_pxefs_read): Likewise.
32127 (grub_env_write_readonly): New function.
32128 (set_mac_env): Likewise.
32129 (set_env_limn_ro): Likewise.
32130 (parse_dhcp_vendor): Likewise.
32131 (grub_pxe_detect): Set the environment variables.
32132 (set_ip_env): New function.
32133 (write_ip_env): Likewise.
32134 (grub_env_write_pxe_default_server): Likewise.
32135 (grub_env_write_pxe_default_gateway): Likewise.
32136 (grub_env_write_pxe_blocksize): Likewise.
32137 (GRUB_MOD_INIT(pxe)): Set environment variables.
32138 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32139 (grub_pxe_mac_addr_t): ... this. All users updated.
32140 (grub_pxe_your_ip): Removed.
32141 (grub_pxe_server_ip): Likewise.
32142 (grub_pxe_gateway_ip): Likewise.
32143 (grub_pxe_blksize): Likewise.
32144
32145 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32146
32147 * commands/help.c: Include `<grub/i18n.h>'.
32148 (grub_cmd_help): Gettextizze.
32149 (GRUB_MOD_INIT): Likewise.
32150 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32151 (GRUB_MOD_INIT): Gettextizze.
32152 * commands/search.c: Include `<grub/i18n.h>'.
32153 (options): Gettextizze.
32154 (GRUB_MOD_INIT): Gettextizze.
32155 * lib/arg.c: Include `<grub/i18n.h>'.
32156 (help_options): Gettextizze.
32157 (find_long): Likewise.
32158 (grub_arg_show_help): Likewise.
32159 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32160 (read_command_list): Gettextizze.
32161 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
32162 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
32163
32164 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32165
32166 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32167 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32168 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32169 (led_status): New variable.
32170 (keyboard_controller_led): New function.
32171 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32172 update led status for caps lock, num lock and scroll lock.
32173
32174 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
32175
32176 * util/hostdisk.c (open_device): Fix a comment.
32177
32178 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32179
32180 * util/grub-install.in (host_os): New variable.
32181 * util/i386/efi/grub-install.in (host_os): Likewise.
32182
32183 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32184
32185 * util/mkisofs/write.c (padblock_write): Abort when given an
32186 excedingly large embed image, instead of silently truncating it.
32187
32188 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32189
32190 * include/multiboot.h: Indentation fixes.
32191
32192 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32193
32194 * include/multiboot.h (struct multiboot_aout_symbol_table)
32195 (struct multiboot_elf_section_header_table): New structure
32196 declarations (stolen from GRUB Legacy).
32197 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32198 table information.
32199
32200 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32201 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32202 type aliases.
32203
32204 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * include/multiboot.h: Make comments src2texi-friendly.
32207
32208 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32209
32210 For consistency with [multiboot]/docs/boot.S.
32211
32212 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32213 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32214 (MULTIBOOT_MAGIC2): Rename from this ...
32215 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32216
32217 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 * include/multiboot.h: Remove `<grub/types.h>'.
32220 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32221 types. Update all users.
32222
32223 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32224
32225 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32226 `couldn't' and `can not' by `cannot'.
32227 * commands/i386/pc/drivemap.c: Likewise.
32228 * disk/ata.c: Likewise.
32229 * disk/ieee1275/nand.c: Likewise.
32230 * fs/affs.c: Likewise.
32231 * fs/fat.c: Likewise.
32232 * fs/hfs.c: Likewise.
32233 * fs/hfsplus.c: Likewise.
32234 * fs/iso9660.c: Likewise.
32235 * fs/jfs.c: Likewise.
32236 * fs/minix.c: Likewise.
32237 * fs/reiserfs.c: Likewise.
32238 * fs/sfs.c: Likewise.
32239 * fs/udf.c: Likewise.
32240 * fs/ufs.c: Likewise.
32241 * fs/xfs.c: Likewise.
32242 * loader/powerpc/ieee1275/linux.c: Likewise.
32243 * loader/sparc64/ieee1275/linux.c: Likewise.
32244 * util/grub-probe.c: Likewise.
32245 * util/misc.c: Likewise.
32246
32247 2009-12-24 Carles Pina i Estany <carles@pina.cat>
32248
32249 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32250 grub_errno calls.
32251 * commands/acpi.c: Likewise.
32252 * commands/blocklist.c: Likewise.
32253 * commands/efi/loadbios.c: Likewise.
32254 * commands/i386/pc/drivemap.c: Likewise.
32255 * commands/loadenv.c: Likewise.
32256 * commands/memrw.c: Likewise.
32257 * commands/password.c: Likewise.
32258 * commands/videotest.c: Likewise.
32259 * disk/ata.c: Likewise.
32260 * disk/ata_pthru.c: Likewise.
32261 * disk/dmraid_nvidia.c: Likewise.
32262 * disk/ieee1275/nand.c: Likewise.
32263 * disk/ieee1275/ofdisk.c: Likewise.
32264 * disk/loopback.c: Likewise.
32265 * disk/lvm.c: Likewise.
32266 * disk/mdraid_linux.c: Likewise.
32267 * disk/raid.c: Likewise.
32268 * disk/raid6_recover.c: Likewise.
32269 * disk/scsi.c: Likewise.
32270 * efiemu/main.c: Likewise.
32271 * efiemu/mm.c: Likewise.
32272 * efiemu/pnvram.c: Likewise.
32273 * efiemu/symbols.c: Likewise.
32274 * font/font.c: Likewise.
32275 * fs/cpio.c: Likewise.
32276 * fs/hfsplus.c: Likewise.
32277 * fs/iso9660.c: Likewise.
32278 * fs/jfs.c: Likewise.
32279 * fs/minix.c: Likewise.
32280 * fs/ntfs.c: Likewise.
32281 * fs/ntfscomp.c: Likewise.
32282 * fs/reiserfs.c: Likewise.
32283 * fs/ufs.c: Likewise.
32284 * fs/xfs.c: Likewise.
32285 * gettext/gettext.c: Likewise.
32286 * include/grub/auth.h: Likewise.
32287 * kern/elf.c: Likewise.
32288 * kern/file.c: Likewise.
32289 * kern/ieee1275/init.c: Likewise.
32290 * kern/ieee1275/mmap.c: Likewise.
32291 * kern/ieee1275/openfw.c: Likewise.
32292 * kern/powerpc/dl.c: Likewise.
32293 * kern/sparc64/dl.c: Likewise.
32294 * lib/arg.c: Likewise.
32295 * loader/i386/bsd.c: Likewise.
32296 * loader/i386/bsdXX.c: Likewise.
32297 * loader/i386/efi/linux.c: Likewise.
32298 * loader/i386/efi/xnu.c: Likewise.
32299 * loader/i386/ieee1275/linux.c: Likewise.
32300 * loader/i386/linux.c: Likewise.
32301 * loader/i386/multiboot.c: Likewise.
32302 * loader/i386/pc/linux.c: Likewise.
32303 * loader/i386/pc/multiboot2.c: Likewise.
32304 * loader/i386/xnu.c: Likewise.
32305 * loader/ieee1275/multiboot2.c: Likewise.
32306 * loader/macho.c: Likewise.
32307 * loader/machoXX.c: Likewise.
32308 * loader/multiboot2.c: Likewise.
32309 * loader/multiboot_loader.c: Likewise.
32310 * loader/powerpc/ieee1275/linux.c: Likewise.
32311 * loader/sparc64/ieee1275/linux.c: Likewise.
32312 * loader/xnu.c: Likewise.
32313 * loader/xnu_resume.c: Likewise.
32314 * mmap/i386/pc/mmap.c: Likewise.
32315 * normal/menu_viewer.c: Likewise.
32316 * partmap/acorn.c: Likewise.
32317 * partmap/amiga.c: Likewise.
32318 * partmap/apple.c: Likewise.
32319 * script/lexer.c: Likewise.
32320 * term/gfxterm.c: Likewise.
32321 * term/i386/pc/serial.c: Likewise.
32322 * term/i386/pc/vga.c: Likewise.
32323 * term/ieee1275/ofconsole.c: Likewise.
32324 * term/terminfo.c: Likewise.
32325 * video/bitmap.c: Likewise.
32326 * video/efi_gop.c: Likewise.
32327 * video/efi_uga.c: Likewise.
32328 * video/fb/video_fb.c: Likewise.
32329 * video/i386/pc/vbe.c: Likewise.
32330 * video/readers/tga.c: Likewise.
32331 * video/video.c: Likewise.
32332
32333 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
32334
32335 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32336 * commands/lspci.c: Likewise.
32337 * commands/probe.c: Likewise.
32338 * commands/xnu_uuid.c: Likewise.
32339 * conf/i386-coreboot.rmk: Likewise.
32340 * conf/i386-efi.rmk: Likewise.
32341 * conf/i386-ieee1275.rmk: Likewise.
32342 * conf/i386-pc.rmk: Likewise.
32343 * conf/powerpc-ieee1275.rmk: Likewise.
32344 * conf/sparc64-ieee1275.rmk: Likewise.
32345 * conf/x86_64-efi.rmk: Likewise.
32346 * fs/i386/pc/pxe.c: Likewise.
32347 * gettext/gettext.c: Likewise.
32348 * include/grub/efi/graphics_output.h: Likewise.
32349 * include/grub/i386/pc/memory.h: Likewise.
32350 * kern/env.c: Likewise.
32351 * kern/i386/qemu/startup.S: Likewise.
32352 * lib/i386/pc/biosnum.c: Likewise.
32353 * lib/i386/relocator.c: Likewise.
32354 * lib/i386/relocator_asm.S: Likewise.
32355 * lib/relocator.c: Likewise.
32356 * loader/i386/bsd.c: Likewise.
32357 * loader/i386/multiboot.c: Likewise.
32358 * loader/i386/pc/chainloader.c: Likewise.
32359 * loader/i386/xnu.c: Likewise.
32360 * loader/xnu.c: Likewise.
32361 * normal/main.c: Likewise.
32362 * normal/menu_text.c: Likewise.
32363 * util/getroot.c: Likewise.
32364 * util/grub-mkconfig_lib.in: Likewise.
32365 * util/grub.d/00_header.in: Likewise.
32366 * util/i386/pc/grub-mkimage.c: Likewise.
32367 * util/mkisofs/eltorito.c: Likewise.
32368 * util/mkisofs/exclude.h: Likewise.
32369 * util/mkisofs/hash.c: Likewise.
32370 * util/mkisofs/iso9660.h: Likewise.
32371 * util/mkisofs/joliet.c: Likewise.
32372 * util/mkisofs/mkisofs.c: Likewise.
32373 * util/mkisofs/mkisofs.h: Likewise.
32374 * util/mkisofs/multi.c: Likewise.
32375 * util/mkisofs/name.c: Likewise.
32376 * util/mkisofs/rock.c: Likewise.
32377 * util/mkisofs/tree.c: Likewise.
32378 * util/mkisofs/write.c: Likewise.
32379 * video/efi_gop.c: Likewise.
32380
32381 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32382
32383 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32384 size counting.
32385
32386 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32387
32388 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32389 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32390
32391 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32392
32393 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32394 (GRUB_MOD_INIT(memrw)): Update help line.
32395
32396 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32397
32398 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32399 Use grub_extcmd_t. All users updated.
32400 (options): New variable.
32401 (grub_cmd_read): Restructure for readability. Support "-v" option.
32402 (grub_cmd_write): Restructure for readability.
32403
32404 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32405
32406 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32407
32408 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32409
32410 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32411 with the actual contents of the correspondending make variable.
32412 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32413 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32414 specifying `*.lst' and `efiemu??.o'
32415
32416 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32417
32418 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32419 after function name.
32420 Noticed by Rene Engelhard <rene@debian.org>.
32421
32422 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32423
32424 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32425 (options): New variable.
32426 (iospace): Likewise.
32427 (grub_lspci_iter): List IO spaces if "-i" was given.
32428 (grub_cmd_lspci): Parse options.
32429 (GRUB_MOD_INIT(lspci)): Use extcmd.
32430 (GRUB_MOD_FINI(lspci)): Likewise.
32431
32432 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32433
32434 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32435 `function' keyword.
32436 Patch by Tony Mancill <tmancill@debian.org>.
32437
32438 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32439
32440 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32441 (grub_uhci_portstatus): Likewise.
32442 (grub_uhci_portstatus): Add necessary delay.
32443 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
32444
32445 2009-12-21 Carles Pina i Estany <carles@pina.cat>
32446
32447 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32448 (GRUB_MOD_INIT): Likewise.
32449 * commands/boot.c (GRUB_MOD_INIT): Likewise.
32450 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32451 * commands/echo.c (options): Fix capitalizations and/or full stops.
32452 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32453 (enable_rom_area): Likewise.
32454 (GRUB_MOD_INIT): Likewise.
32455 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32456 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32457 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32458 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32459 * commands/hexdump.c (options): Likewise.
32460 * commands/i386/cpuid.c (options): Likewise.
32461 (GRUB_MOD_INIT): Likewise.
32462 * commands/i386/pc/drivemap.c (options): Likewise.
32463 (GRUB_MOD_INIT): Likewise.
32464 * commands/i386/pc/halt (options): Likewise.
32465 (GRUB_MOD_INIT): Likewise.
32466 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32467 * commands/i386/pc/pxecmd.c (options): Likewise.
32468 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32469 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32470 * commands/keystatus.c (options): Likewise.
32471 (GRUB_MOD_INIT): Likewise.
32472 * commands/loadenv.c (options): Likewise.
32473 * commands/ls.c (options): Likewise.
32474 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32475 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32476 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32477 * commands/parttool.c (helpmsg): Likewise.
32478 * commands/probe.c (options): Likewise.
32479 * commands/read.c (GRUB_MOD_INIT): Likewise.
32480 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32481 * commands/search.c (options): Likewise.
32482 * commands/sleep.c (options): Likewise.
32483 * commands/test.c (GRUB_MOD_INIT): Likewise.
32484 * commands/true.c (GRUB_MOD_INIT): Likewise.
32485 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32486 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32487 * lib/arg.c (help_options): Likewise.
32488 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32489 `$(XGETTEXT)'.
32490 * po/POTFILES: Add `commands/loadenv.c'.
32491
32492 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
32493
32494 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
32495 instead of specifying them explicit.
32496
32497 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32498
32499 * NEWS: Add grub-probe support for GNU/Hurd.
32500
32501 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32502
32503 * NEWS: gettext was added after 1.97.
32504
32505 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32506
32507 * util/mkisofs/msdos_partition.h: New file (based on
32508 include/grub/msdos_partition.h).
32509 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32510 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32511 (ld_options, main): Recognize --protective-msdos-label.
32512 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32513 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32514 (padblock_write): If `use_protective_msdos_label' is set, patch a
32515 protective DOS-style label in the output image.
32516
32517 * util/grub-mkrescue.in: Use --protective-msdos-label.
32518
32519 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32520
32521 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32522 boot.
32523
32524 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32525
32526 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32527 variables.
32528 (ld_options, main): Recognize `--embedded-boot'.
32529 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32530 declarations.
32531 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32532 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32533 (padblock_write): Likewise. Rewrite to support embedded boot image.
32534
32535 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32536 for BIOS-based disk boot instead of only ElTorito.
32537
32538 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32539
32540 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32541 build (not needed for bootstrap).
32542
32543 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32544
32545 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32546 from i386-pc build (not needed for bootstrap).
32547 Rewrite a pair of strings.
32548
32549 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32550
32551 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32552
32553 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
32554
32555 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32556
32557 2009-12-21 Andreas Born <futur.andy@googlemail.com>
32558
32559 * kern/env.c (grub_env_context_open): Mark exported variable for
32560 reexport.
32561
32562 2009-12-21 Andreas Born <futur.andy@googlemail.com>
32563
32564 * kern/env.c (grub_env_export): Create nonexistent variables before
32565 exporting.
32566
32567 2009-12-20 Carles Pina i Estany <carles@pina.cat>
32568
32569 * include/grub/auth.h: Include `<grub/i18n.h>'.
32570 (GRUB_GET_PASSWORD): Gettextizze string.
32571 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32572 menu_text.c.
32573 (grub_utf8_to_ucs4_alloc): Fix indentation.
32574 (grub_print_ucs4): Likewise.
32575 (grub_getstringwidth): Likewise.
32576 (print_message_indented): New declaration.
32577 * normal/auth.c: Include `<grub/i18n.h>'.
32578 (grub_auth_check_authentication): Gettexttize string.
32579 * normal/cmdline.c: Include `<grub/i18n.h>'.
32580 (grub_cmdline_get): Gettextizze.
32581 * normal/color.c: Include `<grub/i18n.h>'.
32582 (grub_parse_color_name_pair): Gettexttize strings.
32583 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32584 string (use `print_message_indented').
32585 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32586 `include/grub/normal.h'.
32587 (print_message_indented): Renamed to ...
32588 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32589 used in normal/main.c).
32590 (print_message): Use `grub_print_message_indented' instead of
32591 `print_message_indented'.
32592 (print_timeout): Likewise.
32593 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32594 (grub_normal_print_device_info): Gettexttize strings.
32595 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32596
32597 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32598
32599 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32600 of arguments. Return number of tokens and not arguments. All users
32601 updated.
32602
32603 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32604
32605 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32606 non-MSDOS paritions.
32607
32608 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32609
32610 * include/grub/types.h (UNUSED): Removed since it conflicts with
32611 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32612 Reported by Grégoire Sutre.
32613
32614 2009-12-19 Carles Pina i Estany <carles@pina.cat>
32615
32616 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32617 (grub_print_ucs4_alloc): Likewise.
32618 (grub_getstringwidth): Likewise.
32619 * normal/main.c (grub_normal_init_page): Gettextize version string.
32620 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32621 (getstringwidth): Renamed to ...
32622 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32623 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32624 (grub_print_ucs4): Remove `static' qualifer (now used in
32625 normal/main.c).
32626 * po/POTFILES: Add normal/main.c.
32627
32628 2009-12-19 Carles Pina i Estany <carles@pina.cat>
32629
32630 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32631 (print_message_indented): Add `margin_left' and `margin_right'
32632 parameters.
32633 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32634 strings.
32635 (print_timeout): Use `print_message_indented' to print the message.
32636 Deletes `second_stage' parameter.
32637 (run_menu): Update `print_timeout' calls.
32638
32639 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32640
32641 Fix console palette on OpenFirmware.
32642
32643 * term/ieee1275/ofconsole.c (MAX): Removed.
32644 (colors): Redone based on VGA palette.
32645 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32646 colors are supported.
32647 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32648
32649 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 Fix potential EfiEmu double prepare.
32652
32653 * efiemu/main.c (prepared): New variable
32654 (grub_efiemu_unload): Set prepare to '0'.
32655 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32656
32657 set_virtual_address_map support.
32658
32659 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32660 prototype.
32661 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32662 prototype.
32663 (grub_efiemu_crc32): Likewise.
32664 (grub_efiemu_crc64): Likewise.
32665 (grub_efiemu_set_virtual_address_map): Likewise.
32666 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32667 New definition.
32668 (grub_autoefi_set_virtual_address_map): Likewise.
32669 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32670 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32671 Restructure flow to accomodate it.
32672 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32673 (grub_efiemu_crc): Recompute CRC32.
32674 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32675 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32676 * efiemu/symbols.c (relocated_handle): New variable.
32677 (grub_efiemu_free_syms): Free relocated_handle.
32678 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32679 (grub_efiemu_write_sym_markers): New function.
32680 (grub_efiemu_set_virtual_address_map): Likewise.
32681
32682 Newer XNU parameters.
32683
32684 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32685 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32686 (grub_xnu_fill_devicetree): New prototype.
32687 (grub_xnu_heap_real_start): New variable.
32688 * loader/xnu.c (get_name_ptr): New function.
32689 (grub_xnu_load_driver): Fill namelen and name.
32690
32691 64-bit xnu support.
32692
32693 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32694 and 'loader/macho64.c'.
32695 * conf/i386-pc.rmk: Likewise.
32696 * conf/x86_64-efi.rmk: Likewise.
32697 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32698 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32699 * include/grub/macho.h (grub_macho_segment64): New structure.
32700 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32701 (grub_macho_size32): ... to this.
32702 (grub_macho32_get_entry_point): Renamed from ...
32703 (grub_macho_get_entry_point32): ... to this.
32704 (grub_macho_contains_macho64): New prototype.
32705 (grub_macho_size64): Likewise.
32706 (grub_macho_get_entry_point64): Likewise.
32707 (grub_macho32_load): Renamed from ...
32708 (grub_macho_load32): ... to this.
32709 (grub_macho32_filesize): Renamed from ...
32710 (grub_macho_filesize32): ... to this.
32711 (grub_macho32_readfile): Renamed from ...
32712 (grub_macho_readfile32): ... to this.
32713 (grub_macho_filesize64): New prototype.
32714 (grub_macho_readfile64): Likewise.
32715 (grub_macho_parse32): Likewise.
32716 (grub_macho_parse64): Likewise.
32717 * loader/macho.c: Split into ...
32718 * loader/machoXX.c: ... and this. Replace 32 with XX.
32719 * loader/macho32.c: New file.
32720 * loader/macho64.c: Likewise.
32721 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32722 (grub_cmd_xnu_kernel): Make 32-bit only.
32723 (grub_cmd_xnu_kernel64): New function.
32724 (grub_xnu_load_driver): Support Mach-O 64.
32725 (grub_cmd_xnu_mkext): Likewise.
32726 * util/grub.d/30_os-prober.in (osx_entry): New function.
32727 Generate entries for 64-bit boot too.
32728
32729 Eliminate ad-hoc tree format in XNU and EfiEmu.
32730
32731 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32732 * efiemu/pnvram.c: Rewritten to use environment variables.
32733 All users updated.
32734
32735 Inline utf16_to_utf8.
32736
32737 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32738 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32739 All users updated.
32740 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32741
32742 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32743 * commands/usbtest.c (grub_usb_get_string): ... move here.
32744 (usb_print_str): Fix error handling.
32745 * include/grub/usb.h (grub_usb_get_string): Remove.
32746
32747 UTF-8 to UTF-16 transformation.
32748
32749 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32750 (charset_mod_SOURCES): New variable.
32751 (charset_mod_CFLAGS): Likewise.
32752 (charset_mod_LDFLAGS): Likewise.
32753 * include/grub/utf.h: New file.
32754 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32755
32756 Support for device properties.
32757
32758 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32759 (grub_xnu_devprop_device_header): Likewise.
32760 (grub_xnu_devprop_device_descriptor): Likewise.
32761 (grub_xnu_devprop_add_device): New prototype.
32762 (grub_xnu_devprop_remove_device): Likewise.
32763 (grub_xnu_devprop_remove_property): Likewise.
32764 (grub_xnu_devprop_add_property_utf8): Likewise.
32765 (grub_xnu_devprop_add_property_utf16): Likewise.
32766 (grub_cpu_xnu_init): Likewise.
32767 (grub_cpu_xnu_fini): Likewise.
32768 (grub_cpu_xnu_unload): Likewise.
32769 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32770 (property_descriptor): Likewise.
32771 (devices): New variable.
32772 (grub_xnu_devprop_remove_property): New function.
32773 (grub_xnu_devprop_add_device): Likewise.
32774 (grub_xnu_devprop_remove_device): Likewise.
32775 (grub_xnu_devprop_add_property): Likewise.
32776 (grub_xnu_devprop_add_property_utf8): Likewise.
32777 (grub_xnu_devprop_add_property_utf16): Likewise.
32778 (hextoval): Likewise.
32779 (grub_cpu_xnu_fill_devprop): Likewise.
32780 (grub_cmd_devprop_load): Likewise.
32781 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32782 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32783 (cmd_devprop_load): New variable.
32784 (grub_cpu_xnu_init): New function.
32785 (grub_cpu_xnu_fini): Likewise.
32786 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32787 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32788 (grub_cmd_xnu_devtree): Likewise.
32789 (hextoval): New function.
32790 (unescape): Likewise.
32791 (grub_xnu_fill_devicetree): Likewise.
32792
32793 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32794 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32795
32796 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32797
32798 Workaround for broken ATI VBE.
32799
32800 * video/i386/pc/vbe.c (last_set_mode): New variable.
32801 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32802 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32803 (grub_video_vbe_setup): Don't check for reserved flag.
32804
32805 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
32806
32807 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32808 the `find' command.
32809
32810 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32811
32812 UUID support for HFS.
32813
32814 * fs/hfs.c (grub_hfs_uuid): New function.
32815 (grub_hfs_fs): New value .uuid.
32816 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32817
32818 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
32819
32820 Fix a segfault with parsing unknown long options.
32821
32822 * util/grub-mkrelpath.c (options): Zero terminate it.
32823
32824 2009-12-13 Carles Pina i Estany <carles@pina.cat>
32825
32826 * include/grub/misc.h (grub_puts): New declaration.
32827 (grub_puts_): Likewise.
32828 * kern/misc.c (grub_puts): New definition.
32829 (grub_puts_): Likewise.
32830
32831 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32832
32833 * util/grub-probe.c (probe): Improve error message.
32834
32835 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * loader/i386/multiboot_elfxx.c
32838 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32839 initialization.
32840
32841 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32842
32843 Relocator framework
32844
32845 * loader/i386/xnu_helper.S: Removed. All users updated.
32846 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32847 (relocator_mod_SOURCES): New variable.
32848 (relocator_mod_CFLAGS): Likewise.
32849 (relocator_mod_LDFLAGS): Likewise.
32850 (relocator_mod_ASFLAGS): Likewise.
32851 * conf/x86_64.rmk: Likewise.
32852 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32853 (grub_multiboot_payload_entry_offset): Likewise.
32854 (grub_multiboot_forward_relocator): Likewise.
32855 (grub_multiboot_forward_relocator_end): Likewise.
32856 (grub_multiboot_backward_relocator): Likewise.
32857 (grub_multiboot_backward_relocator_end): Likewise.
32858 (grub_multiboot_payload_eip): New variable.
32859 (grub_multiboot_payload_orig): Likewise.
32860 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32861 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32862 * include/grub/i386/memory.h
32863 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32864 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32865 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32866 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32867 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32868 * include/grub/i386/relocator.h: New file.
32869 * include/grub/x86_64/relocator.h: Likewise.
32870 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32871 (XNU_RELOCATOR): New macro.
32872 (grub_xnu_launcher_start): Remove.
32873 (grub_xnu_launcher_end): Likewise.
32874 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32875 (grub_xnu_heap_real_start): Remove.
32876 (grub_xnu_heap_start): Change to void *. All users updated.
32877 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32878 * lib/i386/relocator.c: New file.
32879 * lib/i386/relocator_asm.S: Likewise.
32880 * lib/i386/relocator_backward.S: Likewise.
32881 * lib/mips/relocator.c: Likewise.
32882 * lib/mips/relocator_asm.S: Likewise.
32883 * lib/relocator.c: Likewise.
32884 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32885 (entry): Removed.
32886 (playground): Likewise.
32887 (grub_multiboot_payload_orig): New variable.
32888 (grub_multiboot_payload_dest): Likewise.
32889 (grub_multiboot_payload_size): Likewise.
32890 (grub_multiboot_payload_eip): Likewise.
32891 (grub_multiboot_payload_esp): Likewise.
32892 (grub_multiboot_boot): Use grub_relocator32_boot.
32893 (grub_multiboot_unload): Free relocators.
32894 (grub_multiboot): Setup stack. Use relocators.
32895 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32896 (grub_multiboot_load_elfXX): Use relocators.
32897 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32898 (grub_multiboot_payload_size): Likewise.
32899 (grub_multiboot_payload_dest): Likewise.
32900 (grub_multiboot_payload_entry_offset): Likewise.
32901 (grub_multiboot_forward_relocator): Likewise.
32902 (grub_multiboot_backward_relocator): Likewise.
32903 (grub_multiboot_real_boot): Likewise.
32904 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32905 (grub_xnu_entry_point): Likewise.
32906 (grub_xnu_arg1): Likewise.
32907 (grub_xnu_stack): Likewise.
32908 (grub_xnu_launch): Removed.
32909 (grub_xnu_boot_resume): New function.
32910 (grub_xnu_boot): Use relocators.
32911 * loader/i386/xnu_helper.S: Removed.
32912 * loader/xnu.c (grub_xnu_heap_start): New variable.
32913 (grub_xnu_heap_size): Likewise.
32914 (grub_xnu_heap_malloc): Use relocators.
32915 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32916
32917 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32918
32919 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32920 anything.
32921
32922 2009-12-13 Carles Pina i Estany <carles@pina.cat>
32923
32924 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32925 GRUB_ERR_NONE before calling grub_env_set.
32926
32927 2009-12-12 Robert Millan <rmh@aybabtu.com>
32928
32929 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32930 * genmk.rb (video): New variable.
32931 (CLEANFILES, VIDEOFILES): Add #{video}.
32932 (#{video}): New target rule.
32933 * genvideolist.sh: New file.
32934 * Makefile.in (pkglib_DATA): Add video.lst.
32935 (video.lst): New target rule.
32936 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32937 `video.lst'.
32938 * util/grub.d/30_os-prober.in: Replace `vbe' with
32939 ${GRUB_VIDEO_BACKEND}.
32940
32941 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32942
32943 * THANKS: Add David Miller.
32944
32945 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32946
32947 libpciaccess support.
32948
32949 * Makefile.in (LIBPCIACCESS): New variable.
32950 (enable_grub_emu_pci): Likewise.
32951 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32952 util/pci.c and commands/lspci.c.
32953 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32954 * configure.ac (grub-emu-pci): New option.
32955 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32956 (grub_pci_device_unmap_range): Likewise.
32957 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32958 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32959 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32960 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32961 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32962 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32963 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32964 * include/grub/pciutils.h: New file.
32965 * util/pci.c: Likewise.
32966
32967 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
32968
32969 * util/misc.c: Don't include <errno.h> twice.
32970
32971 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
32972
32973 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32974 name in an error message.
32975 (grub_biosdisk_rw): Likewise.
32976
32977 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32978
32979 Eliminate NTFS 4Gib barrier.
32980
32981 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32982 (read_run_data): Likewise.
32983 (grub_ntfs_read_run_list): Likewise.
32984 (grub_ntfs_read_block): Likewise.
32985 (grub_ntfs_iterate_dir): Likewise.
32986 (read_mft): Likewise.
32987 (read_data): Likewise.
32988 Use COM_LOG_LEN.
32989 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32990 to avoid 64-bit division
32991 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32992 (grub_ntfs_rlst): Use grub_disk_addr_t.
32993
32994 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32995
32996 Eliminate grub-fstest 4Gib barrier.
32997
32998 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32999 (read_file): Fix error reporting.
33000
33001 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33002
33003 Eliminate hexdump 4Gib barrier.
33004
33005 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33006 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33007
33008 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33009
33010 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33011 Fixes amarsh bug.
33012
33013 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33014
33015 Remove miscellaneous files in distclean target.
33016
33017 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33018
33019 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33020
33021 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33022 if they're already set. This resolves the conflict between my
33023 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33024 fixing the --grub-probe option again.
33025 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33026 change on 2009-10-06, so that we now once again source
33027 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33028
33029 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33030
33031 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33032 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33033 `util/devicemap.c'.
33034
33035 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33036
33037 * include/grub/misc.h (grub_printf_): New declaration.
33038 * kern/misc.c (grub_printf_): New definition.
33039 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33040 instead of `grub_printf' and `_'.
33041 * normal/menu_entry.c (store_completion): Likewise.
33042 (run): Likewise.
33043 (grub_menu_entry_run): Likewise.
33044 * normal/menu_text.c (grub_wait_after_message): Likewise.
33045 (notify_booting): Likewise.
33046 (notify_fallback): Likewise.
33047 (notify_execution_failure): Likewise.
33048
33049 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33050
33051 * configure.ac: Check for vasprintf.
33052 * util/misc.c (asprintf): Move allocation from here ...
33053 (vasprintf): ... to here. New function.
33054 (xasprintf): New function.
33055 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33056 prototypes.
33057 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33058 * util/grub-mkfont.c (write_font): Likewise.
33059 * util/grub-probe.c (probe): Likewise.
33060 * util/hostdisk.c (make_device_name): Likewise.
33061
33062 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33063
33064 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33065 anything even prefixed with 'cdrom' as a cdrom.
33066
33067 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33068
33069 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33070 mount points.
33071
33072 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33073
33074 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33075 grub_gettext_msg_list.
33076 (grub_gettext_gettranslation_from_position): Return const char *
33077 and not char *.
33078 (grub_gettext_translate): Add the translated strings into a list,
33079 returns from the list if existing there.
33080 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33081 (grub_gettext_delete_list): Delete the list.
33082 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33083 lang environment variable is changed.
33084 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33085
33086 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33087
33088 Rename kernel.mod to kernel.img.
33089
33090 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33091 (kernel_mod_EXPORTS): Rename to ...
33092 (kernel_img_EXPORTS): ... this.
33093 (kernel_mod_SOURCES): Rename to ...
33094 (kernel_img_SOURCES): ... this.
33095 (kernel_mod_HEADERS): Rename to ...
33096 (kernel_img_HEADERS): ... this. All users updated.
33097 (kernel_mod_CFLAGS): Rename to ...
33098 (kernel_img_CFLAGS): ... this.
33099 (kernel_mod_ASFLAGS): Rename to ...
33100 (kernel_img_ASFLAGS): ... this.
33101 (kernel_mod_LDFLAGS): Rename to ...
33102 (kernel_img_LDFLAGS): ... this.
33103 * conf/x86_64-efi.rmk: Likewise.
33104 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33105 (read_kernel_image): ... this. All users updated.
33106 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33107
33108 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33109
33110 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33111 (print_spaces): New function.
33112 (grub_print_ucs4): New function.
33113 (getstringwidth): New function.
33114 (print_message_indented): New function.
33115 (print_message): Gettexttize strings using print_message_indented.
33116 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33117 width.
33118 (get_entry_number): Gettextize and uses dynamic terminal width.
33119 (notify_booting, notify_fallback, notify_execution_failure):
33120 Gettextize.
33121 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33122 string.
33123 (run): Likewise.
33124 (grub_menu_entry_run): Likewise.
33125 * PO/POTFILES: Add normal/menu_entry.c.
33126
33127 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33128
33129 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33130
33131 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33132
33133 * util/grub-install.in: Install gettext .mo files.
33134 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33135
33136 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33137
33138 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33139 grub_dprintf.
33140
33141 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33142
33143 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33144 non-firmware-dependant one in realmode.S takes precedence.
33145
33146 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33147
33148 * commands/halt.c: Replace misc arch-specific headers with
33149 `<grub/misc.h>'.
33150 * commands/reboot.c: Likewise.
33151 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33152 `<grub/misc.h>'.
33153 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33154 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33155 (kernel_img_SOURCES): ... to here.
33156
33157 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33158 * include/grub/i386/pc/init.h: Likewise.
33159 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33160 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33161
33162 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33163
33164 * include/grub/i386/halt.h: Remove.
33165 * include/grub/i386/reboot.h: Likewise.
33166
33167 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33168
33169 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
33170
33171 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33172 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33173 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33174 "progname.h"
33175 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33176 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33177 (usage): Add missing comma in printf.
33178
33179 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33180
33181 Use the same reboot approach on i386 coreboot and qemu as we do on
33182 BIOS.
33183
33184 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33185 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33186 * kern/i386/reboot.c: Remove.
33187 * include/grub/i386/reboot.h (grub_reboot): Export function.
33188 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33189 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33190 0xf000:0xfff0 instead of 0xffff:0x0000.
33191 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33192 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33193
33194 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33195
33196 Fix $srcdir != $objdir build.
33197
33198 * Makefile.in (po/%.po): Rewrite as ...
33199 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33200
33201 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33202
33203 Fix GNU/Hurd grub-install crash.
33204 * util/grub-probe.c (probe): Try to access `path' only when it is not
33205 NULL.
33206
33207 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33208
33209 Correct module naming.
33210
33211 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33212 (GRUB_MOD_INIT(efi_uga)): ... to this
33213 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33214 (GRUB_MOD_FINI(efi_uga)): ... to this
33215 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33216 (GRUB_MOD_INIT(efi_gop)): ... to this
33217 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33218 (GRUB_MOD_FINI(efi_gop)): ... to this
33219
33220 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33221
33222 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33223 translatable.
33224 (usage): Translate `arg' strings using gettext().
33225 Thanks to Jordi Mallach for the suggestion.
33226
33227 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33228
33229 GOP support. Based on patch from Bean
33230 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33231
33232 * video/efi_gop.c: New file.
33233 * include/grub/efi/graphics_output.h: Likewise.
33234 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33235 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33236 variables.
33237 * conf/x86_64-efi.rmk: Likewise.
33238
33239 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33240
33241 Rename efi_fb to efi_uga.
33242
33243 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33244 'efi_uga.mod'.
33245 (efi_fb_mod_SOURCES): Rename this ...
33246 (efi_uga_mod_SOURCES): ... to this.
33247 (efi_fb_mod_CFLAGS): Rename this ...
33248 (efi_uga_mod_CFLAGS): ... to this.
33249 (efi_fb_mod_LDFLAGS): Rename this ...
33250 (efi_uga_mod_LDFLAGS): ... to this.
33251 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33252 'efi_uga.mod'.
33253 (efi_fb_mod_SOURCES): Rename this ...
33254 (efi_uga_mod_SOURCES): ... to this.
33255 (efi_fb_mod_CFLAGS): Rename this ...
33256 (efi_uga_mod_CFLAGS): ... to this.
33257 (efi_fb_mod_LDFLAGS): Rename this ...
33258 (efi_uga_mod_LDFLAGS): ... to this.
33259 * video/efi_fb.c: Move this ...
33260 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33261
33262 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33263
33264 * po/README: New file. Explain our PO file workflow.
33265
33266 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33267
33268 * po/ChangeLog: Remove. Move relevant entries back to ...
33269 * ChangeLog: ... here.
33270 * po/ca.po: Remove (now handled by TLP).
33271 * po/id.po: Likewise.
33272 * po/zh_CN.po: Likewise.
33273 * Makefile.in (LINGUAS): Initialize in a way that supports
33274 empty set.
33275
33276 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33277
33278 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33279 reliing on po/LINGUAS.
33280 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33281 (po/%.po): ... this.
33282
33283 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33284
33285 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33286 (main): Use `program_name' instead of nonexistent `progname'.
33287
33288 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33289
33290 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33291 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33292
33293 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33296 commit.
33297 * conf/i386-efi.rmk: Likewise.
33298 * conf/i386-ieee1275.rmk: Likewise.
33299 * conf/powerpc-ieee1275.rmk: Likewise.
33300 * conf/sparc64-ieee1275.rmk: Likewise.
33301 * conf/x86_64-efi.rmk: Likewise.
33302
33303 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33304
33305 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33306
33307 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33308
33309 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33310
33311 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33312
33313 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33314 (grub_mkdevicemap_SOURCES): New variable.
33315 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33316 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33317 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33318 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33319 (grub_mkdevicemap_SOURCES): Remove.
33320 * conf/i386-efi.rmk: Likewise.
33321 * conf/i386-ieee1275.rmk: Likewise.
33322 * conf/i386-pc.rmk: Likewise.
33323 * conf/powerpc-ieee1275.rmk: Likewise.
33324 * conf/sparc64-ieee1275.rmk: Likewise.
33325 * conf/x86_64-efi.rmk: Likewise.
33326 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33327 (usage): Fix strings to use `program_name'.
33328 (main): Initialize gettext.
33329 * util/grub-editenv.c: Likewise.
33330 * util/grub-emu.c: Likewise.
33331 * util/grub-fstest.c: Likewise.
33332 * util/grub-mkdevicemap.c: Likewise.
33333 * util/grub-mkfont.c: Likewise.
33334 * util/grub-mkrelpath.c: Likewise.
33335 * util/grub-pe2elf.c: Likewise.
33336 * util/grub-probe.c: Likewise.
33337 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33338 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33339 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33340
33341 * util/misc.c: Include `"progname.h"'.
33342 (progname): Remove variable.
33343 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33344
33345 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33346
33347 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33348 printf and print a newline after the menuentry header line.
33349 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33350
33351 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33352
33353 autoconf >= 2.60 support $(localedir).
33354
33355 * INSTALL: Note that autoconf 2.60 is required.
33356 * configure.ac (AC_PREREQ): Bump to 2.60.
33357 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33358 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33359
33360 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33361
33362 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33363 aclocal is run.
33364
33365 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33366
33367 * normal/main.c (grub_normal_read_line): Fix off-by-one
33368 buffer overflow.
33369
33370 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33371
33372 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33373 "parser.grub" in grub_command_execute() call.
33374
33375 2009-11-24 Carles Pina i Estany <carles@pina.cat>
33376
33377 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33378 * conf/i386-efi.rmk: Likewise.
33379 * conf/i386-ieee1275.rmk: Likewise.
33380 * conf/i386-pc.rmk: Likewise.
33381 * conf/powerpc-ieee1275.rmk: Likewise.
33382 * conf/sparc64-ieee1275.rmk: Likewise.
33383 * conf/x86_64-efi.rmk: Likewise.
33384 * gettext/gettex.c: Include <grub/i18n.h>.
33385 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33386 here ...
33387 * include/grub/i18n.h: ... to here
33388 * include/grub/i18n.h: ... to here.
33389 * kern/misc.c: Include <grub/i18n.h>
33390 (grub_gettext_dummy): Move above user.
33391
33392 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33393
33394 * util/Makefile.in (install-local): Convert a `for' into a normal
33395 shell expansion.
33396
33397 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33398
33399 * autogen.sh: Add automake call.
33400 * config.guess: Remove.
33401 * config.sub: Likewise.
33402 * install-sh: Likewise.
33403
33404 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33405
33406 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33407
33408 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33409
33410 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33411 function to a normal shell `for'.
33412
33413 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33414
33415 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33416
33417 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33418
33419 * util/grub-mkrelpath.c: New file.
33420 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33421 (grub_mkrelpath_SOURCES): New variable.
33422 * include/grub/util/misc.h: New function prototype.
33423 * util/misc.c (make_system_path_relative_to_its_root): New function.
33424
33425 * util/grub-mkconfig_lib.in (bindir): New variable.
33426 (grub_mkrelpath): Likewise.
33427 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33428
33429 * util/probe.c (probe): Make the file path relative to its root.
33430 Change a info message to use the GRUB path. Enable again the
33431 check if we can read the file with GRUB facilities.
33432
33433 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33434 to its root.
33435
33436 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33437
33438 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33439 platform.
33440
33441 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33442
33443 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33444 strncmp().
33445
33446 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33447
33448 * util/getroot.c (grub_util_is_dmraid): New function.
33449 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33450 devices as normal ones, not as LVM.
33451
33452 2009-11-23 Carles Pina i Estany <carles@pina.cat>
33453
33454 * conf/common.rmk: Add grub-gettext_lib target and updates
33455 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33456 LDFLAGS.
33457 * gettext/gettext.c: New file. (Reads mo files).
33458 * include/grub/file.h (grub_file_pread): New prototype.
33459 * include/grub/i18n.h (_): New prototype.
33460 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33461 prototypes.
33462 * kern/misc.c (grub_gettext_dummy): New function.
33463 * normal/menu_text.c: Include <grub/i18n.h>.
33464 * normal/menu_text.c (print_timeout): Gettexttize string.
33465 * normal/menu_text.c (print_message): Gettexttize string.
33466 * po/POTFILES: Add `normal/menu_text.c'.
33467 * po/ca.po: Add new translations.
33468 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33469 gettext module and defines locale_dir and lang in grub.cfg.
33470 * NEWS: Add gettext support.
33471
33472 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33473
33474 * util/hostdisk.c: Include `<grub/i18n.h>'.
33475 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33476 (make_device_name): Rewrite using asprintf.
33477 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33478 (find_system_device): If a device is not found, generate one just
33479 by reusing the OS path name.
33480 (read_device_map): Make it permissible for device.map not to exist.
33481
33482 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33483
33484 * script/sh/execute.c: Move from here ...
33485 * script/execute.c: ... to here. Update all users.
33486 * script/sh/function.c: Move from here ...
33487 * script/function.c: ... to here. Update all users.
33488 * script/sh/lexer.c: Move from here ...
33489 * script/lexer.c: ... to here. Update all users.
33490 * script/sh/main.c: Move from here ...
33491 * script/main.c: ... to here. Update all users.
33492 * script/sh/parser.y: Move from here ...
33493 * script/parser.y: ... to here. Update all users.
33494 * script/sh/script.c: Move from here ...
33495 * script/script.c: ... to here. Update all users.
33496
33497 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33498
33499 * configure.ac: Detect all `emu' platforms. Define
33500 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33501 --enable-grub-emu logic. Disable include/grub/machine
33502 symlink on `emu' platforms.
33503
33504 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33505 * gensymlist.sh.in: Likewise.
33506
33507 * include/grub/i386/coreboot/machine.h: Remove file.
33508 * include/grub/i386/efi/machine.h: Likewise.
33509 * include/grub/i386/ieee1275/machine.h: Likewise.
33510 * include/grub/i386/pc/machine.h: Likewise.
33511 * include/grub/i386/qemu/machine.h: Likewise.
33512 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33513 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33514 * include/grub/x86_64/efi/machine.h: Likewise.
33515
33516 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33517 * commands/halt.c: Likewise.
33518 * commands/reboot.c: Likewise.
33519 * include/grub/autoefi.h: Likewise.
33520 * include/grub/i386/at_keyboard.h: Likewise.
33521 * include/grub/i386/kernel.h: Likewise.
33522 * include/grub/i386/loader.h: Likewise.
33523 * include/grub/i386/pc/memory.h: Likewise.
33524 * kern/dl.c: Likewise.
33525 * kern/i386/coreboot/init.c: Likewise.
33526 * loader/i386/bsd.c: Likewise.
33527 * loader/i386/linux.c: Likewise.
33528 * loader/multiboot_loader.c: Likewise.
33529 * term/i386/pc/serial.c: Likewise.
33530 * term/usb_keyboard.c: Likewise.
33531
33532 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33533 `<grub/machine/machine.h>'
33534 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33535 * util/misc.c: Remove `<grub/machine/machine.h>' and
33536 `<grub/machine/time.h>'.
33537
33538 * Makefile.in (enable_grub_emu): Remove variable.
33539 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33540
33541 * conf/any-emu.rmk: New file.
33542 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33543 (grub_emu_init.c): Move from here ...
33544 * conf/any-emu.rmk: ... to here.
33545
33546 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33547 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33548 * conf/any-emu.rmk: ... to here.
33549
33550 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 * include/grub/parser.h (grub_parser_register): Document need
33553 of `name' parameter.
33554 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33555 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33556 "sh" to "grub".
33557
33558 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33559
33560 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33561 `$(XGETTEXT)'.
33562 * include/grub/i18n.h (N_): New macro.
33563 * util/mkisofs/mkisofs.h: Likewise.
33564 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33565 around N_().
33566 (usage): Use gettext() to translate help strings when printing them.
33567
33568 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33569
33570 Based on patch from Bean
33571 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33572
33573 * video/efi_fb.c: New file.
33574 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33575 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33576 variables.
33577 * conf/x86_64-efi.rmk: Likewise.
33578
33579 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33582 * util/i386/pc/grub-setup.c: Likewise.
33583
33584 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33585
33586 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33587 <hurd/fs.h>
33588 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33589 file_get_storage_info to implement grub_guess_root_device.
33590
33591 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
33592
33593 * Makefile.in (target): Use make's builtin $(shell) function
33594 instead of calling directly $(SHELL) to create the locale directories,
33595 inside the $(foreach) function.
33596
33597 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
33598
33599 * util/grub-mkrescue.in: Print an error and usage if output option
33600 has not been given.
33601
33602 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
33603
33604 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33605 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33606 root and /boot are on different devices.
33607
33608 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33609
33610 Fix build for srcdir != objdir.
33611
33612 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33613 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33614 $(srcdir).
33615 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33616 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33617 reference for input.
33618
33619 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33620
33621 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33622 or hardlinking it). Remove -J option, Joliet is not compatible with
33623 multiple source directories.
33624
33625 2009-11-21 Carles Pina i Estany <carles@pina.cat>
33626 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33627
33628 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33629 (process_input_dir): New function. Process an arbitrary input
33630 directory.
33631 Misc adjustments to support both "override mode" and system-wide mode.
33632
33633 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
33634
33635 * configure.ac (UNIFONT_BDF): Rename to ...
33636 (FONT_SOURCE): ... this. Update all users.
33637
33638 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
33639
33640 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33641 to the list of unifont files to look for.
33642
33643 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33644
33645 Patch from Joe Auricchio <jauricchio@gmail.com>
33646 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33647 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33648 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33649
33650 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
33651
33652 * Makefile.in (install-local): Add a missing backslash.
33653
33654 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
33655
33656 * include/grub/x86_64/io.h: New file.
33657
33658 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33659
33660 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33661 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33662 Include `"progname.h"'.
33663 (main): Initialize gettext.
33664 * util/i386/pc/grub-setup.c: Gettexttize.
33665 * util/i386/pc/grub-mkimage.c: Likewise.
33666
33667 * Makefile.in (po/*.po): Redefine as ...
33668 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33669
33670 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33671
33672 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33673
33674 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33675 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33676 (program_name): Remove.
33677 (main): Initialize gettext support.
33678 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33679 Include `<libintl.h>'.
33680 (_): New macro.
33681
33682 * util/mkisofs/eltorito.c: Gettexttize.
33683 * util/mkisofs/joliet.c: Likewise.
33684 * util/mkisofs/mkisofs.c: Likewise.
33685 * util/mkisofs/multi.c: Likewise.
33686 * util/mkisofs/rock.c: Likewise.
33687 * util/mkisofs/tree.c: Likewise.
33688 * util/mkisofs/write.c: Likewise.
33689
33690 * po/POTFILES: Update with new files.
33691
33692 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33693
33694 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33695 * util/mkisofs/iso9660.h: Likewise.
33696 * util/mkisofs/joliet.c: Likewise.
33697 * util/mkisofs/mkisofs.c: Likewise.
33698 * util/mkisofs/mkisofs.h: Likewise.
33699 * util/mkisofs/rock.c: Likewise.
33700 * util/mkisofs/tree.c: Likewise.
33701 * util/mkisofs/write.c: Likewise.
33702
33703 * util/mkisofs/eltorito.c (rcsid): Remove.
33704 * util/mkisofs/hash.c: Likewise.
33705 * util/mkisofs/joliet.c: Likewise.
33706 * util/mkisofs/name.c: Likewise.
33707 * util/mkisofs/rock.c: Likewise.
33708 * util/mkisofs/tree.c: Likewise.
33709 * util/mkisofs/write.c: Likewise.
33710
33711 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33712
33713 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33714 instead of static allocation.
33715 * util/mkisofs/match.h: Likewise.
33716
33717 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33718
33719 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33720 and `util/grub.d/10_linux.in'.
33721 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33722 translatable Shell files.
33723
33724 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33725
33726 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33727
33728 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33729
33730 * INSTALL: Document Automake is needed for bootstrap.
33731 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
33732 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33733 Add gettext initialization.
33734 (kfreebsd_entry): Make menuentry output translatable.
33735
33736 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33737
33738 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33739 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33740 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33741 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33742 (LINGUAS): Auto-generate using `po/LINGUAS'.
33743 * po/LINGUAS: New file.
33744
33745 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33746
33747 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33748 other things).
33749 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33750 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33751 bindtextdomain() calls for gettext initialization.
33752
33753 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33754
33755 * gnulib/progname.c: New file (imported from Gnulib).
33756 * gnulib/progname.h: Likewise.
33757 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33758 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33759 (usage): Replace `progname' with `program_name'.
33760 (main): Use set_program_name() for program name initialization.
33761
33762 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33763
33764 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33765 from here ...
33766 * Makefile.in (CPPFLAGS): ... to here.
33767
33768 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33769
33770 * aclocal.m4: Move from here ...
33771 * acinclude.m4: ... to here.
33772 * autogen.sh: Add call to `aclocal'.
33773 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33774
33775 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33776
33777 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33778 (LINGUAS): New variable.
33779 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33780 (install-local): Install MO files.
33781 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33782 * include/grub/i18n.h: New file.
33783 * po/POTFILES: New file.
33784 * po/ca.po: New file.
33785 * util/grub.d/10_linux.in (bindir): New variable.
33786 Add gettext initialization.
33787 (linux_entry): Make menuentry output translatable.
33788 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33789 (usage): Make --help output translatable.
33790 (main): Initialize gettext.
33791
33792 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33793
33794 * import_gcry.py: New file (written by Vladimir with minor
33795 adjustments).
33796 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33797 ciphers.
33798 * INSTALL: Document that Python is required for bootstrap.
33799
33800 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33801
33802 Import ciphers from libgcrypt 1.4.4.
33803
33804 * lib/libgcrypt/cipher/ChangeLog
33805 * lib/libgcrypt/cipher/ac.c
33806 * lib/libgcrypt/cipher/arcfour.c
33807 * lib/libgcrypt/cipher/bithelp.h
33808 * lib/libgcrypt/cipher/blowfish.c
33809 * lib/libgcrypt/cipher/camellia-glue.c
33810 * lib/libgcrypt/cipher/camellia.c
33811 * lib/libgcrypt/cipher/camellia.h
33812 * lib/libgcrypt/cipher/cast5.c
33813 * lib/libgcrypt/cipher/cipher.c
33814 * lib/libgcrypt/cipher/crc.c
33815 * lib/libgcrypt/cipher/des.c
33816 * lib/libgcrypt/cipher/dsa.c
33817 * lib/libgcrypt/cipher/ecc.c
33818 * lib/libgcrypt/cipher/elgamal.c
33819 * lib/libgcrypt/cipher/hash-common.c
33820 * lib/libgcrypt/cipher/hash-common.h
33821 * lib/libgcrypt/cipher/hmac-tests.c
33822 * lib/libgcrypt/cipher/md.c
33823 * lib/libgcrypt/cipher/md4.c
33824 * lib/libgcrypt/cipher/md5.c
33825 * lib/libgcrypt/cipher/primegen.c
33826 * lib/libgcrypt/cipher/pubkey.c
33827 * lib/libgcrypt/cipher/rfc2268.c
33828 * lib/libgcrypt/cipher/rijndael-tables.h
33829 * lib/libgcrypt/cipher/rijndael.c
33830 * lib/libgcrypt/cipher/rmd.h
33831 * lib/libgcrypt/cipher/rmd160.c
33832 * lib/libgcrypt/cipher/rsa.c
33833 * lib/libgcrypt/cipher/seed.c
33834 * lib/libgcrypt/cipher/serpent.c
33835 * lib/libgcrypt/cipher/sha1.c
33836 * lib/libgcrypt/cipher/sha256.c
33837 * lib/libgcrypt/cipher/sha512.c
33838 * lib/libgcrypt/cipher/tiger.c
33839 * lib/libgcrypt/cipher/twofish.c
33840 * lib/libgcrypt/cipher/whirlpool.c
33841
33842 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33843
33844 Fix build for systems without error().
33845
33846 * gnulib/error.c: New file (imported from Gnulib).
33847 * gnulib/error.h: Likewise.
33848 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33849 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33850 (this variable is now used by error()).
33851
33852 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
33853
33854 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33855 instead of relying that char is signed.
33856
33857 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33858
33859 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33860 blocksize different from specified.
33861 (grub_pxefs_read): Likewise.
33862
33863 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
33864
33865 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33866
33867 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33868 (grub_ata_readwrite): Likewise. Update 2 format strings.
33869 (grub_atapi_read): Likewise.
33870
33871 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33872 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33873 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33874 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33875 (ata_mod_LDFLAGS): Move from here ...
33876 * conf/i386.rmk: ... to here ...
33877 * conf/x86_64-efi.rmk: ... and here.
33878 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33879 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33880
33881 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33882
33883 Relicense multiboot.h, with RMS' blessing.
33884
33885 * include/multiboot.h: Change to X11 license.
33886
33887 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33888
33889 Support --version in grub-mkisofs.
33890
33891 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33892 (OPTION_VERSION): New macro.
33893 (ld_options): Recognize --version.
33894 (usage): Move `program_name' from here ...
33895 (program_name): ... to here. Add `static' qualifier.
33896 (main): Recognize `OPTION_VERSION'.
33897
33898 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
33899
33900 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33901 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33902
33903 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33904
33905 Fix help2man generation for mkisofs.
33906
33907 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33908 (usage): Send output to stdout (rather than stderr).
33909
33910 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33911
33912 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33913 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33914 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33915 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33916 (bin_SCRIPTS): Add `grub-mkfloppy'.
33917 (grub_mkfloppy_SOURCES): New variable.
33918
33919 * util/grub-mkrescue.in: New file.
33920 * util/i386/pc/grub-mkfloppy.in: New file.
33921
33922 * util/i386/coreboot/grub-mkrescue.in: Remove.
33923 * util/i386/pc/grub-mkrescue.in: Remove.
33924
33925 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33926
33927 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33928 from here ...
33929 * include/multiboot.h (struct multiboot_header): ... to here. Update
33930 all users.
33931 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33932 from here ...
33933 * include/multiboot.h (struct multiboot_info): ... to here. Update
33934 all users.
33935 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33936 from here ...
33937 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33938 Update all users.
33939 * include/grub/multiboot.h (struct grub_mod_list): Move
33940 from here ...
33941 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33942 Update all users.
33943
33944 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33945
33946 * include/multiboot2.h (multiboot_word): Rename from this ...
33947 (multiboot2_word): ... to this. Update all users.
33948 (multiboot_header): Rename from this ...
33949 (multiboot2_header): ... to this. Update all users.
33950 (multiboot_tag_header): Rename from this ...
33951 (multiboot2_tag_header): ... to this. Update all users.
33952 (multiboot_tag_start): Rename from this ...
33953 (multiboot2_tag_start): ... to this. Update all users.
33954 (multiboot_tag_name): Rename from this ...
33955 (multiboot2_tag_name): ... to this. Update all users.
33956 (multiboot_tag_module): Rename from this ...
33957 (multiboot2_tag_module): ... to this. Update all users.
33958 (multiboot_tag_memory): Rename from this ...
33959 (multiboot2_tag_memory): ... to this. Update all users.
33960 (multiboot_tag_unused): Rename from this ...
33961 (multiboot2_tag_unused): ... to this. Update all users.
33962 (multiboot_tag_end): Rename from this ...
33963 (multiboot2_tag_end): ... to this. Update all users.
33964
33965 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33966
33967 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33968 this platform we should support Multiboot1 first.
33969
33970 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33971 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33972 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33973
33974 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33975
33976 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33977 of write calls (converting them to fwrite() if they aren't already).
33978 (get_torito_desc): Likewise.
33979 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33980
33981 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33982
33983 * util/i386/pc/grub-install.in: Move from here ...
33984 * util/grub-install.in: ... to here. Update all users.
33985
33986 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
33987
33988 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33989
33990 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33991
33992 Support for El Torito without floppy emulation.
33993
33994 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33995 (init_boot_catalog): Improve error handling.
33996 (get_torito_desc): Don't use floppy emulation unless requested by
33997 user. Patch boot information table when requested via
33998 `-boot-info-table'.
33999 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34000 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34001 (use_boot_info_table): New variables.
34002 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34003 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34004 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34005 `--eltorito-emul-floppy'.
34006 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34007 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34008 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34009 (use_boot_info_table, get_731): New prototypes.
34010 * util/mkisofs/write.c (get_731): New function.
34011
34012 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34013
34014 Fix the generation of the man page.
34015
34016 * util/pc/i386/grub-install.in: Source
34017 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34018
34019 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34020
34021 Large file support for grub-mkisofs.
34022
34023 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34024 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34025 (session_start): Upgrade type to `uint64_t'. Update all users.
34026 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34027 (struct directory_entry): Upgrade type of `starting_block' and
34028 `size' to `uint64_t'. Update all users.
34029 (struct deferred): Remove unused structure.
34030 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34031 Update all users.
34032 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34033 file is larger than `UINT32_MAX'.
34034 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34035 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34036 return value.
34037 (struct deferred_write): Upgrade type of `extent' and `size' to
34038 `uint64_t'. Update all users.
34039 (last_extent_written): Upgrade type to `uint64_t'. Update all
34040 users.
34041 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34042 Update all users. Upgrade type of `remain' to `int64_t' and
34043 `use' to `size_t'. Use error() to handle fread() errors.
34044 (write_files): Rely on write_one_file() rather than calling
34045 xfwrite() directly.
34046
34047 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34048
34049 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34050
34051 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34052
34053 * util/mkisofs/fnmatch.c: Remove.
34054 * util/mkisofs/getopt1.c: Likewise.
34055 * util/mkisofs/getopt.c: Likewise.
34056 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34057 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34058 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34059 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34060 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34061
34062 * configure.ac: Detect `mingw32msvc' host_os.
34063 Check for lstat(), getuid() and getgid().
34064
34065 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34066 instances of `u_char' with `uint8_t'.
34067
34068 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34069 [!HAVE_GETUID] (getuid): New function (stub).
34070 [!HAVE_GETGID] (getgid): Likewise.
34071 [!HAVE_LSTAT] (lstat): Likewise.
34072 [!S_IROTH] (S_IROTH): New macro (dummy).
34073 [!S_IRGRP] (S_IRGRP): Likewise.
34074
34075 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34076
34077 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34078 conditional expression).
34079
34080 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34081
34082 Import from Gnulib.
34083
34084 * gnulib/fnmatch.c: New file.
34085 * gnulib/fnmatch.h: Likewise.
34086 * gnulib/fnmatch_loop.c: Likewise.
34087 * gnulib/getopt.c: Likewise.
34088 * gnulib/getopt.h: Likewise.
34089 * gnulib/getopt1.c: Likewise.
34090 * gnulib/getopt_int.h: Likewise.
34091 * gnulib/gettext.h: Likewise.
34092
34093 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34094
34095 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34096 * normal/handler.c (read_handler_list): Likewise.
34097
34098 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34099
34100 Misc cleanup.
34101
34102 * kern/command.c (grub_register_command_prio): Use
34103 grub_zalloc() instead of explicitly zeroing data.
34104 * kern/list.c: Include `<grub/mm.h>'.
34105 (grub_named_list_find): Replace `0' with `NULL'.
34106 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34107 (fs_module_list): Change type to `grub_named_list_t'. Update all
34108 users.
34109 * normal/dyncmd.c (read_command_list): Add space between function
34110 call and parenthesis.
34111 * normal/handler.c (read_handler_list): Likewise.
34112
34113 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34114
34115 * normal/auth.c (punishment_delay): Moved from here ...
34116 (grub_auth_strcmp): ... to here (inside function).
34117
34118 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34119
34120 * include/grub/list.h (struct grub_named_list): Remove `const'
34121 qualifier from `name'.
34122 (struct grub_prio_list): Likewise.
34123
34124 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34125
34126 * normal/auth.c: Include `<grub/time.h>'.
34127 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34128
34129 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34130
34131 * normal/auth.c (punishment_delay): New variable.
34132 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34133 (grub_auth_check_authentication): Punish failed login attempts with
34134 an incremental (2^N) delay.
34135
34136 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34137
34138 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34139 path with $(srcdir).
34140
34141 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34142
34143 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34144
34145 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34146
34147 * util/i386/coreboot/grub-mkrescue.in: New file.
34148 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34149 variables.
34150
34151 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34152 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34153 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34154 requirements.
34155 * util/mkisofs/defaults.h: New file.
34156 * util/mkisofs/eltorito.c: Likewise.
34157 * util/mkisofs/exclude.h: Likewise.
34158 * util/mkisofs/fnmatch.c: Likewise.
34159 * util/mkisofs/getopt.c: Likewise.
34160 * util/mkisofs/getopt1.c: Likewise.
34161 * util/mkisofs/hash.c: Likewise.
34162 * util/mkisofs/include/fctldefs.h: Likewise.
34163 * util/mkisofs/include/mconfig.h: Likewise.
34164 * util/mkisofs/include/prototyp.h: Likewise.
34165 * util/mkisofs/include/statdefs.h: Likewise.
34166 * util/mkisofs/iso9660.h: Likewise.
34167 * util/mkisofs/joliet.c: Likewise.
34168 * util/mkisofs/match.c: Likewise.
34169 * util/mkisofs/match.h: Likewise.
34170 * util/mkisofs/mkisofs.c: Likewise.
34171 * util/mkisofs/mkisofs.h: Likewise.
34172 * util/mkisofs/multi.c: Likewise.
34173 * util/mkisofs/name.c: Likewise.
34174 * util/mkisofs/rock.c: Likewise.
34175 * util/mkisofs/tree.c: Likewise.
34176 * util/mkisofs/write.c: Likewise.
34177
34178 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34179
34180 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34181 being insecure.
34182
34183 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34184
34185 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34186 `grub-mkimage' (and use $0 when possible).
34187
34188 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34189
34190 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34191 error message for excessively large memory map.
34192
34193 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34194
34195 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34196 executable bit.
34197
34198 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34199
34200 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34201 message for coreboot users.
34202
34203 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34204
34205 Fix build with GNU gold.
34206
34207 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34208 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34209 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34210 link addresses.
34211 * aclocal.m4: Likewise.
34212
34213 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
34214
34215 * configure.ac (AC_PREREQ): Bump to 2.59d.
34216 * INSTALL: Make it more clear when Autoconf and Ruby are
34217 needed and when to run `./autogen.sh'.
34218
34219 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34220
34221 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34222 OSes.
34223
34224 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34225
34226 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34227
34228 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34229
34230 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34231 giving it to GNU Mach.
34232
34233 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34234
34235 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34236 GNU partition number to get internal GRUB partition number.
34237
34238 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34239
34240 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34241 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34242
34243 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34244
34245 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34246 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34247 case.
34248
34249 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
34250
34251 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34252
34253 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34254
34255 Fix build problem.
34256
34257 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34258 `-isystem=$(srcdir)/include'.
34259
34260 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34261
34262 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34263 checked (grub-install doesn't currently rely on it).
34264
34265 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34266
34267 Revert SVN r2660.
34268
34269 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34270 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34271 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34272 * conf/i386-ieee1275.rmk: Likewise.
34273 * conf/i386-pc.rmk: Likewise.
34274 * conf/powerpc-ieee1275.rmk: Likewise.
34275 * conf/sparc64-ieee1275.rmk: Likewise.
34276 * conf/x86_64-efi.rmk: Likewise.
34277
34278 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34279
34280 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34281
34282 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34283
34284 * include/grub/misc.h: Stop checking for APPLE_CC.
34285
34286 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34287
34288 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34289 doesn't cause an infinite call loop.
34290
34291 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
34292
34293 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34294 strings.
34295
34296 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34297
34298 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34299 variable.
34300 * Makefile.in: Likewise.
34301
34302 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34303
34304 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34305
34306 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34307
34308 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34309
34310 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34311
34312 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34313
34314 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34315
34316 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34317 from here ...
34318 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34319
34320 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34321
34322 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34323 in $(MAKEINFO) invocation. This makes it clear in output that
34324 errors are being ignored.
34325
34326 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34327
34328 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34329 from here ...
34330 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34331 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34332 * conf/i386-ieee1275.rmk: Likewise.
34333 * conf/i386-pc.rmk: Likewise.
34334 * conf/powerpc-ieee1275.rmk: Likewise.
34335 * conf/sparc64-ieee1275.rmk: Likewise.
34336 * conf/x86_64-efi.rmk: Likewise.
34337
34338 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34339
34340 * util/grub-editenv.c (main): If only a command is given, use
34341 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34342 (usage): FILENAME is now optional and has a default.
34343
34344 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34345
34346 Improve grub-mkconfig performance when there are several menu
34347 entries on a single filesystem.
34348
34349 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34350 prepare_grub_to_access_device.
34351 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34352 * util/grub.d/30_os-prober.in: Likewise.
34353
34354 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34355
34356 * util/grub.d/10_freebsd.in: Remove.
34357 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34358 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34359
34360 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34361
34362 * docs/grub.cfg: Fix example usage of *BSD loaders.
34363
34364 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34365
34366 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34367 grub_util_error() call.
34368
34369 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34370
34371 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34372 `reserved_first_sector' member.
34373 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34374 `reserved_first_sector' to 1.
34375 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34376 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34377 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34378 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34379 filesystems which begin at first sector.
34380 (options): New option --skip-fs-probe.
34381 (main): Handle --skip-fs-probe and pass it to setup().
34382
34383 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34384
34385 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34386 (memset): Fix function prototype.
34387
34388 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34389 2009-10-25 Vasily Averin <vvs@parallels.com>
34390
34391 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34392 `dirent.direntlen == 0'.
34393
34394 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34395
34396 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34397 `cpio'.
34398 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34399
34400 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34401
34402 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34403 `__trampoline_setup' and `__ucmpdi2'.
34404 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34405 that libgcc provides.
34406
34407 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34408
34409 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34410 * include/grub/sparc64/libgcc.h (memset): Likewise.
34411 * include/grub/misc.h (memset, memcmp): New function prototypes.
34412
34413 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34414
34415 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34416 `cpio'.
34417 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34418
34419 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34420
34421 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34422 * docs/grub.cfg: Compensate for recent change in multiboot
34423 loader (since 2009-08-14 it won't pass filename to payload).
34424 * util/grub.d/10_hurd.in: Likewise.
34425
34426 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
34427
34428 * config.guess: Update to latest version from config git
34429 repository.
34430 * config.sub: Likewise.
34431
34432 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34433
34434 Fix build on sparc64.
34435
34436 * configure.ac: Perform checks for libgcc symbols before
34437 adding `-nostdlib' to LDFLAGS.
34438
34439 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34440
34441 Let user specify OpenBSD root device.
34442
34443 * loader/i386/bsd.c (openbsd_root): New variable.
34444 (openbsd_opts): New option 'root'.
34445 (OPENBSD_ROOT_ARG): New macro.
34446 (grub_openbsd_boot): Use 'openbsd_root'.
34447 (grub_cmd_openbsd): Fill 'openbsd_root'.
34448
34449 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34450
34451 * NEWS: Misc adjustments.
34452
34453 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34454
34455 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34456
34457 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34458
34459 * configure.ac: Bump version to 1.97.
34460
34461 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
34462
34463 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34464 -mno-3dnow on x86 architectures. Some toolchains enable these
34465 features by default, but they rely on registers that aren't enabled
34466 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34467
34468 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34469
34470 Make entry text a bit more readable.
34471
34472 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34473
34474 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34475
34476 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34477
34478 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34479
34480 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34481 operations.
34482
34483 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34484
34485 * configure.ac: Add missing dollar.
34486
34487 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34488
34489 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34490
34491 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34492 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34493 exports.
34494 * include/grub/sparc64/libgcc.h: Likewise. Use
34495 preprocessor conditionals.
34496
34497 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34498
34499 * conf/common.rmk (grub-dumpbios): Remove rule.
34500 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34501 * util/grub-dumpbios.in: Remove file.
34502
34503 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34504
34505 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34506 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34507
34508 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34509 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34510 users.
34511
34512 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34513 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34514 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34515 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34516 users.
34517
34518 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34519
34520 * term/tparm.c: Switch to GPLv3.
34521
34522 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34523
34524 * include/grub/i386/cpuid.h: Add header protection.
34525
34526 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34527
34528 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34529
34530 * include/grub/i386/cpuid.h: New file.
34531 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34532 (has_longmode): Rename to ...
34533 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34534 `static' attribute.
34535 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34536 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34537 on a CPU that doesn't implement AMD64 instruction set.
34538
34539 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
34540
34541 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34542 that version.texi is rebuilt on version number changes.
34543
34544 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
34545
34546 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34547 Fixes bug #27602.
34548
34549 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
34550
34551 * util/i386/pc/grub-install.in: Source
34552 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34553 that the --grub-probe option will work.
34554 * util/sparc64/ieee1275/grub-install.in: Likewise.
34555
34556 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34557
34558 * configure.ac: Bump version to 1.97~beta4.
34559
34560 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34561
34562 Resync grub-mkdevicemap in x86_64-efi.
34563
34564 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34565 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34566 `util/devicemap.c'.
34567
34568 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
34569
34570 * util/grub-editenv.c (create_envblk_file): Write new block with a
34571 .new suffix and then rename it into place, to ensure atomic
34572 creation.
34573
34574 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34575
34576 Do not automatically install headers.
34577
34578 * Makefile.in (include_DATA): Remove. Update all users.
34579
34580 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34581
34582 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34583 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34584
34585 * util/osdetect.lua: Remove.
34586 * script/lua/lauxlib.c: Likewise.
34587 * script/lua/ldebug.c: Likewise.
34588 * script/lua/grub_main.c: Likewise.
34589 * script/lua/lauxlib.h: Likewise.
34590 * script/lua/ldebug.h: Likewise.
34591 * script/lua/ltablib.c: Likewise.
34592 * script/lua/liolib.c: Likewise.
34593 * script/lua/lstrlib.c: Likewise.
34594 * script/lua/lualib.h: Likewise.
34595 * script/lua/ldo.c: Likewise.
34596 * script/lua/ldump.c: Likewise.
34597 * script/lua/ldo.h: Likewise.
34598 * script/lua/loslib.c: Likewise.
34599 * script/lua/lundump.c: Likewise.
34600 * script/lua/grub_lib.c: Likewise.
34601 * script/lua/ldblib.c: Likewise.
34602 * script/lua/lundump.h: Likewise.
34603 * script/lua/lmem.c: Likewise.
34604 * script/lua/grub_lib.h: Likewise.
34605 * script/lua/lmathlib.c: Likewise.
34606 * script/lua/lstate.c: Likewise.
34607 * script/lua/ltm.c: Likewise.
34608 * script/lua/lvm.c: Likewise.
34609 * script/lua/lmem.h: Likewise.
34610 * script/lua/lstate.h: Likewise.
34611 * script/lua/ltm.h: Likewise.
34612 * script/lua/ltable.c: Likewise.
34613 * script/lua/lvm.h: Likewise.
34614 * script/lua/llex.c: Likewise.
34615 * script/lua/lgc.c: Likewise.
34616 * script/lua/grub_lua.h: Likewise.
34617 * script/lua/loadlib.c: Likewise.
34618 * script/lua/lfunc.c: Likewise.
34619 * script/lua/lopcodes.c: Likewise.
34620 * script/lua/lparser.c: Likewise.
34621 * script/lua/ltable.h: Likewise.
34622 * script/lua/llex.h: Likewise.
34623 * script/lua/lgc.h: Likewise.
34624 * script/lua/lfunc.h: Likewise.
34625 * script/lua/lbaselib.c: Likewise.
34626 * script/lua/lopcodes.h: Likewise.
34627 * script/lua/lparser.h: Likewise.
34628 * script/lua/lzio.c: Likewise.
34629 * script/lua/linit.c: Likewise.
34630 * script/lua/lobject.c: Likewise.
34631 * script/lua/llimits.h: Likewise.
34632 * script/lua/lstring.c: Likewise.
34633 * script/lua/lzio.h: Likewise.
34634 * script/lua/lapi.c: Likewise.
34635 * script/lua/lcode.c: Likewise.
34636 * script/lua/lua.h: Likewise.
34637 * script/lua/lobject.h: Likewise.
34638 * script/lua/lstring.h: Likewise.
34639 * script/lua/lapi.h: Likewise.
34640 * script/lua/lcode.h: Likewise.
34641 * script/lua/luaconf.h: Likewise.
34642
34643 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
34644
34645 * docs/grub.texi (Command-line and menu entry commands): Document
34646 date and echo commands.
34647
34648 2009-09-24 Pavel Roskin <proski@gnu.org>
34649
34650 * include/grub/kernel.h (struct grub_module_header): Remove
34651 `grub_module_header_types'. Make `type' unsigned. Make `size'
34652 32-bit on all platforms.
34653 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34654 8-bit field. Use grub_host_to_target32() for `size'.
34655 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34656 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34657 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34658
34659 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34660
34661 Fix "lost keypress" bug in at_keyboard.
34662
34663 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34664 Checks for readyness of input buffer (without flushing it).
34665 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34666 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34667
34668 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34669
34670 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34671 size check within GRUB_MACHINE_PCBIOS section.
34672
34673 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34674
34675 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34676 return value.
34677 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34678 KEYBOARD_ISREADY check.
34679 (grub_at_keyboard_checkkey): Rename to ...
34680 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34681 Remove gratuitous cast.
34682
34683 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
34684
34685 * configure.ac: Call AC_PROG_MKDIR_P.
34686 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34687 version.texi in $(builddir) rather than $(srcdir).
34688 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34689 to makeinfo's @include search path.
34690
34691 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
34692
34693 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34694
34695 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
34696
34697 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34698 for `*.dpkg-new'.
34699
34700 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
34701
34702 Build info documentation. Some code borrowed from Automake.
34703
34704 * configure.ac: Check for makeinfo.
34705 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34706 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34707 docs/version.texi.
34708 (MOSTLYCLEANFILES): Add vti.tmp.
34709 (docs/version.texi, docs/stamp-vti): Update automatically.
34710 (docs/grub.info): Build info documentation. Use --force and ignore
34711 errors for now.
34712 (all-local): Add $(INFOS).
34713 (install-local): Install info files.
34714 (uninstall): Uninstall info files.
34715 * docs/version.texi: Remove from revision control. This file is
34716 automatically generated on build now.
34717 * gendistlist.sh: Add `*.info'.
34718
34719 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
34720
34721 * kern/term.c: Fix indentation.
34722
34723 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
34724
34725 * util/hostdisk.c: Fix a comment.
34726
34727 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 Fix regression introduced in r2539.
34730
34731 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34732 to 0xA1.
34733
34734 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
34735
34736 * util/grub.d/30_os-prober.in: Don't throw away stderr from
34737 os-prober. Under normal operation, it does not print anything to
34738 stderr; if it does, we need to debug it, and throwing away stderr
34739 makes that excessively difficult.
34740
34741 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34742
34743 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34744
34745 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34746
34747 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34748 AC_LANG_PROGRAM from autoconf.
34749 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34750 prototypes (fixes warning).
34751
34752 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34753 `--disable-werror' was used.
34754
34755 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34756
34757 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34758 uninitialized `lastaddr'.
34759
34760 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34761
34762 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
34763
34764 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
34765
34766 * commands/test.c (get_fileinfo): Return immediately if
34767 grub_fs_probe fails.
34768
34769 2009-09-14 José Martínez <xosemp@gmail.com>
34770
34771 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34772
34773 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
34774
34775 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34776 output.
34777
34778 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34779
34780 * configure.ac: Remove --enable-grub-pe2elf. Only build
34781 grub-pe2elf when needed by the build system itself.
34782 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34783
34784 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34785
34786 * configure.ac: Bump version to 1.97~beta3.
34787 * docs/version.texi: Likewise.
34788
34789 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34790
34791 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34792 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34793 from here ...
34794 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34795 (grub_linux_setup_video): ... to here (with some adjustments).
34796
34797 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34798
34799 Fix memory corruption issue (spotted by Colin Watson).
34800
34801 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34802 causing returned size to be stored in an incorrect memory location.
34803 Fix use of uninitialized value when storing the returned size.
34804
34805 2009-09-12 Yves Blusseau <blusseau@zetam.org>
34806
34807 Change clean rules to properly remove files
34808
34809 * genmk.rb: add new clean rules
34810 * Makefile.in (clean): add the new targets
34811 (mostlyclean): likewise
34812
34813 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
34814
34815 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34816 to grub_uint64_t.
34817 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34818 non-resident files.
34819
34820 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
34821
34822 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34823 part of bug #27349.
34824
34825 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
34826
34827 * util/grub-mkconfig.in: Make the created config mode 400 and
34828 print a warning if it fails.
34829
34830 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34831
34832 * util/grub.d/40_custom.in: Ask user to type custom entries below
34833 comment, rather than below 'exec tail' line.
34834
34835 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
34836
34837 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34838 visible in grub.cfg.
34839
34840 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
34841
34842 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34843 file.
34844
34845 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
34846
34847 * docs/grub.cfg: Add an example menu entry for memtest86+.
34848
34849 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
34850
34851 * config.guess: Update to latest version from config git.
34852 * config.sub: Likewise.
34853
34854 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
34855
34856 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34857 unknown-command case. Fixes bug #27320.
34858
34859 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
34860
34861 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34862 `help' if the command exists.
34863
34864 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34865
34866 * INSTALL: Require GCC 4.1.3 or later.
34867
34868 2009-09-06 Yves Blusseau <blusseau@zetam.org>
34869
34870 * Makefile.in (RMKFILES): add i386-qemu.rmk
34871 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34872 $(srcdir)/stamp-h.in
34873
34874 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34875
34876 * util/grub-probe.c (probe): Comment out buggy codepath, which
34877 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34878 should be re-enabled after 1.97.
34879
34880 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
34881
34882 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34883 find searches for.
34884
34885 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34886
34887 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34888 unnecessary calls to grub_error.
34889
34890 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
34891
34892 * NEWS: Mention `keystatus' and Unicode fonts.
34893
34894 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34895
34896 * configure.ac: Bump version to 1.97~beta2.
34897 * docs/version.texi: Likewise.
34898
34899 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
34900
34901 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34902 containing unwind information in some cases where it previously did
34903 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34904 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34905 discussion.
34906
34907 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34908
34909 Embedding loadenv module into grub-emu
34910
34911 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34912 commands/loadenv.c
34913 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34917 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34918 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34919
34920 2009-09-03 Magnus Granberg <zorry@ume.nu>
34921
34922 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34923 include -fPIE in the default specs.
34924 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34925 to TARGET_CFLAGS.
34926
34927 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
34928
34929 * INSTALL: Note that GNU Bison 2.3 or later is required.
34930
34931 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
34932
34933 * kern/i386/pc/startup.S: Fix typo.
34934
34935 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34936
34937 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34938 according to GCS.
34939
34940 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
34941
34942 * docs/grub.texi (Naming convention): Describe one-based partition
34943 numbering.
34944 (Device syntax): Likewise.
34945 (File name syntax): Likewise.
34946 (Block list syntax): Likewise.
34947 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34948 menu.lst.
34949 (File name syntax): Likewise.
34950 (Command-line and menu entry commands): Document acpi, blocklist,
34951 crc, export, insmod, keystatus, ls, set, and unset commands.
34952
34953 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
34954
34955 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34956 to avoid implying that only one of --shift, --ctrl, or --alt may be
34957 used.
34958
34959 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
34960
34961 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34962 rather than comparing against S_IFREG, which will almost never work.
34963
34964 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34965
34966 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34967 (write_blocklists): Likewise.
34968
34969 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
34970
34971 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34972 argument to grub_printf.
34973
34974 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
34975
34976 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
34977 non GNU test.
34978
34979 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34980
34981 * kern/file.c (grub_file_read): Spelling fix
34982
34983 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34984
34985 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34986 loading of headers in some cases.
34987
34988 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34989
34990 * configure.ac: Bump version to 1.97~beta1.
34991 * docs/version.texi: Likewise.
34992
34993 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
34994
34995 * include/grub/i386/xnu.h: Add license header.
34996 include grub/err.h explicitly.
34997
34998 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34999
35000 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35001 to `ufs' in the vfs.root.mountfrom kernel parameter.
35002
35003 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35004
35005 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35006
35007 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35008 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35009
35010 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35011 `ARRAY_SIZE' macro.
35012
35013 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35014
35015 * kern/file.c (grub_file_read): Check offset.
35016 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35017 * fs/jfs.c (grub_jfs_read_file): Likewise.
35018 * fs/ntfs.c (grub_ntfs_read): Likewise.
35019 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35020 * fs/minix.c (grub_minix_read_file): Correct offset check.
35021 * fs/ufs.c (grub_ufs_read_file): Likewise.
35022
35023 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35024
35025 * term/i386/pc/console.c (bios_data_area): Cast
35026 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35027
35028 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35029
35030 1-bit optimised blitters.
35031
35032 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35033 prototype.
35034 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35035 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35036 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35037 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35038 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35039 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35040 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35041 function.
35042 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35043 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35044 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35045 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35046 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35047 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35048 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35049 when possible.
35050 * video/video.c (grub_video_get_blit_format): Return
35051 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35052
35053 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35054
35055 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35056 the first argument to grub_printf.
35057
35058 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35059 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35060
35061 Add `getkeystatus' terminal method. Add a new `keystatus' command
35062 to query it.
35063
35064 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35065 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35066 modifier key bitmasks.
35067 (struct grub_term_input): Add `getkeystatus' member.
35068 (grub_getkeystatus): Add prototype.
35069 * kern/term.c (grub_getkeystatus): New function.
35070
35071 * include/grub/i386/pc/memory.h
35072 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35073 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35074 Data Area layout.
35075 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35076 (grub_console_term_input): Set `getkeystatus' member.
35077 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35078 constants.
35079 (grub_usb_keyboard_getreport): Likewise.
35080 (grub_usb_keyboard_checkkey): Likewise.
35081 (grub_usb_keyboard_getkeystatus): New function.
35082 (grub_usb_keyboard_term): Set `getkeystatus' member.
35083
35084 * commands/keystatus.c: New file.
35085 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35086 (keystatus_mod_SOURCES): New variable.
35087 (keystatus_mod_CFLAGS): Likewise.
35088 (keystatus_mod_LDFLAGS): Likewise.
35089 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35090 commands/keystatus.c.
35091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35093 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35096 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35097
35098 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35099
35100 Split befs.mod and afs.mod into *_be.mod and *.mod
35101
35102 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35103 (grub_fstest_SOURCES): Likewise.
35104 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35105 (afs_be_mod_SOURCES): New variable.
35106 (afs_be_mod_CFLAGS): Likewise.
35107 (afs_be_mod_LDFLAGS): Likewise.
35108 (befs_be_mod_SOURCES): Likewise.
35109 (befs_be_mod_CFLAGS): Likewise.
35110 (befs_be_mod_LDFLAGS): Likewise.
35111 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35112 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35114 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35115 (grub_emu_SOURCES): Likewise.
35116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35117 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35119 * fs/afs_be.c: New file.
35120 * fs/befs_be.c: New file.
35121 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35122 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35123 (U16): Replaced with ...
35124 (grub_afs_to_cpu16): ...this. All users updated.
35125 (U32): Replaced with ...
35126 (grub_afs_to_cpu32): ...this. All users updated.
35127 (U64): Replaced with ...
35128 (grub_afs_to_cpu64): ...this. All users updated.
35129 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35130 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35131 (grub_afs_validate_sblock): Check only one endianness.
35132 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35133 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35134 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35135 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35136 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35137 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35138 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35139 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35140
35141 2009-08-26 Bean <bean123ch@gmail.com>
35142
35143 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35144 64-bit number.
35145 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35146 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35147 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35148
35149 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35150
35151 NetBSD memory map support.
35152
35153 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35154 (grub_netbsd_btinfo_mmap_header): New structure.
35155 (grub_netbsd_btinfo_mmap_entry): Likewise.
35156 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35157
35158 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35159
35160 Enable bsd.mod on coreboot.
35161
35162 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35163 (bsd_mod_SOURCES): New variable.
35164 (bsd_mod_CFLAGS): Likewise.
35165 (bsd_mod_LDFLAGS): Likewise.
35166 (bsd_mod_ASFLAGS): Likewise.
35167 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35168 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35169
35170 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 Cleanup NetBSD root support.
35173
35174 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35175 grub_bsd_get_device.
35176 Fix typo.
35177
35178 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
35179
35180 * util/grub.d/00_header.in: Move check for the video backend of
35181 gfxterm from here ...
35182 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35183 a suitable video backend.
35184
35185 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35186
35187 Fix breakage in grub-setup.
35188
35189 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35190 "msdos_partition_map".
35191
35192 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35193
35194 Fix breakage in normal/auth.c.
35195
35196 * normal/auth.c (grub_iswordseparator): New function.
35197
35198 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35199
35200 Authentication support.
35201
35202 * commands/password.c: New file.
35203 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35204 (password_mod_SOURCES): New variable.
35205 (password_mod_CFLAGS): Likewise.
35206 (password_mod_LDFLAGS): Likewise.
35207 (normal_mod_SOURCES): Add normal/auth.c.
35208 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35209 normal/auth.c.
35210 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35212 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35214 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35215 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35216 * include/grub/auth.h: New file.
35217 * include/grub/err.h (grub_err_t): New enum value
35218 GRUB_ERR_ACCESS_DENIED.
35219 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35220 'users'.
35221 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35222 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35223 users updated.
35224 * normal/auth.c: New file.
35225 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35226 (grub_cmdline_run): Don't allow to go to command line without
35227 authentication.
35228 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35229 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35230 menuentry without superuser rights.
35231 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35232 user isn't a superuser.
35233
35234 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35235
35236 Save space by inlining misc.c functions.
35237
35238 * kern/misc.c (grub_iswordseparator): Made static.
35239 * kern/misc.c (grub_strcat): Moved from here ...
35240 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35241 * kern/misc.c (grub_strncat): Moved from here ...
35242 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35243 * kern/misc.c (grub_strcasecmp): Moved from here ...
35244 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35245 * kern/misc.c (grub_strncasecmp): Moved from here ...
35246 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35247 * kern/misc.c (grub_isalpha): Moved from here ...
35248 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35249 * kern/misc.c (grub_isdigit): Moved from here ...
35250 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35251 * kern/misc.c (grub_isgraph): Moved from here ...
35252 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35253 * kern/misc.c (grub_tolower): Moved from here ...
35254 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35255
35256 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35257
35258 * script/sh/function.c (grub_script_function_find): Cut error message
35259 not to flood terminal.
35260 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35261 limit.
35262 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35263
35264 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
35265
35266 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35267 `report' grub_uint8_t *.
35268 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35269 Use a 50-millisecond timeout rather than just repeating
35270 grub_usb_keyboard_getreport 50 times.
35271 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35272
35273 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35274
35275 Rename *_partition_map to part_*
35276
35277 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35278 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35279 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35280 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35281 All users updated.
35282 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35283 All users updated.
35284 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35285 * util/grub-probe.c (probe_partmap): Don't transform partition name
35286 to get module name.
35287
35288 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35289
35290 Fix OpenBSD and NetBSD support.
35291
35292 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35293 memory address conflict.
35294 (OPENBSD_MMAP_ACPI): New definition.
35295 (OPENBSD_MMAP_NVS): Likewise.
35296 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35297 and OPENBSD_MMAP_NVS.
35298 Add memory map terminator
35299 Explicit cast when calling grub_unix_real_boot.
35300 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
35301
35302 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35303
35304 Let user specify NetBSD root device.
35305
35306 * loader/i386/bsd.c (netbsd_root): New variable.
35307 (netbsd_opts): New option 'root'.
35308 (NETBSD_ROOT_ARG): New macro.
35309 (grub_netbsd_boot): Use 'netbsd_root'.
35310 (grub_bsd_unload): Free 'netbsd_root'.
35311 (grub_cmd_netbsd): Fill 'netbsd_root'.
35312
35313 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35314
35315 Support for 64-bit NetBSD.
35316
35317 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35318 point when booting non-FreeBSD.
35319
35320 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35321
35322 Support --no-smp and --no-acpi for NetBSD.
35323
35324 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35325 (NETBSD_AB_NOACPI): Likewise.
35326 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35327 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35328
35329 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35330
35331 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35332 errors.
35333 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35334 errors. Call grub_error when needed.
35335
35336 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35337
35338 * commands/search.c (search_fs): Try searching without autoload first.
35339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35340 filesystem module explicitly for faster booting.
35341
35342 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35343
35344 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35345
35346 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35347
35348 * util/grub.d/30_os-prober.in: Disable os-prober if
35349 `GRUB_DISABLE_OS_PROBER' was set to true.
35350
35351 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35352
35353 * partmap/pc.c: Rename to ...
35354 * partmap/msdos.c: ... this. Update all users.
35355 (grub_pc_partition_map): Rename to ...
35356 (grub_msdos_partition_map): ... this. Update all users.
35357
35358 * parttool/pcpart.c: Rename to ...
35359 * parttool/msdospart.c: ... this. Update all users.
35360
35361 * include/grub/pc_partition.h: Rename to ...
35362 * include/grub/msdos_partition.h: ... this. Update all users.
35363 (grub_pc_partition_bsd_entry): Rename to ...
35364 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35365 (grub_pc_partition_disk_label): Rename to ...
35366 (grub_msdos_partition_disk_label): ... this. Update all users.
35367 (grub_pc_partition_entry): Rename to ...
35368 (grub_msdos_partition_entry): ... this. Update all users.
35369 (grub_pc_partition_mbr): Rename to ...
35370 (grub_msdos_partition_mbr): ... this. Update all users.
35371 (grub_pc_partition): Rename to ...
35372 (grub_msdos_partition): ... this. Update all users.
35373 (grub_pc_partition_is_empty): Rename to ...
35374 (grub_msdos_partition_is_empty): ... this. Update all users.
35375 (grub_pc_partition_is_extended): Rename to ...
35376 (grub_msdos_partition_is_extended): ... this. Update all users.
35377 (grub_pc_partition_is_bsd): Rename to ...
35378 (grub_msdos_partition_is_bsd): ... this. Update all users.
35379
35380 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35381 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35382 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35383 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35384 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35385 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35386 (gpt_mod_LDFLAGS): Rename to ...
35387 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35388 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35389 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35390 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35391 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35392 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35393 (part_gpt_mod_LDFLAGS): ... this.
35394 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35395 `pcpart.mod' to `msdospart.mod'.
35396 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35397 to ...
35398 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35399 (msdospart_mod_LDFLAGS): ... this.
35400
35401 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35402
35403 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35404 (openbsd_opts): Likewise.
35405 (netbsd_opts): Likewise.
35406 (freebsd_flags): Added 0 terminator.
35407 (openbsd_flags): Likewise.
35408 (netbsd_flags): Likewise.
35409 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35410 (grub_cmd_freebsd): Transformed into extended command.
35411 (grub_cmd_openbsd): Likewise.
35412 (grub_cmd_netbsd): Likewise.
35413 (cmd_freebsd): Changed type to grub_extcmd_t.
35414 (cmd_openbsd): Likewise.
35415 (cmd_netbsd): Likewise.
35416 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35417 grub_cmd_openbsd as extended commands.
35418 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35419 cmd_netbsd and cmd_openbsd
35420
35421 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35422
35423 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35424
35425 2009-08-21 Pavel Roskin <proski@gnu.org>
35426
35427 * Makefile.in (install-local): When checking if a file is in the
35428 build directory, use "test -e" to detect symlinks.
35429
35430 * Makefile.in (install-local): Remove all files in
35431 $(DESTDIR)$(pkglibdir) before installing new files there.
35432
35433 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
35434
35435 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35436 grub-mkelfimage.
35437
35438 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
35439
35440 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35441 explicitly specified by the user.
35442
35443 2009-08-18 Pavel Roskin <proski@gnu.org>
35444
35445 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35446 grub_uint8_t pointer for data.
35447 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35448 Likewise.
35449 * video/fb/fbutil.c: Remove unnecessary casts.
35450
35451 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
35452
35453 VBE cleanup.
35454
35455 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35456 (grub_vbe_set_video_mode): Save active mode info
35457 only after setting the mode.
35458 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35459 second argument.
35460
35461 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
35462
35463 Rename variables for clarity.
35464
35465 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35466 (active_vbe_mode_info): ... this. All users updated.
35467 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35468 All users updated.
35469 (initial_mode): Rename to ...
35470 (initial_vbe_mode): ... this. All users updated.
35471 (mode_in_use): Rename to ..
35472 (vbe_mode_in_use): ... this. All users updated.
35473 (mode_list): Rename to ..
35474 (vbe_mode_list): ... this. All users updated.
35475 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35476 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35477 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35478 'mode_list_size' to 'vbe_mode_list_size'.
35479 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35480 'best_mode_info' to 'best_vbe_mode_info' and
35481 'best_mode' to 'best_vbe_mode'
35482
35483 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
35484
35485 Remove duplicate grub_video_fb_get_video_ptr.
35486
35487 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35488 (grub_video_fb_get_video_ptr): ... this.
35489 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35490 * video/fb/fbutil.c: Add comment about addressing.
35491 (get_data_ptr): Rename to ...
35492 (grub_video_fb_get_video_ptr): ... this. All users updated.
35493 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35494
35495 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35496
35497 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35498 grub_dprintf() that was just added.
35499
35500 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35501
35502 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35503 (DEFAULT_VIDEO_MODE): Remove macros.
35504 (grub_linux_boot): Remove assumption that Linux has FB support,
35505 and use "text" as default video mode.
35506
35507 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35508
35509 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35510 grub_dprintf.
35511 * fs/fat.c (grub_fat_read_data): Likewise.
35512
35513 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35514
35515 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35516 payload.
35517 (grub_module): Likewise.
35518
35519 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35520
35521 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35522 mbi->cmdline but free playground.
35523
35524 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35525
35526 Handle group offset on UFS1.
35527
35528 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35529 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35530
35531 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35532
35533 Split ufs.mod into ufs1.mod and ufs2.mod.
35534
35535 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35536 (grub_fstest_SOURCES): Likewise.
35537 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35538 (ufs_mod_SOURCES): Remove.
35539 (ufs_mod_CFLAGS): Likewise.
35540 (ufs_mod_LDFLAGS): Likewise.
35541 (ufs1_mod_SOURCES): New variable.
35542 (ufs1_mod_CFLAGS): Likewise.
35543 (ufs1_mod_LDFLAGS): Likewise.
35544 (ufs2_mod_SOURCES): New variable.
35545 (ufs2_mod_CFLAGS): Likewise.
35546 (ufs2_mod_LDFLAGS): Likewise.
35547 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35548 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35549 Likewise.
35550 (grub_emu_SOURCES): Likewise.
35551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35552 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35553 (grub_setup_SOURCES): Likewise.
35554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35555 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35556 (grub_setup_SOURCES): Likewise.
35557 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35558 Likewise.
35559 * fs/ufs2.c: New file.
35560 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35561
35562 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35563
35564 Framebuffer split.
35565
35566 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35567 subsystem at the end.
35568 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35569 (video_fb_mod_SOURCES): New variable.
35570 (video_fb_mod_CFLAGS): Likewise.
35571 (video_fb_mod_LDFLAGS): Likewise.
35572 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35573 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35574 * video/i386/pc/vbeblit.c: Moved from here ...
35575 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35576 * video/i386/pc/vbefill.c: Moved from here ...
35577 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35578 * video/i386/pc/vbeutil.c: Moved from here ...
35579 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35580 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35581 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35582 * include/grub/i386/pc/vbefill.h: Moved from here ...
35583 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35584 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35585 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35586 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35587 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35588 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35589 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35590 (grub_video_adapter): Added 'get_info_and_fini'.
35591 (grub_video_get_info_and_fini): New prototype.
35592 (grub_video_set_mode): make modestring const char *.
35593 * loader/i386/linux.c (grub_linux_setup_video): Use
35594 grub_video_get_info_and_fini.
35595 (grub_linux_boot): Move modesetting just before booting.
35596 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35597 grub_video_get_info_and_fini.
35598 * video/i386/pc/vbe.c: Moved framebuffer part ...
35599 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35600 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35601 grub_video_fbstd_colors and grub_video_fb_set_palette.
35602 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35603 grub_video_fb_init.
35604 (grub_video_vbe_fini): Use grub_video_fb_fini.
35605 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35606 render_target and use grub_video_fb_set_active_render_target and
35607 grub_video_fb_set_palette.
35608 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35609 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35610 (grub_video_vbe_adapter): Use framebuffer.
35611 * video/video.c (grub_video_get_info_and_fini): New function.
35612 (grub_video_set_mode): Make modestring const char *.
35613 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35614 values are already initialised.
35615
35616 2009-08-14 Pavel Roskin <proski@gnu.org>
35617
35618 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35619 ABS and APPLE_CC.
35620 * boot/i386/pc/diskboot.S: Likewise.
35621 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35622 sectors allow compilation on MacOSX.
35623 * conf/i386-pc.rmk: Enable unconditional compilation of
35624 lnxboot.img.
35625
35626 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
35627
35628 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35629 * util/grub.d/00_header.in: Enter interruptible sleep if
35630 GRUB_HIDDEN_TIMEOUT is set.
35631
35632 2009-08-13 Yves Blusseau <blusseau@zetam.org>
35633
35634 * include/grub/symbol.h: Add the LOCAL macro.
35635 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35636 starting with "L_".
35637
35638 2009-08-13 Pavel Roskin <proski@gnu.org>
35639
35640 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35641 any modern compilers we support.
35642
35643 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35644 Use local labels starting with "L_" so that Apple assembler
35645 knows they are local.
35646
35647 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35648
35649 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35650 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35651 (bsd_kernel_types): ... this enum.
35652
35653 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35654 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35655 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35656
35657 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35658 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35659 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35660 messages.
35661
35662 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35663
35664 * util/grub-dumpdevtree: Moved from here ...
35665 * util/i386/efi/grub-dumpdevtree: ... to here.
35666 (hexify): New function. Converts a string to its hex version.
35667 Generate hex versions of "efi" and "device-properties" by calling
35668 hexify() on the ASCII strings rather than by hardcoding numbers.
35669
35670 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35671
35672 * fs/jfs.c: Update copyright year.
35673
35674 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
35675
35676 * util/grub.d/00_header.in: Fix a comment.
35677 * util/grub.d/10_linux.in: Likewise.
35678 * util/grub.d/10_windows.in: Likewise.
35679 * util/grub.d/10_hurd.in: Likewise.
35680
35681 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
35682
35683 * util/grub-mkconfig.in: Allow the user to specify the used font
35684 with GRUB_FONT.
35685
35686 2009-08-08 Pavel Roskin <proski@gnu.org>
35687
35688 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35689 available, xfs.mod needs it now.
35690
35691 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35692 the "g" modifier in sed when the intention is to strip something
35693 once. This fixes comparison of kernels with multiple dashes.
35694
35695 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35696 on it. Add missing space before closing bracket. Fix
35697 misleading formatting.
35698
35699 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35700
35701 * docs/grub.texi: Major overhaul. Remove all sections that are
35702 specific to GRUB Legacy, or mostly composed of Legacy-specific
35703 information.
35704
35705 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35706
35707 * docs/version.texi: New file. Provides version information for
35708 grub.texi.
35709
35710 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35711
35712 * docs/grub.texi: Update CVS information to SVN.
35713 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35714
35715 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
35716
35717 * util/grub-mkconfig.in: Remove a wrong `fi'.
35718
35719 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
35720
35721 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35722 (grub_jfs_uuid): New function.
35723 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35724
35725 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
35726
35727 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35728 of it to ...
35729 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35730 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35731
35732 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35733
35734 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35735 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35736 Update all users.
35737
35738 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35739 not just "vmlinu[zx]".
35740 Moved from here ...
35741 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35742 all users.
35743
35744 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35745 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35746 all users.
35747
35748 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35749
35750 * util/grub.d/10_freebsd.in: Use an absolute device path for
35751 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35752
35753 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
35754
35755 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35756 handling of multiple abstraction modules.
35757
35758 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35759
35760 Fix a bug resulting in black screen when loading Linux using a
35761 packed video mode.
35762
35763 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35764 function.
35765
35766 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35767 (grub_vbe_bios_getset_dac_palette_width): New function.
35768 (grub_vbe_bios_get_dac_palette_width)
35769 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35770 grub_vbe_bios_getset_dac_palette_width()).
35771
35772 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35773 check for return status.
35774 (grub_vbe_get_video_mode_info): When getting information for a packed
35775 mode (<= 8 bpp), obtain DAC palette width using
35776 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35777 {red,green,blue}_mark_size.
35778
35779 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
35780
35781 * commands/search.c (options): Fix help output to match actual code.
35782
35783 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35784
35785 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35786 of homegrown code.
35787
35788 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35789
35790 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35791 on XFS or ReiserFS.
35792
35793 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35794
35795 Support Apple partition map with sector size different from 512 bytes.
35796
35797 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35798 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35799 and 'apart.partmap_size'.
35800
35801 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35802 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35803
35804 Fix cpuid command.
35805
35806 * commands/i386/cpuid.c (options): New variable.
35807 (grub_cmd_cpuid): Return real error.
35808 (GRUB_MOD_INIT(cpuid)): Declare options.
35809
35810 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35811
35812 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35813 valid.
35814
35815 2009-07-31 Bean <bean123ch@gmail.com>
35816
35817 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35818 log2_inode.
35819 (grub_fshelp_node): Move inode field to the end.
35820 (grub_xfs_data): Remove inode field.
35821 (grub_xfs_inode_block): Calculate inode size using sblock.
35822 (grub_xfs_inode_offset): Likewise.
35823 (grub_xfs_read_inode): Calculate inode size using sblock.
35824 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35825 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35826 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35827 to match inode size.
35828 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35829 not accessible when data is null.
35830 (grub_xfs_open): Likewise.
35831
35832 2009-07-31 Bean <bean123ch@gmail.com>
35833
35834 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35835 Don't change pv->disk if it's already set.
35836
35837 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35838 (grub_raid_register): ... here.
35839 (grub_raid_rescan): Removed.
35840
35841 * include/grub/raid.h (grub_raid_rescan): Removed.
35842
35843 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35844 (fstest): Replace grub_raid_rescan with module fini function followed
35845 by init function.
35846
35847 * util/grub-probe.c: Add include file <grub/raid.h>.
35848 (probe_raid_level): New function.
35849 (probe): Detect abstraction by walking the disk device, support two
35850 level of abstraction (LVM on RAID) when detecting partition map.
35851
35852 2009-07-31 Pavel Roskin <proski@gnu.org>
35853
35854 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35855 to grub_zalloc(), it was erroneous.
35856 Reported by Bean <bean123ch@gmail.com>
35857
35858 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35859
35860 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
35861 embedding zone, not only the first one.
35862
35863 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
35864
35865 * term/gfxterm.c (clear_char): New function.
35866 (grub_virtual_screen_setup): Use clear_char.
35867 (scroll_up): Likewise.
35868 (grub_virtual_screen_cls): Likewise.
35869
35870 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
35871
35872 * util/deviceiter.c (get_acceleraid_disk_name): New static
35873 function.
35874 (grub_util_iterate_devices): Handle Accelraid devices.
35875 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35876
35877 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35878
35879 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35880 separator for the suggested gfxpayload string (';' collides with the
35881 parser and needs escaping).
35882
35883 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35884
35885 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35886 Clear direction flag before jumping to OS.
35887 (grub_multiboot2_real_boot): Likewise.
35888
35889 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
35890
35891 * util/i386/pc/grub-install: Fix parsing of --disk-module
35892 option.
35893
35894 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
35895
35896 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35897 when embedding.
35898
35899 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
35900
35901 * util/grub-mkconfig.in (package_version): New variable.
35902 Use it do display the version.
35903
35904 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
35905
35906 * kern/file.c (grub_file_open): Revert to previous check with
35907 grub_errno.
35908
35909 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35910
35911 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35912 from help line. It's out of sync with code.
35913
35914 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35915
35916 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35917 entries on failed boot.
35918
35919 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
35920
35921 * kern/file.c (grub_file_open): Fix an error check.
35922
35923 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35924
35925 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35926 partition map couldn't be identified.
35927
35928 2009-07-23 Pavel Roskin <proski@gnu.org>
35929
35930 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35931 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35932 case of little endian words becomes just an optimization.
35933 Respect const modifier.
35934 (md5_final): Use code that doesn't depend on endianness.
35935
35936 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35937 to avoid loss of upper bits if align is unsigned and shorter
35938 than addr.
35939
35940 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35941
35942 UUID support for UFS
35943
35944 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35945 (grub_ufs_uuid): New function.
35946 (grub_ufs_fs): add .uuid
35947
35948 2009-07-21 Pavel Roskin <proski@gnu.org>
35949
35950 * kern/dl.c (grub_dl_check_header): Make static.
35951
35952 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
35953
35954 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35955 add drivemap for Vista. It breaks Windows 7.
35956
35957 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35958
35959 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35960 128 bytes
35961
35962 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35963
35964 Add BFS support
35965
35966 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35967 (grub_fstest_SOURCES): Likewise.
35968 (pkglib_MODULES): Add befs.mod.
35969 (befs_mod_SOURCES): New variable.
35970 (befs_mod_CFLAGS): Likewise.
35971 (befs_mod_LDFLAGS): Likewise.
35972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35973 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35974 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35975 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35976 (grub_setup_SOURCES): Likewise.
35977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35979 (grub_setup_SOURCES): Likewise.
35980 * fs/befs.c: New file.
35981 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35982 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35983 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35984 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35985 (B_KEY_INDEX_ALIGN): New declaration.
35986 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35987 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35988 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35989 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35990 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35991 (grub_afs_mount) [MODE_BFS]: Likewise.
35992 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35993 (grub_afs_fs): Use GRUB_AFS_FSNAME
35994 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35995 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35996 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35997 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35998
35999 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36000
36001 * util/getroot.c (find_root_device): Add support for MacOSX.
36002 * util/hostdisk.c: Likewise.
36003
36004 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36005
36006 * font/font.c (find_glyph): Check whether a font is present to avoid
36007 segmentation fault.
36008
36009 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36010
36011 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36012
36013 2009-07-20 Pavel Roskin <proski@gnu.org>
36014
36015 * configure.ac: Trim excessively wordy excuses.
36016
36017 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36018
36019 Add symlink, mtime and label support to AtheFS.
36020
36021 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36022 (grub_afs_iterate_dir): Handle symlinks.
36023 (grub_afs_open): Use grub_afs_read_symlink.
36024 (grub_afs_dir): Likewise.
36025 Pass mtime.
36026 (grub_afs_label): New function.
36027 (grub_afs_fs): Add grub_afs_label.
36028 (grub_afs_read_symlink): New function.
36029
36030 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36031
36032 Fix AtheFS support.
36033
36034 * fs/afs.c: Fix comments style.
36035 (grub_afs_blockrun): Declare as packed.
36036 (grub_afs_datastream): Likewise.
36037 (grub_afs_bnode): Likewise.
36038 (grub_afs_btree): Likewise.
36039 (grub_afs_sblock): Likewise.
36040 Declare `name' as char.
36041 (grub_afs_inode): Declare as packed.
36042 Change void *vnode to grub_uint32_t unused.
36043 (grub_afs_iterate_dir): Check that key_size is positive.
36044 (grub_afs_mount): Don't read superblock twice.
36045 (grub_afs_dir): Don't free node in case of error,
36046 grub_fshelp_find_file already handles this.
36047 (grub_afs_open): Likewise.
36048
36049 2009-07-19 Pavel Roskin <proski@gnu.org>
36050
36051 * Makefile.in: Remove LIBLZO and enable_lzo.
36052 * conf/i386-pc.rmk: Remove lzo support.
36053 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36054 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36055 support.
36056 * kern/i386/pc/lzo1x.S: Remove.
36057 * kern/i386/pc/startup.S: Remove lzo support.
36058 * util/i386/pc/grub-mkimage.c: Likewise.
36059
36060 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36061
36062 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36063 * fs/xfs.c (grub_xfs_dir): Likewise.
36064 * fs/afs.c (grub_afs_dir): Likewise.
36065 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36066 (grub_iso9660_open): Likewise.
36067 * fs/jfs.c (grub_jfs_open): Likewise.
36068 * fs/ext2.c (grub_ext2_dir): Likewise.
36069 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36070 * script/sh/lexer.c (grub_script_yylex): Likewise.
36071
36072 2009-07-16 Pavel Roskin <proski@gnu.org>
36073
36074 * configure.ac: Never add "-c" to CFLAGS.
36075
36076 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36077
36078 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36079 grub_cv_cc_efiemu should be used.
36080
36081 * configure.ac: Typo fixes.
36082
36083 * kern/mm.c (grub_zalloc): New function.
36084 (grub_debug_zalloc): Likewise.
36085 * include/grub/mm.h: Declare grub_zalloc() and
36086 grub_debug_zalloc().
36087 * util/misc.c (grub_zalloc): New function.
36088 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36089 instead of grub_malloc(), remove unneeded initializations.
36090 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36091 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36092 * commands/parttool.c (grub_cmd_parttool): Likewise.
36093 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36094 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36095 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36096 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36097 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36098 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36099 (grub_cmd_efiemu_pnvram): Likewise.
36100 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36101 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36102 (grub_iso9660_iterate_dir): Likewise.
36103 * fs/jfs.c (grub_jfs_opendir): Likewise.
36104 * fs/ntfs.c (list_file): Likewise.
36105 (grub_ntfs_mount): Likewise.
36106 * kern/disk.c (grub_disk_open): Likewise.
36107 * kern/dl.c (grub_dl_load_core): Likewise.
36108 * kern/elf.c (grub_elf_file): Likewise.
36109 * kern/env.c (grub_env_context_open): Likewise.
36110 (grub_env_set): Likewise.
36111 (grub_env_set_data_slot): Likewise.
36112 * kern/file.c (grub_file_open): Likewise.
36113 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36114 * loader/i386/multiboot.c (grub_module): Likewise.
36115 * loader/xnu.c (grub_xnu_create_key): Likewise.
36116 (grub_xnu_create_value): Likewise.
36117 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36118 (read_config_file): Likewise.
36119 * normal/menu_entry.c (make_screen): Likewise.
36120 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36121 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36122 * script/sh/script.c (grub_script_parse): Likewise.
36123 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36124 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36125 * video/readers/png.c (grub_png_output_byte): Likewise.
36126 (grub_video_reader_png): Likewise.
36127
36128 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36129
36130 Enable all targets that can be built by default
36131
36132 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36133 grub-mkfont and grub-fstest if they can be built
36134
36135 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36136
36137 Fix hang and segmentation fault in grub-emu-usb
36138
36139 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36140 * util/usb.c (grub_libusb_devices): likewise
36141 (grub_libusb_init): rename to ...
36142 (GRUB_MOD_INIT (libusb)):...this
36143 (grub_libusb_fini): rename to ..
36144 (GRUB_MOD_FINI (libusb)):...this
36145 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36146 * include/grub/disk.h (grub_raid_init): removed, it's useless
36147 (grub_raid_fini): likewise
36148 (grub_lvm_init): likewise
36149 (grub_lvm_fini): likewise
36150 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36151 by grub_init_all
36152
36153 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36154
36155 Fix libusb
36156
36157 * Makefile.in (LIBUSB): new macro
36158 * genmk.rb (Utility/print_tail): new method
36159 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36160 (top level): call util.print_tail at the end.
36161
36162 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36163
36164 Make FreeBSD accept zpool.cache
36165
36166 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36167 type is /boot/zfs/zpool.cache
36168
36169 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36170
36171 Fix 64-bit efiemu
36172
36173 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36174 correct wrong typedef
36175 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36176
36177 2009-07-15 Pavel Roskin <proski@gnu.org>
36178
36179 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36180 * kern/disk.c (struct grub_disk_cache): Likewise.
36181
36182 * commands/probe.c (options): Typo fix.
36183
36184 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36185 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36186 accordingly.
36187 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36188
36189 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36190 the end of "Error" to make the message more readable.
36191
36192 * boot/i386/pc/boot.S (kernel_segment): Remove.
36193 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36194 for destination.
36195
36196 * boot/i386/pc/boot.S (boot_version): Remove.
36197 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36198 Remove.
36199
36200 * include/grub/i386/pc/boot.h: Sort all offsets.
36201 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36202 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36203 * boot/i386/pc/boot.S: Assert location of every offset listed in
36204 include/grub/i386/pc/boot.h.
36205
36206 2009-07-13 Pavel Roskin <proski@gnu.org>
36207
36208 * include/grub/i386/coreboot/machine.h: Rename
36209 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36210 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36211 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36212
36213 * kern/dl.c: Force native word size to suppress warnings when
36214 compiling grub-emu.
36215
36216 * kern/device.c (grub_device_iterate): Change struct part_ent to
36217 hold the name, not a pointer to it. Use one grub_malloc() per
36218 partition, not two. Free partition_name if grub_malloc() fails.
36219 Set ents to NULL only before grub_partition_iterate() is called.
36220
36221 2009-07-11 Bean <bean123ch@gmail.com>
36222
36223 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36224 childname.
36225
36226 2009-07-10 Bean <bean123ch@gmail.com>
36227 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36228
36229 * kern/ieee1275/openfw.c (grub_children_iterate)
36230 (grub_devalias_iterate): Fix size evaluation for property or path
36231 strings, which was broken since r2132.
36232
36233 2009-07-07 Pavel Roskin <proski@gnu.org>
36234
36235 * commands/search.c (search_file): Merge into ...
36236 (search_fs): ... this. Accept search type as argument.
36237 (grub_cmd_search): Pass search type to search_fs().
36238
36239 * include/grub/util/console.h: New file.
36240 * util/console.c: Use it instead of grub/machine/console.h.
36241 * util/grub-emu.c: Likewise.
36242
36243 * lib/arg.c (find_long_option): Remove.
36244 (find_long): Add `len' argument, make `s' const char *.
36245 (grub_arg_parse): Parse long options in place, not in a
36246 temporary buffer.
36247
36248 2009-07-06 Pavel Roskin <proski@gnu.org>
36249
36250 * commands/search.c (search_fs): Fix potential NULL pointer
36251 dereference.
36252
36253 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36254 function pointer.
36255
36256 2009-07-06 Daniel Mierswa <impulze@impulze.org>
36257
36258 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36259 comparison.
36260
36261 2009-07-05 Pavel Roskin <proski@gnu.org>
36262
36263 * include/grub/i386/linux.h (struct linux_kernel_params):
36264 Restore padding3, it's still needed.
36265
36266 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36267 FreeBSD.
36268 * util/osdetect.lua: Likewise.
36269
36270 2009-07-05 Bean <bean123ch@gmail.com>
36271
36272 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36273
36274 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36275 (grub_lua_getenv): Likewise.
36276 (grub_lua_setenv): Likewise.
36277 (save_errno): New function.
36278 (push_result): Likewise.
36279 (grub_lua_enum_device): Likewise.
36280 (grub_lua_enum_file): Likewise.
36281 (grub_lua_file_open): Likewise.
36282 (grub_lua_file_close): Likewise.
36283 (grub_lua_file_seek): Likewise.
36284 (grub_lua_file_read): Likewise.
36285 (grub_lua_file_getline): Likewise.
36286 (grub_lua_file_getsize): Likewise.
36287 (grub_lua_file_getpos): Likewise.
36288 (grub_lua_file_eof): Likewise.
36289 (grub_lua_file_exist): Likewise.
36290 (grub_lua_add_menu): Likewise.
36291
36292 * script/lua/grub_lua.h (isupper): New inline function.
36293 (islower): Likewise.
36294 (ispunct): Likewise.
36295 (isxdigit): Likewise.
36296 (strcspn): Change to normal function.
36297 (strpbkr): New function declaration.
36298 (memchr): Likewise.
36299
36300 * script/lua/grub_main.c (scan_str): New function.
36301 (strcspn): Likewise.
36302 (strpbrk): Likewise.
36303 (memchr): Likewise.
36304
36305 * script/lua/linit.c (lualibs): Enable the string library.
36306
36307 * util/osdetect.lua: New file.
36308
36309 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36310
36311 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36312 `capabilities' member.
36313
36314 2009-07-02 Pavel Roskin <proski@gnu.org>
36315
36316 * genparttoollist.sh: Add missing newline at the end.
36317
36318 2009-07-01 Pavel Roskin <proski@gnu.org>
36319
36320 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36321
36322 * util/hostdisk.c (open_device): Remove `const' from
36323 `sysctl_size', as sysctlbyname() can change it (in this case it
36324 doesn't actually happen).
36325
36326 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36327 using signed long int constants.
36328
36329 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36330 constant to avoid a warning on FreeBSD.
36331
36332 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36333 where it's needed.
36334
36335 * Makefile.in: Install include/grub/machine symlink.
36336
36337 * Makefile.in: When installing symlinks, use "cp -fR", which
36338 works on FreeBSD and MacOSX.
36339 From Yves Blusseau <cl7m42e02@sneakemail.com>
36340
36341 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36342 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36343
36344 * util/misc.c: Move grub_reboot() and grub_halt() ...
36345 * util/grub-emu.c: ... here. Make main_env static.
36346 * include/grub/util/misc.h: Remove main_env.
36347
36348 * kern/mm.c: Use correct format to print size_t.
36349
36350 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36351 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36352 * kern/powerpc/dl.c: Likewise.
36353 * kern/sparc64/dl.c: Likewise.
36354 * kern/x86_64/dl.c: Likewise.
36355
36356 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36357
36358 Fix grub-emu build on sparc64-ieee1275.
36359
36360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
36361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36362
36363 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36364
36365 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36366 (grub_reboot, grub_halt): New functions.
36367
36368 * util/i386/pc/misc.c: Delete. Update all users.
36369 * util/sparc64/ieee1275/misc.c: Likewise.
36370 * util/powerpc/ieee1275/misc.c: Likewise.
36371
36372 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36373
36374 * conf/i386.rmk (setjmp_mod_SOURCES)
36375 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36376 * conf/common.rmk (setjmp_mod_SOURCES)
36377 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36378 to use $(target_cpu).
36379 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36380 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36381 * conf/powerpc-ieee1275.rmk: Likewise.
36382 * conf/sparc64-ieee1275.rmk: Likewise.
36383
36384 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36385 $(target_cpu) for kern/$(target_cpu)/dl.c.
36386 * conf/i386-efi.rmk: Likewise.
36387 * conf/i386-ieee1275.rmk: Likewise.
36388 * conf/x86_64-efi.rmk: Likewise.
36389 * conf/i386-coreboot.rmk: Likewise.
36390 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36391 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36392 kern/$(target_cpu)/cache.S.
36393 * conf/sparc64-ieee1275.rmk: Likewise.
36394
36395 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36396
36397 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36398 type to `grub_uint8_t', and adjust `padding9' accordingly.
36399
36400 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36401
36402 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36403
36404 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36405 assembly in final jump, using register constraints.
36406
36407 (grub_linux_boot): For text mode, initialize `have_vga' using
36408 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36409
36410 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36411 right before the final jump.
36412
36413 Set `video_mode' to 0x3.
36414
36415 Document initialization of `video_page', `video_mode' and
36416 `video_ega_bx'.
36417
36418 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36419
36420 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36421 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
36422 and set GRUB_LINUX_FLAG_QUIET appropriately.
36423
36424 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36425
36426 Fix build on Debian / sparc.
36427
36428 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36429
36430 2009-06-28 Pavel Roskin <proski@gnu.org>
36431
36432 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36433 fix a warning.
36434
36435 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36436
36437 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36438
36439 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36440 `err'.
36441
36442 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36443
36444 Revert r2338.
36445
36446 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36447 file can't be opened. grub_file_open() is already supposed to set
36448 grub_errno / grub_errmsg appropriately.
36449 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36450
36451 2009-06-27 Pavel Roskin <proski@gnu.org>
36452 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36453
36454 * include/grub/dl.h: Include grub/elf.h.
36455 (struct grub_dl): Add symtab field.
36456 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36457 GRUB_MODULES_MACHINE_READONLY.
36458 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36459 of the header for read-only modules.
36460 (grub_dl_unload): Free mod->symtab for read-only modules.
36461 * kern/i386/dl.c: Use mod->symtab.
36462 * kern/powerpc/dl.c: Likewise.
36463 * kern/sparc64/dl.c: Likewise.
36464 * kern/x86_64/dl.c: Likewise.
36465
36466 * conf/i386-qemu.rmk: New file.
36467 * kern/i386/qemu/startup.S: Likewise.
36468 * kern/i386/qemu/mmap.c: Likewise.
36469 * boot/i386/qemu/boot.S: Likewise.
36470 * include/grub/i386/qemu/time.h: Likewise.
36471 * include/grub/i386/qemu/serial.h: Likewise.
36472 * include/grub/i386/qemu/kernel.h: Likewise.
36473 * include/grub/i386/qemu/console.h: Likewise.
36474 * include/grub/i386/qemu/boot.h: Likewise.
36475 * include/grub/i386/qemu/init.h: Likewise.
36476 * include/grub/i386/qemu/machine.h: Likewise.
36477 * include/grub/i386/qemu/loader.h: Likewise.
36478 * include/grub/i386/qemu/memory.h: Likewise.
36479
36480 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36481 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36482 [qemu] (pkglib_IMAGES): Add `boot.img'.
36483 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36484 [qemu] (boot_img_FORMAT): New variables.
36485 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36486 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36487 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36488 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36489 [qemu] (kernel_img_FORMAT): New variables.
36490
36491 * configure.ac: Recognise `i386-qemu'.
36492
36493 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36494 (for no compression).
36495 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36496 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36497 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36498 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36499 ifdefs).
36500
36501 2009-06-27 Pavel Roskin <proski@gnu.org>
36502
36503 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36504 read.
36505 * efiemu/prepare32.c: Likewise.
36506 * efiemu/prepare64.c: Likewise.
36507
36508 2009-06-26 Pavel Roskin <proski@gnu.org>
36509
36510 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36511 * include/grub/elf.h: Define symbols without "32" or "64" based
36512 on GRUB_TARGET_WORDSIZE.
36513 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36514 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36515 ELF definitions.
36516 * efiemu/loadcore64.c: Likewise.
36517 * loader/i386/bsd32.c: Likewise.
36518 * loader/i386/bsd64.c: Likewise.
36519 * kern/dl.c: Remove own ELF definitions.
36520 * util/i386/efi/grub-mkimage.c: Likewise.
36521
36522 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36523
36524 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36525 segment 0x0 unconditionally, because the reference generated by
36526 GAS is an absolute address.
36527
36528 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36529
36530 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36531 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36532
36533 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36534
36535 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36536 indexes. Check for -f explicitly.
36537 (search_file): Improve error message.
36538 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
36539
36540 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36541
36542 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36543 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36544
36545 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36546
36547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36548 * conf/i386-ieee1275.rmk: Likewise.
36549 * conf/i386-coreboot.rmk: Likewise.
36550
36551 * kern/i386/pc/startup.S (grub_stop): Remove function.
36552 * kern/i386/ieee1275/startup.S: Likewise.
36553 * kern/i386/coreboot/startup.S: Likewise.
36554 * kern/i386/misc.S (grub_stop): New function.
36555
36556 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36557
36558 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36559 * kern/i386/realmode.S (real_to_prot): ... to here.
36560
36561 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36562
36563 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36564 with `kernel.img'.
36565 (kernel_elf_SOURCES): Rename to ...
36566 (kernel_img_SOURCES): ... this.
36567 (kernel_elf_HEADERS): Rename to ...
36568 (kernel_img_HEADERS): ... this. Update all users.
36569 (kernel_elf_ASFLAGS): Rename to ...
36570 (kernel_img_ASFLAGS): ... this.
36571 (kernel_elf_CFLAGS): Rename to ...
36572 (kernel_img_CFLAGS): ... this.
36573 (kernel_elf_LDFLAGS): Rename to ...
36574 (kernel_img_LDFLAGS): ... this.
36575 * conf/i386-coreboot.rmk: Likewise.
36576 * conf/powerpc-ieee1275.rmk: Likewise.
36577
36578 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36579 with "kernel.img".
36580
36581 2009-06-21 Pavel Roskin <proski@gnu.org>
36582
36583 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36584 to match nested functions.
36585 * loader/sparc64/ieee1275/linux.c: Likewise.
36586
36587 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36588
36589 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36590
36591 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36592 all i386 platforms.
36593
36594 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36595
36596 Fix asm file handling on ELF, and remove workarounds.
36597
36598 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
36599 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
36600 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36601 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36602
36603 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36604
36605 Load BSD ELF modules
36606
36607 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36608 and loader/i386/bsd64.c
36609 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36610 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36611 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36612 (grub_freebsd_load_elfmodule32): New declaration
36613 (grub_freebsd_load_elfmoduleobj64): Likewise
36614 (grub_freebsd_load_elf_meta32): Likewise
36615 (grub_freebsd_load_elf_meta64): Likewise
36616 (grub_freebsd_add_meta): Likewise
36617 (grub_freebsd_add_meta_module): Likewise
36618 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36619 (grub_freebsd_add_meta_module): Likewise and move module-specific
36620 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36621 (grub_cmd_freebsd): Add elf-kernel specific parts
36622 based on grub_freebsd_add_meta_module
36623 (grub_cmd_freebsd_module): Add type parsing moved from
36624 grub_freebsd_add_meta_module
36625 (grub_cmd_freebsd_module_elf): New function
36626 (cmd_freebsd_module_elf): New variable
36627 (GRUB_MOD_INIT): Register freebsd_module_elf
36628 * loader/i386/bsd32.c: New file
36629 * loader/i386/bsd64.c: Likewise
36630 * loader/i386/bsdXX.c: Likewise
36631 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36632 (grub_elf64_load): Likewise
36633 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36634 All users updated
36635 (grub_elf64_load_hook_t): Likewise
36636
36637 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
36638
36639 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36640 variable.
36641 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36642 don't write a menu entry for recovery mode.
36643
36644 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36645
36646 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36647 after it's no longer needed.
36648
36649 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36650
36651 * include/grub/i386/loader.h (grub_linux_prot_size)
36652 (grub_linux_tmp_addr, grub_linux_real_addr)
36653 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36654 GRUB_MACHINE_PCBIOS.
36655 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36656 common grub_util_info() call to ...
36657 (generate_image): ... here.
36658 Fix use of uninitialized memory, comparison of signed with
36659 unsigned integers and memory leak.
36660 Remove bogus module address message.
36661
36662 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36663
36664 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36665 grub_raid_register
36666 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36667
36668 2009-06-19 Pavel Roskin <proski@gnu.org>
36669
36670 * configure.ac: Remove stray AC_MSG_CHECKING.
36671
36672 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36673
36674 * disk/scsi.c (grub_scsi_open): use continue instead of big if
36675
36676 2009-06-18 Pavel Roskin <proski@gnu.org>
36677
36678 * conf/common.rmk: Add fs_file.mod.
36679 * disk/fs_file.c: New file.
36680 * include/grub/disk.h (enum grub_disk_dev_id): Add
36681 GRUB_DISK_DEVICE_FILE_ID.
36682
36683 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36684
36685 Fix build with Apple's toolchain. Part 2
36686
36687 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36688 a fake start
36689
36690 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36691
36692 Fix build with Apple's toolchain. Part 1
36693
36694 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36695 for long calls
36696 * configure.ac: remove a leftover AC_MSG_RESULT
36697 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
36698 Apple's toolchain
36699
36700 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36701
36702 Fix warnings
36703
36704 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36705 (decomp_block): initialize ch
36706 use grub_memcpy instead of memcpy
36707
36708 2009-06-17 Pavel Roskin <proski@gnu.org>
36709
36710 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36711 version, use declarations needed to use vga_text as the startup
36712 console.
36713
36714 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36715 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36716 the kernel.
36717 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36718 and grub_at_keyboard_fini(), it's done on module load and
36719 unload.
36720
36721 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
36722
36723 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36724 file can't be found.
36725 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36726
36727 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36728
36729 Fix newline handling
36730
36731 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
36732 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
36733 (grub_script_yylex): don't segfault on unterminated script
36734 newline terminates command and variable
36735
36736 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36737
36738 avoid double grub_adjust_range call. Bug reported by David Simner
36739
36740 * kern/disk.c (grub_disk_write): change to raw disk access before
36741 calling disk_read
36742
36743 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
36744
36745 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36746 spaces, for the benefit of help2man.
36747 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36748
36749 2009-06-16 Pavel Roskin <proski@gnu.org>
36750
36751 * kern/i386/halt.c: Include grub/machine/init.h.
36752 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36753
36754 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
36755
36756 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36757 drivemap menuentry.
36758
36759 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36760
36761 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36762 `echo' command.
36763
36764 2009-06-16 Pavel Roskin <proski@gnu.org>
36765
36766 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36767 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36768 save %dx, we only need %dl and we never change it.
36769 * boot/i386/pc/cdboot.S: Don't set the root drive.
36770 * boot/i386/pc/pxeboot.S: Likewise.
36771 * include/grub/i386/pc/boot.h: Remove
36772 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36773 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36774 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36775 * kern/i386/pc/init.c (make_install_device): Remove references
36776 to grub_root_drive.
36777 * kern/i386/pc/startup.S: Likewise.
36778 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36779
36780 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36781
36782 xnu_uuid command
36783
36784 * commands/xnu_uuid.c: new file
36785 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36786 (xnu_uuid_mod_SOURCES): new variable
36787 (xnu_uuid_mod_CFLAGS): likewise
36788 (xnu_uuid_mod_LDFLAGS): likewise
36789 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36790 * conf/i386-ieee1275.rmk: likewise
36791 * conf/i386-pc.rmk: likewise
36792 * conf/powerpc-ieee1275.rmk: likewise
36793 * conf/sparc64-ieee1275.rmk: likewise
36794 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36795
36796 2009-06-16 Pavel Roskin <proski@gnu.org>
36797
36798 * configure.ac: Avoid '==' in test command, it's not portable.
36799
36800 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36801
36802 Probe command
36803
36804 * commands/probe.c: new file
36805 * conf/common.rmk (pkglib_MODULES): add probe.mod
36806 (probe_mod_SOURCES): new variable
36807 (probe_mod_CFLAGS): likewise
36808 (probe_mod_LDFLAGS): likewise
36809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36810 * conf/i386-ieee1275.rmk: likewise
36811 * conf/i386-pc.rmk: likewise
36812 * conf/powerpc-ieee1275.rmk: likewise
36813 * conf/sparc64-ieee1275.rmk: likewise
36814
36815 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36816
36817 Fix handling of string like \"hello\" and "a
36818 b"
36819
36820 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36821 (grub_script_yylex): fix parsing of quoting, escaping and newline
36822
36823 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36824
36825 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
36826 handling
36827
36828 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
36829
36830 * util/grub-mkconfig.in: Fix parsing of --output option.
36831
36832 2009-06-12 Pavel Roskin <proski@gnu.org>
36833
36834 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36835 genmk.rb don't need to be generated or installed.
36836
36837 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36838
36839 * commands/i386/pc/drivemap_int13h.S: add more comments
36840
36841 2009-06-11 Pavel Roskin <proski@gnu.org>
36842
36843 * Makefile.in (uninstall): Uninstall manuals.
36844
36845 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36846 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36847 and update-grub_lib in two places.
36848 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36849
36850 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36851 a compiler warning.
36852
36853 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36854 `entry_lo' to fix variable shadowing.
36855
36856 2009-06-11 Christian Franke <franke@computer.org>
36857
36858 * kern/misc.c (__enable_execute_stack): Add missing return type
36859 to prevent gcc warning.
36860
36861 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
36862
36863 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36864
36865 2009-06-11 Pavel Roskin <proski@gnu.org>
36866
36867 * Makefile.in: Don't rely on any scripts being executable.
36868 Always use $(SHELL) to run shell scripts.
36869
36870 * configure.ac: Always define ___main if using -nostdlib. This
36871 fixes tests on Cygwin.
36872
36873 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36874
36875 UDF fix
36876
36877 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
36878 is in bytes and not in blocks
36879
36880 2009-06-11 Pavel Roskin <proski@gnu.org>
36881
36882 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36883 warning.
36884
36885 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
36886
36887 * util/grub.d/30_os-prober.in: Fix a comment. Source
36888 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36889 to set the root device. Place drivemap command in the generated
36890 chain entry.
36891
36892 2009-06-11 Pavel Roskin <proski@gnu.org>
36893
36894 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36895 have long been resolved.
36896
36897 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
36898
36899 * util/grub.d/10_linux.in: Capitalise "Linux".
36900
36901 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36902
36903 2009-06-11 Pavel Roskin <proski@gnu.org>
36904
36905 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36906 fix a gcc warning and ensure that the function won't ever exit.
36907
36908 * kern/i386/ieee1275/init.c: Add missing prototype for
36909 grub_stop_floppy().
36910
36911 * loader/ieee1275/multiboot2.c [__i386__]: Include
36912 grub/cpu/multiboot.h.
36913
36914 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36915 casts to short - they are not portable and cause warnings. Fix
36916 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36917
36918 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36919
36920 Drivemap fixes
36921
36922 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36923 new function
36924 (grub_get_root_biosnumber_saved): new variable
36925 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36926 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
36927 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
36928 %dx after the call if necessary
36929 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36930 (boot_mod_SOURCES): remove
36931 (boot_mod_CFLAGS): remove
36932 (boot_mod_LDFLAGS): remove
36933 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36934 (boot_mod_SOURCES): new variable
36935 (boot_mod_CFLAGS): likewise
36936 (boot_mod_LDFLAGS): likewise
36937 * conf/i386-efi.rmk: likewise
36938 * conf/i386-ieee1275.rmk: likewise
36939 * conf/i386-pc.rmk: likewise
36940 * conf/powerpc-ieee1275.rmk: likewise
36941 * conf/sparc64-ieee1275.rmk: likewise
36942 * conf/x86_64-efi.rmk: likewise
36943 * include/grub/i386/pc/biosnum.h: new file
36944 * lib/i386/pc/biosnum.c: likewise
36945 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36946 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36947 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
36948
36949 2009-06-10 Pavel Roskin <proski@gnu.org>
36950
36951 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36952 Use separate variables. Read only the file size at the end, but
36953 not the checksum that we don't use.
36954
36955 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36956 Adjust all callers.
36957
36958 * kern/ieee1275/openfw.c: Remove libc includes.
36959 * kern/ieee1275/cmain.c: Likewise.
36960 * include/grub/ieee1275/ieee1275.h: Likewise.
36961
36962 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36963 compiler warnings.
36964
36965 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
36966
36967 * Makefile.in: Remove all trailing whitespace.
36968 * conf/i386-pc.rmk: Likewise.
36969 * conf/powerpc-ieee1275.rmk: Likewise.
36970 * conf/sparc64-ieee1275.rmk: Likewise.
36971 * docs/grub.texi: Likewise.
36972 * docs/texinfo.tex: Likewise.
36973 * disk/fs_uuid.c: Likewise.
36974 * disk/lvm.c: Likewise.
36975 * disk/scsi.c: Likewise.
36976 * disk/ata.c: Likewise.
36977 * disk/ieee1275/ofdisk.c: Likewise.
36978 * disk/i386/pc/biosdisk.c: Likewise.
36979 * disk/host.c: Likewise.
36980 * disk/raid.c: Likewise.
36981 * disk/efi/efidisk.c: Likewise.
36982 * disk/usbms.c: Likewise.
36983 * disk/memdisk.c: Likewise.
36984 * disk/loopback.c: Likewise.
36985 * kern/powerpc/dl.c: Likewise.
36986 * kern/device.c: Likewise.
36987 * kern/dl.c: Likewise.
36988 * kern/sparc64/dl.c: Likewise.
36989 * kern/ieee1275/ieee1275.c: Likewise.
36990 * kern/term.c: Likewise.
36991 * kern/fs.c: Likewise.
36992 * kern/i386/dl.c: Likewise.
36993 * kern/i386/pc/startup.S: Likewise.
36994 * kern/i386/pc/init.c: Likewise.
36995 * kern/i386/pc/mmap.c: Likewise.
36996 * kern/i386/pc/lzo1x.S: Likewise.
36997 * kern/i386/ieee1275/init.c: Likewise.
36998 * kern/i386/realmode.S: Likewise.
36999 * kern/i386/tsc.c: Likewise.
37000 * kern/partition.c: Likewise.
37001 * kern/corecmd.c: Likewise.
37002 * kern/file.c: Likewise.
37003 * kern/efi/efi.c: Likewise.
37004 * kern/efi/init.c: Likewise.
37005 * kern/efi/mm.c: Likewise.
37006 * kern/main.c: Likewise.
37007 * kern/err.c: Likewise.
37008 * kern/env.c: Likewise.
37009 * kern/disk.c: Likewise.
37010 * kern/generic/millisleep.c: Likewise.
37011 * kern/generic/rtc_get_time_ms.c: Likewise.
37012 * kern/misc.c: Likewise.
37013 * kern/parser.c: Likewise.
37014 * genmk.rb: Likewise.
37015 * configure.ac: Likewise.
37016 * boot/i386/pc/diskboot.S: Likewise.
37017 * boot/i386/pc/pxeboot.S: Likewise.
37018 * boot/i386/pc/boot.S: Likewise.
37019 * boot/i386/pc/lnxboot.S: Likewise.
37020 * boot/i386/pc/cdboot.S: Likewise.
37021 * parttool/pcpart.c: Likewise.
37022 * video/readers/tga.c: Likewise.
37023 * video/video.c: Likewise.
37024 * video/bitmap.c: Likewise.
37025 * lib/envblk.c: Likewise.
37026 * lib/i386/setjmp.S: Likewise.
37027 * fs/xfs.c: Likewise.
37028 * fs/afs.c: Likewise.
37029 * fs/fat.c: Likewise.
37030 * fs/ntfs.c: Likewise.
37031 * fs/udf.c: Likewise.
37032 * fs/affs.c: Likewise.
37033 * fs/iso9660.c: Likewise.
37034 * fs/hfs.c: Likewise.
37035 * fs/fshelp.c: Likewise.
37036 * fs/ext2.c: Likewise.
37037 * fs/jfs.c: Likewise.
37038 * fs/reiserfs.c: Likewise.
37039 * fs/hfsplus.c: Likewise.
37040 * fs/minix.c: Likewise.
37041 * fs/cpio.c: Likewise.
37042 * fs/sfs.c: Likewise.
37043 * fs/ufs.c: Likewise.
37044 * efiemu/prepare.c: Likewise.
37045 * efiemu/loadcore_common.c: Likewise.
37046 * efiemu/runtime/efiemu.sh: Likewise.
37047 * efiemu/runtime/efiemu.S: Likewise.
37048 * efiemu/runtime/efiemu.c: Likewise.
37049 * efiemu/pnvram.c: Likewise.
37050 * efiemu/main.c: Likewise.
37051 * efiemu/i386/pc/cfgtables.c: Likewise.
37052 * efiemu/i386/loadcore64.c: Likewise.
37053 * efiemu/i386/loadcore32.c: Likewise.
37054 * efiemu/loadcore.c: Likewise.
37055 * efiemu/symbols.c: Likewise.
37056 * efiemu/mm.c: Likewise.
37057 * include/grub/autoefi.h: Likewise.
37058 * include/grub/datetime.h: Likewise.
37059 * include/grub/term.h: Likewise.
37060 * include/grub/hfs.h: Likewise.
37061 * include/grub/lvm.h: Likewise.
37062 * include/grub/i386/tsc.h: Likewise.
37063 * include/grub/i386/linux.h: Likewise.
37064 * include/grub/i386/xnu.h: Likewise.
37065 * include/grub/i386/efiemu.h: Likewise.
37066 * include/grub/i386/pc/biosdisk.h: Likewise.
37067 * include/grub/i386/pc/memory.h: Likewise.
37068 * include/grub/i386/pc/vbe.h: Likewise.
37069 * include/grub/parttool.h: Likewise.
37070 * include/grub/video.h: Likewise.
37071 * include/grub/memory.h: Likewise.
37072 * include/grub/fs.h: Likewise.
37073 * include/grub/partition.h: Likewise.
37074 * include/grub/xnu.h: Likewise.
37075 * include/grub/efi/api.h: Likewise.
37076 * include/grub/efi/pe32.h: Likewise.
37077 * include/grub/efi/memory.h: Likewise.
37078 * include/grub/multiboot.h: Likewise.
37079 * include/grub/usbdesc.h: Likewise.
37080 * include/grub/multiboot2.h: Likewise.
37081 * include/grub/acpi.h: Likewise.
37082 * include/grub/efiemu/efiemu.h: Likewise.
37083 * include/grub/disk.h: Likewise.
37084 * include/grub/ieee1275/ieee1275.h: Likewise.
37085 * include/grub/net.h: Likewise.
37086 * include/grub/machoload.h: Likewise.
37087 * include/grub/macho.h: Likewise.
37088 * include/multiboot.h: Likewise.
37089 * genmoddep.awk: Likewise.
37090 * normal/main.c: Likewise.
37091 * normal/menu_entry.c: Likewise.
37092 * normal/menu_viewer.c: Likewise.
37093 * normal/completion.c: Likewise.
37094 * normal/cmdline.c: Likewise.
37095 * normal/misc.c: Likewise.
37096 * normal/datetime.c: Likewise.
37097 * bus/usb/usbtrans.c: Likewise.
37098 * bus/usb/ohci.c: Likewise.
37099 * bus/usb/uhci.c: Likewise.
37100 * bus/usb/usb.c: Likewise.
37101 * mmap/efi/mmap.c: Likewise.
37102 * mmap/i386/pc/mmap_helper.S: Likewise.
37103 * mmap/i386/pc/mmap.c: Likewise.
37104 * mmap/i386/mmap.c: Likewise.
37105 * mmap/i386/uppermem.c: Likewise.
37106 * mmap/mmap.c: Likewise.
37107 * commands/acpi.c: Likewise.
37108 * commands/echo.c: Likewise.
37109 * commands/blocklist.c: Likewise.
37110 * commands/loadenv.c: Likewise.
37111 * commands/usbtest.c: Likewise.
37112 * commands/boot.c: Likewise.
37113 * commands/parttool.c: Likewise.
37114 * commands/search.c: Likewise.
37115 * commands/cat.c: Likewise.
37116 * commands/i386/pc/play.c: Likewise.
37117 * commands/i386/pc/drivemap.c: Likewise.
37118 * commands/i386/pc/vbeinfo.c: Likewise.
37119 * commands/i386/pc/acpi.c: Likewise.
37120 * commands/i386/pc/vbetest.c: Likewise.
37121 * commands/ls.c: Likewise.
37122 * commands/cmp.c: Likewise.
37123 * commands/test.c: Likewise.
37124 * commands/efi/acpi.c: Likewise.
37125 * commands/gptsync.c: Likewise.
37126 * commands/help.c: Likewise.
37127 * partmap/amiga.c: Likewise.
37128 * partmap/apple.c: Likewise.
37129 * partmap/acorn.c: Likewise.
37130 * partmap/pc.c: Likewise.
37131 * partmap/sun.c: Likewise.
37132 * partmap/gpt.c: Likewise.
37133 * script/sh/lexer.c: Likewise.
37134 * script/sh/function.c: Likewise.
37135 * font/font.c: Likewise.
37136 * font/font_cmd.c: Likewise.
37137 * loader/powerpc/ieee1275/linux.c: Likewise.
37138 * loader/efi/chainloader.c: Likewise.
37139 * loader/multiboot_loader.c: Likewise.
37140 * loader/macho.c: Likewise.
37141 * loader/i386/multiboot.c: Likewise.
37142 * loader/i386/linux.c: Likewise.
37143 * loader/i386/pc/linux.c: Likewise.
37144 * loader/i386/pc/multiboot2.c: Likewise.
37145 * loader/i386/pc/chainloader.c: Likewise.
37146 * loader/i386/pc/xnu.c: Likewise.
37147 * loader/i386/bsd_trampoline.S: Likewise.
37148 * loader/i386/efi/linux.c: Likewise.
37149 * loader/i386/multiboot_elfxx.c: Likewise.
37150 * loader/i386/bsd_helper.S: Likewise.
37151 * loader/i386/bsd.c: Likewise.
37152 * loader/i386/linux_trampoline.S: Likewise.
37153 * loader/i386/xnu_helper.S: Likewise.
37154 * loader/i386/xnu.c: Likewise.
37155 * loader/i386/bsd_pagetable.c: Likewise.
37156 * loader/i386/multiboot_helper.S: Likewise.
37157 * loader/xnu.c: Likewise.
37158 * loader/xnu_resume.c: Likewise.
37159 * io/gzio.c: Likewise.
37160 * term/efi/console.c: Likewise.
37161 * term/terminfo.c: Likewise.
37162 * term/ieee1275/ofconsole.c: Likewise.
37163 * term/i386/pc/serial.c: Likewise.
37164 * term/i386/pc/vesafb.c: Likewise.
37165 * term/i386/pc/vga.c: Likewise.
37166 * term/usb_keyboard.c: Likewise.
37167 * term/gfxterm.c: Likewise.
37168 * aclocal.m4: Likewise.
37169 * util/lvm.c: Likewise.
37170 * util/grub.d/30_os-prober.in: Likewise.
37171 * util/grub.d/10_hurd.in: Likewise.
37172 * util/console.c: Likewise.
37173 * util/grub-macho2img.c: Likewise.
37174 * util/grub-probe.c: Likewise.
37175 * util/hostfs.c: Likewise.
37176 * util/i386/pc/grub-mkimage.c: Likewise.
37177 * util/i386/pc/grub-setup.c: Likewise.
37178 * util/i386/efi/grub-mkimage.c: Likewise.
37179 * util/grub-mkconfig.in: Likewise.
37180 * util/raid.c: Likewise.
37181 * util/resolve.c: Likewise.
37182 * util/grub-mkdevicemap.c: Likewise.
37183 * util/grub-emu.c: Likewise.
37184 * util/getroot.c: Likewise.
37185 * util/hostdisk.c: Likewise.
37186 * util/usb.c: Likewise.
37187 * util/grub-editenv.c: Likewise.
37188 * util/misc.c: Likewise.
37189
37190 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37191
37192 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37193 `genparttoollist.sh'.
37194 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37195 Add `*.sh' to the list find searches for and change `mdate.sh'
37196 to `mdate-sh'.
37197
37198 2009-06-10 Pavel Roskin <proski@gnu.org>
37199
37200 * include/grub/multiboot2.h: Provide compatibility defines for
37201 multiboot2.h.
37202 * include/multiboot2.h: Include stdint.h only if needed, using
37203 angle brackets.
37204 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37205 grub/multiboot2.h.
37206 * loader/ieee1275/multiboot2.c: Likewise.
37207 * loader/multiboot2.c: Likewise.
37208 * loader/multiboot_loader.c: Likewise.
37209
37210 * configure.ac: Use -nostdlib when probing for the target. It
37211 should not be required to have libc for the target.
37212
37213 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37214 they fail without libc headers for the target.
37215 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37216 exports.
37217 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37218 preprocessor conditionals.
37219
37220 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37221 build system doesn't need to be aware of the tar.c internals.
37222
37223 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
37224
37225 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
37226
37227 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37228
37229 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37230 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37231
37232 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
37233
37234 * util/i386/pc/grub-install.in: Change the error message if UUIDs
37235 aren't available if ata.mod gets used.
37236
37237 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
37238
37239 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
37240 initialising controller.
37241 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37242
37243 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37244
37245 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37246 to choose between ata and biosdisk module on i386-pc.
37247
37248 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
37249
37250 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37251 Subclass and Programming Interface fields in terms of the 3 byte
37252 Class Code register.
37253 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37254
37255 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37256 interface is OHCI. Add grub_dprintf for symmetry with
37257 bus/usb/uhci.c.
37258 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37259 interface is UHCI. Add interf variable for programming
37260 interface. Print interface with class/subclass.
37261
37262 * bus/usb/ohci.c: Set interf with correct field.
37263
37264 * bus/usb/uhci.c: Remove unneeded doubled lines.
37265 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37266 Remove whitespace inside comment.
37267
37268 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37269
37270 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37271 as fallback an equivalent option without depth.
37272
37273 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37274
37275 Not fail if unable to retrieve C/H/S on LBA disks
37276
37277 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
37278 if unable to retrieve C/H/S on LBA disks
37279
37280 2009-06-08 Pavel Roskin <proski@gnu.org>
37281
37282 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37283 about aliasing.
37284
37285 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37286
37287 * Makefile.in (uninstall): Remove all $lib_DATA files.
37288
37289 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37290
37291 Bugfix: install on partitionless device
37292
37293 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37294 is a whole disk
37295
37296 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37297
37298 * Makefile.in (uninstall): Remove all $include_DATA files.
37299
37300 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37301
37302 * commands/true.c: New file. Implement the true and false commands.
37303 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37304 (true_mod_SOURCES): New variable.
37305 (true_mod_CFLAGS): Likewise.
37306 (true_mod_LDFLAGS): Likewise.
37307
37308 2009-06-05 Colin D Bennett <colin@gibibit.com>
37309
37310 Optimized font character lookup using binary search instead of linear
37311 search. Fonts now are required to have the character index ordered by
37312 code point.
37313
37314 * font/font.c (load_font_index): Verify that fonts have ordered
37315 character indices.
37316 (find_glyph): Use binary search instead of linear search to find a
37317 character in a font.
37318
37319 2009-06-05 Michael Scherer <misc@mandriva.org>
37320
37321 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37322 uses case sensitive btree.
37323 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37324 only for case insensitive filesystems.
37325
37326 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37327
37328 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37329 * conf/common.rmk (search_mod_CFLAGS): likewise
37330
37331 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37332
37333 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
37334 compensate a compiler bug
37335
37336 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37337
37338 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
37339 instead of '\b'
37340
37341 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37342
37343 Definitions for creating asm symbols with Apple's CC
37344
37345 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37346 [APPLE_CC] (VARIABLE): likewise
37347
37348 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37349
37350 Disable lnxboot.img when compiled
37351 with Apple's CC
37352
37353 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37354 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37355 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37356 [! APPLE_CC] (CODE_LENG): skip
37357 [! APPLE_CC] (setup_sects): likewise
37358 [! APPLE_CC]: skip filling
37359
37360 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37361
37362 Address in trampolines based on 32-bit registers when compiled
37363 with Apple's CC
37364
37365 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
37366 for addresses
37367 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37368
37369 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37370
37371 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37372
37373 * kern/misc.c [APPLE_CC] (memcpy): new function
37374 [APPLE_CC] (memmove): likewise
37375 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
37376 (memcpy): define alias conditionally on !APPLE_CC
37377 (memset): likewise
37378 (abort): likewise
37379 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37380 APPLE_CC are defined
37381 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37382 (grub_assert_fail): make prototype conditional
37383
37384 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37385
37386 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37387
37388 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37389 grub-macho2img
37390 (CLEANFILES): add grub-macho2img
37391 (grub_macho2img_SOURCES): new variable
37392 * kern/i386/pc/startup.S (bss_start): new variable
37393 (bss_end): likewise
37394 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37395 * util/grub-macho2img.c: new file
37396
37397 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37398
37399 Use objconv when compiling with Apple's CC
37400
37401 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37402 (efiemu64.o): likewise
37403 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37404 when compiling with Apple's CC
37405 (efiemu64_s.o): likewise
37406 * configure.ac: check for objconv when compiling with Apple's CC
37407 * genmk.rb: use objconv for modules when compiled with Apple's CC
37408
37409 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37410
37411 Define segment as well as section when compiling with
37412 Apple's CC
37413
37414 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37415 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37416 (efiemu_convert_pointer): likewise
37417 (efiemu_set_virtual_address_map): likewise
37418 (efiemu_convert_pointer): likewise
37419 (efiemu_getcrc32): likewise
37420 (init_crc32_table): likewise
37421 (reflect): likewise
37422 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37423 (GRUB_MOD_DEP): likewise
37424
37425 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37426
37427 Allow a compilation without -mcmodel=large
37428
37429 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37430 when compiled without -mcmodel=large
37431 (filter_memory_map): remove memory post 4 GiB when compiled
37432 without -mcmodel=large
37433 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
37434 TARGET_CFLAGS when -mcmodel=large isn't supported
37435
37436 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37437
37438 Remove nested functions in efiemu core
37439
37440 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
37441
37442 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37443
37444 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37445
37446 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37447 temporary storage
37448 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37449 using Apple's CC
37450 (grub_cpu_is_tsc_supported): likewise
37451 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
37452
37453 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37454
37455 Absolute addressing through constant with Apple's cc
37456
37457 * kern/i386/pc/startup.S: Define necessary constants
37458 and address through it when using ABS with Apple's CC
37459 * boot/i386/pc/diskboot.S: likewise
37460 * boot/i386/pc/boot.S: likewise
37461 * boot/i386/pc/lnxboot.S: likewise
37462 * boot/i386/pc/cdboot.S: likewise
37463 * mmap/i386/pc/mmap_helper.S: likewise
37464 * commands/i386/pc/drivemap_int13h.S: likewise
37465
37466 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37467
37468 Check if compiler is apple cc
37469
37470 * Makefile.in (ASFLAGS): new variable
37471 (TARGET_ASFLAGS): likewise
37472 (TARGET_MODULE_FORMAT): likewise
37473 (TARGET_APPLE_CC): likewise
37474 (OBJCONV): likewise
37475 (TARGET_IMG_CFLAGS): likewise
37476 (TARGET_CPPFLAGS): add includedir
37477 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37478 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37479 Check for linker script only if compiler isn't Apple's CC
37480 (TARGET_MODULE_FORMAT): set
37481 (TARGET_APPLE_CC): likewise
37482 (TARGET_ASFLAGS): likewise
37483 (ASFLAGS): likewise
37484 Check for objcopy only if compiler isn't Apple's CC
37485 Check for BSS symbol only if compiler isn't Apple's CC
37486 * genmk.rb: adapt nm options if we use Apple's utils
37487 * aclocal.m4 (grub_apple_cc): new test
37488 (grub_apple_target_cc): likewise
37489
37490 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37491
37492 Simplify sed expressions and improve awk
37493
37494 * Makefile.in (install-local): simplify sed expression
37495 * gencmdlist.sh: likewise
37496 * genmoddep.awk: avoid adding module as a dependency of itself
37497
37498 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37499
37500 Add missing start symbols
37501
37502 * boot/i386/pc/boot.S: add start
37503 * boot/i386/pc/pxeboot.S: likewise
37504
37505 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37506
37507 Fix wrong assumptions with grub-mkimage on EFI
37508
37509 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
37510 (relocate_addresses): consider both r_addend and value at offset
37511 (make_mods_section): zerofill modinfo and header
37512 (convert_elf): write prefix here
37513
37514 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37515
37516 Use .asciz instead of .string
37517
37518 * i386/pc/diskboot.S: use .asciz instead of .string
37519 * i386/pc/boot.S: likewise
37520 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37521 (GRUB_MOD_NAME): likewise
37522
37523 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37524
37525 gfxpayload support
37526
37527 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37528 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37529 (grub_video_setup): remove
37530 (grub_video_set_mode): new prototype
37531 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37532 (vid_mode): remove
37533 (linux_vesafb_res): compile only on PCBIOS
37534 (grub_linux_boot): support gfxpayload
37535 * loader/i386/pc/xnu.c (video_hook): new function
37536 (grub_xnu_set_video): support gfxpayload
37537 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37538 (DEFAULT_VIDEO_HEIGHT): likewise
37539 (DEFAULT_VIDEO_FLAGS): likewise
37540 (DEFAULT_VIDEO_MODE): new definition
37541 (video_hook): new function
37542 (grub_gfxterm_init): use grub_video_set_mode
37543 * util/grub.d/30_os-prober.in: remove explicit modesetting before
37544 loading xnu
37545 * video/video.c (grub_video_setup): removed
37546 (grub_video_set_mode): new function based on grub_gfxterm_init and
37547 grub_video_setup
37548
37549 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37550
37551 Avoid calling biosdisk in drivemap
37552
37553 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37554 (revparse_biosdisk): likewise
37555 (list_mappings): derive name from id directly
37556 (grub_cmd_drivemap): use tryparse_diskstring
37557
37558 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37559
37560 Script fixes
37561
37562 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37563 (grub_lexer_param): add tokenonhold
37564 (grub_script_create_cmdline): remove cmdline. All callers updated
37565 (grub_script_function_create): make functionname
37566 grub_script_arg. All callers updated
37567 (grub_script_execute_argument_to_string): new prototype
37568 * kern/parser.c (state_transitions): reorder
37569 (grub_parser_cmdline_state): fix a bug and make more compact
37570 * script/sh/execute.c (grub_script_execute_argument_to_string):
37571 make global
37572 (grub_script_execute_cmdline): use new format
37573 * script/sh/function.c (grub_script_function_create): make functionname
37574 grub_script_arg. All callers updated
37575 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
37576 (grub_script_yylex): remove
37577 (grub_script_yylex2): renamed to ...
37578 (grub_script_yylex): ...renamed
37579 parse the expressions like a${b}c
37580 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37581 (GRUB_PARSER_TOKEN_VAR): remove
37582 (GRUB_PARSER_TOKEN_NAME): likewise
37583 ("if"): declare as typeless
37584 ("while"): likewise
37585 ("function"): likewise
37586 ("else"): likewise
37587 ("then"): likewise
37588 ("fi"): likewise
37589 (text): remove
37590 (argument): likewise
37591 (script): accept empty scripts and make exit on error
37592 (arguments): use GRUB_PARSER_TOKEN_ARG
37593 (function): likewise
37594 (command): move error handling to script
37595 (menuentry): move grub_script_lexer_ref before
37596 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
37597 argument. All callers updated
37598
37599 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37600
37601 Prevent GRUB from probing floppies during boot.
37602
37603 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37604 * commands/search.c (options): Add --no-floppy.
37605 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37606 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37607 --no-floppy when searching for UUIDs.
37608
37609 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37610
37611 Simplify the code duplication in commands/search.c.
37612
37613 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37614 (search_fs): ... this. Update all users.
37615
37616 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
37617
37618 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37619
37620 2009-05-28 Pavel Roskin <proski@gnu.org>
37621
37622 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37623 Remove the original symlink explicitly.
37624
37625 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37626 just one slash. That's how grub_fshelp_find_file() does it.
37627
37628 2009-05-26 Pavel Roskin <proski@gnu.org>
37629
37630 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37631 to `str'.
37632
37633 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37634 possibly unused.
37635
37636 2009-05-25 Christian Franke <franke@computer.org>
37637
37638 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37639 register.
37640 (grub_atapi_identify): Add wait after drive select.
37641 (grub_ata_identify): Do more strict status register check before
37642 calling grub_atapi_identify (). Suppress error message if status
37643 register is 0x00 after command failure. Add status register
37644 check after PIO read to avoid bogus identify due to stuck DRQ.
37645 Thanks to Pavel Roskin for testing.
37646 (grub_device_initialize): Remove unsafe status register check.
37647 Thanks to 'phcoder' for problem report and patch.
37648 Prevent sign extension in debug message.
37649
37650 2009-05-23 Colin D Bennett <colin@gibibit.com>
37651
37652 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37653 definition file, and functions defined in `normal/menu.c' have had
37654 their prototypes moved to `include/grub/menu.h' for consistency.
37655
37656 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37657 from normal.h.
37658 (grub_menu_get_entry): Likewise.
37659 (grub_menu_get_timeout): Likewise.
37660 (grub_menu_set_timeout): Likewise.
37661 (grub_menu_execute_entry): Likewise.
37662 (grub_menu_execute_with_fallback): Likewise.
37663 (grub_menu_entry_run): Likewise.
37664
37665 * include/grub/normal.h: Re-ordered and grouped function
37666 prototypes by file that the function is defined in.
37667 (grub_menu_execute_callback): Removed; moved to menu.h.
37668 (grub_menu_get_entry): Likewise.
37669 (grub_menu_get_timeout): Likewise.
37670 (grub_menu_set_timeout): Likewise.
37671 (grub_menu_execute_entry): Likewise.
37672 (grub_menu_execute_with_fallback): Likewise.
37673 (grub_menu_entry_run): Likewise.
37674 (grub_menu_addentry): Renamed from this ...
37675 (grub_normal_add_menu_entry): ... to this.
37676
37677 * normal/main.c (grub_menu_addentry): Renamed from this ...
37678 (grub_normal_add_menu_entry): ... to this.
37679
37680 * script/sh/execute.c (grub_script_execute_menuentry): Update
37681 reference to renamed grub_menu_addentry function.
37682
37683 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
37684
37685 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37686
37687 2009-05-22 Pavel Roskin <proski@gnu.org>
37688
37689 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37690 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37691 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37692 compiling for the i386 targets, but not for the utilities.
37693
37694 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37695 to grub_uint8_t.
37696 (grub_root_drive): Likewise.
37697 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37698 remove alignment.
37699 (grub_root_drive): Change size to byte.
37700 (grub_start_addr): Remove.
37701 (grub_end_addr): Likewise.
37702 (grub_apm_bios_info): Likewise.
37703
37704 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
37705
37706 * normal/i386: Remove.
37707 * normal/powerpc: Likewise.
37708 * normal/sparc64: Likewise.
37709 * normal/x86_64: Likewise.
37710
37711 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37712
37713 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
37714 * loader/i386/linux_trampoline.S: Fix indentation
37715 * loader/i386/xnu_helper.S: Likewise
37716
37717 2009-05-18 Colin D Bennett <colin@gibibit.com>
37718
37719 Display error messages when parsing a Lua statement fails.
37720 Previously, executing a syntactically invalid statement like
37721 ")foo" or "bar;" would silently fail.
37722
37723 * script/lua/grub_main.c (handle_lua_error): New function.
37724 (grub_lua_parse_line): Improved reporting of Lua parser and
37725 execution errors.
37726
37727 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37728
37729 Remove -Werror which causes build to fail on some systems
37730
37731 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37732 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37733 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
37734
37735 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37736
37737 trampoline for linux on 64-bit platform
37738
37739 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37740 loader/i386/efi/linux_trampoline.S
37741 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
37742 declaration
37743 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37744 here
37745 * loader/i386/linux_trampoline.S: moved here
37746 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37747 trampoline
37748 (jumpvector): removed
37749 (grub_linux_trampoline_start): new declaration
37750 (grub_linux_trampoline_end): likewise
37751 (grub_linux_boot): use trampoline when on 64-bit platform
37752 * loader/i386/linux.c: likewise
37753
37754 2009-05-16 Pavel Roskin <proski@gnu.org>
37755
37756 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37757 const to avoid a warning.
37758 (grub_lua_setenv): Likewise.
37759 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37760 lmsg to fix a warning.
37761
37762 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
37763
37764 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
37765 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37766 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37767 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37768 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37769 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37770 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37771 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37772
37773 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
37774
37775 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37776
37777 2009-05-16 Bean <bean123ch@gmail.com>
37778
37779 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37780 (lua_mod_SOURCES): New variable.
37781 (lua_mod_CFLAGS): Likewise.
37782 (lua_mod_LDFLAGS): Likewise.
37783
37784 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37785 (setjmp_mod_SOURCES): New variable.
37786 (setjmp_mod_CFLAGS): Likewise.
37787 (setjmp_LDFLAGS): Likewise.
37788
37789 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37790 (setjmp_mod_SOURCES): New variable.
37791 (setjmp_mod_CFLAGS): Likewise.
37792 (setjmp_LDFLAGS): Likewise.
37793
37794 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37795 (setjmp_mod_SOURCES): New variable.
37796 (setjmp_mod_CFLAGS): Likewise.
37797 (setjmp_LDFLAGS): Likewise.
37798
37799 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37800 (setjmp_mod_SOURCES): New variable.
37801 (setjmp_mod_CFLAGS): Likewise.
37802 (setjmp_LDFLAGS): Likewise.
37803
37804 * normal/i386/setjmp.S: Moved from here ...
37805 * lib/i386/setjmp.S: ... Moved here
37806 * normal/x86_64/setjmp.S: Moved from here ...
37807 * lib/x86_64/setjmp.S: ... Moved here
37808 * normal/powerpc/setjmp.S: Moved from here ...
37809 * lib/powerpc/setjmp.S: ... Moved here
37810 * normal/sparc64/setjmp.S: Moved from here ...
37811 * lib/sparc64/setjmp.S: ... Moved here
37812
37813 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37814 returns_twice in mingw.
37815
37816 * script/lua/grub_lib.c: New file.
37817 * script/lua/grub_lib.h: Likewise.
37818 * script/lua/grub_lua.h: Likewise.
37819 * script/lua/grub_main.c: Likewise.
37820 * script/lua/lapi.c: Likewise.
37821 * script/lua/lapi.h: Likewise.
37822 * script/lua/lauxlib.c: Likewise.
37823 * script/lua/lauxlib.h: Likewise.
37824 * script/lua/lbaselib.c: Likewise.
37825 * script/lua/lcode.c: Likewise.
37826 * script/lua/lcode.h: Likewise.
37827 * script/lua/ldblib.c: Likewise.
37828 * script/lua/ldebug.c: Likewise.
37829 * script/lua/ldebug.h: Likewise.
37830 * script/lua/ldo.c: Likewise.
37831 * script/lua/ldo.h: Likewise.
37832 * script/lua/ldump.c: Likewise.
37833 * script/lua/lfunc.c: Likewise.
37834 * script/lua/lfunc.h: Likewise.
37835 * script/lua/lgc.c: Likewise.
37836 * script/lua/lgc.h: Likewise.
37837 * script/lua/linit.c: Likewise.
37838 * script/lua/liolib.c: Likewise.
37839 * script/lua/llex.c: Likewise.
37840 * script/lua/llex.h: Likewise.
37841 * script/lua/llimits.h: Likewise.
37842 * script/lua/lmathlib.c: Likewise.
37843 * script/lua/lmem.c: Likewise.
37844 * script/lua/lmem.h: Likewise.
37845 * script/lua/loadlib.c: Likewise.
37846 * script/lua/lobject.c: Likewise.
37847 * script/lua/lobject.h: Likewise.
37848 * script/lua/lopcodes.c: Likewise.
37849 * script/lua/lopcodes.h: Likewise.
37850 * script/lua/loslib.c: Likewise.
37851 * script/lua/lparser.c: Likewise.
37852 * script/lua/lparser.h: Likewise.
37853 * script/lua/lstate.c: Likewise.
37854 * script/lua/lstate.h: Likewise.
37855 * script/lua/lstring.c: Likewise.
37856 * script/lua/lstring.h: Likewise.
37857 * script/lua/lstrlib.c: Likewise.
37858 * script/lua/ltable.c: Likewise.
37859 * script/lua/ltable.h: Likewise.
37860 * script/lua/ltablib.c: Likewise.
37861 * script/lua/ltm.c: Likewise.
37862 * script/lua/ltm.h: Likewise.
37863 * script/lua/lua.h: Likewise.
37864 * script/lua/luaconf.h: Likewise.
37865 * script/lua/lualib.h: Likewise.
37866 * script/lua/lundump.c: Likewise.
37867 * script/lua/lundump.h: Likewise.
37868 * script/lua/lvm.c: Likewise.
37869 * script/lua/lvm.h: Likewise.
37870 * script/lua/lzio.c: Likewise.
37871 * script/lua/lzio.h: Likewise.
37872
37873 2009-05-16 Bean <bean123ch@gmail.com>
37874
37875 * include/grub/kernel.h (grub_module_header_types): Add type
37876 OBJ_TYPE_CONFIG.
37877
37878 * kern/main.c (grub_load_config): New function.
37879 (grub_main): Call grub_load_config to read boot config.
37880
37881 * grub-mkimage (generate_image): New parameter config_path.
37882 (options): New option --config.
37883 (main): Parse --config option, and pass it to generate_image.
37884
37885 2009-05-14 Christian Franke <franke@computer.org>
37886
37887 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37888 This fixes build on Cygwin.
37889
37890 2009-05-14 Pavel Roskin <proski@gnu.org>
37891
37892 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37893 jump. This saves two bytes, so the typical case of 2 swapped
37894 drives would fit 32 bytes.
37895
37896 2009-05-13 Pavel Roskin <proski@gnu.org>
37897
37898 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37899 grub_uint32_t to avoid a warning.
37900
37901 * loader/i386/linux.c (allocate_pages): When assigning
37902 real_mode_mem, cast through grub_size_t to fix a warning. The
37903 code already makes sure that the value would fit a pointer.
37904 (grub_linux_setup_video): Cast render_target->data to
37905 grub_size_t to fix a warning.
37906
37907 2009-05-13 Javier Martín <lordhabbit@gmail.com>
37908
37909 * commands/i386/pc/drivemap.c: New file - implement drivemap
37910 command.
37911 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37912 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37913
37914 2009-05-13 Pavel Roskin <proski@gnu.org>
37915
37916 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37917 embedding_area_exists.
37918
37919 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37920
37921 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37922 it easier to understand / work with.
37923 Improve warning messages for cases where there's no embedding area,
37924 or when it is too small (or core.img too large).
37925
37926 2009-05-13 Pavel Roskin <proski@gnu.org>
37927
37928 * loader/i386/pc/multiboot2.c: Add necessary includes for
37929 grub_multiboot2_real_boot().
37930
37931 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37932 PX record is always little-endian. We only need the lower 2
37933 bytes of the mode.
37934
37935 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37936 facilitate code reuse.
37937 (grub_cpio_mount): Use "struct head", not a char buffer. This
37938 fixes a warning reported by gcc 4.4.
37939
37940 * kernel/disk.c (grub_disk_read): Use void pointer for the
37941 buffer.
37942 (grub_disk_write): Use const void pointer for the buffer.
37943 Adjust all callers. Remove unnecessary casts.
37944
37945 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37946
37947 * util/i386/pc/grub-install.in: Update copyright year.
37948
37949 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37950
37951 gptsync
37952
37953 * commands/gptsync.c: new file
37954 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37955 (gptsync_mod_SOURCES): new variable
37956 (gptsync_mod_CFLAGS): likewise
37957 (gptsync_mod_LDFLAGS): likewise
37958 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
37959 new definition
37960 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37962 * conf/i386-ieee1275.rmk: likewise
37963 * conf/i386-pc.rmk: likewise
37964 * conf/powerpc-ieee1275.rmk: likewise
37965
37966 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37967
37968 Fixed grub-emu
37969
37970 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37971 (grub_dl_ref): likewise
37972
37973 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37974
37975 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37976 split in two functions (one for msdos and one for gpt).
37977
37978 2009-05-08 Pavel Roskin <proski@gnu.org>
37979
37980 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37981 not modified.
37982
37983 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37984 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37985 Initialize them with -1. Add sanity check for bad1. Eliminate
37986 nerr variable.
37987
37988 2009-05-08 David S. Miller <davem@davemloft.net>
37989
37990 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37991
37992 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37993
37994 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
37995 existence.
37996
37997 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
37998
37999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38000 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38001
38002 2009-05-05 David S. Miller <davem@davemloft.net>
38003
38004 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38005
38006 2009-05-05 Pavel Roskin <proski@gnu.org>
38007
38008 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38009 of grub_dl_ref() and grub_dl_unref().
38010 * commands/parttool.c: Remove preprocessor conditionals around
38011 grub_dl_ref() and grub_dl_unref().
38012 * fs/affs.c: Likewise.
38013 * fs/afs.c: Likewise.
38014 * fs/cpio.c: Likewise.
38015 * fs/ext2.c: Likewise.
38016 * fs/fat.c: Likewise.
38017 * fs/hfs.c: Likewise.
38018 * fs/hfsplus.c: Likewise.
38019 * fs/iso9660.c: Likewise.
38020 * fs/jfs.c: Likewise.
38021 * fs/minix.c: Likewise.
38022 * fs/ntfs.c: Likewise.
38023 * fs/reiserfs.c: Likewise.
38024 * fs/sfs.c: Likewise.
38025 * fs/udf.c: Likewise.
38026 * fs/ufs.c: Likewise.
38027 * fs/xfs.c: Likewise.
38028 * include/grub/dl.h: Likewise.
38029 * loader/xnu.c: Likewise.
38030
38031 2009-05-04 Pavel Roskin <proski@gnu.org>
38032
38033 * commands/acpi.c: Remove unused variable my_mod.
38034 * partmap/amiga.c: Likewise.
38035 * partmap/apple.c: Likewise.
38036 * partmap/gpt.c: Likewise.
38037 * partmap/pc.c: Likewise.
38038 * partmap/sun.c: Likewise.
38039 * term/gfxterm.c: Likewise.
38040 * term/i386/pc/vesafb.c: Likewise.
38041 * term/i386/pc/vga.c: Likewise.
38042
38043 2009-05-04 David S. Miller <davem@davemloft.net>
38044
38045 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38046 pointer args to grub_ieee1275_get_property().
38047
38048 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38049
38050 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38051 devices, and do not traverse down under controller nodes.
38052
38053 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38054 (grub_ofdisk_open): Use it to un-escape "," characters.
38055 * kern/disk.c (find_part_sep): New.
38056 (grub_disk_open): Use it to find the first non-escaped ','
38057 character in the disk name.
38058 * util/ieee1275/devicemap.c (escape_of_path): New.
38059 (grub_util_emit_devicemap_entry): Use it.
38060 * util/sparc64/ieee1275/grub-install.in: Update script to
38061 strip partition specifiers properly by not triggering on
38062 '\' escaped ',' characters.
38063
38064 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38065
38066 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38067 to 0x300.
38068 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38069 resolutions.
38070 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38071 on documentation from Wikipedia).
38072
38073 2009-05-04 Pavel Roskin <proski@gnu.org>
38074
38075 * disk/ata.c: Spelling fixes.
38076 * disk/raid.c: Likewise.
38077 * disk/usbms.c: Likewise.
38078 * disk/dmraid_nvidia.c: Likewise.
38079 * kern/ieee1275/openfw.c: Likewise.
38080 * kern/ieee1275/init.c: Likewise.
38081 * kern/ieee1275/cmain.c: Likewise.
38082 * boot/i386/pc/cdboot.S: Likewise.
38083 * video/readers/png.c: Likewise.
38084 * video/i386/pc/vbe.c: Likewise.
38085 * fs/udf.c: Likewise.
38086 * fs/hfs.c: Likewise.
38087 * fs/reiserfs.c: Likewise.
38088 * efiemu/runtime/efiemu.c: Likewise.
38089 * efiemu/main.c: Likewise.
38090 * efiemu/mm.c: Likewise.
38091 * include/grub/elf.h: Likewise.
38092 * include/grub/xnu.h: Likewise.
38093 * include/grub/usbdesc.h: Likewise.
38094 * include/grub/usb.h: Likewise.
38095 * include/grub/script_sh.h: Likewise.
38096 * include/grub/lib/LzmaEnc.h: Likewise.
38097 * include/grub/efiemu/efiemu.h: Likewise.
38098 * include/grub/command.h: Likewise.
38099 * normal/menu.c: Likewise.
38100 * normal/main.c: Likewise.
38101 * normal/datetime.c: Likewise.
38102 * bus/usb/uhci.c: Likewise.
38103 * mmap/i386/uppermem.c: Likewise.
38104 * mmap/mmap.c: Likewise.
38105 * commands/acpi.c: Likewise.
38106 * commands/test.c: Likewise.
38107 * partmap/apple.c: Likewise.
38108 * font/font.c: Likewise.
38109 * loader/sparc64/ieee1275/linux.c: Likewise.
38110 * loader/macho.c: Likewise.
38111 * loader/i386/bsd_trampoline.S: Likewise.
38112 * loader/i386/bsd.c: Likewise.
38113 * loader/xnu.c: Likewise.
38114 * term/i386/pc/vesafb.c: Likewise.
38115 * term/usb_keyboard.c: Likewise.
38116 * util/resolve.c: Likewise.
38117 * util/getroot.c: Likewise.
38118
38119 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38120
38121 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38122
38123 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38124
38125 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38126 build error.
38127
38128 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38129
38130 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38131 parameter only available on BIOS.
38132
38133 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38134
38135 Removed wrong semicolon in declaration
38136
38137 * grub/misc.h (grub_dprintf): remove semicolon
38138
38139 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38140
38141 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38142 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38143 is done by grub_cmd_linux() now).
38144 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38145 restore video to text mode.
38146 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38147 indicates lack of "vga=" parameter. "vga=0" is mapped to
38148 `GRUB_LINUX_VID_MODE_NORMAL'.
38149
38150 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38151
38152 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38153 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38154 and `normal/script.c'. Add `kern/rescue_reader.c',
38155 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
38156 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38157 `grub_script.tab.c'.
38158
38159 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38160 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38162 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38164
38165 * Makefile.in: Remove duplicated 2008 in Copyright line.
38166
38167 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38168
38169 * util/misc.c (grub_util_warn): New function. Emits a warning
38170 unconditionally.
38171 * include/grub/util/misc.h (grub_util_warn): New declaration.
38172
38173 * util/i386/pc/grub-install.in: Understand --force and pass it down
38174 to grub-setup.
38175
38176 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38177 down to setup().
38178 (setup): Improve error messages and add warnings when requested to
38179 install in odd layouts. Refuse to install using blocklists unless
38180 --force was set.
38181
38182 2009-05-04 martin f. krafft <madduck@madduck.net>
38183
38184 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38185
38186 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38187
38188 Updated copyright year
38189
38190 * fs/hfsplus.c: updated copyright year
38191
38192 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38193
38194 HFS+ UUID
38195
38196 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
38197 in the space previously used by unused3
38198 (grub_hfsplus_uuid): new function
38199 (grub_hfsplus_fs): added uuid field
38200
38201 2009-05-03 Pavel Roskin <proski@gnu.org>
38202
38203 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38204 suppress warnings. It's no longer needed.
38205 * disk/host.c: Likewise.
38206 * disk/ata_pthru.c: Likewise.
38207 * disk/loopback.c: Likewise.
38208 * hook/datehook.c: Likewise.
38209 * parttool/pcpart.c: Likewise.
38210 * fs/i386/pc/pxe.c: Likewise.
38211 * fs/ntfscomp.c: Likewise.
38212 * efiemu/main.c: Likewise.
38213 * mmap/mmap.c: Likewise.
38214 * commands/crc.c: Likewise.
38215 * commands/hexdump.c: Likewise.
38216 * commands/hdparm.c: Likewise.
38217 * commands/acpi.c: Likewise.
38218 * commands/echo.c: Likewise.
38219 * commands/minicmd.c: Likewise.
38220 * commands/blocklist.c: Likewise.
38221 * commands/memrw.c: Likewise.
38222 * commands/loadenv.c: Likewise.
38223 * commands/usbtest.c: Likewise.
38224 * commands/lsmmap.c: Likewise.
38225 * commands/boot.c: Likewise.
38226 * commands/parttool.c: Likewise.
38227 * commands/configfile.c: Likewise.
38228 * commands/search.c: Likewise.
38229 * commands/ieee1275/suspend.c: Likewise.
38230 * commands/cat.c: Likewise.
38231 * commands/i386/pc/pxecmd.c: Likewise.
38232 * commands/i386/pc/play.c: Likewise.
38233 * commands/i386/pc/halt.c: Likewise.
38234 * commands/i386/pc/vbeinfo.c: Likewise.
38235 * commands/i386/pc/vbetest.c: Likewise.
38236 * commands/lspci.c: Likewise.
38237 * commands/date.c: Likewise.
38238 * commands/handler.c: Likewise.
38239 * commands/ls.c: Likewise.
38240 * commands/test.c: Likewise.
38241 * commands/cmp.c: Likewise.
38242 * commands/efi/loadbios.c: Likewise.
38243 * commands/efi/fixvideo.c: Likewise.
38244 * commands/halt.c: Likewise.
38245 * commands/help.c: Likewise.
38246 * commands/reboot.c: Likewise.
38247 * hello/hello.c: Likewise.
38248 * script/sh/main.c: Likewise.
38249 * loader/xnu.c: Likewise.
38250 * term/terminfo.c: Likewise.
38251 * term/i386/pc/serial.c: Likewise.
38252 * term/usb_keyboard.c: Likewise.
38253
38254 2009-05-03 David S. Miller <davem@davemloft.net>
38255
38256 * normal/menu.c: Include grub/parser.h
38257
38258 2009-05-03 Pavel Roskin <proski@gnu.org>
38259
38260 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38261 not char*.
38262 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38263 Suggested by Javier Martín <lordhabbit@gmail.com>
38264
38265 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38266 efiemu??.o doesn't exist.
38267 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38268 copying.
38269
38270 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
38271
38272 FreeBSD 64-bit support
38273
38274 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
38275 and loader/i386/bsd_trampoline.S
38276 (bsd_mod_ASFLAGS): new variable
38277 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38278 (FREEBSD_MODTYPE_KERNEL64): likewise
38279 (grub_bsd64_trampoline_start): likewise
38280 (grub_bsd64_trampoline_end): likewise
38281 (grub_bsd64_trampoline_selfjump): likewise
38282 (grub_bsd64_trampoline_gdt): likewise
38283 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38284 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38285 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38286 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
38287 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38288 of "attrib" member
38289 * loader/i386/bsd_pagetable.c: new file
38290 * loader/i386/bsd_trampoline.S: likewise
38291 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38292 (ALIGN_VAR): likewise
38293 (entry_hi): new variable
38294 (kern_end_mdofs): likewise
38295 (is_64bit): likewise
38296 (grub_freebsd_add_meta): use ALIGN_VAR
38297 (grub_e820_mmap): new declaration
38298 (grub_freebsd_add_mmap): new function
38299 (grub_freebsd_add_meta_module): support 64 bit kernels
38300 (grub_freebsd_list_modules): use ALIGN_VAR
38301 (gdt_descriptor): new declaration
38302 (grub_freebsd_boot): support 64 bit kernels
38303 (grub_bsd_elf64_hook): new function
38304 (grub_bsd_load_elf): support elf64
38305
38306 2009-05-03 Bean <bean123ch@gmail.com>
38307
38308 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38309 after we get the result of if statement.
38310
38311 2009-05-03 Bean <bean123ch@gmail.com>
38312
38313 * Makefile.in (enable_efiemu): New variable.
38314
38315 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38316 set.
38317 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38318 path.
38319 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38320 path, add -mno-red-zone option.
38321 (efiemu64_s.o): Likewise.
38322 (efiemu64.o): Use macro $^ for source file.
38323
38324 * configure.ac (--enable-efiemu): New option.
38325
38326 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38327
38328 xnu support
38329
38330 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38331 (pkglib_MODULES): add xnu.mod
38332 (xnu_mod_SOURCES): new variable
38333 (xnu_mod_CFLAGS): likewise
38334 (xnu_mod_LDFLAGS): likewise
38335 (xnu_mod_ASFLAGS): likewise
38336 * conf/i386-pc.rmk: likewise
38337 * conf/x86_64-efi.rmk: likewise
38338 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
38339 new declaration
38340 * include/grub/i386/macho.h: new file
38341 * include/grub/i386/xnu.h: likewise
38342 * include/grub/macho.h: likewise
38343 * include/grub/machoload.h: likewise
38344 * include/grub/x86_64/macho.h: likewise
38345 * include/grub/x86_64/xnu.h: likewise
38346 * include/grub/xnu.h: likewise
38347 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38348 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38349 * loader/i386/efi/xnu.c: new file
38350 * loader/i386/pc/xnu.c: likewise
38351 * loader/i386/xnu.c: likewise
38352 * loader/i386/xnu_helper.S: likewise
38353 * loader/macho.c: likewise
38354 * loader/xnu.c: likewise
38355 * loader/xnu_resume.c: likewise
38356 * util/grub-dumpdevtree: likewise
38357 * include/grub/i386/pit.h: include grub/err.h
38358 (grub_pit_wait): export
38359 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
38360
38361 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38362
38363 Efiemu
38364
38365 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
38366 _linux_efi, linux_efi.
38367 new files in grub-emu
38368 new targets efiemu32.o and efiemu64.o
38369 * loader/linux_normal_efiemu.c: likewise
38370 * loader/i386/efi/linux.c: added preliminary efiemu support
38371 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
38372 files to copy
38373 * include/grub/autoefi.h: new file
38374 * include/grub/i386/efiemu.h: likewise
38375 * include/grub/i386/pc/efiemu.h: likewise
38376 * include/grub/efi/api.h: add LL suffix when necessary
38377 new definitions relating to tables
38378 * include/grub/efiemu/efiemu.h: new file
38379 * include/grub/efiemu/runtime.h: likewise
38380 * efiemu/prepare.c: likewise
38381 * efiemu/loadcore_common.c: likewise
38382 * efiemu/loadcore64.c: likewise
38383 * efiemu/runtime/efiemu.sh: likewise
38384 * efiemu/runtime/efiemu.S: likewise
38385 * efiemu/runtime/efiemu.c: likewise
38386 * efiemu/runtime/config.h: likewise
38387 * efiemu/prepare32.c: likewise
38388 * efiemu/main.c: likewise
38389 * efiemu/modules/pnvram.c: likewise
38390 * efiemu/modules/i386: likewise
38391 * efiemu/modules/i386/pc: likewise
38392 * efiemu/modules/acpi.c: likewise
38393 * efiemu/i386/pc/cfgtables.c: likewise
38394 * efiemu/i386/loadcore64.c: likewise
38395 * efiemu/i386/loadcore32.c: likewise
38396 * efiemu/prepare64.c: likewise
38397 * efiemu/loadcore.c: likewise
38398 * efiemu/symbols.c: likewise
38399 * efiemu/mm.c: likewise
38400 * efiemu/loadcore32.c: likewise
38401
38402 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38403
38404 ACPI spoofing
38405
38406 * commands/acpi.c: new file
38407 * commands/i386/pc/acpi.c: likewise
38408 * commands/efi/acpi.c: likewise
38409 * include/grub/acpi.h: likewise
38410 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38411 (acpi_mod_SOURCES): new variable
38412 (acpi_mod_CFLAGS): likewise
38413 (acpi_mod_LDFLAGS): likewise
38414 * conf/i386-efi.rmk: likewise
38415 * conf/x86_64-efi.rmk: likewise
38416
38417 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38418
38419 Missing part from mmap patch
38420
38421 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38422 (grub_mmap_unregister)
38423 (grub_mmap_free_and_unregister): use grub_mmap_register
38424
38425 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38426
38427 Mmap services
38428
38429 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38430 * loader/i386/linux.c (find_mmap_size): likewise
38431 (allocate_pages): likewise
38432 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38433 (grub_fill_multiboot_mmap): likewise
38434 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38435 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38436 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38437 (OPENBSD_MMAP_RESERVED): likewise
38438 * include/grub/i386/pc/memory.h: include grub/memory.h
38439 (grub_lower_mem): removed
38440 (grub_upper_mem): likewise
38441 (GRUB_MACHINE_MEMORY_ACPI): new definition
38442 (GRUB_MACHINE_MEMORY_NVS): likewise
38443 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38444 (GRUB_MACHINE_MEMORY_HOLE): likewise
38445 (grub_machine_mmap_register): likewise
38446 (grub_machine_mmap_unregister): likewise
38447 (grub_machine_get_upper): likewise
38448 (grub_machine_get_lower): likewise
38449 (grub_machine_get_post64): likewise
38450 * include/grub/i386/efi/memory.h: new file
38451 * include/grub/x86_64/efi/memory.h: likewise
38452 * include/grub/efi/memory.h: likewise
38453 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38454 (mmap_mod_SOURCES): new variable
38455 (mmap_mod_LDFLAGS): likewise
38456 (mmap_mod_ASFLAGS): likewise
38457 * conf/i386-coreboot.rmk: likewise
38458 * conf/i386-ieee1275.rmk: likewise
38459 * conf/i386-efi.rmk: likewise
38460 * conf/x86_64-efi.rmk: likewise
38461 * include/grub/types.h (UINT_TO_PTR): new macro
38462 (PTR_TO_UINT32): likewise
38463 (PTR_TO_UINT64): likewise
38464 * include/grub/memory.h: new file
38465 * mmap/i386/pc/mmap.c: likewise
38466 * mmap/i386/pc/mmap_helper.S: likewise
38467 * mmap/i386/uppermem.c: likewise
38468 * mmap/mmap.c: likewise
38469 * mmap/efi/mmap.c: likewise
38470 * kern/i386/coreboot/init.c (grub_machine_init): don't use
38471 grub_upper_mem
38472 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38473 (grub_upper_mem): likewise
38474 (grub_machine_init): don't use grub_upper_mem,
38475 make grub_lower_mem local
38476 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38477 grub_mmap_iterate and grub_mmap_get_upper
38478 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38479
38480 2009-05-02 Bean <bean123ch@gmail.com>
38481
38482 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38483 script/sh/parser.y.
38484 (pkglib_MODULES): Add normal.mod and sh.mod.
38485 (normal_SOURCES): New variable.
38486 (normal_mod_CFLAGS): Likewise.
38487 (normal_mod_LDFLAGS): Likewise.
38488 (sh_mod_SOURCES): Likewise.
38489 (sh_mod_CFLAGS): Likewise.
38490 (sh_mod_LDFLAGS): Likewise.
38491
38492 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38493 script/sh/lexer.c_DEPENDENCIES.
38494 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38495 kern/rescue_reader.c and kern/rescue_parser.c.
38496 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38497 (grub_emu_SOURCES): Change source files.
38498 (pkglib_MODULES): Remove normal.mod.
38499 (normal_SOURCES): Removed.
38500 (normal_mod_CFLAGS): Likewise.
38501 (normal_mod_LDFLAGS): Likewise.
38502 * conf/i386-coreboot.rmk: Likewise.
38503 * conf/i386-efi.rmk: Likewise.
38504 * conf/i386-ieee1276.rmk: Likewise.
38505 * conf/powerpc-ieee1275.rmk: Likewise.
38506 * conf/sparc64-ieee1275.rmk: Likewise.
38507 * conf/x86_64-efi.rmk: Likewise.
38508
38509 * include/grub/command.h (grub_command_execute): New inline function.
38510
38511 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38512
38513 * include/grub/normal.h: Remove <grub/setjmp.h>.
38514 (grub_fs_module_list): Moved to normal/autofs.c.
38515 (grub_exit_env): Removed.
38516 (grub_command_execute): Likewise.
38517 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38518 parameter script.
38519 (read_command_list): New function declaration.
38520 (read_fs_list): Likewise.
38521
38522 * include/parser.h: Include <grub/reader.h>.
38523 (grub_parser_split_cmdline): Change type of getline parameter.
38524 (grub_parser): New structure.
38525 (grub_parser_class): New variable.
38526 (grub_parser_execute): New function declaration.
38527 (grub_register_rescue_parser): Likewise.
38528 (grub_parser_register): New inline function.
38529 (grub_parser_unregister): Likewise.
38530 (grub_parser_get_current): Likewise.
38531 (grub_parser_set_current): Likewise.
38532
38533 * include/grub/reader.h: New file.
38534 * kern/reader.c: Likewise.
38535 * kern/rescue_parser.c: Likewise.
38536 * kern/rescue_reader.c: Likewise.
38537 * normal/autofs.c: Likewise.
38538 * normal/dyncmd.c: Likewise.
38539
38540 * include/grub/rescue.h: Removed.
38541 * normal/command.h: Likewise.
38542
38543 * include/grub/script.h: Moved to ...
38544 * include/grub/script_sh.h: ... Moved here.
38545 * normal/execute.c: Moved to ...
38546 * script/sh/execute.c: ... Moved here.
38547 * normal/function.c: Moved to ...
38548 * script/sh/function.c: ... Moved here.
38549 * normal/lexer.c: Moved to ...
38550 * script/sh/lexer.c: ... Moved here.
38551 * normal/parser.y: Moved to ...
38552 * script/sh/parser.y: ... Moved here.
38553 * normal/script.c: Moved to ...
38554 * script/sh/script.c: ... Moved here.
38555
38556 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38557 <grub/reader.h>.
38558 (grub_exit_env): Removed.
38559 (fs_module_list): Moved to normal/autofs.c.
38560 (grub_file_getline): Don't handle comment here.
38561 (free_menu): Skip removed field entry->commands.
38562 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38563 script parameter.
38564 (read_config_file): Removed nested parameter, change getline function.
38565 (grub_enter_normal_mode): Removed.
38566 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38567 (read_command_list): Likewise.
38568 (autoload_fs_module): Moved to normal/autofs.c.
38569 (read_fs_list): Likewise.
38570 (reader_nested): New variable.
38571 (grub_normal_execute): Run parser.sh to switch to sh parser.
38572 (grub_cmd_rescue): Removed.
38573 (cmd_normal): Removed.
38574 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38575 rescue command.
38576 (grub_cmdline_run): New function.
38577 (grub_normal_reader_init): Likewise.
38578 (grub_normal_read_line): Likewise.
38579 (grub_env_write_pager): Likewise.
38580 (cmdline): New variable.
38581 (grub_normal_reader): Likewise.
38582 (GRUB_MOD_INIT): Register normal reader and set as current, register
38583 pager hook, register normal command with grub_register_command_prio,
38584 so that it won't show up in command.lst.
38585 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38586 grub_fs_autoload_hook.
38587
38588 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38589 (grub_menu_execute_entry): Replace grub_script_execute with
38590 grub_parser_execute, change parameter to grub_command_execute.
38591
38592 * normal/menu_text.c: Remove <grub/script.h>.
38593
38594 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38595 and <grub/parser.h>.
38596 (run): Change editor_getline to use new parser interface. Change
38597 parameter to grub_command_execute.
38598
38599 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38600 <grub/reader.h> and <grub/parser.h>.
38601 (grub_load_normal_mode): Execute normal command.
38602 (grub_main): Call grub_register_core_commands,
38603 grub_register_rescue_parser and grub_register_rescue_reader, use
38604 grub_reader_loop to enter input loop.
38605
38606 * kern/parser.c (grub_parser_split_cmdline): Change type of
38607 getline parameter.
38608 (grub_parser_class): New variable.
38609 (grub_parser_execute): New function.
38610
38611 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38612 * loader/multiboot2.c: Likewise.
38613 * loader/sparc64/ieee1275/linux.c: Likewise.
38614
38615 * util/grub-emu.c (read_command_list): New dummy function.
38616
38617 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38618
38619 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38620 count to 16 for CCISS and IDA.
38621
38622 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38623
38624 * normal/menu_text.c (grub_wait_after_message): Print a newline
38625 after waiting for user input.
38626
38627 * loader/i386/linux.c: Include `<grub/normal.h>'.
38628 (grub_cmd_linux): Improve the error message about `ask' mode, by
38629 waiting for user input so it's not missed (we can do this, since
38630 user requested interaction).
38631
38632 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38633
38634 Added missing lst to grub-mkrescue
38635
38636 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38637 and ${input_dir}/parttool.lst
38638
38639 2009-04-30 David S. Miller <davem@davemloft.net>
38640
38641 * util/hostdisk.c (device_is_wholedisk): New function.
38642 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38643 zero only if device_is_wholedisk() returns true.
38644
38645 * util/hostdisk.c (convert_system_partition_to_system_disk):
38646 Handle virtual disk devices named /dev/vdiskX as found on sparc
38647 and powerpc.
38648
38649 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38650 lettered partition specifier is found, convert to numbered.
38651
38652 2009-04-29 David S. Miller <davem@davemloft.net>
38653
38654 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38655 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38656
38657 * normal/command.c: Add missing newline at end of file.
38658
38659 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38660 warnings.
38661 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38662 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38663 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38664 ihandles have a 32-bit type but need to be stored in a "void *".
38665
38666 2009-04-28 Pavel Roskin <proski@gnu.org>
38667
38668 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38669 not disk. Adjust all dependencies.
38670 (grub_fs_uuid_close): Use grub_device_close(), not
38671 grub_disk_close().
38672
38673 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38674 parent's partition, don't copy it by reference, as it gets freed
38675 on close.
38676
38677 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38678
38679 Preboot hooks support
38680
38681 * commands/boot.c (struct grub_preboot_t): new declaration
38682 (preboots_head): new variable
38683 (preboots_tail): likewise
38684 (grub_loader_register_preboot_hook): new function
38685 (grub_loader_unregister_preboot_hook): likewise
38686 (grub_loader_set): launch preboot hooks
38687 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38688 (grub_loader_register_preboot_hook): new declaration
38689 (grub_loader_unregister_preboot_hook): likewise
38690
38691 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38692
38693 Warning fix
38694
38695 * disk/scsi.c (grub_scsi_open): added missing cast when
38696 calling grub_dprintf
38697
38698 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38699
38700 Bug and warning fixes
38701
38702 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
38703 declaration
38704 * commands/test.c (test_parse): fixed bug with file tests and corrected
38705 declaration of find_file
38706
38707 2009-04-26 Pavel Roskin <proski@gnu.org>
38708
38709 * Makefile.in: Don't install empty manual pages if help2man is
38710 missing. Use help2man option for output, not shell redirection.
38711
38712 2009-04-26 David S. Miller <davem@davemloft.net>
38713
38714 * util/grub-mkdevicemap.c (make_device_map): Add missing
38715 NESTED_FUNC_ATTR to process_device().
38716
38717 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38718
38719 Test command
38720
38721 * commands/test.c: rewritten to use bash-like test
38722
38723 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38724
38725 Parttool autoloading and improvements
38726
38727 * Makefile.in (pkglib_DATA): add parttool.lst
38728 (parttool.lst): new target
38729 * genmk.rb: generate parttool-*
38730 (CLEANFILES): add #{parttool}
38731 (PARTTOOLFILES): new variable
38732 * genparttoollist.sh: new file
38733 * parttool/pcpart.c (grub_pcpart_boot): more feedback
38734 (grub_pcpart_type): likewise
38735 * commands/parttool.c (helpmsg): new variable
38736 (grub_cmd_parttool): output help if not enough arguments are supplied
38737 autoload modules
38738 (GRUB_MOD_INIT(parttool)): use helpmsg
38739
38740 2009-04-24 David S. Miller <davem@davemloft.net>
38741
38742 Avoiding opening same device multiple times in device iterator.
38743
38744 * kern/device.c: (grub_device_iterate): Define struct part_ent,
38745 and use it to build a list of partitions in iterate_disk() and
38746 iterate_partition().
38747
38748 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38749 on disk->data.
38750
38751 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38752 grub_devalias_iterate() result instead of unconditional 0.
38753 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38754 Also, capture hook return value, either directly or via
38755 grub_children_iterate(), and propagate to caller.
38756 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38757 grub_children_iterate): Return value is now 'int' instead of
38758 'grub_err_t'.
38759 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38760 like a proper iterator, stopping when hooks return non-zero.
38761 (grub_devalias_iterate): Likewise.
38762
38763 2009-04-23 David S. Miller <davem@davemloft.net>
38764
38765 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38766
38767 2009-04-22 David S. Miller <davem@davemloft.net>
38768
38769 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38770 is larger than address_cells, use that value for address_cells too.
38771
38772 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38773 IEEE1275_MAX_PATH_LEN): Define.
38774 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38775 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38776 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38777 'devtype'. Explicitly NULL terminate devalias expansion.
38778
38779 * util/sparc64/ieee1275/misc.c: New file.
38780 * util/sparc64/ieee1275/grub-setup.c: New file.
38781 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38782 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38783 * util/sparc64/ieee1275/grub-install.in: New file.
38784 * util/ieee1275/ofpath.c: New file.
38785 * util/ieee1275/devicemap.c: New file.
38786 * util/devicemap.c: New file.
38787 * util/deviceiter.c: New file.
38788 * kern/sparc64/ieee1275/init.c: New file.
38789 * include/grub/util/ofpath.h: New file.
38790 * include/grub/util/deviceiter.h: New file.
38791 * util/grub-mkdevicemap.c: Include deviceiter.h.
38792 Implement using grub_util_emit_devicemap_entry and
38793 grub_util_iterate_devices.
38794 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38795 util/devicemap.c into grub-mkdevicemap
38796 * conf/i386-efi.rmk: Likewise.
38797 * conf/i386-ieee1275.rmk: Likewise.
38798 * conf/i386-pc.rmk: Likewise.
38799 * conf/powerpc-ieee1275.rmk: Likewise.
38800 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38801 images and installation utilities. Build kernel as image
38802 instead of as elf binary. Use common rules as much as possible.
38803
38804 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
38805
38806 Correct GPT definition
38807
38808 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38809 of "attrib" member
38810
38811 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
38812
38813 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38814
38815 2009-04-19 David S. Miller <davem@davemloft.net>
38816
38817 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38818 (grub_rescue_cmd_linux): Rename to...
38819 (grub_cmd_linux): and fix prototype.
38820 (grub_rescue_cmd_initrd): Rename to...
38821 (grub_cmd_initrd): and fix prototype.
38822 (cmd_linux, cmd_initrd): New.
38823 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38824 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38825
38826 2009-04-17 Pavel Roskin <proski@gnu.org>
38827
38828 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38829 format.
38830 (grub_ohci_transfer): Likewise.
38831
38832 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38833
38834 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38835 return without a value. Fix inconsistent indentation.
38836
38837 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38838 match struct grub_fs.
38839
38840 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38841 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38842 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38843 * commands/lspci.c (grub_lspci_iter): Likewise.
38844
38845 2009-04-16 Bean <bean123ch@gmail.com>
38846
38847 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38848 value.
38849
38850 2009-04-15 Pavel Roskin <proski@gnu.org>
38851
38852 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38853 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38854 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38855 definitions.
38856
38857 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
38858
38859 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
38860 that no multiple data or metadata areas are supported and `Unknown
38861 metadata header'.
38862
38863 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
38864
38865 Move loader out of the kernel
38866
38867 * kern/loader.c: moved to ...
38868 * commands/boot.c: ... moved here
38869 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38870 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38871 * include/grub/kernel.h (grub_machine_fini): export
38872 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38873 (grub_loader_set): likewise
38874 (grub_loader_unset): likewise
38875 (grub_loader_boot): likewise
38876 * conf/common.rmk: new module boot.mod
38877 (pkglib_MODULES): add boot.mod
38878 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38879 (grub_emu_SOURCES): likewise
38880 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38881 (grub_emu_SOURCES): likewise
38882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38883 (grub_emu_SOURCES): likewise
38884 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38885 (grub_emu_SOURCES): likewise
38886 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38887 (grub_emu_SOURCES): likewise
38888 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38889 (grub_emu_SOURCES): likewise
38890 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
38891 (grub_emu_SOURCES): likewise
38892
38893 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
38894
38895 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
38896
38897 * kern/misc.c (grub_itoa): Removed function
38898 (grub_ltoa): likewise
38899 (grub_vsprintf): use grub_lltoa
38900
38901 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
38902
38903 Restore grub-emu
38904
38905 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38906 * conf/i386-coreboot.rmk: likewise
38907 * conf/i386-ieee1275.rmk: likewise
38908 * conf/powerpc-ieee1275.rmk: likewise
38909
38910 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
38911
38912 * INSTALL: Add that `./autogen.sh' needs to be run before
38913 `./configure.'.
38914
38915 2009-04-14 Bean <bean123ch@gmail.com>
38916
38917 * Makefile.in (pkglib_DATA): Add handler.lst.
38918 (handler.lst): New rule.
38919
38920 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38921 * conf/i386-coreboot.rmk: Likewise.
38922 * conf/i386-ieee1275.rmk: Likewise.
38923 * conf/i386-efi.rmk: Likewise.
38924 * conf/x86_64-efi.rmk: Likewise.
38925 * conf/powerpc-ieee1275.rmk: Likewise.
38926 * conf/sparc64-ieee1275.rmk: Likewise.
38927
38928 * genhandlerlist.sh: New file.
38929
38930 * genmk.rb: Add rules to generate handler.lst.
38931
38932 * include/grub/normal.h (grub_file_getline): New function definition.
38933 (read_handler_list): Likewise.
38934 (free_handler_list): Likewise.
38935
38936 * include/grub/term.h (grub_term_register_input): Add name parameter
38937 for auto generation of handler.lst.
38938 (grub_term_register_output): Likewise.
38939
38940 * normal/handler.c: New file.
38941
38942 * normal/main.c (get_line): Renamed to grub_file_getline.
38943 (read_config_file): Use the newly renamed grub_file_getline.
38944 (read_command_list): Likewise.
38945 (read_fs_list): Likewise.
38946 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38947 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38948
38949 * term/efi/console.c (grub_console_init): Add name parameter for auto
38950 generation of handler.lst.
38951 * term/gfxterm.c: Likewise.
38952 * term/i386/pc/at_keyboard.c: Likewise.
38953 * term/i386/pc/console.c: Likewise.
38954 * term/i386/pc/serial.c: Likewise.
38955 * term/i386/pc/vesafb.c: Likewise.
38956 * term/i386/pc/vga.c: Likewise.
38957 * term/i386/pc/vga_text.c: Likewise.
38958 * term/ieee1275/ofconsole.c: Likewise.
38959 * term/usb_keyboard.c: Likewise.
38960
38961 2009-04-14 Bean <bean123ch@gmail.com>
38962
38963 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38964 properly with null character.
38965
38966 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
38967
38968 * configure: Remove.
38969 * config.h.in: Likewise.
38970 * stamp-h.in: Likewise.
38971 * DISTLIST: Likewise.
38972 * conf/common.mk: Likewise.
38973 * conf/i386-coreboot.mk: Likewise.
38974 * conf/i386-efi.mk: Likewise.
38975 * conf/i386-ieee1275.mk: Likewise.
38976 * conf/i386.mk: Likewise.
38977 * conf/i386-pc.mk: Likewise.
38978 * conf/powerpc-ieee1275.mk: Likewise.
38979 * conf/sparc64-ieee1275.mk: Likewise.
38980 * conf/x86_64-efi.mk: Likewise.
38981
38982 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38983 develop on GRUB.
38984
38985 2009-04-14 John Stanley <jpsinthemix@verizon.net>
38986 David S. Miller <davem@davemloft.net>
38987
38988 * util/hostdisk.c (make_device_name): Fix buffer length
38989 calculations.
38990
38991 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
38992
38993 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38994 <sys/param.h> and <sys/sysctl.h>.
38995 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38996 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38997 opening the device and reset them afterwards.
38998
38999 2009-04-13 Pavel Roskin <proski@gnu.org>
39000
39001 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39002 Reported by John Stanley <jpsinthemix@verizon.net>
39003
39004 2009-04-13 Robert Millan <rmh@aybabtu.com>
39005
39006 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39007 that name for menuentries when appropriate.
39008
39009 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39010
39011 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39012
39013 2009-04-13 Robert Millan <rmh@aybabtu.com>
39014
39015 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39016 to Linux, simply abort telling the user it's no longer supported.
39017
39018 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39019
39020 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39021 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39022 `freebsd_loadenv' only when devices.hints exist.
39023
39024 2009-04-13 Pavel Roskin <proski@gnu.org>
39025
39026 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39027
39028 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39029
39030 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39031 partition number.
39032 (grub_drive): Likewise.
39033
39034 2009-04-13 David S. Miller <davem@davemloft.net>
39035
39036 * kern/sparc64/ieee1275/ieee1275.c: New file.
39037 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39038 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39039 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39040 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39041 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39042 grub_ieee1275_alloc_physmem): Declare new exported functions.
39043
39044 * include/grub/sparc64/ieee1275/loader.h: New file.
39045 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39046 * include/grub/sparc64/kernel.h: Likewise.
39047 * loader/sparc64/ieee1275/linux.c: Likewise.
39048
39049 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39050 (grub_fstest_SOURCES): Likewise.
39051
39052 * util/hostdisk.c (make_device_name): Do not make any assumptions
39053 about the length of drive names.
39054
39055 * kern/dl.c (grub_dl_load_file): Close file immediately when
39056 we are done using it.
39057
39058 2009-04-12 David S. Miller <davem@davemloft.net>
39059
39060 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39061 values. Noticed by Pavel Roskin.
39062
39063 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39064 target compiler.
39065
39066 * genmk.rb: Add more flexible image type specification, also
39067 pass --strip-unneeded to objcopy.
39068 * conf/i386-pc.rmk: Use *_FORMAT.
39069 * conf/i386-pc.mk: Rebuilt.
39070
39071 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39072 (OFDISK_HASH_SZ): Define.
39073 (ofdisk_hash): New hash table.
39074 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39075 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39076 instead of device phandle which is not unique.
39077
39078 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39079 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39080 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39081 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39082 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39083 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39084 GRUB_KERNEL_MACHINE_DATA_END): Define.
39085 (grub_kernel_image_size, grub_total_module_size): Declare.
39086
39087 2009-04-12 Pavel Roskin <proski@gnu.org>
39088
39089 * configure.ac: Change the logic when we check for target tools.
39090 Do it when the target is specified and it's different from the
39091 specified value of the host.
39092
39093 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39094
39095 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39096 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39097 GNU/kFreeBSD. Check if a device is a character device. Use
39098 DIOCGMEDIASIZE to get the size.
39099 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39100 support for GNU/kFreeBSD.
39101 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39102 is a character device instead of a block device. Add support for
39103 FreeBSD device names.
39104
39105 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39106 is a character device instead of a block device.
39107
39108 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39109 is a character device instead of a block device.
39110
39111 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39112
39113 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39114 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39115 FreeBSD. Check if a device is a character device. Use
39116 DIOCGMEDIASIZE to get the size.
39117 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39118 support for FreeBSD.
39119 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39120 is a character device instead of a block device. Add support for
39121 FreeBSD device names.
39122
39123 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39124 a character device instead of a block device.
39125 (grub_util_check_char_device): New function.
39126
39127 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39128 a character device instead of a block device.
39129
39130 * include/grub/util/getroot.h (grub_util_check_char_device): New
39131 prototype.
39132
39133 2009-04-11 David S. Miller <davem@davemloft.net>
39134
39135 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39136 static libgcc.
39137 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39138 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39139 function, if present.
39140 (__bswapdi2): Likewise.
39141
39142 * include/grub/sparc64/ieee1275/boot.h: New file.
39143 * boot/sparc64/ieee1275/boot.S: Likewise.
39144 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39145
39146 * kern/misc.c (grub_ltoa): New function.
39147 (grub_vsprintf): Use it to format 'long' integers.
39148
39149 2009-04-10 David S. Miller <davem@davemloft.net>
39150
39151 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39152 slots are of type grub_ieee1275_cell_t.
39153 (grub_nand_read): Likewise.
39154 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39155 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39156 macros are used to compare values in arg/ret block of the call.
39157 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39158 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39159 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39160 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39161 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39162 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39163 grub_ieee1275_close, grub_ieee1275_set_property,
39164 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39165 grub_ieee1275_cell_t.
39166 * kern/ieee1275/openfw.c (grub_map): Likewise.
39167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39168 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39169
39170 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39171 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39172 (grub_devalias_iterate): Likewise.
39173
39174 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
39175
39176 UFS improvements
39177
39178 * fs/ufs.c (INODE_NBLOCKS): new definition
39179 (struct grub_ufs_dirent): added fields for non-BSD dirents
39180 (grub_ufs_get_file_block): fixed double indirect handling
39181 (grub_ufs_lookup_symlink): use more robust way to determine whether
39182 symlink is inline
39183 (grub_ufs_find_file): support for non-BSD dirents
39184 (grub_ufs_dir): support for non-BSD dirents
39185
39186 2009-04-10 Bean <bean123ch@gnail.com>
39187
39188 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39189 attribute, otherwise the size would be wrong for i386 platform.
39190
39191 * include/grub/pci.h (grub_pci_read_word): New inline function.
39192 (grub_pci_read_byte): Likewise.
39193 (grub_pci_write): Likewise.
39194 (grub_pci_write_word): Likewise.
39195 (grub_pci_write_byte): Likewise.
39196
39197 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39198
39199 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39200 (find_framebuf): Scan pci to locate the frame buffer address.
39201
39202 * commands/efi/fixvideo.c: New file.
39203
39204 * commands/efi/loadbios.c: Likewise.
39205
39206 * commands/memrw.c: Likewise.
39207
39208 * util/grub-dumpbios.in: Likewise.
39209
39210 * conf/common.rmk (grub-dumpbios): New utility.
39211 (pkglib_MODULES): New module memrw.mod.
39212 (memrw_mod_SOURCE): New macro.
39213 (memrw_mod_CFLAGS): Likewise.
39214 (memrw_mod_LDFLAGS): Likewise.
39215
39216 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
39217 fixvideo.mod.
39218 (loadbios_mod_SOURCE): New macro.
39219 (loadbios_mod_CFLAGS): Likewise.
39220 (loadbios_mod_LDFLAGS): Likewise.
39221 (fixvideo_mod_SOURCE): Likewise.
39222 (fixvideo_mod_CFLAGS): Likewise.
39223 (fixvideo_mod_LDFLAGS): Likewise.
39224
39225 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
39226 fixvideo.mod.
39227 (loadbios_mod_SOURCE): New macro.
39228 (loadbios_mod_CFLAGS): Likewise.
39229 (loadbios_mod_LDFLAGS): Likewise.
39230 (fixvideo_mod_SOURCE): Likewise.
39231 (fixvideo_mod_CFLAGS): Likewise.
39232 (fixvideo_mod_LDFLAGS): Likewise.
39233
39234 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
39235
39236 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39237
39238 2009-04-07 David S. Miller <davem@davemloft.net>
39239
39240 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39241 support for R_SPARC_OLO10 relocations. Fix compile warning for
39242 R_SPARC_WDISP30 case.
39243 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
39244
39245 2009-04-06 Pavel Roskin <proski@gnu.org>
39246
39247 * include/grub/misc.h (ARRAY_SIZE): New macro.
39248 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39249 New macro.
39250 * loader/i386/linux.c (allocate_pages): Use free_pages().
39251 (grub_linux_unload): Don't use free_pages().
39252 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39253 wrong index. Treat all other modes as text modes.
39254 (grub_cmd_linux): Initialize vid_mode unconditionally to
39255 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39256
39257 * commands/help.c (print_command_help): Use cmd->prio, not
39258 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39259
39260 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
39261
39262 Parttool
39263
39264 * parttool/pcpart.c: new file
39265 * commands/parttool.c: likewise
39266 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39267 (parttool_mod_SOURCES): new variable
39268 (parttool_mod_CFLAGS): likewise
39269 (parttool_mod_LDFLAGS): likewise
39270 (pcpart_mod_SOURCES): likewise
39271 (pcpart_mod_CFLAGS): likewise
39272 (pcpart_mod_LDFLAGS): likewise
39273 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
39274 and parttool/pcpart.c
39275 * conf/i386-efi.rmk: likewise
39276 * conf/i386-ieee1275.rmk: likewise
39277 * conf/i386-pc.rmk: likewise
39278 * conf/powerpc-ieee1275.rmk: likewise
39279 * conf/sparc64-ieee1275.rmk: likewise
39280 * conf/x86_64-ieee1275.rmk: likewise
39281
39282 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39283
39284 Support for mtime and further expandability of dir command
39285
39286 * include/grub/lib/datetime.h: moved to ...
39287 * include/grub/datetime.h: ... moved here and added
39288 declaration of grub_unixtime2datetime. All users updated
39289 * include/grub/fs.h: new syntax for dir and mtime functions in
39290 struct grub_fs
39291 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39292 and GRUB_FSHELP_FLAGS_MASK
39293 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39294 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39295 (grub_ext2_mtime): new function
39296 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39297 (grub_hfsplus_mtime): new function
39298 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39299 (GRUB_UFS_ATTR_FILE): likewise
39300 (GRUB_UFS_ATTR_LNK): likewise
39301 (struct grub_ufs_sblock): new fields mtime
39302 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39303 all users updated
39304 (grub_ufs_dir): mtime support
39305 (grub_ufs_mtime): new function
39306 * fs/affs.c (grub_affs_dir): use new dir syntax
39307 * fs/afs.c (grub_afs_dir): likewise
39308 * fs/cpio.c (grub_cpio_dir): likewise
39309 * fs/fat.c (grub_fat_find_dir): likewise
39310 * fs/hfs.c (grub_hfs_dir): likewise
39311 * fs/iso9660.c (grub_iso9660_dir): likewise
39312 * fs/jfs.c (grub_jfs_dir): likewise
39313 * fs/minix.c (grub_minix_dir): likewise
39314 * fs/ntfs.c (grub_ntfs_dir): likewise
39315 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39316 * fs/sfs.c (grub_sfs_dir): likewise
39317 * fs/xfs.c (grub_xfs_dir): likewise
39318 * util/hostfs.c (grub_hostfs_dir): likewise
39319 * lib/datetime.c: moved to ...
39320 * normal/datetime.c: ... moved here
39321 (grub_unixtime2datetime): new function
39322 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
39323 * normal/completion.c (iterate_dir): use new dir syntax
39324 * normal/misc.c (grub_normal_print_device_info): tell the
39325 last modification time of a volume
39326 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
39327 * conf/common.rmk: added lib/datetime.c to ls.mod
39328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
39329 (normal_mod_SOURCES): likewise
39330 (datetime_mod_SOURCES): Removed lib/datetime.c
39331 * conf/i386-efi.rmk: likewise
39332 * conf/i386-ieee1275.rmk: likewise
39333 * conf/i386-pc.rmk: likewise
39334 * conf/powerpc-ieee1275.rmk: likewise
39335 * conf/sparc64-ieee1275.rmk: likewise
39336 * conf/x86_64-efi.rmk: likewise
39337
39338 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39339
39340 Trim trailing spaces in FAT label and support mtools-like labels
39341
39342 * fs/fat.c (grub_fat_iterate_dir): New function based
39343 on grub_fat_find_dir
39344 (grub_fat_find_dir): use grub_fat_iterate_dir
39345 (grub_fat_label): likewise
39346
39347 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39348
39349 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
39350 and command.h
39351 remove extraneous kernel_elf_HEADERS
39352
39353 2009-04-04 Bean <bean123ch@gnail.com>
39354
39355 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39356
39357 * util/misc.c: Likewise.
39358
39359 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39360
39361 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39362 instead of grub_printf.
39363
39364 2009-04-03 Robert Millan <rmh@aybabtu.com>
39365
39366 * loader/i386/linux.c (grub_linux_setup_video): Fill
39367 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39368 values from `mode info' structure instead of hardcoded
39369 values.
39370
39371 2009-04-01 Pavel Roskin <proski@gnu.org>
39372
39373 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39374 unused now.
39375 * genmk.rb: Likewise.
39376 * configure.ac: Likewise.
39377
39378 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39379
39380 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39381 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39382
39383 2009-04-01 David S. Miller <davem@davemloft.net>
39384
39385 * normal/sparc64/setjmp.S: Fix setjmp implementation.
39386 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
39387 (grub_setjmp): Mark with 'returns_twice' attribute.
39388 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39389 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39390 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39391
39392 2009-04-01 Robert Millan <rmh@aybabtu.com>
39393
39394 Reapply fix from 2008-07-28 which was accidentally reverted; also
39395 perform the same fix to a similar check in same function.
39396
39397 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39398 with the same number are found, just use issue a warning with
39399 grub_dprintf(), as this error has been reported to be non-fatal.
39400
39401 2009-03-31 Pavel Roskin <proski@gnu.org>
39402
39403 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39404 for cross-compilation.
39405
39406 2009-03-30 Robert Millan <rmh@aybabtu.com>
39407
39408 Fix i386-ieee1275 build.
39409
39410 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39411 Remove declaration.
39412
39413 2009-03-30 Pavel Roskin <proski@gnu.org>
39414
39415 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39416 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39417 zero-terminated, rely only on the strlen value. Fix comparison
39418 of strings differing in length.
39419
39420 2009-03-30 Robert Millan <rmh@aybabtu.com>
39421
39422 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39423 checking for abi version. Improve error messages on BIOS to notify
39424 user about `linux16' command.
39425
39426 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39427
39428 Leak fixes
39429
39430 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39431 in case of collision
39432 * disk/scsi.c (grub_scsi_open): free scsi in case of error
39433
39434 2009-03-29 Robert Millan <rmh@aybabtu.com>
39435
39436 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39437 set `vid_mode' accordingly.
39438 (grub_linux_boot): Process `vid_mode' and set video mode.
39439
39440 2009-03-29 Robert Millan <rmh@aybabtu.com>
39441
39442 * util/grub.d/10_linux.in (linux_entry): New function.
39443 Factorize generation of Linux boot entries.
39444
39445 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39446
39447 Make the format of Environment Block plain text. The boot loader
39448 part is not tested well yet.
39449
39450 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39451 (buffer): Removed.
39452 (envblk): Likewise.
39453 (usage): Remove "info" and "clear". Add "unset". Update the
39454 description of "set", as this does not delete variables any
39455 longer.
39456 (create_envblk_file): Complete rewrite.
39457 (open_envblk_file): Likewise.
39458 (cmd_info): Removed.
39459 (cmd_list): Likewise.
39460 (cmd_set): Likewise.
39461 (cmd_clear): Likewise.
39462 (list_variables): New function.
39463 (write_envblk): Likewise.
39464 (set_variables): Likewise.
39465 (unset_variables): Likewise.
39466 (main): Complete rewrite.
39467
39468 * commands/loadenv.c (buffer): Removed.
39469 (envblk): Likewise.
39470 (open_envblk_file): New function.
39471 (read_envblk_file): Complete rewrite.
39472 (grub_cmd_load_env): Likewise.
39473 (grub_cmd_list_env): Likewise.
39474 (struct blocklist): New struct.
39475 (free_blocklists): New function.
39476 (check_blocklists): Likewise.
39477 (write_blocklists): Likewise.
39478 (grub_cmd_save_env): Complete rewrite.
39479
39480 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39481 a plain text signature.
39482 (GRUB_ENVBLK_MAXLEN): Removed.
39483 (struct grub_envblk): Complete rewrite.
39484 (grub_envblk_find): Removed.
39485 (grub_envblk_insert): Likewise.
39486 (grub_envblk_open): New prototype.
39487 (grub_envblk_set): Likewise.
39488 (grub_envblk_delete): Put const to VALUE.
39489 (grub_envblk_iterate): Put const to NAME and VALUE.
39490 (grub_envblk_close): New prototype.
39491 (grub_envblk_buffer): New inline function.
39492 (grub_envblk_size): Likewise.
39493
39494 * lib/envblk.c: Include grub/mm.h.
39495 (grub_env_find): Removed.
39496 (grub_envblk_open): New function.
39497 (grub_envblk_close): Likewise.
39498 (escaped_value_len): Likewise.
39499 (find_next_line): Likewise.
39500 (grub_envblk_insert): Removed.
39501 (grub_envblk_set): New function.
39502 (grub_envblk_delete): Complete rewrite.
39503 (grub_envblk_iterate): Likewise.
39504
39505 2009-03-28 Robert Millan <rmh@aybabtu.com>
39506
39507 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39508 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39509 variables. Use 16-bit loader.
39510 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39511 loader.
39512 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39513 (grub_linux16_boot): ... this. Update all users.
39514 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39515 (grub_linux_boot): ... this. Update all users.
39516
39517 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39518 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39519 commands to `linux16' and `initrd16'.
39520 (GRUB_MOD_FINI(linux)): Rename to ...
39521 (GRUB_MOD_FINI(linux16)): ... this.
39522
39523 2009-03-24 Pavel Roskin <proski@gnu.org>
39524
39525 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39526 not just for compilation.
39527
39528 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39529
39530 Move multiboot helper out of kernel
39531
39532 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39533 `loader/i386/multiboot_helper.S'.
39534 * conf/i386-coreboot.rmk: Likewise
39535 * conf/i386-ieee1275.rmk: Likewise
39536
39537 * kern/i386/loader.S: Move multiboot helpers from here...
39538 * loader/i386/multiboot_helper.S: ...moved here
39539 * include/grub/i386/loader.h: Move declarations of multiboot
39540 helpers from here...
39541 * include/grub/i386/multiboot.h: ...moved here
39542 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39543
39544 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39545
39546 * kern/env.c (grub_env_context_open): Added an argument to specify
39547 whether a new context inherits exported variables from current
39548 one. This is useful when making a sandbox to interpret a config
39549 file.
39550 All callers updated.
39551
39552 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39553
39554 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39555
39556 * kern/env.c (grub_env_context_close): Fix memory leaks.
39557
39558 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39559
39560 * normal/main.c (grub_normal_execute): Added an argument
39561 BATCH to specify if an interactive interface should be provided
39562 after reading a config file.
39563 All callers updated.
39564 (read_command_list): Prevent being executed twice.
39565 (read_fs_list): Likewise.
39566
39567 * include/grub/normal.h (grub_normal_execute): Updated the
39568 prototype.
39569
39570 2009-03-22 Pavel Roskin <proski@gno.org>
39571
39572 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39573 _start.
39574 * kern/i386/pc/startup.S: Likewise.
39575 * kern/i386/efi/startup.S: Likewise.
39576 * kern/i386/ieee1275/startup.S: Likewise.
39577 * kern/i386/coreboot/startup.S: Likewise.
39578 * kern/x86_64/efi/startup.S: Likewise.
39579
39580 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39581 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39582 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39583
39584 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39585
39586 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39587
39588 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39589 limit detection.
39590 Use vaddr of correct segment for entry_point.
39591
39592 2009-03-21 Bean <bean123ch@gmail.com>
39593
39594 * commands/blocklist.c: Add include file <grub/command.h>, remove
39595 <grub/normal.h> and <grub/arg.h>.
39596 (grub_cmd_blocklist): Use the new command interface.
39597 (GRUB_MOD_INIT): Likewise.
39598 (GRUB_MOD_FINI): Likewise.
39599 * commands/boot.c: Likewise.
39600 * commands/cat.c: Likewise.
39601 * commands/cmp.c: Likewise.
39602 * commands/configfile.c: Likewise.
39603 * commands/crc.c: Likewise.
39604 * commands/echo.c: Likewise.
39605 * commands/halt.c: Likewise.
39606 * commands/handler.c: Likewise.
39607 * commands/hdparm.c: Likewise.
39608 * commands/help.c: Likewise.
39609 * commands/hexdump.c: Likewise.
39610 * commands/loadenv.c: Likewise.
39611 * commands/ls.c: Likewise.
39612 * commands/lsmmap.c: Likewise.
39613 * commands/lspci.c: Likewise.
39614 * commands/loadenv.c: Likewise.
39615 * commands/read.c: Likewise.
39616 * commands/reboot.c: Likewise.
39617 * commands/search.c: Likewise.
39618 * commands/sleep.c: Likewise.
39619 * commands/test.c: Likewise.
39620 * commands/usbtest.c: Likewise.
39621 * commands/videotest.c: Likewise.
39622 * commands/i386/cpuid.c: Likewise.
39623 * commands/i386/pc/halt.c: Likewise.
39624 * commands/i386/pc/play.c: Likewise.
39625 * commands/i386/pc/pxecmd.c: Likewise.
39626 * commands/i386/pc/vbeinfo.c: Likewise.
39627 * commands/i386/pc/vbetest.c: Likewise.
39628 * commands/ieee1275/suspend.c: Likewise.
39629 * disk/loopback.c: Likewise.
39630 * font/font_cmd.c: Likewise.
39631 * hello/hello.c: Likewise.
39632 * loader/efi/appleloader.c: Likewise.
39633 * loader/efi/chainloader.c: Likewise.
39634 * loader/i386/bsd.c: Likewise.
39635 * loader/i386/efi/linux.c: Likewise.
39636 * loader/i386/ieee1275/linux.c: Likewise.
39637 * loader/i386/linux.c: Likewise.
39638 * loader/i386/pc/chainloader.c: Likewise.
39639 * loader/i386/pc/linux.c: Likewise.
39640 * loader/powerpc/ieee1275/linux.c: Likewise.
39641 * loader/multiboot_loader.c: Likewise.
39642 * term/gfxterm.c: Likewise.
39643 * term/i386/pc/serial.c: Likewise.
39644 * term/terminfo.c: Likewise.
39645
39646 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39647 * term/i386/pc/vga.c: Likewise.
39648 * video/readers/jpeg.c: Likewise.
39649 * video/readers/png.c: Likewise.
39650 * video/readers/tga.c: Likewise.
39651
39652 * util/grub-fstest (cmd_loopback): Removed.
39653 (cmd_blocklist): Likewise.
39654 (cmd_ls): Likewise.
39655 (grub_register_command): Likewise.
39656 (grub_unregister_command): Likewise.
39657 (execute_command): Use grub_command_find to locate command and execute
39658 it.
39659
39660 * include/grub/efi/chainloader.h: Removed.
39661 * loader/efi/chainloader_normal.c: Likewise.
39662 * loader/i386/bsd_normal.c: Likewise.
39663 * loader/i386/pc/chainloader_normal.c: Likewise.
39664 * loader/i386/pc/multiboot_normal.c: Likewise.
39665 * loader/linux_normal.c: Likewise.
39666 * loader/multiboot_loader_normal.c: Likewise.
39667 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39668
39669 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39670 and grub_register_command_p1.
39671
39672 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39673 kern/command.c, lib/arg.c and commands/extcmd.c.
39674 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39675 (minicmd_mod_SOURCES): New variable.
39676 (minicmd_mod_CFLAGS): Likewise.
39677 (minicmd_mod_LDFLAGS): Likewise.
39678 (extcmd_mod_SOURCES): Likewise.
39679 (extcmd_mod_CFLAGS): Likewise.
39680 (extcmd_mod_LDFLAGS): Likewise.
39681 (boot_mod_SOURCES): Removed.
39682 (boot_mod_CFLAGS): Likewise.
39683 (boot_mod_LDFLAGS): Likewise.
39684
39685 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39686 kern/corecmd.c.
39687 (kernel_img_HEADERS): Add command.h.
39688 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39689 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39690 and lib/arg.c.
39691 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39692 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39693 remove the corresponding normal mode command.
39694 (normal_mod_SOURCES): Remove normal/arg.c.
39695 * conf/i386-coreboot.rmk: Likewise.
39696 * conf/i386-efi.rmk: Likewise.
39697 * conf/i386-ieee1275.rmk: Likewise.
39698 * conf/powerpc-ieee1275.rmk: Likewise.
39699 * conf/x86_64-efi.rmk: Likewise.
39700
39701 * include/grub/arg.h: Move from here ...
39702 * include/grub/lib/arg.h: ... to here.
39703
39704 * normal/arg.c: Move from here ...
39705 * lib/arg.c: ... to here.
39706
39707 * commands/extcmd.c: New file.
39708 * commands/minicmd.c: Likewise.
39709 * include/grub/command.h: Likewise.
39710 * include/grub/extcmd.h: Likewise.
39711 * kern/command.c: Likewise.
39712 * kern/corecmd.c: Likewise.
39713
39714 * kern/list.c (grub_list_iterate): Return int instead of void.
39715 (grub_list_insert): New function.
39716 (grub_prio_list_insert): Likewise.
39717
39718 * kern/rescue.c (grub_rescue_command): Removed.
39719 (grub_rescue_command_list): Likewise.
39720 (grub_rescue_register_command): Likewise.
39721 (grub_rescue_unregister_command): Likewise.
39722 (grub_rescue_cmd_boot): Move to minicmd.c
39723 (grub_rescue_cmd_help): Likewise.
39724 (grub_rescue_cmd_info): Likewise.
39725 (grub_rescue_cmd_boot): Likewise.
39726 (grub_rescue_cmd_testload): Likewise.
39727 (grub_rescue_cmd_dump): Likewise.
39728 (grub_rescue_cmd_rmmod): Likewise.
39729 (grub_rescue_cmd_lsmod): Likewise.
39730 (grub_rescue_cmd_exit): Likewise.
39731 (grub_rescue_print_devices): Moved to corecmd.c.
39732 (grub_rescue_print_files): Likewise.
39733 (grub_rescue_cmd_ls): Likewise.
39734 (grub_rescue_cmd_insmod): Likewise.
39735 (grub_rescue_cmd_set): Likewise.
39736 (grub_rescue_cmd_unset): Likewise.
39737 (attempt_normal_mode): Use grub_command_find to get normal module.
39738 (grub_enter_rescue_mode): Use grub_register_core_commands to register
39739 commands, remove grub_rescue_register_command calls.
39740
39741 * normal/command.c (grub_register_command): Removed.
39742 (grub_unregister_command): Likewise.
39743 (grub_command_find): Likewise.
39744 (grub_iterate_commands): Likewise.
39745 (rescue_command): Likewise.
39746 (export_command): Moved to corecmd.c.
39747 (set_command): Removed.
39748 (unset_command): Likewise.
39749 (insmod_command): Likewise.
39750 (rmmod_command): Likewise.
39751 (lsmod_command): Likewise.
39752 (grub_command_init): Likewise.
39753
39754 * normal/completion.c (iterate_command): Use cmd->prio to check for
39755 active command.
39756 (complete_arguments): Use grub_extcmd_t structure to find options.
39757 (grub_normal_do_completion): Change function grub_iterate_commands to
39758 grub_command_iterate.
39759
39760 * normal/execute.c (grub_script_execute_cmd): No need to parse
39761 argument here.
39762
39763 * normal/main.c (grub_dyncmd_dispatcher): New function.
39764 (read_command_list): Register unload commands as dyncmd.
39765 (grub_cmd_normal): Use new command interface, register rescue,
39766 unregister normal at entry, register normal, unregister rescue at exit.
39767
39768 * include/grub/list.h (grub_list_test_t): New type.
39769 (grub_list_iterate): Return int instead of void.
39770 (grub_list_insert): New function.
39771 (GRUB_AS_NAMED_LIST_P): New macro.
39772 (GRUB_AS_PRIO_LIST): Likewise.
39773 (GRUB_AS_PRIO_LIST_P): Likewise.
39774 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39775 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39776 (grub_prio_list): New structure.
39777 (grub_prio_list_insert): New function.
39778 (grub_prio_list_remove): New inline function.
39779
39780 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39781 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39782 (GRUB_COMMAND_FLAG_MENU): Likewise.
39783 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39784 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39785 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39786 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39787 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39788 (grub_command): Likewise.
39789 (grub_register_command): Likewise.
39790 (grub_command_find): Likewise.
39791 (grub_iterate_commands): Likewise.
39792 (grub_command_init): Likewise.
39793 (grub_arg_parse): Likewise.
39794 (grub_arg_show_help): Likewise.
39795
39796 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39797 (grub_rescue_unregister_command): Likewise.
39798
39799 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39800 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39801 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39802
39803 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39804 grub_rescue_cmd_initrd.
39805 * include/grub/i386/loader.h: Likewise.
39806 * include/grub/x86_64/loader.h: Likewise.
39807
39808 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39809
39810 2009-03-21 Bean <bean123ch@gmail.com>
39811
39812 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39813 instead of stat in mingw environment.
39814
39815 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39816
39817 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39818
39819 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39820 AC_CONFIG_LINKS.
39821
39822 2009-03-21 Bean <bean123ch@gmail.com>
39823
39824 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39825 out of range error.
39826
39827 2009-03-18 Michel Dänzer <michel@daenzer.net>
39828
39829 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39830 checking inode flags for EXT4_EXTENTS_FLAG.
39831
39832 2009-03-18 Robert Millan <rmh@aybabtu.com>
39833
39834 * loader/i386/linux.c: Include `<grub/video.h>' and
39835 `<grub/i386/pc/vbe.h>'..
39836 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39837 (grub_linux32_boot): Attempt to configure video settings with
39838 grub_linux_setup_video().
39839 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39840 to avoid grub_console_fini() which would step out of graphical mode
39841 unconditionally.
39842
39843 2009-03-14 Robert Millan <rmh@aybabtu.com>
39844
39845 Fix build on powerpc.
39846 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39847
39848 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39849
39850 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39851 background image command.
39852
39853 2009-03-12 Colin D Bennett <colin@gibibit.com>
39854
39855 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39856 (grub_gfxterm_putchar): Extract pairs of identical calls to
39857 draw_cursor out of conditional blocks.
39858
39859 2009-03-11 Pavel Roskin <proski@gnu.org>
39860
39861 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39862 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39863
39864 2009-03-11 Robert Millan <rmh@aybabtu.com>
39865
39866 * loader/i386/multiboot_elfxx.c
39867 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39868
39869 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
39870
39871 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39872 `kern/handler.c'.
39873
39874 2009-03-11 Robert Millan <rmh@aybabtu.com>
39875
39876 * loader/i386/multiboot.c (code_size): New variable.
39877 (grub_multiboot): Define offsets by adding to `code_size' rather
39878 than subtracting from `grub_multiboot_payload_size'. Provide
39879 4-byte alignment to MBI and others by increasing
39880 `boot_loader_name_length' appropriately.
39881
39882 * loader/i386/multiboot_elfxx.c
39883 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39884
39885 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
39886
39887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39888 `fs/ext2.c'.
39889
39890 2009-03-08 Robert Millan <rmh@aybabtu.com>
39891
39892 Make loader/i386/linux.c usable on i386-pc again.
39893
39894 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39895 memory to heap.
39896 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39897 `#error' stanza.
39898
39899 2009-03-07 Bean <bean123ch@gmail.com>
39900
39901 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39902 allocation.
39903
39904 2009-03-06 Robert Millan <rmh@aybabtu.com>
39905
39906 Fix display issue on terminals with screen size other than 80x25
39907 (e.g. gfxterm with resolution higher than 640x480).
39908
39909 * normal/main.c (grub_normal_init_page): Display title text in a
39910 position relative to the center of the terminal instead of relying
39911 on a hardcoded offset.
39912
39913 2009-03-04 Robert Millan <rmh@aybabtu.com>
39914
39915 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39916 installed.
39917
39918 * Makefile.in (host_kernel): New variable.
39919 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39920 scripts instead of just the windows one.
39921 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39922
39923 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
39924
39925 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39926 `kern/handler.c'.
39927 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39933
39934 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
39935
39936 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39937 or if there's no space for the disk label and print the partition number on a
39938 invalid magic.
39939
39940 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
39941
39942 * util/misc.c: Include <time.h>.
39943 (grub_millisleep): New function.
39944
39945 2009-03-04 Bean <bean123ch@gmail.com>
39946
39947 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39948 another option -mno-red-zone.
39949
39950 * commands/handler.c: Change module description.
39951
39952 * kern/handler.c: Add missing space at the end of description line.
39953
39954 * kern/list.c: Likewise.
39955
39956 2009-03-03 Robert Millan <rmh@aybabtu.com>
39957
39958 Move more components to the relocation area, and fix mbi pointer
39959 handling to use the destination rather than the origin (thanks to
39960 Vladimir Serbinenko for spotting).
39961
39962 * loader/i386/multiboot.c (mbi_dest): New variable.
39963 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39964 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39965 relocation area.
39966
39967 2009-03-01 Bean <bean123ch@gmail.com>
39968
39969 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
39970 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39971 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39972 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39973
39974 * loader/i386/efi/linux.c (acpi_guid): New variable.
39975 (acpi_guid): Likewise.
39976 (EBDA_SEG_ADDR): New constant.
39977 (LOW_MEM_ADDR): Likewise.
39978 (FAKE_EBDA_SEG): Likewise.
39979 (fake_bios_data): New function.
39980 (grub_linux_boot): Call fake_bios_data.
39981
39982 2009-03-01 Bean <bean123ch@gmail.com>
39983
39984 * commands/terminal.c: Removed.
39985
39986 * commands/handler.c: New file.
39987
39988 * include/grub/list.h: Likewise.
39989
39990 * include/grub/handler.h: Likewise.
39991
39992 * kern/list.c: Likewise.
39993
39994 * kern/handler.c: Likewise.
39995
39996 * kern/term.h: Include header file <grub/handler.h>.
39997 (grub_term_input): Move next field to the beginning.
39998 (grub_term_output): Likewise.
39999 (grub_term_input_class): New variable.
40000 (grub_term_output_class): Likewise.
40001 (grub_term_register_input): Changed to inline function.
40002 (grub_term_register_output): Likewise.
40003 (grub_term_unregister_input): Likewise.
40004 (grub_term_unregister_output): Likewise.
40005 (grub_term_set_current_input): Likewise.
40006 (grub_term_set_current_output): Likewise.
40007 (grub_term_get_current_input): Likewise.
40008 (grub_term_get_current_output): Likewise.
40009 (grub_term_iterate_input): Removed.
40010 (grub_term_iterate_output): Likewise.
40011
40012 * kern/term.c (grub_term_list_input): Removed.
40013 (grub_term_list_output): Likewise.
40014 (grub_term_input_class): New variable.
40015 (grub_term_output_class): Likewise.
40016 (grub_cur_term_input): Change variable as macro.
40017 (grub_cur_term_output): Likewise.
40018 (grub_term_register_input): Removed.
40019 (grub_term_register_output): Likewise.
40020 (grub_term_unregister_input): Likewise.
40021 (grub_term_unregister_output): Likewise.
40022 (grub_term_set_current_input): Likewise.
40023 (grub_term_set_current_output): Likewise.
40024 (grub_term_iterate_input): Likewise.
40025 (grub_term_iterate_output): Likewise.
40026 (grub_term_get_current_input): Likewise.
40027 (grub_term_get_current_output): Likewise.
40028
40029 * util/grub-editenv.c: Include header file <grub/handler.h>.
40030 (grub_term_get_current_input): Removed.
40031 (grub_term_get_current_output): Likewise.
40032 (grub_term_input_class): New variable.
40033 (grub_term_output_class): Likewise.
40034
40035 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40036 (grub_term_get_current_output): Likewise.
40037 (grub_term_input_class): New variable.
40038 (grub_term_output_class): Likewise.
40039
40040 * util/grub-probe.c (grub_term_get_current_input): Removed.
40041 (grub_term_get_current_output): Likewise.
40042 (grub_term_input_class): New variable.
40043 (grub_term_output_class): Likewise.
40044
40045 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40046 (grub_term_get_current_output): Likewise.
40047 (grub_term_input_class): New variable.
40048 (grub_term_output_class): Likewise.
40049
40050 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40051 (terminal_mod_SOURCES): Likewise.
40052 (terminal_mod_CFLAGS): Likewise.
40053 (terminal_mod_LDFLAGS): Likewise.
40054
40055 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40056 handler.c.
40057 (kernel_img_SOURCES): Add list.c and handler.c.
40058 (kernel_img_HEADERS): Add list.h and handler.h.
40059
40060 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40061 handler.c.
40062 (kernel_mod_SOURCES): Add list.c and handler.c.
40063 (kernel_mod_HEADERS): Add list.h and handler.h.
40064
40065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40066 handler.c.
40067 (kernel_elf_SOURCES): Add list.c and handler.c.
40068 (kernel_elf_HEADERS): Add list.h and handler.h.
40069
40070 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40071 handler.c.
40072 (kernel_elf_SOURCES): Add list.c and handler.c.
40073 (kernel_elf_HEADERS): Add list.h and handler.h.
40074
40075 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40076 handler.c.
40077 (kernel_mod_SOURCES): Add list.c and handler.c.
40078 (kernel_mod_HEADERS): Add list.h and handler.h.
40079
40080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40081 handler.c.
40082 (kernel_elf_SOURCES): Add list.c and handler.c.
40083 (kernel_elf_HEADERS): Add list.h and handler.h.
40084
40085 2009-02-27 Robert Millan <rmh@aybabtu.com>
40086
40087 Factorize elf32 / elf64 code in Multiboot loader. This will
40088 prevent it from getting out of sync again.
40089
40090 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40091 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40092 grub_multiboot_load_elf64): Move from here ...
40093 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40094 grub_multiboot_load_elf): ... to here (new file).
40095
40096 2009-02-27 Robert Millan <rmh@aybabtu.com>
40097
40098 * util/grub.d/10_linux.in: Rename "single-user mode" to
40099 "recovery mode".
40100
40101 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40102
40103 Don't leak in SCSI code.
40104 * disk/scsi.c (grub_scsi_close): free `scsi'.
40105
40106 2009-02-27 Robert Millan <rmh@aybabtu.com>
40107
40108 * loader/i386/pc/multiboot.c: Move from here ...
40109 * loader/i386/multiboot.c: ... to here. Update all users.
40110
40111 2009-02-27 Robert Millan <rmh@aybabtu.com>
40112
40113 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40114 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40115
40116 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40117
40118 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40119 b-tree.
40120
40121 2009-02-27 Robert Millan <rmh@aybabtu.com>
40122
40123 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40124 `0x' qualifier as 0 when base is specified as parameter).
40125
40126 2009-02-24 Bean <bean123ch@gmail.com>
40127
40128 * configure.ac: Check for -mcmodel=large in x86_64 target.
40129
40130 * include/grub/efi/api.h (efi_call_10): New macro.
40131 (efi_wrap_10): New function.
40132
40133 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40134 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40135 (GRUB_PE32_REL_BASED_LOW): Likewise.
40136 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40137 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40138 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40139 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40140 (GRUB_PE32_REL_BASED_REL): Likewise.
40141 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40142 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40143 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40144
40145 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40146 issue.
40147
40148 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40149 (efi_wrap_10): New function.
40150
40151 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40152
40153 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40154 MB/MBP model (NV chipset).
40155 (devdata_devs): Add devpath_5 to the list.
40156
40157 * load/i386/efi/linux.c (video_base): Remove variable.
40158 (RGB_MASK): New macro.
40159 (RGB_MAGIC): Likewise.
40160 (LINE_MIN): Likewise.
40161 (LINE_MAX): Likewise.
40162 (FBTEST_STEP): Likewise.
40163 (FBTEST_COUNT): Likewise.
40164 (fb_list): New variable.
40165 (grub_find_video_card): Remove function.
40166 (find_framebuf): New function.
40167 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40168 line length.
40169
40170 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40171 problem for x86_64.
40172
40173 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40174
40175 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40176
40177 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40178 coding tool name.
40179
40180 2009-02-22 Robert Millan <rmh@aybabtu.com>
40181
40182 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40183 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40184 in our relocation, instead of using it directly from heap. Also
40185 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40186
40187 2009-02-21 Robert Millan <rmh@aybabtu.com>
40188
40189 Implement USB keyboard support (based on patch by Marco Gerards)
40190
40191 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40192 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40193 (usb_keyboard_mod_LDFLAGS): New variables.
40194
40195 * term/usb_keyboard.c: New file.
40196
40197 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40198
40199 Corrected wrong declaration
40200
40201 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40202
40203 2009-02-14 Christian Franke <franke@computer.org>
40204
40205 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40206 (grub_lspci_iter): Print class code and programming interface byte.
40207
40208 2009-02-14 Christian Franke <franke@computer.org>
40209
40210 * gendistlist.sh: Ignore `.svn' directories.
40211
40212 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
40213
40214 * fs/fat.c: Add 2009 to Copyright line.
40215
40216 2009-02-14 Christian Franke <franke@computer.org>
40217
40218 * commands/hdparm.c: New file. Provides `hdparm' command
40219 which sends ATA commands via grub_disk_ata_pass_through ().
40220
40221 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40222
40223 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40224 and <grub/cpu/io.h> to include/grub/ata.h.
40225 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40226 (GRUB_CDROM_SECTOR_SIZE): Remove.
40227 (GRUB_ATA_*): Move to include/grub/ata.h.
40228 (GRUB_ATAPI_*): Likewise.
40229 (enum grub_ata_commands): Likewise.
40230 (enum grub_ata_timeout_milliseconds): Likewise.
40231 (struct grub_ata_device): Likewise.
40232 (grub_ata_regset): Likewise.
40233 (grub_ata_regget): Likewise.
40234 (grub_ata_regset2): Likewise.
40235 (grub_ata_regget2): Likewise.
40236 (grub_ata_check_ready): Likewise.
40237 (grub_ata_wait_not_busy): Remove static, exported in
40238 include/grub/ata.h.
40239 (grub_ata_wait_drq): Likewise.
40240 (grub_ata_pio_read): Likewise.
40241
40242 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40243 function for hdparm.mod.
40244
40245 * include/grub/ata.h: New file, contains declarations from
40246 disk/ata.c.
40247 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40248
40249 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40250 (grub_disk_ata_pass_through): New exported variable.
40251
40252 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40253
40254 2009-02-13 Colin D Bennett <colin@gibibit.com>
40255
40256 Support multiple fallback entries, and provide an API to support
40257 executing default+fallback menu entries. Renamed the `terminal' menu
40258 viewer to `text'.
40259
40260 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40261 variable declaration.
40262 (grub_menu_execute_callback): New structure declaration.
40263 (grub_menu_execute_callback_t): New typedef.
40264 (grub_menu_execute_with_fallback): New function declaration.
40265 (grub_menu_get_entry): Likewise.
40266 (grub_menu_get_timeout): Likewise.
40267 (grub_menu_set_timeout): Likewise.
40268
40269 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40270
40271 * normal/menu.c (grub_wait_after_message): Moved to
40272 `normal/menu_text.c'.
40273 (draw_border): Likewise.
40274 (print_message): Likewise.
40275 (print_entry): Likewise.
40276 (print_entries): Likewise.
40277 (grub_menu_init_page): Likewise.
40278 (get_entry_number): Likewise.
40279 (print_timeout): Likewise.
40280 (run_menu): Likewise.
40281 (grub_menu_execute_entry): Likewise.
40282 (show_text_menu): Likewise.
40283 (get_and_remove_first_entry_number): New function.
40284 (grub_menu_execute_with_fallback): Likewise.
40285 (get_entry): Renamed to ...
40286 (grub_menu_get_entry): .. this and made it global.
40287 (get_timeout): Renamed to ...
40288 (grub_menu_get_timeout): ... this and made it global.
40289 (set_timeout): Renamed to ...
40290 (grub_menu_set_timeout): ... this and made it global.
40291 (grub_normal_terminal_menu_viewer): Renamed to ...
40292 (grub_normal_text_menu_viewer): ... this.
40293
40294 * normal/menu_text.c: New file. Extracted text-menu-specific code
40295 from normal/menu.c.
40296
40297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40298 (normal_mod_SOURCES): Likewise.
40299
40300 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40301 (normal_mod_SOURCES): Likewise.
40302
40303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40304 (normal_mod_SOURCES): Likewise.
40305
40306 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40307 (normal_mod_SOURCES): Likewise.
40308
40309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40310 (normal_mod_SOURCES): Likewise.
40311
40312 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40313 (normal_mod_SOURCES): Likewise.
40314
40315 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40316 (normal_mod_SOURCES): Likewise.
40317
40318 2009-02-11 Robert Millan <rmh@aybabtu.com>
40319
40320 * util/grub.d/00_header.in: Update old reference to `font' command.
40321
40322 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
40323
40324 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40325
40326 Based on patch from Javier Martín.
40327
40328 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40329
40330 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
40331 to avoid false positives with FAT.
40332 (grub_fstest_SOURCES): Likewise.
40333 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40334 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40339
40340 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40341
40342 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
40343 bpb.version_specific.fat12_or_fat16.fstype and
40344 bpb.version_specific.fat32.fstype.
40345
40346 2009-02-08 Robert Millan <rmh@aybabtu.com>
40347
40348 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
40349
40350 2009-02-08 Robert Millan <rmh@aybabtu.com>
40351
40352 * Makefile.in (host_os, host_cpu): New variables.
40353 (target_os): Remove. Update all users.
40354
40355 2009-02-08 Marco Gerards <marco@gnu.org>
40356
40357 * Makefile.in (enable_grub_emu_usb): New variable.
40358 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40359 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40360 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40361 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40362 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40363 `usbtest.mod' and `usbms.mod'.
40364 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40365 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40366 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40367 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40368 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40369 variables.
40370
40371 * disk/usbms.c: New file.
40372
40373 * include/grub/usb.h: Likewise.
40374
40375 * include/grub/usbtrans.h: Likewise.
40376
40377 * include/grub/usbdesc.h: Likewise.
40378
40379 * bus/usb/usbtrans.c: Likewise.
40380
40381 * bus/usb/ohci.c: Likewise.
40382
40383 * bus/usb/uhci.c: Likewise.
40384
40385 * bus/usb/usbhub.c: Likewise.
40386
40387 * bus/usb/usb.c: Likewise.
40388
40389 * commands/usbtest.c: Likewise.
40390
40391 * util/usb.c: Likewise.
40392
40393 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40394
40395 * configure.ac: Test for libusb presence.
40396
40397 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40398
40399 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40400
40401 * kern/mm.c: Add more comments.
40402
40403 2009-02-08 Robert Millan <rmh@aybabtu.com>
40404
40405 Patch from Javier Martín.
40406 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40407 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40408
40409 2009-02-08 Robert Millan <rmh@aybabtu.com>
40410
40411 * fs/cpio.c: Split tar functionality to ...
40412 * fs/tar.c: ... here (new file). Update all users.
40413
40414 2009-02-07 Robert Millan <rmh@aybabtu.com>
40415
40416 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40417 backward-incompatible features.
40418
40419 Based on patch from Javier Martín, with some adjustments.
40420
40421 2009-02-07 Michael Scherer <misc@mandriva.org>
40422
40423 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40424
40425 2009-02-07 Robert Millan <rmh@aybabtu.com>
40426
40427 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40428 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40429 after the RAID stuff.
40430
40431 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40432
40433 Fixes problem when running vbetest command as reported by
40434 Vladimir Serbinenko <phcoder@gmail.com>.
40435
40436 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40437
40438 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
40439
40440 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40441 /dev/md/NpN style mdraid devices.
40442
40443 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
40444
40445 * util/unifont2pff.rb: Remove.
40446
40447 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
40448
40449 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40450 `#'.
40451
40452 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
40453
40454 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40455 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40456 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40457 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40459 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40460 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40461
40462 2009-02-02 Christian Franke <franke@computer.org>
40463
40464 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40465
40466 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
40467
40468 * INSTALL: Note that we now require at least autoconf 2.59 and
40469 that LZO is optional.
40470
40471 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40472
40473 Base on patch on bug #24154 created by Tomas Tintera
40474 <trosos@seznam.cz>.
40475
40476 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40477
40478 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40479
40480 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
40481 <bero@arklinux.org>.
40482
40483 * normal/parser.y (script_init): Add missing semicolon.
40484
40485 2009-01-31 Colin D Bennett <colin@gibibit.com>
40486
40487 * normal/main.c: Add include to grub/menu_viewer.h.
40488 (free_menu_entry_classes): Added.
40489 (grub_normal_menu_addentry): Added class property handling.
40490 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40491 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40492
40493 * normal/menu_viewer.c: New file.
40494
40495 * normal/menu.c (run_menu_entry): Renamed to ...
40496 (grub_menu_execute_entry): ... this and made it as global.
40497 (grub_menu_run): Renamed to ...
40498 (show_text_menu): ... this and made it local.
40499 (show_text_menu): Adapt to new function names.
40500 (grub_normal_terminal_menu_viewer): New global variable.
40501
40502 * include/grub/menu.h: New file.
40503
40504 * include/grub/menu_viewer.h: New file.
40505
40506 * include/grub/normal.h: Added include to grub/menu.h.
40507 (grub_menu_entry): Moved to include/grub/menu.h.
40508 (grub_menu_entry_t): Likewise.
40509 (grub_menu): Likewise.
40510 (grub_menu_t): Likewise.
40511 (grub_normal_terminal_menu_viewer): Added.
40512 (grub_menu_execute_entry): Likewise.
40513 (grub_menu_run): Removed.
40514
40515 * DISTLIST: Added include/grub/menu.h.
40516 Added include/grub/menu_viewer.h.
40517 Added normal/menu_viewer.c.
40518
40519 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40520
40521 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40522 arglist for menutitle arguments.
40523
40524 * normal/main.c (grub_normal_menu_addentry): Likewise.
40525
40526 * normal/parser.y (menuentry): Likewise.
40527
40528 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40529
40530 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40531 (grub_script_create_cmdmenu): Likewise.
40532
40533 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40534
40535 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40536 changes.
40537
40538 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40539
40540 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40541
40542 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40543
40544 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40545
40546 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40547
40548 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40549
40550 2009-01-30 Christian Franke <franke@computer.org>
40551
40552 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40553 in option help text.
40554
40555 2009-01-27 Pavel Roskin <proski@gnu.org>
40556
40557 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40558
40559 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40560
40561 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40562
40563 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40564
40565 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40566 unregister function.
40567
40568 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40569
40570 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40571
40572 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40573
40574 * util/grub-mkfont.c (usage): Fix typo.
40575
40576 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40577
40578 2009-01-26 Daniel Mierswa <impulze@impulze.org>
40579
40580 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40581
40582 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40583
40584 * kern/misc.c (grub_strcasecmp): New function.
40585 (grub_strcasecmp): Use grub_size_t instead of int for length.
40586 Fix return value.
40587 * include/grub/misc.h: Update function prototypes.
40588
40589 2009-01-26 Robert Millan <rmh@aybabtu.com>
40590
40591 * configure.ac: Fix cross-compilation check.
40592
40593 2009-01-22 Christian Franke <franke@computer.org>
40594
40595 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40596 (precision) digit string. Allow `.format2' without `format1' (width).
40597 Limit input chars for `%s' output to `format2' if specified. This is
40598 compatible with standard printf ().
40599
40600 2009-01-22 Christian Franke <franke@computer.org>
40601
40602 * disk/ata.c (grub_ata_wait_status): Replace by ...
40603 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40604 other status bits may be invalid while BSY is asserted.
40605 (grub_ata_check_ready): New function.
40606 (grub_ata_cmd): Removed.
40607 (grub_ata_wait_drq): New function.
40608 (grub_ata_strncpy): Remove inline.
40609 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40610 and error check now done by grub_ata_wait_drq ().
40611 (grub_ata_pio_write): Likewise.
40612 (grub_atapi_identify): Set DEV before check for !BSY. Use
40613 grub_ata_wait_drq () to wait for data.
40614 (grub_ata_device_initialize): Add status register check to
40615 detect missing SATA slave devices. Add debug messages.
40616 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40617 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40618 transfer loop by grub_ata_pio_write ().
40619 (grub_ata_identify): Set DEV before check for !BSY. Use
40620 grub_ata_wait_drq () to wait for data.
40621 (grub_ata_setaddress): Set DEV before check for !BSY.
40622 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40623 read/write in one loop. Fix invalid command on write. Fix incomplete
40624 command on (size % batch) == 0. Add missing error check after write of
40625 last block. Add debug messages.
40626 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40627
40628 2009-01-19 Christian Franke <franke@computer.org>
40629
40630 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40631 (GRUB_ATAPI_IREASON_*): Likewise.
40632 (grub_ata_pio_write): Fix timeout error return.
40633 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40634 (grub_atapi_wait_drq): New function.
40635 (grub_atapi_packet): New parameter `size'.
40636 Use grub_atapi_wait_drq () and direct write instead of
40637 grub_ata_pio_write ().
40638 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40639 reads the number of bytes requested by the device for each DRQ
40640 assertion.
40641 (grub_atapi_write): Remove old implementation, return not
40642 implemented instead.
40643
40644 2009-01-19 Christian Franke <franke@computer.org>
40645
40646 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40647 of 512 to calculate data size.
40648 (grub_scsi_read12): Likewise.
40649 (grub_scsi_write10): Likewise.
40650 (grub_scsi_write12): Likewise.
40651 (grub_scsi_read): Adjust size according to blocksize.
40652 Add checks for invalid blocksize and unaligned transfer.
40653
40654 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40655
40656 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40657
40658 * term/gfxterm.c (write_char): Fix background rendering for wide
40659 width glyphs.
40660
40661 2009-01-19 Robert Millan <rmh@aybabtu.com>
40662
40663 * config.guess: Update to latest version from config git.
40664 * config.sub: Likewise.
40665
40666 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
40667
40668 * Makefile.in: Change font compilation to use new grub-mkfont instead
40669 of java version.
40670
40671 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40672 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40673 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40674 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40675 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40676 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40677 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40678 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40679 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40680
40681 2009-01-16 Christian Franke <franke@computer.org>
40682
40683 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40684 (enum grub_ata_timeout_milliseconds): New enum.
40685 (grub_ata_wait_status): Add parameter milliseconds.
40686 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40687 recovery from timed-out commands.
40688 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40689 return grub_errno instead of REG_ERROR.
40690 (grub_ata_pio_write): Add parameter milliseconds.
40691 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40692 Pass milliseconds to grub_ata_wait_status () and
40693 grub_ata_pio_read ().
40694 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40695 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40696 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40697 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40698 It is not suitable for device detection, because DEV bit is ignored,
40699 the command may run too long, and not all devices set the signature
40700 properly.
40701 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40702 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40703 Fix device selection, DEV bit must be set first to address the registers
40704 of the correct device.
40705 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40706 grub_ata_pio_read/write ().
40707 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40708 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40709
40710 2009-01-13 Carles Pina i Estany <carles@pina.cat>
40711
40712 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40713
40714 2009-01-13 Bean <bean123ch@gmail.com>
40715
40716 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40717
40718 2009-01-13 Bean <bean123ch@gmail.com>
40719
40720 * Makefile.in: (enable_grub_mkfont): New variable.
40721 (freetype_cflags): Likewise.
40722 (freetype_libs): Likewise.
40723
40724 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40725 (grub_mkfont_SOURCES): New variable.
40726 (grub_mkfont_CFLAGS): Likewise.
40727 (grub_mkfont_LDFLAGS): Likewise.
40728
40729 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40730 library if `--enable-grub-mkfont' is requested.
40731 (enable_grub_mkfont): New variable.
40732 (freetype_cflags): Likewise.
40733 (freetype_libs): Likewise.
40734
40735 * util/grub-mkfont.c: New file.
40736
40737 2009-01-12 Christian Franke <franke@computer.org>
40738
40739 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40740 mode check. Fix setting of compat_use[].
40741
40742 2009-01-10 Robert Millan <rmh@aybabtu.com>
40743
40744 Update a few copyright years which we forgot to do in 2008 (only for
40745 files whose changes made in 2008 were copyright-significant)
40746
40747 * Makefile.in: Add 2008 to Copyright line.
40748 * disk/ieee1275/ofdisk.c: Likewise.
40749 * disk/efi/efidisk.c: Likewise.
40750 * kern/dl.c: Likewise.
40751 * kern/sparc64/ieee1275/init.c: Likewise.
40752 * kern/mm.c: Likewise.
40753 * kern/efi/mm.c: Likewise.
40754 * boot/i386/pc/boot.S: Likewise.
40755 * genfslist.sh: Likewise.
40756 * fs/iso9660.c: Likewise.
40757 * fs/hfs.c: Likewise.
40758 * fs/jfs.c: Likewise.
40759 * fs/minix.c: Likewise.
40760 * fs/ufs.c: Likewise.
40761 * gensymlist.sh.in: Likewise.
40762 * genkernsyms.sh.in: Likewise.
40763 * include/grub/misc.h: Likewise.
40764 * include/grub/types.h: Likewise.
40765 * include/grub/symbol.h: Likewise.
40766 * include/grub/elf.h: Likewise.
40767 * include/grub/kernel.h: Likewise.
40768 * include/grub/disk.h: Likewise.
40769 * include/grub/dl.h: Likewise.
40770 * include/grub/i386/linux.h: Likewise.
40771 * include/grub/i386/pc/biosdisk.h: Likewise.
40772 * include/grub/efi/api.h: Likewise.
40773 * include/grub/efi/pe32.h: Likewise.
40774 * include/grub/util/misc.h: Likewise.
40775 * normal/execute.c: Likewise.
40776 * normal/arg.c: Likewise.
40777 * normal/completion.c: Likewise.
40778 * normal/lexer.c: Likewise.
40779 * normal/parser.y: Likewise.
40780 * normal/misc.c: Likewise.
40781 * commands/i386/pc/vbeinfo.c: Likewise.
40782 * commands/hexdump.c: Likewise.
40783 * commands/terminal.c: Likewise.
40784 * commands/ls.c: Likewise.
40785 * commands/help.c: Likewise.
40786 * partmap/pc.c: Likewise.
40787 * loader/efi/chainloader.c: Likewise.
40788 * loader/multiboot_loader.c: Likewise.
40789 * loader/i386/pc/multiboot2.c: Likewise.
40790 * term/efi/console.c: Likewise.
40791 * term/i386/pc/serial.c: Likewise.
40792 * util/lvm.c: Likewise.
40793 * util/console.c: Likewise.
40794 * util/i386/efi/grub-mkimage.c: Likewise.
40795 * util/raid.c: Likewise.
40796
40797 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40798
40799 * commands/videotest.c: Removed include to grub/machine/memory.h.
40800
40801 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40802 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40803 (video_mod_SOURCES): Removed.
40804 (video_mod_CFLAGS): Likewise.
40805 (video_mod_LDFLAGS): Likewise.
40806 (gfxterm_mod_SOURCES): Likewise.
40807 (gfxterm_mod_CFLAGS): Likewise.
40808 (gfxterm_mod_LDFLAGS): Likewise.
40809 (videotest_mod_SOURCES): Likewise.
40810 (videotest_mod_CFLAGS): Likewise.
40811 (videotest_mod_LDFLAGS): Likewise.
40812 (bitmap_mod_SOURCES): Likewise.
40813 (bitmap_mod_CFLAGS): Likewise.
40814 (bitmap_mod_LDFLAGS): Likewise.
40815 (tga_mod_SOURCES): Likewise.
40816 (tga_mod_CFLAGS): Likewise.
40817 (tga_mod_LDFLAGS): Likewise.
40818 (jpeg_mod_SOURCES): Likewise.
40819 (jpeg_mod_CFLAGS): Likewise.
40820 (jpeg_mod_LDFLAGS): Likewise.
40821 (png_mod_SOURCES): Likewise.
40822 (png_mod_CFLAGS): Likewise.
40823 (png_mod_LDFLAGS): Likewise.
40824
40825 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40826 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40827 (video_mod_SOURCES): Added.
40828 (video_mod_CFLAGS): Likewise.
40829 (video_mod_LDFLAGS): Likewise.
40830 (videotest_mod_SOURCES): Likewise.
40831 (videotest_mod_CFLAGS): Likewise.
40832 (videotest_mod_LDFLAGS): Likewise.
40833 (bitmap_mod_SOURCES): Likewise.
40834 (bitmap_mod_CFLAGS): Likewise.
40835 (bitmap_mod_LDFLAGS): Likewise.
40836 (tga_mod_SOURCES): Likewise.
40837 (tga_mod_CFLAGS): Likewise.
40838 (tga_mod_LDFLAGS): Likewise.
40839 (jpeg_mod_SOURCES): Likewise.
40840 (jpeg_mod_CFLAGS): Likewise.
40841 (jpeg_mod_LDFLAGS): Likewise.
40842 (png_mod_SOURCES): Likewise.
40843 (png_mod_CFLAGS): Likewise.
40844 (png_mod_LDFLAGS): Likewise.
40845 (gfxterm_mod_SOURCES): Likewise.
40846 (gfxterm_mod_CFLAGS): Likewise.
40847 (gfxterm_mod_LDFLAGS): Likewise.
40848
40849 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40850 grub/machine/console.h.
40851
40852 2009-01-04 Jerone Young <jerone@gmail.com>
40853
40854 Make on screen instructions clearer
40855
40856 Based on patch created by Jidanni <jidanni@jidanni.org>
40857
40858 * normal/menu.c: print clearer instructions on the screen
40859
40860 2009-01-02 Colin D Bennett <colin@gibibit.com>
40861
40862 New font engine.
40863
40864 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40865 build system and fixed gfxterm.c to work with different sized fonts.
40866
40867 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
40868
40869 * configure: Re-generated.
40870
40871 * DISTLIST: Removed font/manager.c.
40872 Added font/font.c.
40873 Added font/font_cmd.c.
40874
40875 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40876 compilation.
40877
40878 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
40879
40880 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
40881
40882 * kern/term.c: Changed users of grub_utf8_to_ucs4.
40883
40884 * normal/menu.c: Likewise.
40885
40886 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40887 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
40888
40889 * include/grub/font.h: Replaced with new file.
40890
40891 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40892 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40893 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40894 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40895 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
40896 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
40897 fg_red, fg_green, fg_blue, fg_alpha.
40898 (grub_video_adapter): Removed blit_glyph.
40899 (grub_video_blit_glyph): Removed.
40900
40901 * font/manager.c: Removed file.
40902
40903 * font/font.c: New file.
40904
40905 * font/font_cmd.c: Likewise.
40906
40907 * video/video.c (grub_video_blit_glyph): Removed.
40908
40909 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40910 (grub_video_vbe_map_rgba): Likewise.
40911 (grub_video_vbe_unmap_color_int): Likewise.
40912 (grub_video_vbe_blit_glyph): Removed.
40913 (grub_video_vbe_adapter): Removed blit_glyph.
40914
40915 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40916 (get_pixel): Likewise.
40917 (set_pixel): Likewise.
40918
40919 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
40920
40921 * term/gfxterm.c: Adapted to new font engine.
40922
40923 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
40924
40925 * term/i386/pc/vga.c: Likewise.
40926
40927 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
40928
40929 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40930
40931 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40932
40933 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40934
40935 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40936
40937 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40938
40939 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40940
40941 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40942
40943 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40944
40945 * util/grub.d/00_header.in: Changed to use new loadfont command.
40946
40947 * util/grub-mkconfig_lib.in: Changed font extension.
40948
40949 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
40950
40951 * util/getroot.c (grub_util_get_grub_dev): Add support for
40952 /dev/md/dNNpNN style partitionable mdraid devices.
40953
40954 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
40955
40956 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40957 at a time limit of the PXE TFTP API correctly.
40958 (grub_pxefs_close): Likewise.
40959
40960 2008-11-29 Robert Millan <rmh@aybabtu.com>
40961
40962 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
40963 grub_ata_device_initialize() calls.
40964
40965 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
40966
40967 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40968 iteration failed.
40969 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40970
40971 2008-11-28 Robert Millan <rmh@aybabtu.com>
40972
40973 Fix build on powerpc-ieee1275. Based on patch created by
40974 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40975 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40976 `kern/ieee1275/mmap.c'.
40977 * include/grub/powerpc/ieee1275/memory.h: New file.
40978
40979 Provide grub-install on coreboot.
40980 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40981 (grub_install_SOURCES): New variable.
40982 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40983 usable on coreboot.
40984
40985 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
40986
40987 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40988 to `grub_term_input_t'.
40989 (grub_term_get_current_output): Change return type to
40990 `grub_term_output_t'.
40991
40992 2008-11-22 Robert Millan <rmh@aybabtu.com>
40993
40994 Fix breakage on coreboot due to declaration mismatch.
40995 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40996 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40997 grub_vga_text_cls().
40998
40999 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41000 comments. Avoid copying one more byte than necessary (just in case).
41001
41002 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41003 to 0x200000 (avoids trouble with some OFW implementations, and matches
41004 with the one in Yaboot).
41005 Reported by Manoel Abranches
41006
41007 2008-11-20 Robert Millan <rmh@aybabtu.com>
41008
41009 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41010 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41011
41012 * util/grub-mkconfig_lib.in (grub_warn): New function.
41013 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41014 warnings, to obtain consistent formatting.
41015 * util/grub.d/00_header.in: Likewise.
41016 * util/update-grub_lib.in: Likewise.
41017
41018 * loader/i386/linux.c (allocate_pages): Fix a warning.
41019 Move comment text to `#error' stanza.
41020
41021 Harmonize ieee1275's grub_available_iterate() with the generic
41022 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41023 build problem on i386-ieee1275):
41024 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41025 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41026 parameter `type'. Update all users of this function.
41027 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41028 `kern/ieee1275/mmap.c'.
41029 * kern/ieee1275/init.c
41030 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41031 with ...
41032 (grub_machine_mmap_iterate): ... this.
41033 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41034 return type to `grub_err_t'. Update all implementations of this
41035 function prototype.
41036 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41037 Likewise.
41038
41039 Add `lsmmap' command (lists firmware-provided memory map):
41040 * commands/lsmmap.c: New file.
41041 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41042 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41043 variables.
41044 * conf/powerpc-ieee1275.rmk: Likewise.
41045 * conf/i386-coreboot.rmk: Likewise.
41046 * conf/i386-ieee1275.rmk: Likewise.
41047
41048 2008-11-19 Robert Millan <rmh@aybabtu.com>
41049
41050 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41051 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41052 constraints to initrd allocation (based on code from
41053 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41054 for Linux to find it.
41055
41056 2008-11-14 Robert Millan <rmh@aybabtu.com>
41057
41058 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41059 order to cope with duplicate slashes.
41060
41061 2008-11-14 Robert Millan <rmh@aybabtu.com>
41062
41063 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41064 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41065 don't want to mess with lower memory, because it is used in the Linux
41066 loader.
41067
41068 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41069 an appropriate place in lower memory, between 0x10000 and 0x90000,
41070 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41071 is in our heap (probably as a result of it being corrupted during
41072 decompression). Add #error instance with comment to explain why this
41073 loader isn't currently usable on PC/BIOS.
41074
41075 2008-11-14 Robert Millan <rmh@aybabtu.com>
41076
41077 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41078 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41079
41080 2008-11-12 Robert Millan <rmh@aybabtu.com>
41081
41082 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41083
41084 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41085 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41086 from here ...
41087 * include/grub/i386/pc/memory.h: ... to here.
41088
41089 2008-11-12 Robert Millan <rmh@aybabtu.com>
41090
41091 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41092 split).
41093
41094 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41095 (grub_console_cur_color, grub_console_real_putchar)
41096 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41097 (grub_console_setcolorstate, grub_console_setcolor)
41098 (grub_console_getcolor): Move from here ...
41099 * include/grub/i386/vga_common.h: ... to here (new file).
41100
41101 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41102 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41103 `<grub/i386/io.h>'.
41104 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41105 `<grub/i386/vga_common.h>'.
41106
41107 2008-11-12 Robert Millan <rmh@aybabtu.com>
41108
41109 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41110 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41111 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41112 variables.
41113 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41114 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41115
41116 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41117 grub_console_init() with call to grub_vga_text_init().
41118 (grub_machine_fini): Replace call to
41119 grub_console_fini() with call to grub_vga_text_fini() and
41120 grub_at_keyboard_fini().
41121
41122 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41123 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41124 (grub_console_setcolorstate, grub_console_setcolor)
41125 (grub_console_getcolor): New function prototypes.
41126
41127 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41128 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41129 (grub_vga_text_setcursor): Static-ize.
41130 (grub_vga_text_term): New structure.
41131 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41132
41133 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41134 (grub_console_cur_color, grub_console_standard_color)
41135 (grub_console_normal_color, grub_console_highlight_color)
41136 (map_char, grub_console_putchar, grub_console_getcharwidth)
41137 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41138 (grub_console_getcolor): Move from here ...
41139 * term/i386/vga_common.c: ... to here (same function names).
41140
41141 2008-11-12 Robert Millan <rmh@aybabtu.com>
41142
41143 Use newly-added Multiboot support in coreboot.
41144
41145 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41146 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41147
41148 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41149 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41150 (codestart): Store the MBI in `startup_multiboot_info' when we're
41151 being loaded using Multiboot.
41152
41153 * kern/i386/coreboot/init.c (grub_machine_init): Move
41154 grub_at_keyboard_init() call to beginning of function (useful for
41155 debugging). Call grub_machine_mmap_init() before attempting to use
41156 grub_machine_mmap_iterate().
41157 (grub_lower_mem, grub_upper_mem): Move from here ...
41158 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41159 here (new file).
41160
41161 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41162 function prototype.
41163
41164 2008-11-12 Robert Millan <rmh@aybabtu.com>
41165
41166 Fix a regression introduced by the at_keyboard.mod split. Because
41167 some terminals are default on some platforms and non-default on
41168 others, the first terminal being registered determines which is
41169 going to be default.
41170
41171 * kern/term.c (grub_term_register_input): If this is the first
41172 terminal being registered, set it as the current one.
41173 (grub_term_register_output): Likewise.
41174
41175 * term/efi/console.c (grub_console_init): Do not call
41176 grub_term_set_current_output() or grub_term_set_current_input().
41177 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41178 * term/i386/pc/console.c (grub_console_init): Likewise.
41179 (grub_console_fini): Do not call grub_term_set_current_input()
41180 (but leave grub_term_set_current_output() to restore text mode).
41181
41182 2008-11-10 Robert Millan <rmh@aybabtu.com>
41183
41184 * util/grub.d/00_header.in: Add backward compatibility check for
41185 versions of terminal.mod that don't understand `terminal_input' or
41186 `terminal_output'.
41187
41188 2008-11-09 Robert Millan <rmh@aybabtu.com>
41189
41190 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41191 `terminal_input' / `terminal_output', not `terminal'.
41192
41193 2008-11-08 Robert Millan <rmh@aybabtu.com>
41194
41195 * Makefile.in (include_DATA): Fix srcdir=. assumption.
41196 (DISTCLEANFILES): Add `build_env.mk'.
41197
41198 2008-11-08 Robert Millan <rmh@aybabtu.com>
41199
41200 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
41201 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41202 members. Update all users.
41203 * util/console.c (grub_ncurses_term): Split in ...
41204 (grub_ncurses_term_input): ... this, and ...
41205 (grub_ncurses_term_output): ... this. Update all users.
41206 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
41207
41208 2008-11-08 Robert Millan <rmh@aybabtu.com>
41209
41210 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41211 (PKGDATA): Add $(pkgdata_SRCDIR).
41212 (pkglib_BUILDDIR): New variable.
41213 (pkgdata_SRCDIR): New variable.
41214 (build_env.mk): New target.
41215 (include_DATA): New variable.
41216 (install-local): Install $(include_DATA) files in $(includedir).
41217
41218 2008-11-07 Pavel Roskin <proski@gnu.org>
41219
41220 * gendistlist.sh: Use C locale for sorting to ensure consistent
41221 output on all systems.
41222
41223 * util/grub.d/00_header.in: Remove incorrect space before
41224 "serial".
41225
41226 2008-11-07 Robert Millan <rmh@aybabtu.com>
41227
41228 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41229 per specification.
41230 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41231 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41232 (based on find_multi_boot1_header).
41233 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41234 using find_multi_boot2_header(), and abort if neither Multiboot or
41235 Multiboot headers were found.
41236
41237 2008-11-07 Robert Millan <rmh@aybabtu.com>
41238
41239 Modularize at_keyboard.mod:
41240
41241 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41242 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41243 (at_keyboard_mod_LDFLAGS): New variables.
41244
41245 Actual terminal split:
41246
41247 * include/grub/term.h (struct grub_term): Split in ...
41248 (struct grub_term_input): ... this, and ...
41249 (struct grub_term_output): ... this. Update all users.
41250 (grub_term_set_current): Split in ...
41251 (grub_term_set_current_input): ... this, and ...
41252 (grub_term_set_current_output): ... this.
41253 (grub_term_get_current): Split in ...
41254 (grub_term_get_current_input): ... this, and ...
41255 (grub_term_get_current_output): ... this.
41256 (grub_term_register): Split in ...
41257 (grub_term_register_input): ... this, and ...
41258 (grub_term_register_output): ... this.
41259 (grub_term_unregister): Split in ...
41260 (grub_term_unregister_input): ... this, and ...
41261 (grub_term_unregister_output): ... this.
41262 (grub_term_iterate): Split in ...
41263 (grub_term_iterate_input): ... this, and ...
41264 (grub_term_iterate_output): ... this.
41265
41266 * kern/term.c (grub_term_list): Split in ...
41267 (grub_term_list_input): ... this, and ...
41268 (grub_term_list_output): ... this. Update all users.
41269 (grub_cur_term): Split in ...
41270 (grub_cur_term_input): ... this, and ...
41271 (grub_cur_term_output): ... this. Update all users.
41272 (grub_term_set_current): Split in ...
41273 (grub_term_set_current_input): ... this, and ...
41274 (grub_term_set_current_output): ... this.
41275 (grub_term_get_current): Split in ...
41276 (grub_term_get_current_input): ... this, and ...
41277 (grub_term_get_current_output): ... this.
41278 (grub_term_register): Split in ...
41279 (grub_term_register_input): ... this, and ...
41280 (grub_term_register_output): ... this.
41281 (grub_term_unregister): Split in ...
41282 (grub_term_unregister_input): ... this, and ...
41283 (grub_term_unregister_output): ... this.
41284 (grub_term_iterate): Split in ...
41285 (grub_term_iterate_input): ... this, and ...
41286 (grub_term_iterate_output): ... this.
41287
41288 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41289 a check for input and one for output (and only attempt to get keys
41290 from user when input works).
41291
41292 * util/grub-probe.c (grub_term_get_current): Split in ...
41293 (grub_term_get_current_input): ... this, and ...
41294 (grub_term_get_current_output): ... this.
41295 * util/grub-fstest.c: Likewise.
41296 * util/i386/pc/grub-setup.c: Likewise.
41297 * util/grub-editenv.c: Likewise.
41298
41299 Portability adjustments:
41300
41301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41302 `term/i386/pc/at_keyboard.c'.
41303 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41304 grub_keyboard_controller_init() (now handled by terminal .init).
41305 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41306 grub_at_keyboard_init().
41307 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41308 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41309 at_keyboard.mod via input terminal interface).
41310 * include/grub/i386/coreboot/console.h: Convert into a stub for
41311 `<grub/i386/pc/console.h>'.
41312
41313 Migrate full terminals to new API:
41314
41315 * term/efi/console.c (grub_console_term): Split into ...
41316 (grub_console_term_input): ... this, and ...
41317 (grub_console_term_output): ... this. Update all users.
41318 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41319 (grub_ofconsole_init): Split into ...
41320 (grub_ofconsole_init_input): ... this, and ...
41321 (grub_ofconsole_init_output): ... this.
41322 (grub_ofconsole_term): Split into ...
41323 (grub_ofconsole_term_input): ... this, and ...
41324 (grub_ofconsole_term_output): ... this. Update all users.
41325 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41326 (grub_serial_term_input): ... this, and ...
41327 (grub_serial_term_output): ... this. Update all users.
41328 * term/i386/pc/console.c (grub_console_term): Split into ...
41329 (grub_console_term_input): ... this, and ...
41330 (grub_console_term_output): ... this. Update all users.
41331 (grub_console_term_input): Only enable it on PC/BIOS platform.
41332 (grub_console_init): Remove grub_keyboard_controller_init() call.
41333
41334 Migrate input terminals to new API:
41335
41336 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41337 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41338 i386-specific anyway).
41339 (grub_console_checkkey): Rename to ...
41340 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41341 users.
41342 (grub_keyboard_controller_orig): New variable.
41343 (grub_console_getkey): Rename to ...
41344 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41345 users.
41346 (grub_keyboard_controller_init): Static-ize. Save original
41347 controller value so that it can be restored ...
41348 (grub_keyboard_controller_fini): ... here (new function).
41349 (grub_at_keyboard_term): New structure.
41350 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41351 functions.
41352
41353 Migrate output terminals to new API:
41354
41355 * term/i386/pc/vga.c (grub_vga_term): Change type to
41356 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41357 members. Update all users.
41358 * term/gfxterm.c (grub_video_term): Change type to
41359 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41360 members. Update all users.
41361 * include/grub/i386/pc/console.h (grub_console_checkkey)
41362 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41363 etc).
41364
41365 Migrate `terminal' command and userland tools to new API:
41366
41367 * commands/terminal.c (grub_cmd_terminal): Split into ...
41368 (grub_cmd_terminal_input): ... this, and ...
41369 (grub_cmd_terminal_output): ... this.
41370 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41371 `terminal_input' and `terminal_output'.
41372 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41373 `terminal_input' / `terminal_output' API.
41374 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41375 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41376 provided ${GRUB_TERMINAL}, convert it).
41377
41378 2008-11-04 Robert Millan <rmh@aybabtu.com>
41379
41380 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41381 for FreeBSD.
41382 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41383
41384 2008-11-03 Bean <bean123ch@gmail.com>
41385
41386 * kern/elf.c (grub_elf32_load): Revert to previous code.
41387 (grub_elf64_load): Likewise.
41388
41389 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41390
41391 2008-11-01 Robert Millan <rmh@aybabtu.com>
41392
41393 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41394 (TARGET_CPPFLAGS): Likewise.
41395 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41396
41397 2008-11-01 Carles Pina i Estany <carles@pina.cat>
41398
41399 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41400
41401 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
41402
41403 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41404 addition of objects until the code is not going to be able to fail.
41405
41406 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
41407
41408 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41409 (add a missing NULL check, and correct them by moving the pointer
41410 operations after the actual check).
41411
41412 2008-10-29 Robert Millan <rmh@aybabtu.com>
41413
41414 * util/i386/pc/grub-install.in: Handle empty string as output from
41415 make_system_path_relative_to_its_root().
41416
41417 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41418
41419 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41420 circular metadata worst case scenario. If the metadata is circular
41421 then copy the wrap in place.
41422 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41423 project lib/format_text/layout.h
41424 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41425
41426 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
41427
41428 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
41429
41430 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
41431
41432 * util/update-grub_lib.in: Mention filename in warning message.
41433
41434 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
41435
41436 * NEWS: Update for rename of update-grub to grub-mkconfig.
41437
41438 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
41439
41440 * util/update-grub_lib.in: Copy to ...
41441 * util/grub-mkconfig_lib.in: ... this. Update all users.
41442 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
41443 * util/update-grub.in: Rename to ...
41444 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41445 option. Add `--output' option to allow users to specify the generated
41446 configuration file. Default to stdout.
41447 (update_grub_dir): Rename to ...
41448 (grub_mkconfig_dir): ... this.
41449 (grub_cfg): Default to an empty string.
41450 * conf/common.rmk (update-grub): Rename to ...
41451 (grub-mkconfig): ... this.
41452 (update-grub_lib): Copy to ...
41453 (grub-mkconfig_lib): ... this.
41454 (update-grub_SCRIPTS): Copy to ...
41455 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41456 (update-grub_DATA): Rename to ...
41457 (grub-mkconfig_DATA): ... this.
41458
41459 2008-09-28 Robert Millan <rmh@aybabtu.com>
41460
41461 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41462 to `modified'. Add the real `created' field.
41463 (grub_iso9660_uuid): Use `modified' rather than `created' for
41464 constructing the UUID.
41465
41466 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
41467
41468 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41469 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41470
41471 2008-09-28 Bean <bean123ch@gmail.com>
41472
41473 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41474 Thanks to Christian Franke for finding this bug.
41475
41476 2008-09-25 Robert Millan <rmh@aybabtu.com>
41477
41478 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41479 instances of grub_util_get_disk_name() (see previous commit).
41480
41481 2008-09-25 Robert Millan <rmh@aybabtu.com>
41482
41483 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41484 `util/i386/get_disk_name.c'.
41485 * conf/i386-efi.rmk: Likewise.
41486 * conf/x86_64-efi.rmk: Likewise.
41487 * conf/i386-coreboot.rmk: Likewise.
41488 * conf/i386-ieee1275.rmk: Likewise.
41489 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41490 `util/ieee1275/get_disk_name.c'.
41491 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41492 * util/ieee1275/get_disk_name.c: Remove file.
41493 * util/i386/get_disk_name.c: Remove file.
41494 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41495 "hd%d" for device.map entries, rather than using
41496 grub_util_get_disk_name().
41497
41498 2008-09-24 Carles Pina i Estany <carles@pina.cat>
41499
41500 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41501 warning.
41502 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41503
41504 2008-09-24 Carles Pina i Estany <carles@pina.cat>
41505
41506 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41507 Changed to 0x5100.
41508 (GRUB_TERM_PPAGE): Changed to 0x4900.
41509
41510 2008-09-24 Robert Millan <rmh@aybabtu.com>
41511
41512 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41513 macros (they were i386-pc specific).
41514 * include/grub/sparc64/ieee1275/console.h: Likewise.
41515 * include/grub/efi/console.h: Likewise.
41516
41517 2008-09-22 Bean <bean123ch@gmail.com>
41518
41519 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41520 resident and in attribute list.
41521
41522 * include/grub/ntfs.h (BMP_LEN): Removed.
41523
41524 2008-09-22 Bean <bean123ch@gmail.com>
41525
41526 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
41527 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41528
41529 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41530 error occurs, as grub_disk_open will call grub_disk_close, which will
41531 call p->close (scsi).
41532
41533 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
41534
41535 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41536 (AC_PREREQ): Bumped to 2.59.
41537 (AC_TRY_COMPILE): Replace obsolete macro with ...
41538 (AC_COMPILE_IFELSE): ... this.
41539 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41540 (AC_LINK_IFELSE): ... this.
41541
41542 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
41543
41544 * autogen.sh: Add a call to `gendistlist.sh'.
41545
41546 2008-09-19 Christian Franke <franke@computer.org>
41547
41548 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41549 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41550 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41551 Export __enable_execute_stack() to modules.
41552 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41553 New function.
41554
41555 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
41556
41557 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41558 Sort the list.
41559
41560 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
41561
41562 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
41563 #include <grub/util/hostdisk.h>.
41564
41565 2008-09-08 Robert Millan <rmh@aybabtu.com>
41566
41567 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41568 segments when their filesz is zero (grub_file_read() interprets
41569 zero-size as "read until EOF", which results in memory corruption).
41570 Use `lowest_segment' rather than 0 for calculating the current
41571 segment load address.
41572
41573 2008-09-08 Robert Millan <rmh@aybabtu.com>
41574
41575 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41576 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41577 clobbered useful information.
41578
41579 2008-09-08 Robert Millan <rmh@aybabtu.com>
41580
41581 * include/grub/util/biosdisk.h: Move to ...
41582 * include/grub/util/hostdisk.h: ... here. Update all users.
41583 * util/biosdisk.c: Move to ...
41584 * util/hostdisk.c: ... here. Update all users.
41585
41586 2008-09-07 Robert Millan <rmh@aybabtu.com>
41587
41588 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41589 variables.
41590 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41591 and length can be stored directly in the `mbi->mmap_addr' and
41592 `mbi->mmap_length' struct fields.
41593
41594 2008-09-07 Robert Millan <rmh@aybabtu.com>
41595
41596 * conf/i386.rmk: New file. Provides declaration for building
41597 `cpuid.mod'.
41598 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41599 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41600 variables.
41601 Include `conf/i386.mk'.
41602 * conf/i386-efi.rmk: Likewise.
41603 * conf/x86_64-efi.rmk: Likewise.
41604 * conf/i386-coreboot.rmk: Likewise.
41605 * conf/i386-ieee1275.rmk: Likewise.
41606
41607 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41608
41609 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41610 Adds optimization support for BGR based modes.
41611
41612 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41613 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41614 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41615 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41616 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41617 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41618 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41619 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41620 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41621 (grub_video_i386_vbeblit_index_index): Likewise.
41622 (grub_video_i386_vbeblit_replace_directN): Added.
41623 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41624 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41625 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41626 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41627 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41628 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41629 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41630 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41631 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41632 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41633 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41634 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41635 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41636
41637 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41638 (grub_video_i386_vbefill_R8G8B8): Likewise.
41639 (grub_video_i386_vbefill_index): Likewise.
41640 (grub_video_i386_vbefill_direct32): Added.
41641 (grub_video_i386_vbefill_direct24): Likewise.
41642 (grub_video_i386_vbefill_direct16): Likewise.
41643 (grub_video_i386_vbefill_direct8): Likewise.
41644
41645 * include/grub/video.h (grub_video_blit_format): Removed
41646 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41647 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41648 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41649 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41650 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
41651
41652 * video/video.c (grub_video_get_blit_format): Updated to use new
41653 blit formats. Added handling for 16 bit color modes.
41654
41655 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
41656 fillers.
41657 (common_blitter): Updated to use new blitters.
41658
41659 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41660 Removed.
41661 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41662 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41663 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41664 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41665 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41666 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41667 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41668 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41669 (grub_video_i386_vbeblit_index_index): Likewise.
41670 (grub_video_i386_vbeblit_replace_directN): Added.
41671 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41672 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41673 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41674 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41675 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41676 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41677 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41678 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41679 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41680 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41681 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41682 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41683 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41684
41685 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41686 (grub_video_i386_vbefill_R8G8B8): Likewise.
41687 (grub_video_i386_vbefill_index): Likewise.
41688 (grub_video_i386_vbefill_direct32): Added.
41689 (grub_video_i386_vbefill_direct24): Likewise.
41690 (grub_video_i386_vbefill_direct16): Likewise.
41691 (grub_video_i386_vbefill_direct8): Likewise.
41692
41693 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41694 types.
41695
41696 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41697 types.
41698
41699 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41700 blitter types.
41701
41702 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41703 types.
41704
41705 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
41706
41707 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41708 RAID level 1.
41709
41710 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
41711
41712 * fs/iso9660.c (grub_iso9660_date): New structure.
41713 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41714 (grub_iso9660_uuid): New function.
41715
41716 2008-09-05 Bean <bean123ch@gmail.com>
41717
41718 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41719
41720 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41721 insensitive bit for names in Win32 and Win32 & DOS namespace.
41722
41723 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41724
41725 * include/grub/types.h (LONG_MAX): Likewise.
41726
41727 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
41728
41729 * util/getroot.c: Include <config.h>.
41730 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41731 add support for /dev/md/N devices and handle LVM double dash escaping.
41732
41733 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
41734
41735 * config.guess: Update to latest version from config git.
41736 * config.sub: Likewise.
41737
41738 2008-09-03 Robert Millan <rmh@aybabtu.com>
41739
41740 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41741 `disk->total_sectors'.
41742
41743 2008-09-01 Colin D Bennett <colin@gibibit.com>
41744
41745 * include/grub/normal.h: Fixed incorrect comment for
41746 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41747
41748 2008-09-01 Colin D Bennett <colin@gibibit.com>
41749
41750 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41751 values with defines.
41752
41753 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41754 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41755 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41756 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41757 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41758 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41759 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41760 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41761 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41762 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41763 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41764 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41765 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41766 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41767 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41768 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41769 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41770 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41771 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41772
41773 2008-08-31 Robert Millan <rmh@aybabtu.com>
41774
41775 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41776 declaration.
41777 (grub_multiboot): Fix a few warnings.
41778
41779 2008-08-31 Robert Millan <rmh@aybabtu.com>
41780
41781 * loader/i386/pc/multiboot.c: Update comment not to say that
41782 boot_device support is unimplemented.
41783
41784 2008-08-31 Robert Millan <rmh@aybabtu.com>
41785
41786 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41787 or memory map support are unimplemented.
41788
41789 2008-08-31 Colin D Bennett <colin@gibibit.com>
41790
41791 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41792
41793 2008-08-31 Colin D Bennett <colin@gibibit.com>
41794
41795 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41796 total video memory in 'vbeinfo' output; show color format details for
41797 each video mode.
41798
41799 2008-08-30 Pavel Roskin <proski@gnu.org>
41800
41801 * util/genmoddep.c: Remove for real this time.
41802 * DISTLIST: Remove util/genmoddep.c.
41803
41804 2008-08-30 Robert Millan <rmh@aybabtu.com>
41805
41806 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41807 as required by Multiboot spec (it was already 4-byte aligned, but
41808 only by chance).
41809
41810 2008-08-29 Pavel Roskin <proski@gnu.org>
41811
41812 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41813 * kern/powerpc/ieee1275/startup.S: ... this.
41814 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41815 * DISTLIST: Likewise.
41816
41817 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41818 grub/cpu/kernel.h. Add start label for consistency with other
41819 platforms. Add grub_prefix immediately after start. Add jump
41820 to the code after grub_prefix.
41821 * include/grub/powerpc/kernel.h: Provide valid values for
41822 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41823
41824 2008-08-29 Bean <bean123ch@gmail.com>
41825
41826 * configure.ac: Change host_os to cygwin for mingw.
41827 (asprintf): New check for function.
41828
41829 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41830 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41831
41832 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
41833 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
41834 sync, sleep and grub_util_get_disk_size for mingw.
41835
41836 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41837 to get size in mingw.
41838 (open_device): Use flag O_BINARY if it's defined.
41839 (find_root_device): Add dummy code for mingw.
41840
41841 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41842 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41843 (get_scsi_disk_name): Return 0 for mingw.
41844
41845 * util/hostfs.c: #include <grub/util/misc.h>.
41846 (grub_hostfs_open): Use "rb" flag to open file, use
41847 grub_util_get_disk_size to get disk size for mingw.
41848
41849 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41850 (asprintf): New function if HAVE_ASPRINTF is not set.
41851 (sync): New function for mingw.
41852 (sleep): Likewise.
41853 (grub_util_get_disk_size): Likewise.
41854
41855 2008-08-28 Pavel Roskin <proski@gnu.org>
41856
41857 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41858 kern/time.c.
41859
41860 2008-08-28 Robert Millan <rmh@aybabtu.com>
41861
41862 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41863
41864 2008-08-28 Robert Millan <rmh@aybabtu.com>
41865
41866 Change find_grub_drive() syntax so it doesn't prevent it from
41867 detecting NULL names as errors.
41868
41869 * util/biosdisk.c (find_grub_drive): Move free slot search code
41870 from here ...
41871 (find_free_slot): ... to here.
41872 (read_device_map): Use find_free_slot() to search for free slots.
41873
41874 2008-08-27 Marco Gerards <marco@gnu.org>
41875
41876 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41877 (scsi_mod_SOURCES): New variable.
41878 (scsi_mod_CFLAGS): Likewise
41879 (scsi_mod_LDFLAGS): Likewise.
41880
41881 * disk/scsi.c: New file.
41882
41883 * include/grub/scsi.h: Likewise.
41884
41885 * include/grub/scsicmd.h: Likewise.
41886
41887 * disk/ata.c: Include <grub/scsi.h>.
41888 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41889 instead.
41890 (grub_ata_iterate): Skip ATAPI devices.
41891 (grub_ata_open): Only handle ATAPI devices.
41892 (struct grub_atapi_read): Removed.
41893 (grub_atapi_readsector): Likewise.
41894 (grub_ata_read): No longer handle ATAPI devices.
41895 (grub_ata_write): Likewise.
41896 (grub_atapi_iterate): New function.
41897 (grub_atapi_read): Likewise.
41898 (grub_atapi_write): Likewise.
41899 (grub_atapi_open): Likewise.
41900 (grub_atapi_close): Likewise.
41901 (grub_atapi_dev): New variable.
41902 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41903 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41904
41905 * include/grub/disk.h (enum grub_disk_dev_id): Add
41906 `GRUB_DISK_DEVICE_SCSI_ID'.
41907
41908 2008-08-26 Robert Millan <rmh@aybabtu.com>
41909
41910 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41911 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41912 descriptive.
41913
41914 2008-08-23 Bean <bean123ch@gmail.com>
41915
41916 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41917 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41918 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41919 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41920 dm_nv.mod.
41921 (raid5rec_mod_SOURCES): New macro.
41922 (raid5rec_mod_CFLAGS): Likewise.
41923 (raid5rec_mod_LDFLAGS): Likewise.
41924 (raid6rec_mod_SOURCES): Likewise.
41925 (raid6rec_mod_CFLAGS): Likewise.
41926 (raid6rec_mod_LDFLAGS): Likewise.
41927 (mdraid_mod_SOURCES): Likewise.
41928 (mdraid_mod_CFLAGS): Likewise.
41929 (mdraid_mod_LDFLAGS): Likewise.
41930 (dm_nv_mod_SOURCES): Likewise.
41931 (dm_nv_mod_CFLAGS): Likewise.
41932 (dm_nv_mod_LDFLAGS): Likewise.
41933
41934 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41935 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41936 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41937
41938 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41939 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41940
41941 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41942
41943 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41944
41945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41946
41947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41948
41949 * disk/raid5_recover.c: New file.
41950
41951 * disk/raid6_recover.c: Likewise.
41952
41953 * disk/mdraid_linux.c: Likewise.
41954
41955 * disk/dmraid_nvidia.c: Likewise.
41956
41957 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41958 ULONG_MAX.
41959
41960 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41961 calculate the size of raid device.
41962 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41963 different layout of raid5.
41964 (grub_raid_scan_device): Remove code specific to mdraid.
41965 (grub_raid_list): New variable.
41966 (free_array): New function.
41967 (grub_raid_register): Likewise.
41968 (grub_raid_unregister): Likewise.
41969 (grub_raid_rescan): Likewise.
41970 (GRUB_MOD_INIT): Don't iterate device here.
41971 (GRUB_MOD_FINI): Use free_array to release resource.
41972
41973 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41974 (grub_raid5_recover_func_t): New function variable type.
41975 (grub_raid6_recover_func_t): Likewise.
41976 (grub_raid5_recover_func): New variable.
41977 (grub_raid6_recover_func): Likewise.
41978 (grub_raid_register): New function.
41979 (grub_raid_unregister): Likewise.
41980 (grub_raid_rescan): Likewise.
41981 (grub_raid_block_xor): Likewise.
41982
41983 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41984 (CMD_CRC): New macro.
41985 (part): Removed.
41986 (read_file): Handle device as well as file.
41987 (cmd_crc): New function.
41988 (fstest): Handle multiple disks.
41989 (options): Remove part, raw and long, add root and diskcount.
41990 (usage): Add crc, remove -p, -r, -l, add -r and -c.
41991 (main): Find the first non option entry and ignore subsequent options,
41992 add handling for the new options, support multiple disks.
41993
41994 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41995
41996 2008-08-23 Bean <bean123ch@gmail.com>
41997
41998 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41999
42000 * genfslist.sh: Ignore kernel.mod.
42001
42002 * genpartmaplist.sh: Likewise.
42003
42004 2008-08-23 Robert Millan <rmh@aybabtu.com>
42005
42006 * util/getroot.c (find_root_device): Skip anything that starts with
42007 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42008
42009 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42010
42011 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42012 * util/grub.d/00_header.in: Allow the administrator to change default
42013 gfxmode via ${GRUB_GFXMODE}.
42014
42015 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42016
42017 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42018
42019 2008-08-21 Robert Millan <rmh@aybabtu.com>
42020
42021 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42022 loader.
42023 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42024 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42025
42026 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42027
42028 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42029 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42030
42031 2008-08-19 Robert Millan <rmh@aybabtu.com>
42032
42033 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42034 (struct grub_virtual_screen): Remove `cursor_color'.
42035 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42036 initialization.
42037 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42038
42039 2008-08-18 Robert Millan <rmh@aybabtu.com>
42040
42041 Unify (identical) linux_normal.c files.
42042 * loader/i386/efi/linux_normal.c: Move from here ...
42043 * loader/linux_normal.c: ... to here. Update all users.
42044 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42045 * loader/i386/ieee1275/linux_normal.c: Likewise.
42046
42047 2008-08-18 Robert Millan <rmh@aybabtu.com>
42048
42049 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42050 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42051 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42052 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42053 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42054 New macros.
42055 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42056 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42057 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42058 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42059 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42060 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42061 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42062 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42063 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42064 portably using grub_getxy().
42065 Replace `-EFI' with `-bzImage' in boot message.
42066
42067 2008-08-17 Robert Millan <rmh@aybabtu.com>
42068
42069 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42070
42071 2008-08-17 Robert Millan <rmh@aybabtu.com>
42072
42073 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42074
42075 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42076 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42077 (grub_machine_mmap_iterate): New function declaration.
42078 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42079 structure.
42080 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42081 macros.
42082
42083 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42084 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42085 Move e820 parsing from here ...
42086 * kern/i386/pc/mmap.c: New file.
42087 (grub_machine_mmap_iterate): ... to here.
42088
42089 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42090 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42091 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42092 (grub_available_iterate): Redeclare to return `void', and redeclare
42093 its hook to use grub_uint64_t as addr and size parameters, and rename
42094 to ...
42095 (grub_machine_mmap_iterate): ... this. Update all users.
42096
42097 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42098 to make it more readable. Rename to ...
42099 (grub_machine_mmap_iterate): ... this.
42100
42101 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42102 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42103 (grub_multiboot): Allocate an extra region after the payload, and fill
42104 it with a Multiboot memory map. Adjust a.out loader to calculate size
42105 with the extra space.
42106 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42107 with the extra space.
42108
42109 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42110
42111 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42112
42113 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42114
42115 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42116 mdate-sh to the list `find' searches for.
42117 * DISTLIST: Regenerated.
42118
42119 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42120
42121 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42122 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42123 genmoddep.awk, gensymlist.sh.in.
42124 (DISTDIRS): Add bus, docs, hook, lib.
42125 * DISTLIST: Regenerated.
42126 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42127
42128 2008-08-16 Robert Millan <rmh@aybabtu.com>
42129
42130 * disk/raid.c (grub_raid_init): Handle/report errors set by
42131 grub_device_iterate().
42132 * disk/lvm.c (grub_lvm_init): Likewise.
42133
42134 2008-08-15 Bean <bean123ch@gmail.com>
42135
42136 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42137 and datehook.mod.
42138 (datetime_mod_SOURCES): New macro.
42139 (datetime_mod_CFLAGS): Likewise.
42140 (datetime_mod_LDFLAGS): Likewise.
42141 (date_mod_SOURCES): Likewise.
42142 (date_mod_CFLAGS): Likewise.
42143 (date_mod_LDFLAGS): Likewise.
42144 (datehook_mod_SOURCES): Likewise.
42145 (datehook_mod_CFLAGS): Likewise.
42146 (datehook_mod_LDFLAGS): Likewise.
42147
42148 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42149 and datehook.mod.
42150 (datetime_mod_SOURCES): New macro.
42151 (datetime_mod_CFLAGS): Likewise.
42152 (datetime_mod_LDFLAGS): Likewise.
42153 (date_mod_SOURCES): Likewise.
42154 (date_mod_CFLAGS): Likewise.
42155 (date_mod_LDFLAGS): Likewise.
42156 (datehook_mod_SOURCES): Likewise.
42157 (datehook_mod_CFLAGS): Likewise.
42158 (datehook_mod_LDFLAGS): Likewise.
42159
42160 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42161 and datehook.mod.
42162 (datetime_mod_SOURCES): New macro.
42163 (datetime_mod_CFLAGS): Likewise.
42164 (datetime_mod_LDFLAGS): Likewise.
42165 (date_mod_SOURCES): Likewise.
42166 (date_mod_CFLAGS): Likewise.
42167 (date_mod_LDFLAGS): Likewise.
42168 (datehook_mod_SOURCES): Likewise.
42169 (datehook_mod_CFLAGS): Likewise.
42170 (datehook_mod_LDFLAGS): Likewise.
42171
42172 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42173 and datehook.mod.
42174 (datetime_mod_SOURCES): New macro.
42175 (datetime_mod_CFLAGS): Likewise.
42176 (datetime_mod_LDFLAGS): Likewise.
42177 (date_mod_SOURCES): Likewise.
42178 (date_mod_CFLAGS): Likewise.
42179 (date_mod_LDFLAGS): Likewise.
42180 (datehook_mod_SOURCES): Likewise.
42181 (datehook_mod_CFLAGS): Likewise.
42182 (datehook_mod_LDFLAGS): Likewise.
42183
42184 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42185 and datehook.mod.
42186 (datetime_mod_SOURCES): New macro.
42187 (datetime_mod_CFLAGS): Likewise.
42188 (datetime_mod_LDFLAGS): Likewise.
42189 (date_mod_SOURCES): Likewise.
42190 (date_mod_CFLAGS): Likewise.
42191 (date_mod_LDFLAGS): Likewise.
42192 (datehook_mod_SOURCES): Likewise.
42193 (datehook_mod_CFLAGS): Likewise.
42194 (datehook_mod_LDFLAGS): Likewise.
42195
42196 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42197
42198 * commands/date.c: New file.
42199
42200 * hook/datehook.c: Likewise.
42201
42202 * include/grub/lib/datetime.h: Likewise.
42203
42204 * include/grub/i386/cmos.h: Likewise.
42205
42206 * lib/datetime.c: Likewise.
42207
42208 * lib/i386/datetime.c: Likewise.
42209
42210 * lib/efi/datetime.c: Likewise.
42211
42212 2008-08-14 Robert Millan <rmh@aybabtu.com>
42213
42214 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42215 (grub_mkelfimage_SOURCES): New variable.
42216 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42217
42218 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42219 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42220 * conf/powerpc-ieee1275.rmk: Likewise.
42221 * conf/i386-ieee1275.rmk: Likewise.
42222
42223 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42224 * kern/i386/coreboot/init.c: Likewise.
42225
42226 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42227 with `<grub/cpu/kernel.h>'.
42228 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42229 to ...
42230 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42231 * kern/i386/coreboot/startup.S: Likewise.
42232
42233 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42234 (GRUB_MOD_GAP): Remove.
42235 * include/grub/powerpc/kernel.h: New file.
42236 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42237 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42238 * include/grub/i386/kernel.h: New file.
42239 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42240 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42241 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42242
42243 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42244 `grub-mkelfimage'.
42245 Use --directory when invoking grub_mkimage.
42246
42247 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42248 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42249 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42250 and GRUB_KERNEL_CPU_PREFIX.
42251
42252 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
42253
42254 * include/grub/err.h (grub_err_printf): New function prototype.
42255 * util/misc.c (grub_err_printf): New function.
42256 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42257 grub_printf.
42258 * kern/err.c (grub_print_error): Use grub_err_printf.
42259
42260 2008-08-13 Robert Millan <rmh@aybabtu.com>
42261
42262 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42263
42264 2008-08-13 Robert Millan <rmh@aybabtu.com>
42265
42266 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42267 boot entry.
42268
42269 2008-08-12 Robert Millan <rmh@aybabtu.com>
42270
42271 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42272 of the relocation code from here ...
42273 (grub_multiboot): ... to here.
42274 (forward_relocator, backward_relocator): Move from here ...
42275 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42276 (grub_multiboot_backward_relocator): ... to here.
42277 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42278 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42279 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42280 (grub_multiboot_forward_relocator_end)
42281 (grub_multiboot_backward_relocator)
42282 (grub_multiboot_backward_relocator_end): New variables.
42283
42284 2008-08-12 Bean <bean123ch@gmail.com>
42285
42286 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42287
42288 2008-08-11 Robert Millan <rmh@aybabtu.com>
42289
42290 * kern/i386/linuxbios/startup.S: Move from here ...
42291 * kern/i386/coreboot/startup.S: ... to here.
42292
42293 * kern/i386/linuxbios/init.c: Move from here ...
42294 * kern/i386/coreboot/init.c: ... to here.
42295
42296 * kern/i386/linuxbios/table.c: Move from here ...
42297 * kern/i386/coreboot/mmap.c: ... to here.
42298
42299 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42300
42301 2008-08-11 Robert Millan <rmh@aybabtu.com>
42302
42303 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42304 errors. Leave it to the upper layer to handle them.
42305
42306 2008-08-09 Christian Franke <franke@computer.org>
42307
42308 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42309 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42310 Install `grub.d/10_windows' only on Cygwin.
42311 * configure.ac: Add subst of `target_os'.
42312 Check `target_os' also before setting TARGET_OBJ2ELF.
42313 Add `--enable-grub-pe2elf'.
42314
42315 2008-08-08 Robert Millan <rmh@aybabtu.com>
42316
42317 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42318 (grub_last_time): Change type to grub_uint64_t.
42319 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42320 (grub_disk_close): Likewise.
42321
42322 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42323 (run_menu): Migrate code from to using grub_get_time_ms().
42324
42325 * util/misc.c (grub_get_time_ms): New function.
42326
42327 2008-08-08 Marco Gerards <marco@gnu.org>
42328
42329 * disk/ata.c (grub_ata_regget): Change return type to
42330 `grub_uint8_t'.
42331 (grub_ata_regget2): Likewise.
42332 (grub_ata_wait_status): New function.
42333 (grub_ata_wait_busy): Removed function, updated all users to use
42334 `grub_ata_wait_status'.
42335 (grub_ata_wait_drq): Likewise.
42336 (grub_ata_cmd): New function.
42337 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42338 error handling.
42339 (grub_ata_pio_write): Add error handling.
42340 (grub_atapi_identify): Likewise.
42341 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42342 handling.
42343 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42344 handling. Actually use the detected registers. Reorder the
42345 detection logic such that it is easier to read.
42346 (grub_ata_pciinit): Do not assign the same ID to each controller.
42347 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42348 handling.
42349 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42350
42351 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42352
42353 2008-08-08 Marco Gerards <marco@gnu.org>
42354
42355 * NEWS: Update.
42356
42357 2008-08-07 Bean <bean123ch@gmail.com>
42358
42359 * include/grub/x86_64/pci.h: New file.
42360
42361 2008-08-07 Christian Franke <franke@computer.org>
42362
42363 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42364 (TIMER2_GATE): Likewise.
42365 (grub_pit_wait): Add enable/disable of the timer2 gate
42366 bit of port 0x61. This fixes a possible infinite loop.
42367
42368 2008-08-07 Bean <bean123ch@gmail.com>
42369
42370 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42371 kern/i386/tsc.c and kern/i386/pit.c.
42372
42373 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42374 x86_64 platform.
42375
42376 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42377 <grub/i386/tsc.h>.
42378
42379 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42380
42381 2008-08-07 Bean <bean123ch@gmail.com>
42382
42383 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42384
42385 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42386
42387 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42388 multiple inclusion. Add #include <grub/types.h>.
42389
42390 2008-08-06 Christian Franke <franke@computer.org>
42391
42392 * conf/common.rmk: Build and install `10_windows'.
42393 * util/grub.d/10_windows.in: New script.
42394
42395 2008-08-06 Pavel Roskin <proski@gnu.org>
42396
42397 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42398
42399 2008-08-06 Robert Millan <rmh@aybabtu.com>
42400
42401 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42402 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42403
42404 2008-08-06 Bean <bean123ch@gmail.com>
42405
42406 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42407 (grub_pxefs_fs_int): Remove dummy definition.
42408 (grub_pxefs_open): Use data->block_size to store the current block
42409 size setting.
42410 (grub_pxefs_read): Use block size stored in data->block_size. As the
42411 value of grub_pxe_blksize can be changed after the file is opened.
42412
42413 2008-08-06 Bean <bean123ch@gmail.com>
42414
42415 * fs/i386/pc/pxe.c (curr_file): new variable.
42416 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42417 require the dummy internal file system anymore.
42418 (grub_pxefs_read): Removed.
42419 (grub_pxefs_close): Likewise.
42420 (grub_pxefs_fs_int): Likewise.
42421 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42422 connection when we switch file.
42423 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42424
42425 2008-08-06 Robert Millan <rmh@aybabtu.com>
42426
42427 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42428 `halt.mod'.
42429 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42430 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42431
42432 * kern/i386/halt.c: New file.
42433 * kern/i386/reboot.c: Likewise.
42434 * include/grub/i386/reboot.h: Likewise.
42435 * include/grub/i386/halt.h: Likewise.
42436
42437 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42438 Include `<grub/cpu/halt.h>'.
42439 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42440 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42441
42442 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42443 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42444 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42445 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42446 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42447 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42448 from here ...
42449 * include/grub/i386/at_keyboard.h: ... to here.
42450
42451 2008-08-05 Robert Millan <rmh@aybabtu.com>
42452
42453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42454 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42455 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42456 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42457 `kern/generic/millisleep.c'.
42458
42459 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42460 instead of grub_get_rtc().
42461 (grub_tsc_init): Initialize `tsc_boot_time'.
42462
42463 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42464 (grub_machine_init): Use grub_tsc_init() rather than
42465 installing an RTC-based handler via grub_install_get_time_ms().
42466
42467 * kern/i386/pit.c: New file.
42468 * include/grub/i386/pit.h: Likewise.
42469
42470 2008-08-05 Bean <bean123ch@gmail.com>
42471
42472 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42473
42474 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42475 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42476 (pxe_mod_SOURCES): New macro.
42477 (pxe_mod_CFLAGS): Likewise.
42478 (pxe_mod_LDFLAGS): Likewise.
42479 (pxecmd_mod_SOURCES): Likewise.
42480 (pxecmd_mod_CFLAGS): Likewise.
42481 (pxecmd_mod_LDFLAGS): Likewise.
42482
42483 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42484 (grub_pxe_call): Likewise.
42485
42486 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42487
42488 * commands/i386/pc/pxecmd.c: New file.
42489
42490 * fs/i386/pc/pxe.c: Likewise.
42491
42492 * include/grub/i386/pc/pxe.h: Likewise.
42493
42494 2008-08-05 Bean <bean123ch@gmail.com>
42495
42496 * util/console.c (grub_console_cur_color): New variable.
42497 (grub_console_standard_color): Likewise.
42498 (grub_console_normal_color): Likewise.
42499 (grub_console_highlight_color): Likewise.
42500 (color_map): Likewise.
42501 (use_color): Likewise.
42502 (NUM_COLORS): New macro.
42503 (grub_ncurses_setcolorstate): Handle color properly.
42504 (grub_ncurses_setcolor): Don't change color here, just remember the
42505 settings, color will be set in grub_ncurses_setcolorstate.
42506 (grub_ncurses_getcolor): New function.
42507 (grub_ncurses_init): Initialize color pairs.
42508 (grub_ncurses_term): New member grub_ncurses_getcolor.
42509
42510 2008-08-05 Colin D Bennett <colin@gibibit.com>
42511
42512 High resolution timer support. Implemented for x86 CPUs using TSC.
42513 Extracted generic grub_millisleep() so it's linked in only as needed.
42514 This requires a Pentium compatible CPU; if the RDTSC instruction is
42515 not supported, then it falls back on the generic grub_get_time_ms()
42516 implementation that uses the machine's RTC.
42517
42518 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42519 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42520 `kern/generic/millisleep.c'.
42521
42522 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42523 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42524
42525 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42526 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42527
42528 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42529
42530 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42531 `kern/generic/millisleep.c'.
42532
42533 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42534
42535 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42536
42537 * kern/generic/rtc_get_time_ms.c: New file.
42538
42539 * kern/generic/millisleep.c: New file.
42540
42541 * kern/misc.c: Don't include
42542 <kern/time.h> anymore.
42543 (grub_millisleep_generic): Removed.
42544
42545 * commands/sleep.c (grub_interruptible_millisleep): Uses
42546 grub_get_time_ms() instead of grub_get_rtc().
42547
42548 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42549 function.
42550 (grub_cpu_is_cpuid_supported): New inline function.
42551 (grub_cpu_is_tsc_supported): New inline function.
42552 (grub_tsc_init): New function prototype.
42553 (grub_tsc_get_time_ms): New function prototype.
42554
42555 * kern/i386/tsc.c (grub_get_time_ms): New file.
42556
42557 * include/grub/time.h: Include <grub/types.h.
42558 (grub_millisleep_generic): Removed.
42559 (grub_get_time_ms): New prototype.
42560 (grub_install_get_time_ms): New prototype.
42561 (grub_rtc_get_time_ms): New prototype.
42562
42563 * kern/time.c (grub_get_time_ms): New function.
42564 (grub_install_get_time_ms): New function.
42565
42566 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42567 <grub/time.h> anymore.
42568 (grub_millisleep): Removed.
42569 (grub_machine_init): Call grub_tsc_init.
42570
42571 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42572 get_time_ms() implementation.
42573
42574 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42575 (ieee1275_get_time_ms): New function.
42576 (grub_machine_init): Install get_time_ms() implementation.
42577
42578 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42579 (grub_machine_init): Call grub_tsc_init().
42580 (grub_millisleep): Removed.
42581
42582 * kern/ieee1275/init.c (grub_millisleep): Removed.
42583 (grub_machine_init): Install ieee1275_get_time_ms()
42584 implementation.
42585 (ieee1275_get_time_ms): New function.
42586 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42587 real work.
42588
42589 2008-08-05 Marco Gerards <marco@gnu.org>
42590
42591 * disk/ata.c: Include <grub/pci.h>.
42592 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42593 (grub_ata_initialize): Rewritten.
42594 (grub_ata_device_initialize): New function.
42595
42596 2008-08-04 Pavel Roskin <proski@gnu.org>
42597
42598 * kern/main.c: Include grub/mm.h.
42599
42600 2008-08-04 Robert Millan <rmh@aybabtu.com>
42601
42602 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42603 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42604 corruption problem).
42605
42606 2008-08-04 Robert Millan <rmh@aybabtu.com>
42607
42608 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42609 warnings introduced in my last commit.
42610
42611 2008-08-03 Robert Millan <rmh@aybabtu.com>
42612
42613 Make PCI available on all i386 architectures.
42614
42615 * include/grub/i386/pc/pci.h: Move from here ...
42616 * include/grub/i386/pci.h: ... to here.
42617
42618 * include/grub/i386/pc/pci.h: Remove.
42619 * include/grub/i386/efi/pci.h: Remove.
42620 * include/grub/x86_64/efi/pci.h: Remove.
42621
42622 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42623 `<grub/cpu/pci.h>'.
42624
42625 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42626 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42627 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42628
42629 * conf/i386-ieee1275.rmk: Likewise.
42630
42631 2008-08-03 Robert Millan <rmh@aybabtu.com>
42632
42633 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42634 (grub_console_setcursor): Make it possible to set cursor off.
42635
42636 2008-08-03 Robert Millan <rmh@aybabtu.com>
42637
42638 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42639 of modules instead of assuming which platform provides what.
42640 * util/update-grub.in: Likewise.
42641
42642 2008-08-03 Robert Millan <rmh@aybabtu.com>
42643
42644 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42645 instead of `grub_install_dos_part' to determine whether a drive needs
42646 to be prepended to prefix (`grub_install_dos_part' is not reliable,
42647 because it can be overridden when loading GRUB via Multiboot).
42648
42649 2008-08-02 Robert Millan <rmh@aybabtu.com>
42650
42651 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42652
42653 2008-08-02 Robert Millan <rmh@aybabtu.com>
42654
42655 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42656 of informational grub_dprintf() calls.
42657
42658 2008-08-02 Robert Millan <rmh@aybabtu.com>
42659
42660 * disk/memdisk.c (memdisk_size): Don't initialize.
42661 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42662
42663 * include/grub/i386/pc/kernel.h
42664 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42665 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42666 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42667 (grub_arch_memdisk_size): Remove.
42668
42669 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42670 field (was only used to transfer a constant). Add `type' field to
42671 support multiple module types.
42672 (grub_module_iterate): New function.
42673
42674 * kern/device.c (grub_device_open): Do not hide error messages
42675 when grub_disk_open() fails. Use grub_print_error() instead.
42676
42677 * kern/i386/pc/init.c (grub_arch_modules_addr)
42678 (grub_arch_memdisk_size): Remove functions.
42679 (grub_arch_modules_addr): Return the module address in high memory
42680 (now that it isn't copied anymore).
42681
42682 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42683 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42684 decompression routine (grub_total_module_size already includes that
42685 now). Don't copy modules back to low memory.
42686
42687 * kern/main.c: Include `<grub/mm.h>'.
42688 (grub_load_modules): Split out (and use) ...
42689 (grub_module_iterate): ... this function, which iterates through
42690 module objects and runs a hook.
42691 Comment out grub_mm_init_region() call, as it would cause non-ELF
42692 modules to be overwritten.
42693
42694 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42695 the memdisk image in its own region, make it part of the module list.
42696 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42697 (main): Parse --memdisk|-m option, and pass user-provided path as
42698 parameter to generate_image().
42699 (add_segments): Pass `memdisk_path' down to load_modules().
42700 (load_modules): Embed memdisk image in module section when requested.
42701 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42702 `header.type' instead of `header.offset'.
42703
42704 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42705 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42706 (memdisk_mod_LDFLAGS): New variables.
42707 * conf/i386-coreboot.rmk: Likewise.
42708 * conf/i386-ieee1275.rmk: Likewise.
42709
42710 2008-08-02 Robert Millan <rmh@aybabtu.com>
42711
42712 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42713 (backward_relocator): New variables. Used to allocate and relocate
42714 the payload, respectively.
42715 (grub_multiboot_load_elf32): Load into heap instead of requested
42716 address, install the appropriate relocator code in each bound of
42717 the payload, and set the entry point such that
42718 grub_multiboot_real_boot() will jump to one of them.
42719
42720 * kern/i386/loader.S (grub_multiboot_payload_size)
42721 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42722 (grub_multiboot_payload_entry_offset): New variables.
42723 (grub_multiboot_real_boot): Set cpu context to what the relocator
42724 expects, and jump to the relocator instead of the payload.
42725
42726 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42727 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42728 (grub_multiboot_payload_entry_offset): Export.
42729
42730 2008-08-01 Bean <bean123ch@gmail.com>
42731
42732 * normal/menu_entry.c (editor_getline): Don't return the original
42733 string as result, as it will be released by lexer once it has done
42734 using it.
42735
42736 2008-08-01 Robert Millan <rmh@aybabtu.com>
42737
42738 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42739 within menuentries, not before them.
42740 util/grub.d/10_hurd.in: Likewise.
42741
42742 2008-08-01 Bean <bean123ch@gmail.com>
42743
42744 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42745 (bufio_mod_SOURCES): New macro.
42746 (bufio_mod_CFLAGS): Likewise.
42747 (bufio_mod_LDFLAGS): Likewise.
42748
42749 * include/grub/bufio.h: New file.
42750
42751 * io/bufio.c: Likewise.
42752
42753 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42754 (grub_video_reader_png): Use grub_buffile_open to open file.
42755
42756 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42757 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42758
42759 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42760 (grub_video_reader_tga): Use grub_buffile_open to open file.
42761
42762 * font/manager.c: Include <grub/bufio.h>.
42763 (add_font): Use grub_buffile_open to open file.
42764
42765 2008-07-31 Robert Millan <rmh@aybabtu.com>
42766
42767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42768 ELF segments, use a macro for arbitrarily accessing any of them instead
42769 of preparing a pointer that allows access to one at a time.
42770 (grub_multiboot_load_elf64): Likewise.
42771
42772 2008-07-31 Bean <bean123ch@gmail.com>
42773
42774 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42775 GRUB_KERNEL_MACHINE_DATA_END.
42776
42777 2008-07-30 Robert Millan <rmh@aybabtu.com>
42778
42779 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42780 Increase from 0x50 to 0x60.
42781 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42782 use UUIDs to identify the root drive for them. If that's not
42783 possible, abort.
42784 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42785 check, for cross-disk installs.
42786
42787 2008-07-30 Robert Millan <rmh@aybabtu.com>
42788
42789 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42790 is non-empty, use it to set the `prefix' environment variable instead
42791 of the usual approach.
42792 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42793 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42794 environment variable instead of dummy make_install_device().
42795
42796 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42797 (start): Insert a data section, with `grub_prefix' variable.
42798 * kern/i386/linuxbios/startup.S: Likewise.
42799
42800 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42801 New variable reference.
42802 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42803 New macro. Defines offset of `grub_prefix' within startup.S (relative
42804 to `start').
42805 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42806 section within startup.S (relative to `start').
42807 * include/grub/i386/coreboot/kernel.h: Likewise.
42808
42809 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42810 Overwrite grub_prefix with its contents, at the beginning of the
42811 first segment.
42812 (main): Understand -p|--prefix.
42813
42814 2008-07-30 Robert Millan <rmh@aybabtu.com>
42815
42816 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42817
42818 2008-07-30 Robert Millan <rmh@aybabtu.com>
42819
42820 * term/i386/pc/vga_text.c (grub_console_cls): Use
42821 grub_console_gotoxy() to go back to beginning of the screen.
42822 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42823
42824 2008-07-29 Christian Franke <franke@computer.org>
42825
42826 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42827 Add conversion of emulated mount points on Cygwin.
42828
42829 2008-07-29 Christian Franke <franke@computer.org>
42830
42831 * util/update-grub.in: Add a check for admin
42832 group on Cygwin.
42833 Remove old `grub.cfg.new' before creation.
42834 Add `-f' to `mv' to handle the different filesystem
42835 semantics of Windows.
42836
42837 2008-07-29 Bean <bean123ch@gmail.com>
42838
42839 * normal/main.c (get_line): Fix buffer overflow bug.
42840
42841 2008-07-28 Robert Millan <rmh@aybabtu.com>
42842
42843 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42844 (struct grub_apple_header): New struct. Describes the layout of
42845 the partmap header.
42846 (apple_partition_map_iterate): Check the header magic as well as the
42847 partition magic (which was already being checked).
42848
42849 2008-07-28 Pavel Roskin <proski@gnu.org>
42850
42851 * genmk.rb: Add a warning to the beginning of the output that
42852 it's a generated file and should not be edited.
42853
42854 2008-07-28 Robert Millan <rmh@aybabtu.com>
42855
42856 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42857 with the same number are found, just use issue a warning with
42858 grub_dprintf(), as this error has been reported to be non-fatal.
42859
42860 2008-07-27 Robert Millan <rmh@aybabtu.com>
42861
42862 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42863 information.
42864
42865 2008-07-27 Bean <bean123ch@gmail.com>
42866
42867 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42868 (grub_fat_find_dir): Ignore case when comparing filename.
42869
42870 2008-07-27 Bean <bean123ch@gmail.com>
42871
42872 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42873 smallino, as it's more descriptive, and i8count can be confused with
42874 the other field count.
42875 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42876 inode type.
42877
42878 2008-07-27 Bean <bean123ch@gmail.com>
42879
42880 * commands/crc.c: New file.
42881
42882 * lib/crc.c: Likewise.
42883
42884 * include/grub/lib/crc.h: Likewise.
42885
42886 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42887
42888 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42889 (hexdump): Move this function to ...
42890
42891 * lib/hexdump.c: ... here.
42892
42893 * include/grub/hexdump.h: Renamed to ...
42894
42895 * include/grub/lib/hexdump.h: ... this.
42896
42897 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42898
42899 * util/grub-editenv.c: Likewise.
42900
42901 * include/envblk.h: Renamed to ...
42902
42903 * include/lib/envblk.h: ... this.
42904
42905 * util/envblk.c: Renamed to ...
42906
42907 * lib/envblk.c: ... this.
42908
42909 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42910 lib/hexdump.c.
42911 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42912 (pkglib_MODULES): Add crc.mod.
42913 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42914 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42915 (crc_mod_SOURCES): New macro.
42916 (crc_mod_CFLAGS): Likewise.
42917 (crc_mod_LDFLAGS): Likewise.
42918
42919 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42920
42921 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42922
42923 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42924
42925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42926
42927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42928
42929 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
42930
42931 * commands/help.c: Include <grub/term.h>.
42932 (TERM_WIDTH): Removed. Updated all users.
42933
42934 2008-07-27 Pavel Roskin <proski@gnu.org>
42935
42936 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42937 spurious warnings about a comment within a comment.
42938
42939 2008-07-25 Robert Millan <rmh@aybabtu.com>
42940
42941 * util/getroot.c (find_root_device): Skip devices that match
42942 /dev/dm-[0-9]. This lets the real device be found for any type of
42943 abstraction (LVM, EVMS, RAID..).
42944 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42945 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42946 device is found first, find_root_device() will now skip it.
42947
42948 2008-07-24 Pavel Roskin <proski@gnu.org>
42949
42950 * include/grub/types.h: Use __builtin_bswap32() and
42951 __builtin_bswap64() with gcc 4.3 and newer.
42952
42953 2008-07-24 Christian Franke <franke@computer.org>
42954
42955 * util/i386/pc/grub-install.in: If `--debug' is specified,
42956 pass `--verbose' to grub-setup.
42957 Abort script if make_system_path_relative_to_its_root() fails.
42958
42959 2008-07-24 Bean <bean123ch@gmail.com>
42960
42961 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42962 variable `target_platform' should be `platform'.
42963
42964 2008-07-24 Bean <bean123ch@gmail.com>
42965
42966 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42967 (grub_png_init_fixed_block): New function.
42968 (grub_png_decode_image_data): Handle fixed huffman code compression.
42969
42970 2008-07-24 Bean <bean123ch@gmail.com>
42971
42972 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42973 (grub_pe2elf_SOURCES): New macro.
42974 (CLEANFILES): Add grub-pe2elf.
42975
42976 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42977 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42978 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42979 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42980 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42981 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42982 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42983 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42984 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42985 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42986 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42987 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42988 (GRUB_PE32_DT_FUNCTION): Likewise.
42989 (GRUB_PE32_REL_I386_DIR32): Likewise.
42990 (GRUB_PE32_REL_I386_REL32): Likewise.
42991 (grub_pe32_symbol): New structure.
42992 (grub_pe32_reloc): Likewise.
42993
42994 * util/grub-pe2elf.c: New file.
42995
42996 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42997 start symbol in non pc platform.
42998
42999 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43000
43001 The following patches are from Christian Franke.
43002
43003 * include/grub/dl.h: Remove .previous, gas supports this only
43004 for ELF format.
43005
43006 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43007 Remove .type, gas supports this only for ELF format.
43008
43009 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43010 nullbytes in symbol table. This fixes an infinite loop if table is
43011 zero filled.
43012
43013 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43014 TARGET_IMG_LDFLAGS and EXEEXT.
43015
43016 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43017 TARGET_IMG_LDFLAGS_AC.
43018 (grub_CHECK_STACK_ARG_PROBE): New function.
43019
43020 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43021
43022 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43023
43024 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43025 to set TARGET_IMG_LD* accordingly.
43026 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43027 Add call to grub_CHECK_STACK_ARG_PROBE.
43028 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43029
43030 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43031
43032 * genmk.rb: Add EXEEXT to CLEANFILES.
43033
43034 2008-07-23 Robert Millan <rmh@aybabtu.com>
43035
43036 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43037 define the codes for arrows and lines used for the menu).
43038 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43039 as well.
43040
43041 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43042 fonts, because the latter are too slow.
43043
43044 2008-07-21 Bean <bean123ch@gmail.com>
43045
43046 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43047 a20. Run keyboard test last, as it will cause macbook to halt.
43048
43049 2008-07-18 Pavel Roskin <proski@gnu.org>
43050
43051 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43052 load foreign architecture modules correctly anyway. Keep
43053 support for loading host architecture modules, whether we
43054 compile them or not.
43055
43056 2008-07-17 Pavel Roskin <proski@gnu.org>
43057
43058 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43059 change target_cpu. The compiler default can mismatch target_cpu
43060 in any case.
43061
43062 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43063 * kern/efi/efi.c: Likewise.
43064
43065 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43066 target compiler is functional.
43067 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43068 are set up.
43069
43070 * configure.ac: Default to efi platform for x86_64-apple. Allow
43071 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43072 adjustments from the rest, only do them if target is not
43073 explicitly given. Merge other adjustments with the final sanity
43074 check. Remove an extraneous check for supported CPU. Be
43075 specific which CPU and which platform is not supported.
43076
43077 * configure.ac: Default to pc platform for x86_64.
43078
43079 2008-07-17 Robert Millan <rmh@aybabtu.com>
43080
43081 Partial LinuxBIOS -> Coreboot rename.
43082
43083 * conf/i386-linuxbios.rmk: Renamed to ...
43084 * conf/i386-coreboot.rmk: ... this.
43085 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43086 * configure.ac: Accept "coreboot" as input platform (but maintain
43087 compatibility with "linuxbios").
43088 * include/grub/i386/linuxbios: Renamed to ...
43089 * include/grub/i386/coreboot: ... this.
43090
43091 2008-07-17 Bean <bean123ch@gmail.com>
43092
43093 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43094 (appleldr_mod_SOURCE): New variable.
43095 (appleldr_mod_CFLAGS): Likewise.
43096 (appleldr_mod_LDFLAGS): Likewise.
43097 (pci_mod_SOURCES): Likewise.
43098 (pci_mod_CFLAGS): Likewise.
43099 (pci_mod_LDFLAGS): Likewise.
43100 (lspci_mod_SOURCES): Likewise.
43101 (lspci_mod_CFLAGS): Likewise.
43102 (lspci_mod_LDFLAGS): Likewise.
43103
43104 * conf/x86_64-efi.rmk: New file.
43105
43106 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43107 macro.
43108 (grub_efidisk_write): Likewise.
43109
43110 * include/efi/api.h (efi_call_0): New macro.
43111 (efi_call_1): Likewise.
43112 (efi_call_2): Likewise.
43113 (efi_call_3): Likewise.
43114 (efi_call_4): Likewise.
43115 (efi_call_5): Likewise.
43116 (efi_call_6): Likewise.
43117
43118 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43119 grub_rescue_cmd_chainloader.
43120
43121 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43122 (grub_pe32_optional_header): Change some fields based on i386 or
43123 x86_64 platform.
43124 (GRUB_PE32_PE32_MAGIC): Likewise.
43125
43126 * include/grub/efi/uga_draw.h: New file.
43127
43128 * include/grub/elf.h (STN_ABS): New constant.
43129 (R_X86_64_NONE): Relocation constant for x86_64.
43130 (R_X86_64_64): Likewise.
43131 (R_X86_64_PC32): Likewise.
43132 (R_X86_64_GOT32): Likewise.
43133 (R_X86_64_PLT32): Likewise.
43134 (R_X86_64_COPY): Likewise.
43135 (R_X86_64_GLOB_DAT): Likewise.
43136 (R_X86_64_JUMP_SLOT): Likewise.
43137 (R_X86_64_RELATIVE): Likewise.
43138 (R_X86_64_GOTPCREL): Likewise.
43139 (R_X86_64_32): Likewise.
43140 (R_X86_64_32S): Likewise.
43141 (R_X86_64_16): Likewise.
43142 (R_X86_64_PC16): Likewise.
43143 (R_X86_64_8): Likewise.
43144 (R_X86_64_PC8): Likewise.
43145
43146 * include/grub/i386/efi/pci.h: New file.
43147
43148 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43149 Change it value based on platform.
43150 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43151 (GRUB_E820_RAM): Likewise.
43152 (GRUB_E820_RESERVED): Likewise.
43153 (GRUB_E820_ACPI): Likewise.
43154 (GRUB_E820_NVS): Likewise.
43155 (GRUB_E820_EXEC_CODE): Likewise.
43156 (GRUB_E820_MAX_ENTRY): Likewise.
43157 (grub_e820_mmap): New structure.
43158 (linux_kernel_header): Change the efi field according to different
43159 kernel version, also field from linux_kernel_header.
43160
43161 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43162
43163 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43164 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43165 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43166 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43167 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43168 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43169 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43170 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43171 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43172 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43173
43174 * include/grub/x86_64/efi/kernel.h: New file.
43175
43176 * include/grub/x86_64/efi/loader.h: Likewise.
43177
43178 * include/grub/x86_64/efi/machine.h: Likewise.
43179
43180 * include/grub/x86_64/efi/pci.h: Likewise.
43181
43182 * include/grub/x86_64/efi/time.h: Likewise.
43183
43184 * include/grub/x86_64/linux.h: Likewise.
43185
43186 * include/grub/x86_64/setjmp.h: Likewise.
43187
43188 * include/grub/x86_64/time.h: Likewise.
43189
43190 * include/grub/x86_64/types.h: Likewise.
43191
43192 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43193 GRUB_TARGET_SIZEOF_VOID_P.
43194
43195 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43196 (grub_efi_locate_handle): Likewise.
43197 (grub_efi_open_protocol): Likewise.
43198 (grub_efi_set_text_mode): Likewise.
43199 (grub_efi_stall): Likewise.
43200 (grub_exit): Likewise.
43201 (grub_reboot): Likewise.
43202 (grub_halt): Likewise.
43203 (grub_efi_exit_boot_services): Likewise.
43204 (grub_get_rtc): Likewise.
43205
43206 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43207 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43208 (grub_efi_allocate_pages): Wrap efi calls.
43209 (grub_efi_free_pages): Wrap efi calls.
43210 (grub_efi_get_memory_map): Wrap efi calls.
43211
43212 * kern/x86_64/dl.c: New file.
43213
43214 * kern/x86_64/efi/callwrap.S: Likewise.
43215
43216 * kern/x86_64/efi/startup.S: Likewise.
43217
43218 * loader/efi/appleloader.c: Likewise.
43219
43220 * loader/efi/chainloader.c (cmdline): New variable.
43221 (grub_chainloader_unload): Wrap efi calls.
43222 (grub_chainloader_boot): Likewise.
43223 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43224 command line.
43225
43226 * loader/efi/chainloader_normal.c (chainloader_command):
43227 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43228 command line.
43229
43230 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43231 method.
43232 (grub_e820_add_region): New function.
43233 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43234 booting.
43235 (grub_find_video_card): New function.
43236 (grub_linux_setup_video): New function.
43237 (grub_rescue_cmd_linux): Probe for video information.
43238
43239 * normal/x86_64/setjmp.S: New file.
43240
43241 * term/efi/console.c (map_char): New function.
43242 (grub_console_putchar): Map unicode char.
43243 (grub_console_checkkey): Wrap efi calls.
43244 (grub_console_getkey): Likewise.
43245 (grub_console_getwh): Likewise.
43246 (grub_console_gotoxy): Likewise.
43247 (grub_console_cls): Likewise.
43248 (grub_console_setcolorstate): Likewise.
43249 (grub_console_setcursor): Likewise.
43250
43251 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43252
43253 2008-07-16 Pavel Roskin <proski@gnu.org>
43254
43255 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43256 format strings.
43257
43258 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43259 pointer, not an integer. This fixes a warning and prevents
43260 precision loss on 64-bit systems.
43261 (relocate_addresses): Remove unneeded cast.
43262
43263 2008-07-15 Pavel Roskin <proski@gnu.org>
43264
43265 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43266
43267 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43268
43269 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43270 Fix comparison between signed and unsigned.
43271
43272 * include/grub/i386/ieee1275/console.h: Declare
43273 grub_console_init() and grub_console_fini().
43274
43275 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43276 It's empty and unused.
43277
43278 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43279 beginning to avoid warnings with some compilers.
43280
43281 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43282 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43283
43284 2008-07-14 Pavel Roskin <proski@gnu.org>
43285
43286 * kern/env.c (grub_register_variable_hook): Don't copy empty
43287 string, it leaks memory. Pass "" to grub_env_set(), it should
43288 handle constant strings.
43289
43290 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43291 * commands/cmp.c (grub_cmd_cmp): Likewise.
43292 * kern/dl.c (grub_dl_flush_cache): Likewise.
43293 (grub_dl_load_core): Likewise.
43294 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43295 (grub_elf64_load_phdrs): Likewise.
43296
43297 2008-07-13 Pavel Roskin <proski@gnu.org>
43298
43299 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43300 between signed and unsigned.
43301 (LzmaEnc_Finish): Fix warning about an unused parameter.
43302
43303 2008-07-13 Bean <bean123ch@gmail.com>
43304
43305 * Makefile.in (enable_lzo): New rule.
43306
43307 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43308
43309 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43310
43311 * boot/i386/pc/lnxboot.S: #include <config.h>.
43312
43313 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
43314 its value according to the compression algorithm used, lzo or lzma.
43315
43316 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43317 compression algorithm according to configure macro.
43318
43319 * kern/i386/pc/startup.S (codestart): Likewise.
43320
43321 * kern/i386/pc/lzma_decode.S: New file.
43322
43323 * include/grub/lib/LzFind.h: Likewise.
43324
43325 * include/grub/lib/LzHash.h: Likewise.
43326
43327 * include/grub/lib/LzmaDec.h: Likewise.
43328
43329 * include/grub/lib/LzmaEnc.h: Likewise.
43330
43331 * include/grub/lib/LzmaTypes.h: Likewise.
43332
43333 * lib/LzFind.c: Likewise.
43334
43335 * lib/LzmaDec.c: Likewise.
43336
43337 * lib/LzmaEnc.c: Likewise.
43338
43339 2008-07-13 Bean <bean123ch@gmail.com>
43340
43341 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43342 (grub_ext4_extent_header): New structure.
43343 (grub_ext4_extent): Likewise.
43344 (grub_ext4_extent_idx): Likewise.
43345 (grub_ext4_find_leaf): New function.
43346 (grub_ext2_read_block): Handle extents.
43347
43348 2008-07-12 Robert Millan <rmh@aybabtu.com>
43349
43350 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43351
43352 2008-07-11 Robert Millan <rmh@aybabtu.com>
43353
43354 * util/grub.d/40_custom.in: New file. Example on how to add custom
43355 entries to /etc/grub.d.
43356 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43357 40_custom (implicitly, by merging all the grub.d rules).
43358
43359 2008-07-11 Pavel Roskin <proski@gnu.org>
43360
43361 * commands/read.c (grub_getline): Fix invalid memory access.
43362 Don't add newline to the variable value.
43363
43364 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43365 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43366 (serial_hw_get_port): Check validity of the port number.
43367 (grub_cmd_serial): Check return value of serial_hw_get_port().
43368
43369 2008-07-07 Pavel Roskin <proski@gnu.org>
43370
43371 * boot/i386/pc/diskboot.S (notification_string): Replace
43372 "Loading kernel" with just "loading". This is shorter, less
43373 confusing and saves a few bytes for possible future changes.
43374
43375 2008-07-05 Pavel Roskin <proski@gnu.org>
43376
43377 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43378 size for ATAPI devices, they are undefined. Output sector
43379 number in decimal form.
43380
43381 * disk/ata.c: Use named constants for status bits.
43382
43383 2008-07-04 Pavel Roskin <proski@gnu.org>
43384
43385 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43386 grub_addr_t before casting it to the void pointer to fix a
43387 warning. Non-addressable regions are discarded earlier.
43388 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43389 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43390 (check_signature): Don't shadow table_header.
43391 (grub_linuxbios_table_iterate): Cast numeric constants to
43392 grub_linuxbios_table_header_t.
43393 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43394 grub_stop().
43395
43396 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43397 prevent warnings.
43398
43399 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43400 pointer, which can cause warnings. Support 64-bit addresses.
43401
43402 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43403 of sizeof(long). This fixes PowerPC image generation on x86_64.
43404
43405 2008-07-04 Robert Millan <rmh@aybabtu.com>
43406
43407 This fixes a performance issue when pc & gpt partmap iterators
43408 didn't abort iteration even after our hook found what it was
43409 looking for (often causing expensive probes of non-existent drives).
43410
43411 Some callers relied on previous buggy behaviour, since they would
43412 raise an error when their own hooks caused early abortion of its
43413 iteration.
43414
43415 * kern/device.c (grub_device_open): Improve error message.
43416 * disk/lvm.c (grub_lvm_open): Likewise.
43417 * disk/raid.c (grub_raid_open): Likewise.
43418
43419 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43420 when hook requests it, independently of grub_errno.
43421 (pc_partition_map_probe): Do not fail when find_func() caused
43422 early abortion of pc_partition_map_iterate().
43423
43424 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43425 when hook requests it, independently of grub_errno.
43426 (gpt_partition_map_probe): Do not fail when find_func() caused
43427 early abortion of gpt_partition_map_iterate().
43428
43429 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43430 when hook requests it, independently of grub_errno. Do not fail when
43431 part_map_iterate_hook() caused early abortion of p->iterate().
43432
43433 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43434 when grub_partition_iterate() returned with non-zero.
43435
43436 2008-07-03 Pavel Roskin <proski@gnu.org>
43437
43438 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43439 like we do in grub_ata_pio_read().
43440 (grub_ata_readwrite): Always write individual sectors. Fix the
43441 sector count for the remainder.
43442 (grub_ata_write): Enable writing to ATA devices. Correctly
43443 report error for ATAPI devices.
43444
43445 2008-07-02 Pavel Roskin <proski@gnu.org>
43446
43447 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43448 warning.
43449
43450 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43451 for every read sector, we already increment it for the whole
43452 batch. This fixes reading more than 256 sectors at once.
43453
43454 * util/grub-editenv.c (cmd_info): Cast argument to long
43455 explicitly. ptrdiff_t reduces to int on i386.
43456
43457 * util/grub-editenv.c (main): Be specific which parameter is
43458 missing.
43459
43460 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43461 (memdisk): Make memdisk_orig_addr a pointer.
43462
43463 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43464 for file offsets, use grub_off_t instead. Fix printf format
43465 warnings.
43466
43467 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43468 there. Real unexpected warnings should not drown in the noise
43469 about known problems.
43470
43471 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43472 grub_disk_addr_t for memory addresses.
43473
43474 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43475 explicitly to fix a warning.
43476
43477 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43478
43479 * Makefile.in (MODULE_LDFLAGS): New variable.
43480 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43481 the linker accepts --build-id=none.
43482 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43483 MODULE_LDFLAGS.
43484 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43485
43486 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43487 those in Linux XFS code. Provide a way to access 64-bit parent
43488 inode.
43489 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43490 the end of struct grub_xfs_dir_header.
43491
43492 2008-07-02 Bean <bean123ch@gmail.com>
43493
43494 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43495 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43496 and GRUB_IEEE1275_FLAG_NO_ANSI.
43497
43498 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43499 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43500 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43501
43502 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43503 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43504
43505 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43506 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43507
43508 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43509 esc sequence on non ANSI terminal.
43510 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43511
43512 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43513 beginning of file.
43514
43515 2008-07-02 Bean <bean123ch@gmail.com>
43516
43517 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43518 (grub_editenv_SOURCES): New variable.
43519 (pkglib_MODULES): Add loadenv.mod.
43520 (loadenv_mod_SOURCES): New variable.
43521 (loadenv_mod_CFLAGS): Likewise.
43522 (loadenv_mod_LDFLAGS): Likewise.
43523
43524 * include/grub/envblk.h: New file.
43525
43526 * util/envblk.c: New file.
43527
43528 * util/grub-editenv.c: New file.
43529
43530 * commands/loadenv.c: New file.
43531
43532 2008-07-01 Pavel Roskin <proski@gnu.org>
43533
43534 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43535 not unsigned char. This fixes warnings and is consistent with
43536 other tags.
43537
43538 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43539
43540 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43541
43542 * term/tparm.c (analyze): Always set *popcount.
43543
43544 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43545 cast to fix a warning.
43546
43547 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43548 cast to suppress a warning.
43549
43550 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43551 grub_fshelp_read_file() expects.
43552
43553 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43554 write uuid as a 32-bit value in CPU byte order, so declare and
43555 use it as such.
43556
43557 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43558 long if the format specifier expects it.
43559 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43560 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43561 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43562 long to fix a warning.
43563 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43564 grub_dprintf() arguments to fix warnings.
43565
43566 2008-06-30 Pavel Roskin <proski@gnu.org>
43567
43568 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43569 install_bsd_part immediately before core.img is embedded or
43570 modified on disk. This fixes core.img verification if core.img
43571 cannot be embedded.
43572
43573 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43574 core_path to calculate the blocklist.
43575 Patch from Javier Martín <lordhabbit@gmail.com>
43576
43577 2008-06-29 Robert Millan <rmh@aybabtu.com>
43578
43579 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43580 block to disk block.
43581 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43582 Patch from Niels Böhm <bitbucket@arcor.de>
43583
43584 2008-06-29 Robert Millan <rmh@aybabtu.com>
43585
43586 * util/update-grub_lib.in (font_path): Search for fonts in
43587 /boot/grub first, which is more likely to be readable (we aren't
43588 deciding where fonts live, just looking for them).
43589
43590 2008-06-26 Pavel Roskin <proski@gnu.org>
43591
43592 * util/biosdisk.c (read_device_map): Don't leave dead map
43593 entries for devices failing stat() check.
43594
43595 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43596 core_path_dev for the core.img path on the target device.
43597
43598 2008-06-26 Robert Millan <rmh@aybabtu.com>
43599
43600 * disk/fs_uuid.c: New file.
43601 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43602 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43603 (fs_uuid_mod_LDFLAGS): New variables.
43604 * include/grub/disk.h (grub_disk_dev_id): Add
43605 `GRUB_DISK_DEVICE_UUID_ID'.
43606 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43607 implement iterate().
43608
43609 2008-06-26 Robert Millan <rmh@aybabtu.com>
43610
43611 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43612 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43613 Linux image includes no initrd.
43614
43615 2008-06-21 Javier Martín <lordhabbit@gmail.com>
43616
43617 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43618 call to resolve the core image location that effectively appended the
43619 name twice.
43620
43621 2008-06-21 Robert Millan <rmh@aybabtu.com>
43622
43623 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43624 call from here ...
43625
43626 * util/grub.d/10_hurd.in: ... to here ...
43627 * util/grub.d/10_linux.in: ... and here.
43628
43629 2008-06-19 Robert Millan <rmh@aybabtu.com>
43630
43631 * kern/main.c (grub_main): Export `prefix' variable immediately
43632 after it has been set by grub_machine_set_prefix().
43633
43634 2008-06-19 Robert Millan <rmh@aybabtu.com>
43635
43636 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43637 search result when not saving to variable, not the other way around.
43638 When saving to variable, abort iteration as soon as a match is found.
43639
43640 2008-06-19 Robert Millan <rmh@aybabtu.com>
43641
43642 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43643 check for partition that provides /boot/grub. Its logic is flawed,
43644 as it prevents prepare_grub_to_access_device() from being called
43645 multiple times.
43646
43647 2008-06-19 Robert Millan <rmh@aybabtu.com>
43648
43649 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43650 "insmod" command directly when abstraction modules are needed,
43651 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
43652 since it had already been processed).
43653
43654 2008-06-19 Pavel Roskin <proski@gnu.org>
43655
43656 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43657 changed. This is needed in case GRUB_LIBDIR changes.
43658 * conf/i386-ieee1275.rmk: Likewise.
43659 * conf/i386-linuxbios.rmk: Likewise.
43660 * conf/i386-pc.rmk: Likewise.
43661 * conf/powerpc-ieee1275.rmk: Likewise.
43662
43663 2008-06-18 Pavel Roskin <proski@gnu.org>
43664
43665 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43666 kernel_elf_symlist.c to symlist.c for consistency with other
43667 architectures. Update all users.
43668 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43669
43670 2008-06-18 Robert Millan <rmh@aybabtu.com>
43671
43672 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43673 it in prefix.
43674
43675 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43676 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43677 a RAID device, run setup() for all members independently on whether
43678 LVM abstraction is being used.
43679 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43680 If grub-mkimage has set `*install_dos_part == -2', don't override this
43681 value.
43682 Perform *install_dos_part adjustments independently on whether
43683 we're embedding or not.
43684 Clarify error message when image is too big for embedding.
43685 Remove duplicate *install_dos_part stanza.
43686
43687 2008-06-17 Robert Millan <rmh@aybabtu.com>
43688
43689 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43690 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43691 variables.
43692 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43693 values in grub_ofconsole_normal_color and
43694 grub_ofconsole_highlight_color (they're not directly related to
43695 background and foreground).
43696 (grub_ofconsole_setcolorstate): Extract background and foreground
43697 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43698
43699 2008-06-17 Robert Millan <rmh@aybabtu.com>
43700
43701 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43702 /boot/grub for the check in last commit, not /boot (they could be
43703 different partitions).
43704
43705 2008-06-16 Robert Millan <rmh@aybabtu.com>
43706
43707 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43708 asked to setup access for the same partition that provides /boot,
43709 don't bother using UUIDs since our root already has the value we
43710 want.
43711
43712 2008-06-16 Robert Millan <rmh@aybabtu.com>
43713
43714 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43715 I2O devices.
43716 Patch from Sven Mueller <sven@debian.org>.
43717
43718 2008-06-16 Robert Millan <rmh@aybabtu.com>
43719
43720 * util/update-grub.in: Check for $EUID instead of $UID.
43721 Reported by Vincent Zweije.
43722
43723 2008-06-16 Bean <bean123ch@gmail.com>
43724
43725 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
43726 (grub_ext2_read_block): Likewise.
43727 (grub_ext2_read_inode): Likewise.
43728 (grub_ext2_mount): Likewise.
43729 (grub_ext2_close): Likewise.
43730 (grub_ext3_get_journal): Removed.
43731
43732 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
43733 (grub_reiserfs_read_symlink): Likewise.
43734 (grub_reiserfs_mount): Likewise.
43735 (grub_reiserfs_open): Likewise.
43736 (grub_reiserfs_read): Likewise.
43737 (grub_reiserfs_close): Likewise.
43738 (grub_reiserfs_get_journal): Removed.
43739
43740 * fs/fshelp.c (grub_fshelp_read): Removed.
43741 (grub_fshelp_map_block): Likewise.
43742
43743 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43744 (grub_fshelp_journal): Likewise.
43745 (grub_fshelp_read): Likewise.
43746 (grub_fshelp_map_block): Likewise.
43747
43748 2008-06-16 Pavel Roskin <proski@gnu.org>
43749
43750 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43751 floating point anymore.
43752 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43753
43754 2008-06-15 Pavel Roskin <proski@gnu.org>
43755
43756 * commands/ls.c (grub_ls_list_files): Use integer calculations
43757 for human readable format, avoid floating point use.
43758 * kern/misc.c (grub_ftoa): Remove.
43759 (grub_vsprintf): Remove floating point support.
43760
43761 2008-06-15 Robert Millan <rmh@aybabtu.com>
43762
43763 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
43764 devices.
43765 Reported by Max Vozeler.
43766
43767 2008-06-15 Robert Millan <rmh@aybabtu.com>
43768
43769 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43770 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43771 skipped later.
43772 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43773 the beginning of the prefix.
43774
43775 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43776 It is assumed that if we have a memdisk, grub-mkimage has set
43777 grub_prefix to include the "(memdisk)" drive in it.
43778
43779 2008-06-15 Robert Millan <rmh@aybabtu.com>
43780
43781 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43782 Initialize keyboard controller after registering the terminal, so that
43783 grub_printf() can be called from grub_keyboard_controller_init().
43784
43785 2008-06-15 Robert Millan <rmh@aybabtu.com>
43786
43787 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43788 extent-btree which is written as big endian on disk.
43789 Reported by Alain Greppin <al@chilibi.org>.
43790
43791 2008-06-14 Robert Millan <rmh@aybabtu.com>
43792
43793 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43794 * util/i386/pc/grub-install.in (modules): Likewise.
43795
43796 2008-06-13 Pavel Roskin <proski@gnu.org>
43797
43798 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43799
43800 2008-06-13 Bean <bean123ch@gmail.com>
43801
43802 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43803
43804 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43805
43806 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43807 to indicate sparse block.
43808
43809 2008-06-12 Pavel Roskin <proski@gnu.org>
43810
43811 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43812 number, grub_fshelp_read() does it for us.
43813
43814 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43815 linear disk read with journal translation.
43816 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43817 * include/grub/fshelp.h: Declare grub_fshelp_read().
43818
43819 2008-06-09 Pavel Roskin <proski@gnu.org>
43820
43821 * fs/minix.c (grub_minix_mount): Handle error reading
43822 superblock.
43823
43824 2008-06-08 Robert Millan <rmh@aybabtu.com>
43825
43826 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43827 don't append the RAID prefix afterwards.
43828 Reported by Clint Adams.
43829
43830 2008-06-08 Robert Millan <rmh@aybabtu.com>
43831
43832 Based on description from Pavel:
43833 * kern/disk.c (grub_disk_check_range): Rename to ...
43834 (grub_disk_adjust_range): ... this. Add a comment explaining the
43835 tasks performed by this function.
43836
43837 2008-06-08 Robert Millan <rmh@aybabtu.com>
43838
43839 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43840 `num_serial' (for consistency with other variables).
43841 (struct grub_ntfs_data): Add `uuid' member.
43842 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43843 (grub_ntfs_uuid): New function.
43844 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43845
43846 2008-06-07 Pavel Roskin <proski@gnu.org>
43847
43848 * util/biosdisk.c (open_device): Revert last change to the
43849 function, it broke installation. The sector needs to be
43850 different dependent on which device is opened.
43851
43852 2008-06-06 Robert Millan <rmh@aybabtu.com>
43853
43854 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43855 rest of GRUB, and breakage doesn't happen if its value were modified.
43856
43857 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43858 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43859 a constant (same value).
43860 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43861 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43862
43863 2008-06-06 Robert Millan <rmh@aybabtu.com>
43864
43865 * util/biosdisk.c (open_device): Do not modify sector offset when
43866 accessing a partition. kern/disk.c already handles this for us.
43867
43868 2008-06-06 Robert Millan <rmh@aybabtu.com>
43869
43870 * util/grub-emu.c (grub_machine_init): Move code in this function from
43871 here ...
43872 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43873 segfault in case grub_printf() is called).
43874
43875 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43876 grub_probe. Update all users not to explicitly add it again.
43877 (grub_device): New variable; contains corresponding device for grubdir.
43878 (fs_module, partmap_module, devabstraction_module): Pass
43879 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43880 every time.
43881
43882 2008-06-05 Robert Millan <rmh@aybabtu.com>
43883
43884 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43885 is found, print it (same layout as with labels).
43886
43887 2008-06-04 Robert Millan <rmh@aybabtu.com>
43888
43889 * util/biosdisk.c (get_drive): Rename to ...
43890 (find_grub_drive): ... this. Update all users.
43891
43892 (get_os_disk): Rename to ...
43893 (convert_system_partition_to_system_disk): ... this. Update all users.
43894
43895 (find_drive): Rename to ...
43896 (find_system_device): ... this. Update all users.
43897
43898 2008-06-04 Robert Millan <rmh@aybabtu.com>
43899
43900 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43901 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43902 (make_device_map): Likewise.
43903
43904 2008-06-01 Robert Millan <rmh@aybabtu.com>
43905
43906 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43907 before dereferencing it.
43908
43909 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43910 union with fat12/fat16-specific ones. Add some new fields, including
43911 `num_serial' for both versions.
43912 (struct grub_fat_data): Add `uuid' member.
43913 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43914 names. Initialize `data->uuid' using `num_serial'.
43915 (grub_fat_uuid): New function.
43916 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43917
43918 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43919 (grub_reiserfs_uuid): New function.
43920 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43921 member.
43922
43923 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43924 (grub_xfs_uuid): New function.
43925 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43926
43927 2008-06-01 Robert Millan <rmh@aybabtu.com>
43928
43929 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43930 code that is backward compatible with pre-uuid search command.
43931
43932 2008-05-31 Robert Millan <rmh@aybabtu.com>
43933
43934 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43935 floppies after everything else, to ensure floppy drive isn't accessed
43936 unnecessarily (patch from Bean).
43937
43938 2008-05-31 Robert Millan <rmh@aybabtu.com>
43939
43940 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43941 not print device names when we were asked to set a variable.
43942
43943 2008-05-31 Robert Millan <rmh@aybabtu.com>
43944
43945 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43946 using "cursor-on" and "cursor-off" commands (understood at least by
43947 the Open Firmware flavour on OLPC).
43948
43949 2008-05-31 Michael Gorven <michael@gorven.za.net>
43950
43951 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43952 on and off sequences.
43953
43954 2008-05-31 Robert Millan <rmh@aybabtu.com>
43955
43956 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43957 * util/update-grub.in: Likewise.
43958
43959 2008-05-30 Pavel Roskin <proski@gnu.org>
43960
43961 * util/biosdisk.c (linux_find_partition): Simplify logic and
43962 make the code more universal. Keep special processing for
43963 devfs, but use a simple rule for all other devices. If the
43964 device ends with a number, append 'p' and the partition number.
43965 Otherwise, append only the partition number.
43966
43967 2008-05-30 Robert Millan <rmh@aybabtu.com>
43968
43969 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43970 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43971 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43972 the `root' parameter to Linux.
43973
43974 2008-05-30 Robert Millan <rmh@aybabtu.com>
43975
43976 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43977 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43978 --fs_uuid with --fs-uuid.
43979 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43980 all filesystems support them).
43981
43982 2008-05-30 Robert Millan <rmh@aybabtu.com>
43983
43984 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
43985 grub_printf() flags, since we're printing in units of 2 bytes.
43986
43987 2008-05-30 Robert Millan <rmh@aybabtu.com>
43988
43989 * util/grub.d/00_header.in: Remove obsolete comment referencing
43990 convert_system_path_to_grub_path().
43991 * util/update-grub.in: Likewise.
43992 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43993 (convert_system_path_to_grub_path): Add a warning message explaining
43994 that this function is deprecated. Rely on is_path_readable_by_grub()
43995 for the readability checks.
43996 (font_path): Use is_path_readable_by_grub() for the readability
43997 check rather than convert_system_path_to_grub_path().
43998
43999 2008-05-30 Robert Millan <rmh@aybabtu.com>
44000
44001 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44002 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44003 converting it first.
44004 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44005 grub.cfg for access to font file, and afterwards call it again to set
44006 the root device.
44007
44008 2008-05-30 Robert Millan <rmh@aybabtu.com>
44009
44010 * commands/search.c (options): Add --fs_uuid option.
44011 (search_fs_uuid): New function.
44012 (grub_cmd_search): Fix --set argument passing.
44013 Use search_fs_uuid() when requested via --fs_uuid.
44014 (grub_search_init): Update help message.
44015 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44016 and redeclare it as an array of 16-bit words.
44017 (grub_ext2_uuid): New function.
44018 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44019 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44020 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44021 (GRUB_DEVICE_BOOT_UUID): New variables.
44022 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44023 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44024 whenever possible.
44025 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44026 just assume `root' variable has the right value.
44027 * util/grub.d/10_linux.in: Likewise.
44028 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44029 via PRINT_FS_UUID.
44030 (main): Recognise `-t fs_uuid' argument.
44031
44032 2008-05-30 Robert Millan <rmh@aybabtu.com>
44033
44034 * util/biosdisk.c (map): Redefine structure to hold information
44035 about GRUB drive name.
44036 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44037 drive names.
44038 (call_hook): Remove.
44039 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44040 member. Assume drive has partitions.
44041 (grub_util_biosdisk_open): Access device names via `.device' struct
44042 member.
44043 (open_device): Likewise.
44044 (find_drive): Likewise.
44045 (read_device_map): Adjust map[] usage to match the new struct
44046 definition. Don't check for duplicates (still possible, but not cheap
44047 anymore).
44048 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44049 (make_device_name): Remove assumption of BIOS-like drive names.
44050
44051 2008-05-30 Pavel Roskin <proski@gnu.org>
44052
44053 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44054 compiling execute.c doesn't need grub_script.tab.h anymore.
44055 (normal/command.c_DEPENDENCIES): Likewise.
44056 (normal/function.c_DEPENDENCIES): Likewise.
44057 * conf/i386-ieee1275.rmk: Likewise.
44058 * conf/i386-linuxbios.rmk: Likewise.
44059 * conf/i386-pc.rmk: Likewise.
44060 * conf/powerpc-ieee1275.rmk: Likewise.
44061 * conf/sparc64-ieee1275.rmk: Likewise.
44062
44063 2008-05-29 Pavel Roskin <proski@gnu.org>
44064
44065 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44066 when scanning metadata for volume group name.
44067
44068 * include/grub/script.h: Don't include grub_script.tab.h. It's
44069 a generated file, which may only be included from the files with
44070 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44071 use union YYSTYPE, as the later allows forward declaration.
44072 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44073
44074 2008-05-29 Robert Millan <rmh@aybabtu.com>
44075
44076 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44077 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44078 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44079 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44080 scan codes.
44081
44082 2008-05-29 Robert Millan <rmh@aybabtu.com>
44083
44084 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44085 control key combinations.
44086
44087 2008-05-29 Robert Millan <rmh@aybabtu.com>
44088
44089 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44090 * util/ieee1275/grub-install.in: ... to here.
44091 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44092 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44093 (grub_install_SOURCES): Likewise.
44094
44095 2008-05-29 Robert Millan <rmh@aybabtu.com>
44096
44097 * fs/affs.c: Update copyright year.
44098 * fs/ext2.c: Likewise.
44099 * fs/fshelp.c: Likewise.
44100 * fs/hfsplus.c: Likewise.
44101 * fs/ntfs.c: Likewise.
44102 * fs/xfs.c: Likewise.
44103 * include/grub/fshelp.h: Likewise.
44104 * util/grub-mkdevicemap.c: Likewise.
44105
44106 2008-05-28 Robert Millan <rmh@aybabtu.com>
44107
44108 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44109 might need to be fatfs to support some firmware implementations
44110 (e.g. OFW or EFI).
44111
44112 2008-05-28 Robert Millan <rmh@aybabtu.com>
44113
44114 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44115 devices.
44116 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44117 (make_device_map): Likewise.
44118
44119 2008-05-20 Bean <bean123ch@gmail.com>
44120
44121 * fs/fshelp.c (grub_fshelp_map_block): New function.
44122 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44123 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44124
44125 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44126 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44127 (grub_fshelp_journal): New structure.
44128 (grub_fshelp_map_block): New function prototype.
44129 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44130 (grub_fshelp_map_block): Likewise.
44131
44132 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44133 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44134 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44135 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44136 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44137 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44138 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44139 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44140 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44141 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44142 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44143 (grub_ext2_sblock): New members for journal support.
44144 (grub_ext3_journal_header): New structure.
44145 (grub_ext3_journal_revoke_header): Likewise.
44146 (grub_ext3_journal_block_tag): Likewise.
44147 (grub_ext3_journal_sblock): Likewise.
44148 (grub_fshelp_node): New members logfile and journal.
44149 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44150 grub_fshelp_map_block to get real block number.
44151 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44152 number.
44153 (grub_ext2_read_inode): Likewise.
44154 (grub_ext3_get_journal): New function.
44155 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44156 (grub_ext2_close): Release memory used by journal.
44157
44158 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44159 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44160 (grub_reiserfs_transaction_header): Renamed to
44161 grub_reiserfs_description_block, replace field data with real_blocks.
44162 (grub_reiserfs_commit_block): New structure.
44163 (grub_reiserfs_data): New member journal.
44164 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44165 number.
44166 (grub_reiserfs_read_symlink): Likewise.
44167 (grub_reiserfs_iterate_dir): Likewise.
44168 (grub_reiserfs_open): Likewise.
44169 (grub_reiserfs_read): Likewise.
44170 (grub_reiserfs_get_journal): New function.
44171 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44172 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44173 using grub_reiserfs_get_journal.
44174 (grub_reiserfs_close): Release memory used by journal.
44175
44176 * fs/affs.c (grub_affs_read_block): Change block type to
44177 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44178
44179 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44180
44181 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44182
44183 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44184
44185 * fs/udf.c (grub_udf_read_block): Change block type to
44186 grub_disk_addr_t. Use type cast to avoid warning.
44187
44188 * fs/xfs.c (grub_xfs_read_block): Likewise.
44189
44190 2008-05-16 Christian Franke <franke@computer.org>
44191
44192 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44193 to ensure that break with ESC will always work.
44194 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44195 Remove ESC from keyboard queue.
44196
44197 2008-05-16 Christian Franke <franke@computer.org>
44198
44199 * util/biosdisk.c: [__CYGWIN__] Add includes.
44200 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44201 (get_os_disk): Move variable declarations to OS specific
44202 parts to avoid warning.
44203 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44204 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44205 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44206 Cygwin.
44207 * util/getroot.c: [__CYGWIN__] Add includes.
44208 (strip_extra_slashes): Fix "/" case.
44209 [__CYGWIN__] (get_win32_path): New function.
44210 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44211 [__CYGWIN__] (find_root_device): Disable.
44212 [__CYGWIN__] (get_bootsec_serial): New function.
44213 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44214 [__linux__] (grub_guess_root_device): Add early returns to simplify
44215 structure.
44216 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44217 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44218 check for Linux only.
44219
44220 2008-05-15 Bean <bean123ch@gmail.com>
44221
44222 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44223 keyboard hang problem in apple's intel mac.
44224
44225 2008-05-09 Robert Millan <rmh@aybabtu.com>
44226
44227 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44228 devices.
44229 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44230 (make_device_map): Likewise.
44231 Reported by Aurelien Jarno <aurel32@debian.org>
44232
44233 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
44234
44235 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44236 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44237 (make_device_map): Output entries for xvd type disks.
44238
44239 2008-05-07 Robert Millan <rmh@aybabtu.com>
44240
44241 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44242 devices.
44243 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44244 (make_device_map): Likewise.
44245 Reported by Roland Dreier <rdreier@cisco.com>
44246
44247 2008-05-07 Robert Millan <rmh@aybabtu.com>
44248
44249 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44250 grub_strstr() call. Correct a few mistakes in failure path handling.
44251
44252 2008-05-06 Robert Millan <rmh@aybabtu.com>
44253
44254 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44255 Do not print a trailing slash (therefore, the root directory is an
44256 empty string).
44257 (convert_system_path_to_grub_path): Do not remove trailing slash
44258 from make_system_path_relative_to_its_root() output.
44259
44260 * util/i386/pc/grub-install.in: Add trailing slash to output from
44261 make_system_path_relative_to_its_root().
44262
44263 2008-05-06 Robert Millan <rmh@aybabtu.com>
44264
44265 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44266 ensures that output lines aren't intermangled with those sent to
44267 stderr (via grub_util_info()).
44268 * util/grub-probe.c (grub_refresh): Likewise.
44269 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44270
44271 2008-05-05 Christian Franke <franke@computer.org>
44272
44273 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44274 Add Cygwin device names.
44275 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44276 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44277 (check_device): Return error instead of success on empty name.
44278 (make_device_map): Move label inside linux specific code to
44279 prevent compiler warning.
44280
44281 2008-04-30 Robert Millan <rmh@aybabtu.com>
44282
44283 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44284 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44285 first boot option.
44286 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44287
44288 2008-04-29 Robert Millan <rmh@aybabtu.com>
44289
44290 * docs/grub.cfg: New file (example GRUB configuration).
44291
44292 2008-04-26 Robert Millan <rmh@aybabtu.com>
44293
44294 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44295 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44296 and `disk/ieee1275/nand.c'.
44297
44298 2008-04-25 Bean <bean123ch@gmail.com>
44299
44300 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44301 i386-linuxbios.
44302
44303 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44304 change the buffer size to 4096 for cdrom device.
44305
44306 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44307 and nand.mod.
44308 (_linux_mod_SOURCES): New variable.
44309 (_linux_mod_CFLAGS): Likewise.
44310 (_linux_mod_LDFLAGS): Likewise.
44311 (linux_mod_SOURCES): Likewise.
44312 (linux_mod_CFLAGS): Likewise.
44313 (linux_mod_LDFLAGS): Likewise.
44314 (nand_mod_SOURCES): Likewise.
44315 (nand_mod_CFLAGS): Likewise.
44316 (nand_mod_LDFLAGS): Likewise.
44317
44318 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44319 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44320 type property. (nand device in olpc don't have this property)
44321
44322 * include/grub/disk.h (grub_disk_dev_id): New macro
44323 GRUB_DISK_DEVICE_NAND_ID.
44324
44325 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44326 function prototype.
44327 (grub_rescue_cmd_initrd): Likewise.
44328
44329 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44330 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44331 ofw_cif_handler and ofw_idt, adjust padding number.
44332
44333 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44334 GRUB_MACHINE_IEEE1275 is defined.
44335
44336 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44337 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44338
44339 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44340 on nested function heap_init.
44341 (grub_upper_mem): New variable for i386-ieee1275.
44342 (grub_get_extended_memory): New function for i386-ieee1275.
44343 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44344
44345 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44346 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44347 property.
44348
44349 * loader/i386/ieee1275/linux.c: New file.
44350
44351 * loader/i386/ieee1275/linux_normal.c: New file.
44352
44353 * disk/ieee1275/nand.c: New file.
44354
44355 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44356
44357 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44358 value.
44359 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44360
44361 2008-04-18 Robert Millan <rmh@aybabtu.com>
44362
44363 Restructures early code path on ieee1275 to unify grub_main() as
44364 the first C function that is executed in every platform.
44365
44366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44367 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44368 cmain().
44369 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44370 * kern/ieee1275/cmain.c (cmain): Rename to ...
44371 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44372 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44373 at the beginning.
44374
44375 2008-04-18 Robert Millan <rmh@aybabtu.com>
44376
44377 * util/update-grub.in: Fix syntax error when setting
44378 `GRUB_PRELOAD_MODULES'.
44379 Reported by Stephane Chazelas <stephane@artesyncp.com>
44380
44381 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44382
44383 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44384 section into account, newer toolchains generate unique build ids
44385 * configure.ac: remove the test for --build-id=none acceptance,
44386 we want build ids to be preserved
44387 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44388 far from other sections don't cause the raw binary images grow
44389 size
44390
44391 2008-04-15 Robert Millan <rmh@aybabtu.com>
44392
44393 * disk/lvm.c: Update copyright year.
44394 * kern/misc.c: Likewise.
44395
44396 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44397
44398 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
44399 there is no memory left for physical volume name.
44400
44401 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44402
44403 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44404 volume name mapping to support bigger than 9 character names properly.
44405
44406 2008-04-13 Robert Millan <rmh@aybabtu.com>
44407
44408 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44409 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44410
44411 2008-04-13 Christian Franke <franke@computer.org>
44412
44413 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44414 to create a floppy emulation boot CD when non emulation mode
44415 does not work.
44416 Enable Joliet CD filesystem extension.
44417
44418 2008-04-13 Robert Millan <rmh@aybabtu.com>
44419
44420 * kern/misc.c (grub_strncat): Fix off-by-one error.
44421 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44422
44423 * kern/env.c (grub_env_context_close): Clear current context, not
44424 previous one.
44425 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44426
44427 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44428
44429 2008-04-13 Robert Millan <rmh@aybabtu.com>
44430
44431 Improve robustness when handling LVM.
44432
44433 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
44434 (and leave `*p' unmodified).
44435 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44436 through it.
44437 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44438 iterating through it.
44439 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44440 through it.
44441 (grub_lvm_scan_device): Check the return value (and fail gracefully
44442 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44443 Don't assume `vg->pvs != NULL' when iterating through it.
44444
44445 2008-04-13 Robert Millan <rmh@aybabtu.com>
44446
44447 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44448 * genmk.rb (partmap): New variable.
44449 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44450 (#{partmap}): New target rule.
44451 * genpartmaplist.sh: New file.
44452 * Makefile.in (pkglib_DATA): Add partmap.lst.
44453 (partmap.lst): New target rule.
44454 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44455 modules (including all partition maps), instead of preloading them.
44456
44457 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44458
44459 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44460 `linux-boot-prober' (if installed) to detect other operating
44461 systems which are installed on the computer and add them to
44462 the boot menu.
44463 * conf/common.rmk: Build and install 30_os-prober.
44464
44465 2008-04-12 Robert Millan <rmh@aybabtu.com>
44466
44467 * kern/powerpc/ieee1275/init.c: Move from here ...
44468 * kern/ieee1275/init.c: ... to here. Update all users.
44469
44470 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44471 * kern/ieee1275/cmain.c: ... to here. Update all users.
44472
44473 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44474 * kern/ieee1275/openfw.c: ... to here. Update all users.
44475
44476 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44477 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44478
44479 2008-04-10 Pavel Roskin <proski@gnu.org>
44480
44481 * configure.ac: Always use "_cv_" in cache variables for
44482 compatibility with Autoconf 2.62.
44483
44484 2008-04-07 Robert Millan <rmh@aybabtu.com>
44485
44486 Revert grub/machine/init.h addition by Pavel (since it breaks on
44487 i386-ieee1275 and others):
44488 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44489 * util/powerpc/ieee1275/misc.c: Likewise.
44490
44491 2008-04-07 Robert Millan <rmh@aybabtu.com>
44492
44493 * util/grub-probe.c (probe): Improve error message.
44494
44495 2008-04-07 Robert Millan <rmh@aybabtu.com>
44496
44497 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44498 (this prevents the presence of a bogus entry from ruining the whole
44499 thing).
44500
44501 2008-04-06 Pavel Roskin <proski@gnu.org>
44502
44503 * util/biosdisk.c: Include grub/util/biosdisk.h.
44504 * util/grub-fstest.c (execute_command): Make static.
44505 * util/grub-mkdevicemap.c (check_device): Likewise.
44506 * util/i386/pc/misc.c: Include grub/machine/init.h.
44507 * util/powerpc/ieee1275/misc.c: Likewise.
44508 * util/lvm.c: Include grub/util/lvm.h.
44509 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44510 grub/cache.h.
44511 * util/raid.c: Include grub/util/raid.h.
44512 (grub_util_getdiskname): Make static.
44513
44514 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44515 grub_hostfs_fini(), as they are called from grub_init_all() and
44516 grub_fini_all() respectively. This fixes an infinite loop in
44517 grub-fstest due to double registration of hostfs.
44518 Reported by Christian Franke <Christian.Franke@t-online.de>
44519
44520 2008-04-05 Pavel Roskin <proski@gnu.org>
44521
44522 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44523 all 8 functions. Otherwise, probe function 0 only.
44524
44525 2008-04-04 Pavel Roskin <proski@gnu.org>
44526
44527 * commands/lspci.c (grub_lspci_iter): Print the bus number
44528 correctly.
44529
44530 * commands/lspci.c (grub_pci_classes): Fix typos.
44531 (grub_lspci_iter): Don't print func twice. Print vendor ID
44532 before device ID, as it's normally done.
44533
44534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44535 Fix signedness warnings.
44536 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44537 Likewise.
44538 * util/ieee1275/get_disk_name.c: Include config.h so that
44539 _GNU_SOURCE is defined and getline() is declared. Mark an
44540 unused argument as such. Fix a signedness warning.
44541
44542 2008-04-02 Pavel Roskin <proski@gnu.org>
44543
44544 * genkernsyms.sh.in: Use more robust assignments for CC and
44545 srcdir. Quote srcdir.
44546 * gensymlist.sh.in: Likewise. Assert at the compile time that
44547 the symbol table is not empty.
44548
44549 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44550 * fs/cpio.c (grub_cpio_read): Likewise.
44551
44552 2008-04-01 Pavel Roskin <proski@gnu.org>
44553
44554 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44555 * disk/host.c (grub_host_open): Likewise.
44556 * disk/loopback.c (grub_loopback_open): Likewise.
44557 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44558 disk->id as in disk/host.c, not a multi-character constant.
44559
44560 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44561 later is obsolete, potentially dangerous and sets a bad example.
44562 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44563 * util/misc.c (grub_util_get_image_size): Likewise.
44564
44565 * disk/loopback.c (options): Improve help for "--partitions".
44566
44567 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44568 options to align them with the short options, e.g. "echo -e".
44569
44570 2008-03-31 Bean <bean123ch@gmail.com>
44571
44572 * video/reader/png.c (grub_png_data): New member is_16bit and
44573 image_data.
44574 (grub_png_decode_image_header): Detect 16 bit png image.
44575 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44576 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44577 (grub_video_reader_png): Release memory occupied by image_data.
44578
44579 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44580 4096 bytes.
44581 (grub_nfs_mount): Skip the test for sector per cluster.
44582
44583 * include/grub/ntfs.h (MAX_SPC): Removed.
44584
44585 2008-03-31 Bean <bean123ch@gmail.com>
44586
44587 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44588 (grub_probe_SOURCES): Add fs/afs.c.
44589 (grub_fstest_SOURCES): Likewise.
44590 (afs_mod_SOURCES): New variable.
44591 (afs_mod_CFLAGS): Likewise.
44592 (afs_mod_LDFLAGS): Likewise.
44593
44594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44595 (grub_emu_SOURCES): Likewise.
44596
44597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44598
44599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44600
44601 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44602
44603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44604
44605 * fs/afs.c: New file.
44606
44607 2008-03-30 Pavel Roskin <proski@gnu.org>
44608
44609 * disk/host.c: Include grub/misc.h to fix a warning.
44610 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44611 warnings about implicit declarations.
44612
44613 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44614 variable.
44615 * include/grub/i386/loader.h: Change declaration of
44616 grub_linux_boot() to match what grub_loader_set() expects.
44617 * util/getroot.c (grub_guess_root_device): Return const char* to
44618 fix a warning.
44619 * util/grub-probe.c (probe): Fix a warning about uninitialized
44620 abstraction_name variable.
44621 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44622 second argument as unused to fix a warning.
44623
44624 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44625 missing grub_error() call.
44626
44627 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44628 2.60 and newer uses it to define datadir.
44629
44630 * commands/sleep.c: Fix warning about implicit declaration.
44631 * disk/memdisk.c: Likewise.
44632 * loader/aout.c: Likewise.
44633 * loader/i386/bsd_normal.c: Likewise.
44634 * util/grub-probe.c: Likewise.
44635
44636 * commands/i386/cpuid.c (has_longmode): Make static.
44637 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44638 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44639
44640 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44641 GDT. This is more robust, as %ds can change.
44642 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44643 calling real_to_prot().
44644 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44645
44646 2008-03-28 Pavel Roskin <proski@gnu.org>
44647
44648 * kern/i386/pc/startup.S: Assert that uncompressed functions
44649 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44650 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44651 code, as they push parts of the code (error handlers) beyond
44652 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44653 code as correctness and size.
44654
44655 2008-03-28 Pavel Roskin <proski@gnu.org>
44656
44657 * kern/i386/pc/startup.S
44658 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44659 data block address to the real mode, keep offset minimal. This
44660 works around a bug in AWARD BIOS on old Athlon systems, which
44661 makes CD detection hang.
44662
44663 2008-03-26 Pavel Roskin <proski@gnu.org>
44664
44665 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44666 const.
44667 * include/grub/normal.h: Add grub_parse_color_name_pair()
44668 declaration.
44669
44670 2008-03-24 Bean <bean123ch@gmail.com>
44671
44672 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44673 (cd_count): Removed.
44674 (cd_drive): New variable.
44675 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44676 (grub_biosdisk_call_hook): Likewise.
44677 (grub_biosdisk_iterate): Change cdrom detection method.
44678 (grub_biosdisk_open): Replace cd_start with cd_drive.
44679 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44680 detect cdrom device.
44681
44682 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44683 Removed.
44684 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44685 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44686 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44687 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44688 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44689 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44690 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44691 (grub_biosdisk_cdrp): New structure.
44692 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44693
44694 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44695
44696 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44697 device.
44698
44699 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44700 New function.
44701
44702 2008-03-20 Robert Millan <rmh@aybabtu.com>
44703
44704 Remove 2 TiB limit in ata.mod.
44705 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44706 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44707 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44708 grub_uint64_t instead of grub_uint32_t.
44709
44710 2008-03-05 Bean <bean123ch@gmail.com>
44711
44712 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44713 (grub_multiboot): Set boot device.
44714
44715 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44716
44717 2008-03-02 Bean <bean123ch@gmail.com>
44718
44719 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44720 symlink_buffer.
44721
44722 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44723
44724 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44725 texinfo.tex.
44726
44727 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44728 modified.
44729
44730 * docs/fdl.texi: New file.
44731
44732 * docs/mdate-sh: New file. Copied from gnulib.
44733 * docs/texinfo.tex: Likewise.
44734
44735 * config.guess: Updated from gnulib.
44736 * install-sh: Likewise.
44737
44738 2008-02-28 Robert Millan <rmh@aybabtu.com>
44739
44740 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44741 (aout_mod_SOURCES): New variable.
44742 (aout_mod_CFLAGS): Likewise.
44743 (aout_mod_LDFLAGS): Likewise.
44744
44745 * conf/i386-ieee1275.rmk: Likewise.
44746
44747 2008-02-28 Robert Millan <rmh@aybabtu.com>
44748
44749 * util/update-grub.in: Reorganise terminal validity check. Accept
44750 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44751 Based on suggestion by Franklin PIAT.
44752
44753 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44754
44755 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44756 function.
44757 * util/getroot.c (grub_util_check_block_device): New function that
44758 returns the given argument if it is a block device and returns NULL else.
44759 * util/grub-probe.c (argument_is_device): New variable.
44760 (probe): Promote device_name from a variable to an argument. Receive
44761 device_name from grub_util_check_block_device() if path is NULL and from
44762 grub_guess_root_device() else. Do not free() device_name anymore.
44763 (options): Introduce new parameter '-d, --device'.
44764 (main): Add description of the new parameter to the help screen.
44765 Rename path variable to argument. Set argument_is_device if the '-d'
44766 option is given. Pass argument to probe() depending on
44767 argument_is_device.
44768
44769 2008-02-24 Bean <bean123ch@gmail.com>
44770
44771 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44772 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44773 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44774 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44775 (GRUB_ISO9660_VOLDESC_END): Likewise.
44776 (grub_iso9660_primary_voldesc): New member escape.
44777 (grub_iso9660_data): New member joliet.
44778 (grub_iso9660_convert_string): New function.
44779 (grub_iso9660_mount): Detect joliet extension.
44780 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44781 (grub_iso9660_iso9660_label): Likewise.
44782
44783 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44784 (grub_setup_SOURCES): Add fs/udf.c.
44785 (grub_fstest_SOURCES): Likewise.
44786 (udf_mod_SOURCES): New variable.
44787 (udf_mod_CFLAGS): Likewise.
44788 (udf_mod_LDFLAGS): Likewise.
44789
44790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44791 (grub_emu_SOURCES): Likewise.
44792
44793 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44794
44795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44796
44797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44798
44799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44800
44801 * fs/udf.c: New file.
44802
44803 2008-02-24 Robert Millan <rmh@aybabtu.com>
44804
44805 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44806 (normal/lexer.c_DEPENDENCIES): New variables.
44807 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44808 (normal/lexer.c_DEPENDENCIES): Likewise.
44809 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44810 (normal/lexer.c_DEPENDENCIES): Likewise.
44811 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44812 (normal/lexer.c_DEPENDENCIES): Likewise.
44813 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44814 (normal/lexer.c_DEPENDENCIES): Likewise.
44815 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44816 (normal/lexer.c_DEPENDENCIES): Likewise.
44817
44818 2008-02-23 Robert Millan <rmh@aybabtu.com>
44819
44820 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44821 since they were intended to be in hex. This didn't break previously
44822 because of a bug in gpt_partition_map_iterate() (see below).
44823
44824 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44825 when checking the validity of GPT header.
44826 Remove `partno', since it always provides the same information as `i'.
44827
44828 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44829
44830 * include/grub/efi/time.h: Fix a wrong comment.
44831
44832 2008-02-19 Pavel Roskin <proski@gnu.org>
44833
44834 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44835 message.
44836
44837 2008-02-19 Bean <bean123ch@gmail.com>
44838
44839 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44840 (aout_mod_SOURCES): New variable.
44841 (aout_mod_CFLAGS): Likewise.
44842 (aout_mod_LDFLAGS): Likewise.
44843 (_bsd_mod_SOURCES): New variable.
44844 (_bsd_mod_CFLAGS): Likewise.
44845 (_bsd_mod_LDFLAGS): Likewise.
44846 (bsd_mod_SOURCES): New variable.
44847 (bsd_mod_CFLAGS): Likewise.
44848 (bsd_mod_LDFLAGS): Likewise.
44849
44850 * include/grub/aout.h: New file.
44851
44852 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44853
44854 * include/grub/i386/bsd.h: New file.
44855
44856 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44857 to make it public.
44858
44859 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44860 function is called, so that it's possible to change it inside the hook.
44861 (grub_elf64_load): Likewise.
44862 (grub_elf_file): Don't close the file if elf header is not found.
44863 (grub_elf_close): Close the file if grub_elf_file fails (The new
44864 grub_elf_file won't close it).
44865 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44866 (grub_elf64_size): Likewise.
44867
44868 * kern/i386/loader.S (grub_unix_real_boot): New function.
44869
44870 * loader/aout.c: New file.
44871
44872 * loader/i386/bsd.c: New file.
44873
44874 * loader/i386/bsd_normal.c: New file.
44875
44876 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44877
44878 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
44879 can test other formats.
44880
44881 2008-02-19 Robert Millan <rmh@aybabtu.com>
44882
44883 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44884 (grub_gpt_partition_type_empty): Redefine with macro from
44885 `<grub/gpt_partition.h>'.
44886 (gpt_partition_map_iterate): Adjust partition type comparison.
44887
44888 Export `entry' as partmap-specific `part.data' struct.
44889 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44890
44891 * include/grub/gpt_partition.h (grub_gpt_header)
44892 (grub_gpt_partentry): ... to here (new file).
44893
44894 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44895
44896 (grub_gpt_partition_type_bios_boot): New const variable, defined
44897 with macro from `<grub/gpt_partition.h>'.
44898
44899 (setup): Replace `first_start' with `embed_region', which keeps
44900 track of the embed region (and is partmap-agnostic).
44901
44902 Replace find_first_partition_start() with find_usable_region(),
44903 which finds a usable region for embedding using partmap-specific
44904 knowledge (supports PC/MSDOS and GPT).
44905
44906 Fix all assumptions that the embed region start at sector 1, using
44907 `embed_region.start' from now on. Similarly, use `embed_region.end'
44908 rather than `first_start' to calculate available size.
44909
44910 In grub_util_info() message, replace "into after the MBR" with an
44911 indication of the specific sector our embed region starts at.
44912
44913 2008-02-19 Robert Millan <rmh@aybabtu.com>
44914
44915 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44916 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44917 `commands/reboot.c'.
44918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44919 (halt_mod_SOURCES): Likewise.
44920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44921 (halt_mod_SOURCES): Likewise.
44922
44923 2008-02-17 Christian Franke <franke@computer.org>
44924
44925 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44926
44927 2008-02-17 Robert Millan <rmh@aybabtu.com>
44928
44929 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44930 set `first_start' to 0 for non-PC/MSDOS partition maps.
44931
44932 2008-02-16 Robert Millan <rmh@aybabtu.com>
44933
44934 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44935 do not assume partition map is PC/MSDOS before performing checks that
44936 are specific to that layout.
44937
44938 2008-02-13 Robert Millan <rmh@aybabtu.com>
44939
44940 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44941 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44942 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44943
44944 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44945
44946 * configure.ac: Only a cosmetic change on the handling of
44947 -fno-stack-protector.
44948
44949 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
44950
44951 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44952 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44953 reboot.c.
44954 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44955 (halt_mod_SOURCES): New variable.
44956 (halt_mod_CFLAGS): Likewise.
44957 (halt_mod_LDFLAGS): Likewise.
44958 (reboot_mod_SOURCES): Likewise.
44959 (reboot_mod_CFLAGS): Likewise.
44960 (reboot_mod_LDFLAGS): Likewise.
44961
44962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44963 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44964 reboot.c.
44965 (halt_mod_SOURCES): Likewise.
44966 (reboot_mod_SOURCES): Likewise.
44967
44968 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44969 commands/i386/pc/reboot.c by commands/reboot.c.
44970 (reboot_mod_SOURCES): Likewise.
44971
44972 * commands/i386/pc/reboot.c: merge this file ...
44973
44974 * commands/ieee1275/reboot.c: ... and this file ...
44975
44976 * commands/reboot.c: ... to this file.
44977 Add some precompiler directive to include the correct header for
44978 each machine.
44979
44980 * commands/ieee1275/halt.c: move this file ...
44981
44982 * commands/halt.c: ... to here.
44983 Add some precompiler directive to include the correct header for
44984 each machine.
44985
44986 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44987 (grub_halt): Likewise.
44988
44989 * kern/efi/efi.c (grub_reboot): New function.
44990 (grub_halt): Likewise.
44991
44992 2008-02-12 Robert Millan <rmh@aybabtu.com>
44993
44994 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44995 /dev (like it is done for /dev/mapper). This doesn't provide support
44996 for EVMS, but at least it is now easy to identify the problem when it
44997 arises.
44998
44999 2008-02-11 Robert Millan <rmh@aybabtu.com>
45000
45001 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45002 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45003 comparing it with -1, not 0.
45004
45005 2008-02-10 Robert Millan <rmh@aybabtu.com>
45006
45007 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45008 `disk/lvm.c'.
45009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45010 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45011
45012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45013 `disk/lvm.c' to the end of the list.
45014 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45015 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45016
45017 2008-02-10 Robert Millan <rmh@aybabtu.com>
45018
45019 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45020 grub_print_error() instead. This will let user know why we're entering
45021 rescue mode.
45022 Based on suggestions from Sam Morris.
45023
45024 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45025
45026 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45027 on remaining N args, instead of "--" arg N times.
45028
45029 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45030
45031 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45032 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45033 pattern for unknown glyphs.
45034
45035 2008-02-09 Robert Millan <rmh@aybabtu.com>
45036
45037 * configure.ac: Probe for `help2man'.
45038 * Makefile.in (builddir): New variable.
45039 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45040 or otherwise add a few flags/options to it.
45041 (install-local): For every executable utility or script that is
45042 installed, invoke $(HELP2MAN) to install a manpage based on --help
45043 output.
45044
45045 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45046 that it doesn't prevent --help from working in build tree.
45047
45048 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45049 with `bug-grub@gnu.org'.
45050 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45051 * util/update-grub.in (usage): New function.
45052 Implement proper argument check, with support for --help and --version
45053 (as well as existing -y).
45054
45055 2008-02-09 Christian Franke <franke@computer.org>
45056
45057 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45058 avoid overwriting previous output.
45059 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45060
45061 2008-02-09 Robert Millan <rmh@aybabtu.com>
45062
45063 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45064 drawing the menu.
45065
45066 2008-02-09 Robert Millan <rmh@aybabtu.com>
45067
45068 * commands/sleep.c: New file.
45069 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45070 (sleep_mod_SOURCES): New variable.
45071 (sleep_mod_CFLAGS): Likewise.
45072 (sleep_mod_LDFLAGS): Likewise.
45073
45074 2008-02-09 Robert Millan <rmh@aybabtu.com>
45075
45076 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45077 situations in which we can deduce the RAID size and the superblock
45078 doesn't match it.
45079
45080 2008-02-09 Robert Millan <rmh@aybabtu.com>
45081
45082 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45083 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45084 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45085
45086 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45087 and return a grub_diskmemberlist_t composed of physical array members.
45088 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45089
45090 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45091 prototype.
45092 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45093 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45094 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45095
45096 * util/grub-probe.c (probe): Move partmap probing code from here ...
45097 (probe_partmap): ... to here.
45098 (probe): Use probe_partmap() once for the disk we're probing, and
45099 additionally, when such disk contains a memberlist() struct member,
45100 once for each disk that is contained in the structure returned by
45101 memberlist().
45102
45103 2008-02-09 Robert Millan <rmh@aybabtu.com>
45104
45105 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45106 environment variable to 'all' in order to obtain debug output from
45107 non-util/ code.
45108 * util/i386/pc/grub-setup.c (main): Likewise.
45109
45110 2008-02-08 Robert Millan <rmh@aybabtu.com>
45111
45112 * disk/raid.c (grub_raid_scan_device): Check for
45113 `array->device[sb.this_disk.number]' rather than for
45114 `array->device[sb.this_disk.number]->name', since the latter is not
45115 guaranteed to be accessible.
45116
45117 2008-02-08 Robert Millan <rmh@aybabtu.com>
45118
45119 * disk/raid.c: Update copyright.
45120 * fs/cpio.c: Likewise.
45121 * include/grub/raid.h: Likewise.
45122 * loader/i386/pc/multiboot.c: Likewise.
45123 * util/hostfs.c: Likewise.
45124
45125 2008-02-08 Robert Millan <rmh@aybabtu.com>
45126
45127 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45128 to a grub_disk_t array.
45129 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45130 `device[x]'.
45131 (grub_raid_scan_device): Replace `device[x].name' accesses with
45132 `device[x]->name'. Simplify initialization of `array->device[x]'.
45133
45134 2008-02-08 Robert Millan <rmh@aybabtu.com>
45135
45136 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45137 grub_dprintf() calls.
45138 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45139 error message.
45140
45141 2008-02-07 Christian Franke <franke@computer.org>
45142
45143 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45144 instead of fseek and ftell to support large files.
45145 (grub_hostfs_read): Likewise.
45146
45147 2008-02-07 Robert Millan <rmh@aybabtu.com>
45148
45149 Patch from Jeroen Dekkers.
45150 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
45151 failure, since successfully reading all array members might not be
45152 required.
45153
45154 2008-02-06 Robert Millan <rmh@aybabtu.com>
45155
45156 * util/grub-probe.c (probe): Simplify partmap probing (with the
45157 assumption that the first word up to the underscore equals to
45158 the module name).
45159
45160 2008-02-06 Christian Franke <franke@computer.org>
45161
45162 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45163 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45164 last block of a cpio or tar stream.
45165 Check for "TRAILER!!!" instead of any empty data
45166 block to detect last block of a cpio stream.
45167 (grub_cpio_dir): Fix constness of variable np.
45168 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45169 cpio or tar trailer is detected. This fixes a crash
45170 on open of a non existing file.
45171
45172 2008-02-05 Bean <bean123ch@gmail.com>
45173
45174 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45175 address of entry.
45176 (grub_multiboot_load_elf64): Likewise.
45177 (grub_multiboot): Initialize mbi structure.
45178
45179 * util/grub-fstest.c: Don't include unused header file script.h.
45180
45181 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
45182 of file.
45183 (grub_fstest_SOURCES): Likewise.
45184
45185 2008-02-05 Robert Millan <rmh@aybabtu.com>
45186
45187 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45188 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45189 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45190 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45191
45192 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45193 (translation_table): Replace hardcoded values with macros
45194 provided by `<grub/term.h>'.
45195
45196 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45197 (keyboard_map): Correct/add a few values, with macros provided
45198 by `<grub/term.h>'.
45199 (keyboard_map_shift): Zero values that don't differ from their
45200 `keyboard_map' equivalents.
45201 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45202 Discard the second scan code that is always sent by Caps lock.
45203 Only use `keyboard_map_shift' when it provides a non-zero value,
45204 otherwise fallback to `keyboard_map'.
45205
45206 2008-02-04 Bean <bean123ch@gmail.com>
45207
45208 * Makefile.in (enable_grub_fstest): New variable.
45209
45210 * conf/common.rmk (grub_fstest_init.lst): New rule.
45211 (grub_fstest_init.h): Likewise.
45212 (grub_fstest_init.c): Likewise.
45213 (util/grub-fstest.c_DEPENDENCIES): New variable.
45214 (grub_fstest_SOURCES): Likewise.
45215
45216 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45217
45218 * util/grub-fstest.c: New file.
45219
45220 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45221
45222 Make grub-setup handle a separate root device.
45223
45224 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45225 so that the root device can be compared with the destination
45226 device.
45227 When embedding the core image, if the root and destination devices
45228 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45229 0xFF.
45230 When not embedding, set ROOT_DRIVE to 0xFF.
45231
45232 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45233
45234 Add support for having a grub directory in a different drive. This
45235 is still only the data handling part.
45236
45237 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45238 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45239 (grub_root_drive): New variable.
45240
45241 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45242 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45243 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45244 as it was.
45245
45246 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45247
45248 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45249 macro.
45250 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45251
45252 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45253 is bogus, because PXE booting does not specify any drive
45254 correctly.
45255
45256 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45257 am not sure if this is really correct.
45258
45259 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45260 is always identical to the boot drive when booting from a CD.
45261
45262 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45263 longer.
45264 (root_drive): New variable.
45265 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45266 (setup_sectors): Push %dx right after popping it, because %dh will
45267 be modified later.
45268 (copy_buffer): Restore %dx.
45269
45270 2008-02-03 Robert Millan <rmh@aybabtu.com>
45271
45272 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45273 use `cdboot.img' for cdrom images.
45274
45275 2008-02-03 Robert Millan <rmh@aybabtu.com>
45276
45277 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45278 only setup gfxterm when `font' command has succeeded.
45279
45280 2008-02-03 Robert Millan <rmh@aybabtu.com>
45281
45282 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45283 (grub_rescue_cmd_multiboot_loader)
45284 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45285
45286 2008-02-03 Pavel Roskin <proski@gnu.org>
45287
45288 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
45289 %edx and %esi from stack only after grub_gate_a20() is called.
45290 grub_gate_a20() clobbers %edx.
45291
45292 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45293
45294 * configure.ac (AC_INIT): Bumped to 1.96.
45295
45296 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45297 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45298 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45299 video/readers/png.c.
45300
45301 2008-02-03 Bean <bean123ch@gmail.com>
45302
45303 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45304 (cdboot_img_SOURCES): New variable.
45305 (cdboot_img_ASFLAGS): New variable.
45306 (cdboot_img_LDFLAGS): New variable.
45307
45308 * boot/i386/pc/cdboot.S: New file.
45309
45310 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45311 (cd_count): Likewise.
45312 (grub_biosdisk_get_drive): Add support for cd device.
45313 (grub_biosdisk_call_hook): Likewise.
45314 (grub_biosdisk_iterate): Likewise.
45315 (grub_biosdisk_open): Likewise.
45316 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45317 (grub_biosdisk_rw): Support reading from cd device.
45318 (GRUB_MOD_INIT): Iterate cd devices.
45319
45320 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45321 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45322 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45323
45324 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45325
45326 2008-02-02 Robert Millan <rmh@aybabtu.com>
45327
45328 * commands/read.c: New file.
45329 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45330 (read_mod_SOURCES): New variable.
45331 (read_mod_CFLAGS): Likewise.
45332 (read_mod_LDFLAGS): Likewise.
45333
45334 2008-02-02 Robert Millan <rmh@aybabtu.com>
45335
45336 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45337 determining whether menu has to be displayed.
45338
45339 2008-02-02 Marco Gerards <marco@gnu.org>
45340
45341 * bus/pci.c: New file.
45342
45343 * include/grub/pci.h: Likewise.
45344
45345 * include/grub/i386/pc/pci.h: Likewise.
45346
45347 * commands/lspci.c: Likewise.
45348
45349 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45350 `lspci.mod'.
45351 (pci_mod_SOURCES): New variable.
45352 (pci_mod_CFLAGS): Likewise.
45353 (pci_mod_LDFLAGS): Likewise.
45354 (lspci_mod_SOURCES): Likewise.
45355 (lspci_mod_CFLAGS): Likewise.
45356 (lspci_mod_LDFLAGS): Likewise.
45357
45358 2008-02-02 Bean <bean123ch@gmail.com>
45359
45360 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45361 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45362
45363 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45364 (grub_xfs_btree_node): New structure.
45365 (grub_xfs_btree_root): New structure.
45366 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45367 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45368 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45369 (GRUB_XFS_EXTENT_SIZE): Likewise.
45370 (grub_xfs_read_block): Support btree format type.
45371 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45372 Use directory block as basic unit.
45373
45374 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45375
45376 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45377 __attribute__ ((__regparm__ (1))).
45378
45379 2008-02-01 Robert Millan <rmh@aybabtu.com>
45380
45381 Correct a mistake in previous commit.
45382
45383 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45384 top.
45385 (normal/command.c_DEPENDENCIES): New variable.
45386
45387 2008-02-01 Robert Millan <rmh@aybabtu.com>
45388
45389 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45390 top.
45391 (normal/command.c_DEPENDENCIES): New variable.
45392 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45393 * conf/i386-ieee1275.rmk: Likewise.
45394 * conf/i386-linuxbios.rmk: Likewise.
45395 * conf/i386-pc.rmk: Likewise.
45396 * conf/sparc64-ieee1275.rmk: Likewise.
45397 * conf/powerpc-ieee1275.rmk: Likewise.
45398 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45399
45400 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45401
45402 2008-02-01 Robert Millan <rmh@aybabtu.com>
45403
45404 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45405 call at beginning of function.
45406
45407 2008-01-31 Pavel Roskin <proski@gnu.org>
45408
45409 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
45410 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45411 (grub_mkrescue_SOURCES): Likewise.
45412 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45413
45414 2008-01-30 Robert Millan <rmh@aybabtu.com>
45415
45416 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45417 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45418 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45419 (grub_probe_SOURCES): ... to here.
45420
45421 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45422 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45423 * conf/i386-ieee1275.rmk: Likewise.
45424 * conf/i386-linuxbios.rmk: Likewise.
45425 * conf/powerpc-ieee1275.rmk: Likewise.
45426
45427 2008-01-30 Tristan Gingold <gingold@free.fr>
45428
45429 * kern/rescue.c: Silently accept empty lines.
45430
45431 2008-01-29 Bean <bean123ch@gmail.com>
45432
45433 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45434 (real_code_2): Code cleanup and change comment style.
45435 (move_memory): Avoid using 32-bit address mode.
45436
45437 2008-01-29 Bean <bean123ch@gmail.com>
45438
45439 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45440 (png_mod_SOURCES): New variable.
45441 (png_mod_CFLAGS): Likewise.
45442 (png_mod_LDFLAGS): Likewise.
45443
45444 * video/readers/png.c: New file.
45445
45446 2008-01-28 Robert Millan <rmh@aybabtu.com>
45447
45448 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45449 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45450 `ifndef GRUB_MOD_GAP' hack.
45451 * util/elf/grub-mkimage.c (add_segments): Likewise.
45452
45453 2008-01-27 Robert Millan <rmh@aybabtu.com>
45454
45455 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45456 `GRUB_MOD_GAP' for platforms in which it's not defined.
45457 * util/elf/grub-mkimage.c (add_segments): Likewise.
45458
45459 2008-01-27 Robert Millan <rmh@aybabtu.com>
45460
45461 Get grub-emu to build again (including parallel builds).
45462
45463 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45464 Split into ...
45465 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45466 (normal/execute.c_DEPENDENCIES): ... this, ...
45467 (grub-emu_DEPENDENCIES): ... and this.
45468
45469 * conf/i386-efi.rmk: Likewise.
45470 * conf/i386-linuxbios.rmk: Likewise.
45471 * conf/i386-ieee1275.rmk: Likewise.
45472 * conf/powerpc-ieee1275.rmk: Likewise.
45473 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45474
45475 2008-01-27 Robert Millan <rmh@aybabtu.com>
45476
45477 * NEWS: Add a few items.
45478
45479 2008-01-27 Robert Millan <rmh@aybabtu.com>
45480
45481 Fix parallel builds with grub-emu. Based on earlier commit for
45482 grub-probe and grub-setup.
45483
45484 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45485 (util/grub-emu.c_DEPENDENCIES): ... this.
45486 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45487 (util/grub-emu.c_DEPENDENCIES): ... this.
45488 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45489 (util/grub-emu.c_DEPENDENCIES): ... this.
45490 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45491 (util/grub-emu.c_DEPENDENCIES): ... this.
45492 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45493 (util/grub-emu.c_DEPENDENCIES): ... this.
45494
45495 2008-01-27 Pavel Roskin <proski@gnu.org>
45496
45497 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45498 to create a gap between _end and the modules added to the image
45499 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45500 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45501 * util/elf/grub-mkimage.c (add_segments): Likewise.
45502
45503 2008-01-26 Pavel Roskin <proski@gnu.org>
45504
45505 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45506 just return an error.
45507
45508 2008-01-26 Bean <bean123ch@gmail.com>
45509
45510 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45511 (grub_reiserfs_get_item): Save offset of the next item.
45512 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45513
45514 2008-01-25 Robert Millan <rmh@aybabtu.com>
45515
45516 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45517 make all filesystem sources appear together (possibly fixing omissions
45518 while at it).
45519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45521 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45523
45524 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45525 add `kern/file.c'.
45526 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45527 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45528 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45529 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45530
45531 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45532 (probe): Add a sanity check to make sure of our ability to read
45533 requested files when probing for filesystem type.
45534
45535 * genmk.rb: Update copyright year (2007).
45536
45537 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45538 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45539 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45540 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45541 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45542 : Remove function prototypes.
45543
45544 2008-01-25 Robert Millan <rmh@aybabtu.com>
45545
45546 Revert my previous commits (based on wrong assumption of how grub_errno
45547 works).
45548
45549 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
45550 * kern/file.c (grub_file_open): Likewise.
45551
45552 2008-01-24 Pavel Roskin <proski@gnu.org>
45553
45554 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45555 that hang if GRUB tries to setup colors.
45556 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45557 colors for firmwares that don't support it.
45558 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45559 Recognize Open Hack'Ware, set flags to work around its
45560 limitations.
45561
45562 2008-01-24 Robert Millan <rmh@aybabtu.com>
45563
45564 * kern/file.c (grub_file_open): Do not account previous failures of
45565 unrelated functions when grub_errno is checked for.
45566 Reported by Oleg Strikov.
45567
45568 2008-01-24 Bean <bean123ch@gmail.com>
45569
45570 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45571 (grub_ufs_sblock): New member volume name.
45572 (grub_ufs_find_file): Fix string copy bug.
45573 (grub_ufs_label): Implement this function properly.
45574
45575 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45576 (grub_hfs_iterate_records): Use the correct file number for extents
45577 and catalog file. Fix problem in next index calculation.
45578 (grub_hfs_find_node): Replace recursive function call with loop.
45579 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45580
45581 2008-01-23 Robert Millan <rmh@aybabtu.com>
45582
45583 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45584 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45585 (grub_multiboot2_real_boot): New function prototype.
45586
45587 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45588 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45589
45590 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45591 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45592
45593 2008-01-23 Robert Millan <rmh@aybabtu.com>
45594
45595 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45596 #ifdef'ed out grub_printf().
45597
45598 2008-01-23 Robert Millan <rmh@aybabtu.com>
45599
45600 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45601 grub_dprintf calls, since they make "debug=all" mode unusable.
45602 (grub_console_checkkey): Likewise.
45603
45604 2008-01-23 Robert Millan <rmh@aybabtu.com>
45605
45606 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45607 `term/i386/pc/at_keyboard.c'.
45608 (pkglib_MODULES): Add `serial.mod'.
45609 (serial_mod_SOURCES): New variable.
45610 (serial_mod_CFLAGS): Likewise.
45611 (serial_mod_LDFLAGS): Likewise.
45612
45613 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45614 `<grub/powerpc/ieee1275/console.h>'.
45615 (grub_keyboard_controller_init): New function prototype.
45616 (grub_console_checkkey): Likewise.
45617 (grub_console_getkey): Likewise.
45618
45619 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45620 keyboard on i386.
45621
45622 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45623 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45624
45625 2008-01-23 Robert Millan <rmh@aybabtu.com>
45626
45627 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45628 present, "(memdisk)/boot/grub" becomes the default prefix.
45629
45630 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45631 a memdisk tarball with all the modules. Add --overlay=DIR option that
45632 allows users to overlay additional files into the image.
45633
45634 2008-01-23 Robert Millan <rmh@aybabtu.com>
45635
45636 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45637 and `machine/memory.h'.
45638 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45639 (_multiboot_mod_SOURCES): New variable.
45640 (_multiboot_mod_CFLAGS): Likewise.
45641 (_multiboot_mod_LDFLAGS): Likewise.
45642 (multiboot_mod_SOURCES): Likewise.
45643 (multiboot_mod_CFLAGS): Likewise.
45644 (multiboot_mod_LDFLAGS): Likewise.
45645
45646 * include/grub/i386/ieee1275/loader.h: New file.
45647
45648 * include/grub/i386/ieee1275/machine.h: Likewise.
45649
45650 * include/grub/i386/ieee1275/memory.h: Likewise.
45651
45652 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45653 variable declaration.
45654 (grub_os_area_size): Likewise.
45655
45656 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45657 (grub_lower_mem, grub_upper_mem): New variables.
45658 (grub_stop_floppy): New function (just to make
45659 grub_multiboot2_real_boot() happy).
45660
45661 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45662 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45663 (grub_stop): New function.
45664 Include `"../realmode.S"' and `"../loader.S"'.
45665
45666 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45667 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45668
45669 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45670 rely on grub_multiboot2_real_boot() for final boot.
45671
45672 2008-01-22 Robert Millan <rmh@aybabtu.com>
45673
45674 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45675 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45676 device that doesn't look like an SD card.
45677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45678 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45679 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45680 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45681 found.
45682
45683 2008-01-22 Robert Millan <rmh@aybabtu.com>
45684
45685 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45686 avoid claiming over our own code.
45687
45688 2008-01-22 Bean <bean123ch@gmail.com>
45689
45690 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45691 (jpeg_mod_SOURCES): New variable.
45692 (jpeg_mod_CFLAGS): Likewise.
45693 (jpeg_mod_LDFLAGS): Likewise.
45694
45695 * video/readers/jpeg.c : New file.
45696
45697 2008-01-22 Bean <bean123ch@gmail.com>
45698
45699 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45700 there are no more items.
45701
45702 2008-01-21 Robert Millan <rmh@aybabtu.com>
45703
45704 * kern/mm.c (grub_mm_init_region): Improve debug message.
45705
45706 2008-01-21 Robert Millan <rmh@aybabtu.com>
45707
45708 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45709 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45710 address.
45711 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45712 a C macro.
45713 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45714 Indicates start of upper memory.
45715 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45716 (generate_image): Abort when image size is big enough to corrupt
45717 upper memory.
45718
45719 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45720 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45721 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45722 instead of hardcoding 0xA0000.
45723 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45724 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45725 instead of hardcoding 0xA0000.
45726
45727 2008-01-21 Robert Millan <rmh@aybabtu.com>
45728
45729 * disk/memdisk.c (memdisk_size): New variable.
45730 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45731 `memdisk_size'.
45732 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45733 image to dynamic memory.
45734 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45735 `memdisk_size'. Free memdisk block.
45736
45737 2008-01-21 Robert Millan <rmh@aybabtu.com>
45738
45739 Fix detection of very small filesystems (like tar).
45740
45741 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45742 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45743 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45744 a problem with this disk).
45745
45746 2008-01-21 Robert Millan <rmh@aybabtu.com>
45747
45748 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45749 on grub_biosdisk_rw_standard() error.
45750
45751 2008-01-21 Robert Millan <rmh@aybabtu.com>
45752
45753 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45754 recent changes.
45755 * kern/elf.c: Likewise.
45756 * kern/ieee1275/ieee1275.c: Likewise.
45757 * kern/powerpc/ieee1275/openfw.c: Likewise.
45758 * term/ieee1275/ofconsole.c: Likewise.
45759
45760 2008-01-21 Robert Millan <rmh@aybabtu.com>
45761
45762 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45763
45764 * include/grub/kernel.h (grub_arch_memdisk_addr)
45765 (grub_arch_memdisk_size): Moved from here ...
45766
45767 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45768 (grub_arch_memdisk_size): ... to here.
45769
45770 2008-01-21 Robert Millan <rmh@aybabtu.com>
45771
45772 Mostly based on bugfix from Bean.
45773
45774 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45775 attribute with hook() parameter.
45776 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45777 declaration.
45778 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45779 attribute with hook() parameter.
45780 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45781 declaration.
45782
45783 2008-01-21 Robert Millan <rmh@aybabtu.com>
45784
45785 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45786 (pkglib_MODULES): Add `memdisk.mod'.
45787 (memdisk_mod_SOURCES): New variable.
45788 (memdisk_mod_CFLAGS): Likewise.
45789 (memdisk_mod_LDFLAGS): Likewise.
45790
45791 * disk/memdisk.c: New file.
45792
45793 * include/grub/disk.h (grub_disk_dev_id): Add
45794 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45795
45796 * include/grub/i386/pc/kernel.h
45797 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45798 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45799 (grub_kernel_image_size): New variable declaration.
45800 (grub_total_module_size): Likewise.
45801 (grub_memdisk_image_size): Likewise.
45802
45803 * include/grub/i386/pc/memory.h
45804 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45805
45806 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45807 (grub_arch_memdisk_addr): New variable declaration.
45808 (grub_arch_memdisk_size): Likewise.
45809
45810 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45811 (grub_arch_memdisk_size): Likewise.
45812
45813 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45814 (codestart): Replace hardcoded `0x100000' with
45815 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45816
45817 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45818 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45819 not NULL, append the contents of the file it refers to, at the end of
45820 the compressed kernel image. Initialize `grub_memdisk_image_size'
45821 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45822 (options): Add "memdisk"|'m' option.
45823 (main): Parse --memdisk|-m option, and pass user-provided path as
45824 parameter to generate_image().
45825
45826 2008-01-20 Robert Millan <rmh@aybabtu.com>
45827
45828 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45829 grub_dprintf() calls from here ...
45830 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45831
45832 2008-01-20 Robert Millan <rmh@aybabtu.com>
45833
45834 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45835
45836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45837 declaration.
45838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45839 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45840 `GRUB_IEEE1275_FLAG_REAL_MODE'.
45841 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
45842 property).
45843 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45844 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45845
45846 2008-01-19 Robert Millan <rmh@aybabtu.com>
45847
45848 Get rid of confusing function (superseded by
45849 `grub_ieee1275_get_integer_property')
45850 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45851 prototype.
45852 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45853 function.
45854 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45855 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
45856 in native endianness from grub_ieee1275_get_integer_property().
45857
45858 2008-01-19 Robert Millan <rmh@aybabtu.com>
45859
45860 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45861 command after "shut-down", since implementations differ on which
45862 the command for halt is.
45863
45864 2008-01-19 Robert Millan <rmh@aybabtu.com>
45865
45866 * include/grub/i386/linuxbios/console.h: Add header protection.
45867 (grub_keyboard_controller_init): New function prototype.
45868 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45869 (KEYBOARD_COMMAND_READ): Likewise.
45870 (KEYBOARD_COMMAND_WRITE): Likewise.
45871 (KEYBOARD_SCANCODE_SET1): Likewise.
45872 (grub_keyboard_controller_write): New function.
45873 (grub_keyboard_controller_read): Likewise.
45874 (grub_keyboard_controller_init): Likewise.
45875
45876 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45877 (grub_console_init): On coreboot/LinuxBIOS, call
45878 grub_keyboard_controller_init().
45879
45880 2008-01-19 Robert Millan <rmh@aybabtu.com>
45881
45882 PowerPC changes provided by Pavel Roskin.
45883
45884 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45885 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45886 don't rely on cmain() doing it.
45887 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45888 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45889
45890 2008-01-16 Robert Millan <rmh@aybabtu.com>
45891
45892 * include/grub/i386/linuxbios/memory.h
45893 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45894 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45895 receive `table_header' as argument. Instead, probe for it in the
45896 known memory ranges where it can be present.
45897 (grub_available_iterate): Do not pass a fixed `table_header' address
45898 to grub_linuxbios_table_iterate().
45899
45900 2008-01-15 Robert Millan <rmh@aybabtu.com>
45901
45902 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45903 * conf/i386-ieee1275.rmk: New file.
45904 * include/grub/i386/ieee1275/console.h: Likewise.
45905 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45906 * include/grub/i386/ieee1275/kernel.h: Likewise.
45907 * include/grub/i386/ieee1275/time.h: Likewise.
45908 * kern/i386/ieee1275/init.c: Likewise.
45909 * kern/i386/ieee1275/startup.S: Likewise.
45910
45911 2008-01-15 Robert Millan <rmh@aybabtu.com>
45912
45913 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45914 when pointers are 32-bit (but still do set it to one when they are
45915 64-bit).
45916
45917 2008-01-15 Robert Millan <rmh@aybabtu.com>
45918
45919 * include/grub/ieee1275/ieee1275.h
45920 (grub_ieee1275_get_integer_property): New function prototype.
45921
45922 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45923 (grub_ieee1275_get_integer_property): New function. Wraps around
45924 grub_ieee1275_get_property() to handle endianness.
45925
45926 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45927 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
45928 where appropriate.
45929 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45930 (grub_map): Likewise.
45931 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45932
45933 2008-01-15 Bean <bean123ch@gmail.com>
45934
45935 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45936 (grub_script_execute_cmdline): Reset grub_errno.
45937
45938 * normal/main.c (read_config_file): Reset grub_errno.
45939
45940 * normal/parse.y (script_init): New.
45941 (script): Move function and menuentry here.
45942 (delimiter): New.
45943 (command): Add delimiter at the end of command.
45944 (commands): Adjust to match the new command.
45945 (commandblock): Remove grub_script_lexer_record_start.
45946 (menuentry): Add grub_script_lexer_record_start, use the new commands.
45947 (if): Use the new commands.
45948
45949 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45950
45951 2008-01-15 Robert Millan <rmh@aybabtu.com>
45952
45953 * normal/menu.c (run_menu): Move timeout message from here ...
45954 (print_timeout): ... to here.
45955 (run_menu): Use print_timeout() once during initial draw to print
45956 the whole message, and again in every clock tick to update only
45957 the number of seconds.
45958
45959 2008-01-15 Robert Millan <rmh@aybabtu.com>
45960
45961 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45962 actual size of `available' from grub_ieee1275_get_property(), and
45963 restrict parsing to that bound.
45964
45965 2008-01-15 Christian Franke <franke@computer.org>
45966
45967 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45968 (argp_program_version): Remove variable.
45969 (argp_program_bug_address): Likewise.
45970 (options): Convert from struct argp_option to struct option.
45971 (struct arguments): Remove.
45972 (parse_opt): Remove.
45973 (usage): New function.
45974 (main): Replace struct args members by simple variables.
45975 Replace argp_parse() by getopt_long().
45976 Add switch to evaluate options.
45977 Add missing "(...)" around root_dev in prefix string.
45978
45979 2008-01-14 Robert Millan <rmh@aybabtu.com>
45980
45981 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45982 for grub_ieee1275_exit(), in order to improve portability.
45983
45984 2008-01-14 Robert Millan <rmh@aybabtu.com>
45985
45986 * util/grub.d/10_linux.in (prefix): Define.
45987 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45988
45989 2008-01-13 Pavel Roskin <proski@gnu.org>
45990
45991 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45992 grub_errno if no errors have been detected.
45993
45994 2008-01-12 Robert Millan <rmh@aybabtu.com>
45995
45996 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45997 (grub_util_get_dev_abstraction): New function prototype.
45998
45999 * util/getroot.c: Include `<grub/util/getroot.h>'
46000 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46001 (grub_util_get_dev_abstraction): ... here (new function).
46002
46003 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46004 `PRINT_ABSTRACTION'.
46005 (probe): Probe for abstraction type when requested.
46006 (main): Understand `--target=abstraction'.
46007
46008 * util/i386/efi/grub-install.in: Add abstraction module to core
46009 image when it is found to be necessary.
46010 * util/i386/pc/grub-install.in: Likewise.
46011 * util/powerpc/ieee1275/grub-install.in: Likewise.
46012
46013 * util/update-grub_lib.in (font_path): Return system path without
46014 converting to GRUB path.
46015 * util/update-grub.in: Convert system path returned by font_path()
46016 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46017 abstraction module is needed for loading fonts (if any). Export
46018 that as `GRUB_PRELOAD_MODULES'.
46019 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46020 insmod commands).
46021
46022 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46023
46024 Remove some unused code from reiserfs.
46025
46026 * fs/reiserfs.c (struct grub_reiserfs_key)
46027 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46028 (struct grub_reiserfs_node_body): Removed.
46029 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46030 Likewise.
46031 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46032 Likewise.
46033 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46034 Likewise.
46035 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46036 Likewise.
46037 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46038 Likewise.
46039 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46040 Likewise.
46041 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46042 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46043 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46044
46045 2008-01-10 Robert Millan <rmh@aybabtu.com>
46046
46047 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46048 Determines if a file is garbage left by packaging systems, etc.
46049 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46050 for processing /etc/grub.d scripts.
46051 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46052 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46053 as a condition for processing Linux images.
46054
46055 2008-01-10 Pavel Roskin <proski@gnu.org>
46056
46057 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46058 to compile reiserfs.c on PowerPC.
46059
46060 2008-01-10 Robert Millan <rmh@aybabtu.com>
46061
46062 * kern/device.c (grub_device_iterate): Do not abort device iteration
46063 when one of the devices cannot be opened.
46064 * kern/disk.c (grub_disk_open): Do not account previous failures of
46065 unrelated functions when grub_errno is checked for.
46066
46067 2008-01-08 Robert Millan <rmh@aybabtu.com>
46068
46069 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46070 `! grub_linux_is_bzimage', change order of address comparison to make
46071 it more intuitive, and improve "too big zImage" error message.
46072
46073 2008-01-08 Robert Millan <rmh@aybabtu.com>
46074
46075 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46076 `$(update-grub_DATA)'.
46077 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46078 targets.
46079
46080 2008-01-07 Robert Millan <rmh@aybabtu.com>
46081
46082 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46083 which instruction is modified by grub-setup during installation
46084 (since it wasn't obvious by only looking at this file).
46085
46086 2008-01-07 Robert Millan <rmh@aybabtu.com>
46087
46088 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46089 listing actual TODO items.
46090
46091 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46092
46093 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46094 correctly.
46095 (grub_reiserfs_get_key_offset): Likewise.
46096 (grub_reiserfs_set_key_offset): Likewise.
46097 (grub_reiserfs_set_key_type): Likewise.
46098 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46099
46100 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46101 better to remove the bitfield version completely.
46102
46103 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46104
46105 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46106 allocated from the heap, due to the fshelp implementation.
46107 (grub_reiserfs_dir): Free NODE, due to the same reason.
46108
46109 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46110
46111 Mostly from Vincent Pelletier:
46112
46113 * fs/reiserfs.c: New file.
46114
46115 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46116 (reiserfs_mod_SOURCES): New variable.
46117 (reiserfs_mod_CFLAGS): Likewise.
46118 (reiserfs_mod_LDFLAGS): Likewise.
46119
46120 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46121 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46122 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46123 normal/color.c.
46124
46125 2008-01-06 Robert Millan <rmh@aybabtu.com>
46126
46127 * normal/color.c: Remove `<grub/env.h>'.
46128
46129 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46130
46131 * include/grub/normal.h: Include <grub/env.h>.
46132
46133 2008-01-05 Robert Millan <rmh@aybabtu.com>
46134
46135 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46136 usage example with `(hd0,1)'.
46137 Reported by Samuel Thibault.
46138
46139 2008-01-05 Robert Millan <rmh@aybabtu.com>
46140
46141 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46142 (grub_linux_boot_zimage): Rename to ...
46143 (grub_linux_boot): ... this.
46144 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46145 (grub_linux_boot_zimage): Conditionalize zImage copy.
46146
46147 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46148 (grub_linux_boot_bzimage): Remove prototype.
46149 (grub_linux_boot_zimage): Rename to ...
46150 (grub_linux_boot): ... this.
46151
46152 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46153 (grub_linux_boot): Remove function.
46154
46155 2008-01-05 Robert Millan <rmh@aybabtu.com>
46156
46157 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46158 (grub_env_write_color_highlight): Likewise.
46159 (grub_wait_after_message): Likewise.
46160
46161 * normal/color.c: New file.
46162
46163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46164 (normal_mod_DEPENDENCIES): Likewise.
46165
46166 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46167 (normal_mod_DEPENDENCIES): Likewise.
46168
46169 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46170 (normal_mod_DEPENDENCIES): Likewise.
46171
46172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46173 (normal_mod_DEPENDENCIES): Likewise.
46174
46175 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46176 for waiting after a message is printed.
46177 * normal/main.c (read_config_file): Likewise.
46178 (grub_normal_init): Register grub_env_write_color_normal() and
46179 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46180 `color_highlight' variables as global.
46181
46182 * normal/menu.c (grub_wait_after_message): New function.
46183 (grub_color_menu_normal): New variable. Replaces ...
46184 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46185 (grub_color_menu_highlight): New variable. Replaces ...
46186 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46187 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46188 `GRUB_TERM_COLOR_STANDARD'.
46189 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46190 `normal_code' and `highlight_code' to `old_color_normal' and
46191 `old_color_highlight', respectively.
46192 (grub_menu_init_page): Update colors when drawing the menu, based on
46193 `menu_color_normal' and `menu_color_highlight' variables.
46194 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46195 a message is printed.
46196
46197 2008-01-05 Robert Millan <rmh@aybabtu.com>
46198
46199 * kern/env.c (grub_env_context_open): Propagate hooks for global
46200 variables to new context.
46201
46202 * kern/main.c (grub_set_root_dev): Export `root' variable.
46203
46204 2008-01-05 Robert Millan <rmh@aybabtu.com>
46205
46206 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
46207 discs unconditionally, since udev and others have options to provide
46208 them.
46209
46210 2008-01-05 Robert Millan <rmh@aybabtu.com>
46211
46212 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46213
46214 2008-01-04 Christian Franke <franke@computer.org>
46215
46216 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46217 of eisa_mmap.
46218
46219 2008-01-03 Pavel Roskin <proski@gnu.org>
46220
46221 * kern/i386/linuxbios/init.c: Put "void" to all function
46222 declarations with no arguments.
46223 * kern/powerpc/ieee1275/init.c: Likewise.
46224 * term/i386/pc/at_keyboard.c: Likewise.
46225 * term/i386/pc/vga_text.c: Likewise.
46226 * util/grub-mkdevicemap.c: Likewise.
46227
46228 2008-01-02 Robert Millan <rmh@aybabtu.com>
46229
46230 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46231 message when loaded image is out of bounds.
46232 (grub_multiboot_load_elf64): Likewise.
46233
46234 2008-01-02 Pavel Roskin <proski@gnu.org>
46235
46236 * util/grub.d/10_linux.in: Try version without ".old" when
46237 looking for initrd. It's better to use initrd from the newer
46238 kernel of the same version than no initrd at all.
46239
46240 2008-01-01 Robert Millan <rmh@aybabtu.com>
46241
46242 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46243
46244 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46245
46246 * include/grub/video.h: Added grub_video_unmap_color and
46247 grub_video_get_active_render_target.
46248 (grub_video_adapter): Added unmap_color and get_active_render_target.
46249
46250 * video/video.c: Added grub_video_unmap_color and
46251 grub_video_get_active_render_target.
46252 (grub_video_get_info): Changed method to accept NULL pointer as an
46253 argument to allow detection of active video adapter.
46254
46255 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46256 grub_video_vbe_unmap_color_int.
46257 Added grub_video_vbe_unmap_color and
46258 grub_video_vbe_get_active_render_target.
46259 (grub_video_vbe_adapter): Added unmap_color and
46260 get_active_render_target.
46261
46262 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
46263 with grub_video_vbe_unmap_color_int.
46264
46265 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46266 (DEFAULT_NORMAL_COLOR): Likewise.
46267 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46268 (DEFAULT_FG_COLOR): Removed.
46269 (DEFAULT_BG_COLOR): Likewise.
46270 (DEFAULT_CURSOR_COLOR): Changed value.
46271 (grub_virtual_screen): Added standard_color_setting,
46272 normal_color_setting, highlight_color_setting and term_color.
46273 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46274 (bitmap_width): Added.
46275 (bitmap_height): Likewise.
46276 (bitmap): Likewise.
46277 (set_term_color): Likewise.
46278 (grub_virtual_screen_setup): Changed to use new terminal coloring
46279 settings.
46280 (grub_gfxterm_init): Added init for bitmap.
46281 (grub_gfxterm_fini): Added destroy for bitmap.
46282 (redraw_screen_rect): Updated to use background bitmap and new
46283 terminal coloring.
46284 (scroll_up): Added optimization for case when there is no bitmap.
46285 (grub_gfxterm_cls): Fixed to use correct background color.
46286 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46287 coloring.
46288 (grub_virtual_screen_setcolor): Likewise.
46289 (grub_virtual_screen_getcolor): Added.
46290 (grub_gfxterm_background_image_cmd): Likewise.
46291 (grub_video_term): Added setcolor and getcolor.
46292 (MOD_INIT): Added registration of background_image command.
46293 (MOD_TERM): Added unregistration for background_image command.
46294
46295 2007-12-30 Pavel Roskin <proski@gnu.org>
46296
46297 * loader/multiboot_loader.c: Fix multiboot command
46298 unregistration. Fix all typos in the word "multiboot".
46299
46300 2007-12-29 Pavel Roskin <proski@gnu.org>
46301
46302 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46303 support for initrd names used in Fedora.
46304
46305 2007-12-26 Bean <bean123ch@gmail.com>
46306
46307 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46308 (cpio_mod_SOURCES): New variable.
46309 (cpio_mod_CFLAGS): Likewise.
46310 (cpio_mod_LDFLAGS): Likewise.
46311
46312 * fs/cpio.c: New file.
46313
46314 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46315
46316 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46317
46318 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46319
46320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46321
46322 2007-12-25 Robert Millan <rmh@aybabtu.com>
46323
46324 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46325 (grub_getcolor): New function.
46326
46327 * kern/term.c (grub_getcolor): New function.
46328 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46329 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46330 (print_entry): Set normal and highlight colors to
46331 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46332 respectively, before printing and restore them to old
46333 values afterwards.
46334 (grub_menu_init_page): Likewise. Fill an additional colored space
46335 that would otherwise be left blank.
46336
46337 * term/efi/console.c (grub_console_getcolor): New function.
46338 (struct grub_console_term.getcolor): New variable.
46339 * term/i386/pc/console.c (grub_console_getcolor): New function.
46340 (struct grub_console_term.getcolor): New variable.
46341 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46342 (struct grub_console_term.getcolor): New variable.
46343
46344 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46345 (struct grub_console_term.setcolor): Remove variable.
46346 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46347 (struct grub_console_term.setcolor): Remove variable.
46348 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46349 (struct grub_console_term.setcolor): Remove variable.
46350 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46351 (struct grub_console_term.setcolor): Remove variable.
46352
46353 2007-12-25 Robert Millan <rmh@aybabtu.com>
46354
46355 * configure.ac: Search for possible unifont.hex locations, and
46356 define UNIFONT_HEX if found.
46357
46358 * Makefile.in (UNIFONT_HEX): Define variable.
46359 (DATA): Rename to ...
46360 (PKGLIB): ... this. Update all users.
46361 (PKGDATA): New variable.
46362 (pkgdata_IMAGES): Rename to ...
46363 (pkglib_IMAGES): ... this. Update all users.
46364 (pkgdata_MODULES): Rename to ...
46365 (pkglib_MODULES): ... this. Update all users.
46366 (pkgdata_PROGRAMS): Rename to ...
46367 (pkglib_PROGRAMS): ... this. Update all users.
46368 (pkgdata_DATA): Rename to ...
46369 (pkglib_DATA): ... this. Update all users.
46370 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46371 (unicode.pff, ascii.pff): New rules.
46372 (all-local): Add `$(PKGDATA)' dependency.
46373 (install-local): Process `$(PKGDATA)'.
46374
46375 * util/update-grub_lib.in (font_path): Search for *.pff files in
46376 a few more locations, including `${pkgdata}'.
46377
46378 2007-12-23 Robert Millan <rmh@aybabtu.com>
46379
46380 Patch from Bean <bean123ch@gmail.com>:
46381 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46382 `size'.
46383
46384 2007-12-21 Bean <bean123ch@gmail.com>
46385
46386 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46387 (ntfscomp_mod_SOURCES): New variable.
46388 (ntfscomp_mod_CFLAGS): Likewise.
46389 (ntfscomp_mod_LDFLAGS): Likewise.
46390
46391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46392 (grub_probe_SOURCES): Likewise.
46393 (grub_emu_SOURCES): Likewise.
46394
46395 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46396 (grub_emu_SOURCES): Likewise.
46397
46398 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46399 (grub_emu_SOURCES): Likewise.
46400
46401 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46402 (grub_emu_SOURCES): Likewise.
46403
46404 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46405 (read_run_list): Renamed to grub_ntfs_read_run_list.
46406 (decomp_nextvcn): Moved to ntfscomp.c.
46407 (decomp_getch): Likewise.
46408 (decomp_get16): Likewise.
46409 (decomp_block): Likewise.
46410 (read_block): Likewise.
46411 (read_data): Partially moved to ntfscomp.c.
46412 (fixup): Change unsigned to grub_uint16_t.
46413 (read_mft): Change unsigned long to grub_uint32_t.
46414 (read_attr): Likewise.
46415 (read_data): Likewise.
46416 (read_run_data): Likewise.
46417 (read_run_list): Likewise.
46418 (read_mft): Likewise.
46419
46420 * fs/ntfscomp.c: New file.
46421
46422 * include/grub/ntfs.h: New file.
46423
46424 2007-12-16 Robert Millan <rmh@aybabtu.com>
46425
46426 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46427 IDE disk check, since Linux is known to support 20 IDE disks.
46428 Reported by Colin Watson.
46429
46430 2007-12-15 Bean <bean123ch@gmail.com>
46431
46432 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46433 (lnxboot_img_SOURCES): New variable.
46434 (lnxboot_img_ASFLAGS): Likewise.
46435 (lnxboot_img_LDFLAGS): Likewise.
46436
46437 * boot/i386/pc/lnxboot.S: New file.
46438
46439 2007-11-24 Pavel Roskin <proski@gnu.org>
46440
46441 * configure.ac: Test if '--build-id=none' is supported by the
46442 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46443 objcopy to generate incorrect binary files (binutils
46444 2.17.50.0.18-1 as shipped by Fedora 8).
46445 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46446 linking, so that build ID doesn't break the test.
46447
46448 2007-11-24 Pavel Roskin <proski@gnu.org>
46449
46450 * include/grub/i386/time.h: use "void" in the argument list
46451 of grub_cpu_idle().
46452 * include/grub/powerpc/time.h: Likewise.
46453 * include/grub/sparc64/time.h: Likewise.
46454
46455 2007-11-18 Christian Franke <franke@computer.org>
46456
46457 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46458 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46459 This fixes the problem that function keys did not work in grub-emu.
46460
46461 2007-11-18 Christian Franke <franke@computer.org>
46462
46463 * disk/host.c (grub_host_open): Remove attribute unused from
46464 name parameter. Add check for "host". This fixes the problem
46465 that grub-emu does not find partitions.
46466
46467 2007-11-18 Christian Franke <franke@computer.org>
46468
46469 * util/hostfs.c (is_dir): New function.
46470 (grub_hostfs_dir): Handle missing dirent.d_type case.
46471 (grub_hostfs_read): Add missing fseek().
46472 (grub_hostfs_label): Clear label pointer. This fixes a crash
46473 of grub-emu on "ls (host)".
46474
46475 2007-11-18 Christian Franke <franke@computer.org>
46476
46477 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46478 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46479 to 64 bit boundary by default.
46480
46481 2007-11-18 Bean <bean123ch@gmail.com>
46482
46483 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46484 (hexdump_mod_SOURCES): New variable.
46485 (hexdump_mod_CFLAGS): Likewise.
46486 (hexdump_mod_LDFLAGS): Likewise.
46487
46488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46489
46490 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46491
46492 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46493
46494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46495
46496 * include/grub/hexdump.h: New file.
46497
46498 * commands/hexdump.c: New file.
46499
46500 2007-11-10 Robert Millan <rmh@aybabtu.com>
46501
46502 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46503 in grub_outb() calls.
46504 (beep_on): Likewise.
46505
46506 2007-11-10 Christian Franke <franke@computer.org>
46507
46508 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46509 (grub_menu_run): Likewise.
46510
46511 2007-11-10 Robert Millan <rmh@aybabtu.com>
46512
46513 * include/grub/i386/efi/machine.h: New file.
46514 * include/grub/i386/linuxbios/machine.h: Likewise.
46515 * include/grub/i386/pc/machine.h: Likewise.
46516 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46517 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46518
46519 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46520 (serial_hw_io_addr): New variable.
46521 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46522 instead of `(unsigned short *) 0x400'.
46523
46524 2007-11-10 Bean <bean123ch@gmail.com>
46525
46526 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46527
46528 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46529
46530 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46531 (vga_mod_SOURCES): Added.
46532 (vga_mod_CFLAGS): Likewise.
46533 (vga_mod_LDFLAGS): Likewise.
46534
46535 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46536 grub_outb() calls.
46537 (set_map_mask): Likewise.
46538 (set_read_map): Likewise.
46539 (set_read_address): Likewise.
46540 (vga_font): Removed variable.
46541 (get_vga_glyph): Removed function.
46542 (invalidate_char): Likewise.
46543 (write_char): Changed to use grub_font_get_glyph() for font
46544 information.
46545 (grub_vga_putchar): Likewise.
46546 (grub_vga_getcharwidth): Likewise.
46547
46548 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46549
46550 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46551 flags.
46552 (pxeboot_img_LDFLAGS): Likewise.
46553 (diskboot_img_LDFLAGS): Likewise.
46554 (kernel_img_LDFLAGS): Likewise.
46555
46556 2007-11-06 Robert Millan <rmh@aybabtu.com>
46557
46558 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46559 in grub_outb() calls.
46560 (serial_hw_init): Likewise.
46561
46562 2007-11-05 Robert Millan <rmh@aybabtu.com>
46563
46564 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46565 spaces. Skip non-regular files.
46566
46567 2007-11-05 Robert Millan <rmh@aybabtu.com>
46568
46569 * kern/disk.c (grub_disk_firmware_fini)
46570 (grub_disk_firmware_is_tainted): New variables.
46571
46572 * include/grub/disk.h (grub_disk_firmware_fini)
46573 (grub_disk_firmware_is_tainted): Likewise.
46574
46575 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46576 (grub_disk_biosdisk_fini): ... to here.
46577 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46578 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46579 is set. Register grub_disk_biosdisk_fini() in
46580 `grub_disk_firmware_fini'.
46581
46582 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46583 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46584 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46585 to finish existing firmware disk interface.
46586
46587 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46588 (ata_mod_SOURCES): New variable.
46589 (ata_mod_CFLAGS): Likewise.
46590 (ata_mod_LDFLAGS): Likewise.
46591
46592 2007-11-05 Robert Millan <rmh@aybabtu.com>
46593
46594 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46595 (grub_ata_wait): Reimplement using grub_millisleep().
46596
46597 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46598 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46599
46600 2007-11-03 Marco Gerards <marco@gnu.org>
46601
46602 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46603 (CRTC_ADDR_PORT): New macro.
46604 (CRTC_DATA_PORT): Likewise.
46605 (CRTC_CURSOR): Likewise.
46606 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46607 (CRTC_CURSOR_ADDR_LOW): Likewise.
46608 (update_cursor): New function.
46609 (grub_console_real_putchar): Call `update_cursor'.
46610 (grub_console_gotoxy): Likewise.
46611 (grub_console_cls): Set the default color when clearing the
46612 screen.
46613 (grub_console_setcursor): Implemented.
46614
46615 2007-11-03 Marco Gerards <marco@gnu.org>
46616
46617 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46618 become activate.
46619 (grub_ata_pio_write): Likewise.
46620
46621 (grub_atapi_identify): Wait after issuing an ATA command.
46622 (grub_atapi_packet): Likewise.
46623 (grub_ata_identify): Likewise.
46624 (grub_ata_readwrite): Likewise.
46625
46626 2007-11-03 Marco Gerards <marco@gnu.org>
46627
46628 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46629 (grub_ata_pio_write): Likewise.
46630 (grub_ata_readwrite): Use `grub_error', instead of
46631 returning `grub_errno'.
46632
46633 2007-11-03 Marco Gerards <marco@gnu.org>
46634
46635 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46636 grub_ata_pio_write once for every single sector, instead of for
46637 multiple sectors.
46638
46639 2007-10-31 Robert Millan <rmh@aybabtu.com>
46640
46641 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46642
46643 * conf/i386-linuxbios.rmk: New file.
46644
46645 * kern/i386/pc/hardware.c: Likewise.
46646 * term/i386/pc/at_keyboard.c: Likewise.
46647 * term/i386/pc/vga_text.c: Likewise.
46648
46649 * include/grub/i386/linuxbios/boot.h: Likewise.
46650 * include/grub/i386/linuxbios/console.h: Likewise.
46651 * include/grub/i386/linuxbios/init.h: Likewise.
46652 * include/grub/i386/linuxbios/kernel.h: Likewise.
46653 * include/grub/i386/linuxbios/loader.h: Likewise.
46654 * include/grub/i386/linuxbios/memory.h: Likewise.
46655 * include/grub/i386/linuxbios/serial.h: Likewise.
46656 * include/grub/i386/linuxbios/time.h: Likewise.
46657
46658 * kern/i386/linuxbios/init.c: Likewise.
46659 * kern/i386/linuxbios/startup.S: Likewise.
46660 * kern/i386/linuxbios/table.c: Likewise.
46661
46662 2007-10-31 Marco Gerards <marco@gnu.org>
46663
46664 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46665 (ata_mod_SOURCES): New variable.
46666 (ata_mod_CFLAGS): Likewise.
46667 (ata_mod_LDFLAGS): Likewise.
46668
46669 * disk/ata.c: New file.
46670
46671 * include/grub/disk.h (grub_disk_dev_id): Add
46672 `GRUB_DISK_DEV_ATA_ID'.
46673
46674 2007-10-31 Robert Millan <rmh@aybabtu.com>
46675
46676 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46677 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46678
46679 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46680 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46681
46682 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46683 `<grub/types.h>'.
46684
46685 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46686
46687 2007-10-27 Robert Millan <rmh@aybabtu.com>
46688
46689 * include/grub/types.h (ULONG_MAX): Define macro.
46690
46691 2007-10-22 Robert Millan <rmh@aybabtu.com>
46692
46693 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46694 `"../realmode.S"'.
46695 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46696
46697 2007-10-22 Robert Millan <rmh@aybabtu.com>
46698
46699 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46700 (pkgdata_MODULES): Add `biosdisk.mod'.
46701 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46702 variables.
46703
46704 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46705 (grub_biosdisk_init): Replace with ...
46706 (GRUB_MOD_INIT(biosdisk)): ... this.
46707 (grub_biosdisk_fini): Replace with ...
46708 (GRUB_MOD_FINI(biosdisk)): ... this.
46709
46710 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46711 (grub_machine_init): Remove call to grub_biosdisk_init().
46712 (grub_machine_fini): Remove call to grub_machine_fini().
46713
46714 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46715
46716 2007-10-22 Robert Millan <rmh@aybabtu.com>
46717
46718 * include/grub/time.h: New file.
46719 * include/grub/i386/time.h: Likewise.
46720 * include/grub/powerpc/time.h: Likewise.
46721 * include/grub/sparc64/time.h: Likewise.
46722
46723 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46724 instances to ...
46725 (KERNEL_MACHINE_TIME_HEADER): ... this.
46726 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46727 instances to ...
46728 (KERNEL_MACHINE_TIME_HEADER): ... this.
46729 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46730 instances to ...
46731 (KERNEL_MACHINE_TIME_HEADER): ... this.
46732
46733 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46734 (grub_millisleep): New function.
46735 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46736 (grub_millisleep): New function.
46737 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46738 Remove `grub/machine/time.h' include.
46739 (grub_millisleep): New function.
46740 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46741 Remove `grub/machine/time.h' include.
46742 (grub_millisleep): New function.
46743
46744 * include/grub/misc.h (grub_div_roundup): New function.
46745
46746 * kern/misc.c: Include `<grub/time.h>'.
46747 (grub_millisleep_generic): New function.
46748
46749 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46750 Add `time.h'.
46751 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46752 Add `time.h'.
46753 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46754 `machine/time.h'. Add `time.h'.
46755 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46756
46757 2007-10-21 Robert Millan <rmh@aybabtu.com>
46758
46759 * include/grub/misc.h (grub_max): New function.
46760
46761 2007-10-21 Robert Millan <rmh@aybabtu.com>
46762
46763 * util/misc.c (grub_util_info): Call fflush() before returning.
46764
46765 2007-10-20 Robert Millan <rmh@aybabtu.com>
46766
46767 * genmk.rb (Image): Copy `extra_flags' from here ...
46768 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46769
46770 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46771 to `argc' and `args' arguments.
46772
46773 2007-10-17 Robert Millan <rmh@aybabtu.com>
46774
46775 * kern/i386/loader.S: New file.
46776
46777 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46778 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46779 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46780 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46781 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46782 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46783 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46784 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46785 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46786 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46787 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46788 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46789 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46790 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46791
46792 * kern/i386/realmode.S: New file.
46793
46794 * kern/i386/pc/startup.S (protstack): Moved from here ...
46795 * kern/i386/realmode.S (protstack)... to here.
46796 * kern/i386/pc/startup.S (gdt): Moved from here ...
46797 * kern/i386/realmode.S (gdt)... to here.
46798 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46799 * kern/i386/realmode.S (prot_to_real)... to here.
46800
46801 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46802 `kern/i386/realmode.S'.
46803
46804 2007-10-17 Robert Millan <rmh@aybabtu.com>
46805
46806 * include/grub/i386/loader.h: New file.
46807
46808 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46809 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46810 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46811 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46812 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46813 * include/grub/i386/loader.h (grub_linux_prot_size)
46814 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46815 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46816 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46817 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46818
46819 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46820
46821 2007-10-15 Robert Millan <rmh@aybabtu.com>
46822
46823 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46824 filesystem when dev->disk is unset.
46825 Do probe for filesystem even when dev->disk->has_partitions is set.
46826 In case a filesystem is found, always report it.
46827 In case it isn't, if dev->disk->has_partitions is set, report that
46828 a partition table was found instead of reporting that no filesystem
46829 could be identified.
46830
46831 2007-10-12 Robert Millan <rmh@aybabtu.com>
46832
46833 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46834 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46835
46836 * include/grub/types.h (grub_host_to_target16): New macro.
46837 (grub_host_to_target32): Likewise.
46838 (grub_host_to_target64): Likewise.
46839 (grub_target_to_host16): Likewise.
46840 (grub_target_to_host32): Likewise.
46841 (grub_target_to_host64): Likewise.
46842
46843 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46844 Renamed from to ...
46845 (GRUB_MOD_ALIGN): ...this. Update all users.
46846
46847 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46848 grub_host_to_target32.
46849 Replace grub_be_to_cpu32 with grub_target_to_host32.
46850 (load_modules): Likewise.
46851 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46852 Replace grub_be_to_cpu32 with grub_target_to_host32.
46853 Replace grub_cpu_to_be16 with grub_host_to_target16.
46854 Replace grub_cpu_to_be32 grub_host_to_target32.
46855
46856 2007-10-12 Robert Millan <rmh@aybabtu.com>
46857
46858 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46859 * util/elf/grub-mkimage.c: ... here.
46860
46861 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46862 `util/powerpc/ieee1275/grub-mkimage.c'.
46863
46864 2007-10-07 Robert Millan <rmh@aybabtu.com>
46865
46866 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46867 and make it easier to figure out.
46868 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46869 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46870 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46871 leave us with less than HEAP_MIN_SIZE total heap.
46872 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
46873
46874 2007-10-03 Robert Millan <rmh@aybabtu.com>
46875
46876 * include/grub/i386/io.h: New file.
46877 * commands/i386/pc/play.c (inb): Removed.
46878 (outb): Removed.
46879 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46880 with grub_outb().
46881 * term/i386/pc/serial.c (inb): Removed.
46882 (outb): Removed.
46883 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46884 with grub_outb().
46885 * term/i386/pc/vga.c (inb): Removed.
46886 (outb): Removed.
46887 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46888 with grub_outb().
46889
46890 2007-10-02 Robert Millan <rmh@aybabtu.com>
46891
46892 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46894 Reported by Marcin Kurek.
46895
46896 2007-09-07 Robert Millan <rmh@aybabtu.com>
46897
46898 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46899 SmartFirmware version updates (as released by Sven Luther), and avoid
46900 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46901 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46902 known broken.
46903
46904 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46905
46906 From Hitoshi Ozeki:
46907 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46908 when merging two regions.
46909
46910 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46911
46912 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46913 * normal/completion.c (grub_normal_do_completion): Likewise.
46914 Reported by Hitoshi Ozeki.
46915
46916 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46917
46918 Do not use devices at boot in chainloading.
46919
46920 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46921 (boot_part_addr): Likewise.
46922 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46923 with BOOT_DRIVE and BOOT_PART_ADDR.
46924 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46925 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46926
46927 2007-08-29 Robert Millan <rmh@aybabtu.com>
46928
46929 Patch from Simon Peter <dn.tlp@gmx.net>:
46930 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46931 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46932 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46933 util/i386/pc/grub-setup.c_DEPENDENCIES.
46934 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46935 util/grub-probe.c_DEPENDENCIES.
46936 * conf/powerpc-ieee1275.rmk: Likewise.
46937
46938 2007-08-28 Robert Millan <rmh@aybabtu.com>
46939
46940 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46941 to tell grub-mkdevicemap how to name devices.
46942 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46943 feature).
46944
46945 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46946 util/i386/get_disk_name.c.
46947 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46948 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46949 util/ieee1275/get_disk_name.c.
46950
46951 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46952
46953 * DISTLIST: Add util/i386/get_disk_name.c and
46954 util/ieee1275/get_disk_name.c.
46955
46956 * util/grub-mkdevicemap.c: Replace device naming logic with
46957 grub_util_get_disk_name() calls.
46958
46959 2007-08-20 Robert Millan <rmh@aybabtu.com>
46960
46961 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46962 (so that it works for both plural and singular quantities).
46963
46964 2007-08-05 Robert Millan <rmh@aybabtu.com>
46965
46966 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46967 so that [xz] isn't taken into account when determining order.
46968
46969 2007-08-02 Marco Gerards <marco@gnu.org>
46970
46971 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46972 `include/multiboot2.h', `include/grub/elfload.h',
46973 `include/multiboot.h', `include/grub/multiboot.h',
46974 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46975 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46976 `kern/elf.c', `loader/multiboot_loader.c',
46977 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46978 `loader/i386/pc/multiboot2.c',
46979 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46980 `util/i386/pc/grub-mkrescue.in'. Remove
46981 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46982 `include/grub/i386/pc/util/biosdisk.h' and
46983 `include/grub/powerpc/ieee1275/multiboot.h'.
46984
46985 2007-08-02 Bean <bean123ch@gmail.com>
46986
46987 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46988 (ntfs_mod_SOURCES): New variable.
46989 (ntfs_mod_CFLAGS): Likewise.
46990 (ntfs_mod_LDFLAGS): Likewise.
46991
46992 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46993 (grub_probe_SOURCES): Likewise.
46994 (grub_emu_SOURCES): Likewise.
46995
46996 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46997 (grub_emu_SOURCES): Likewise.
46998
46999 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47000 (grub_emu_SOURCES): Likewise.
47001
47002 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47003
47004 * fs/ntfs.c: New file.
47005
47006 2007-08-02 Bean <bean123ch@gmail.com>
47007
47008 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47009
47010 * file.h (grub_file): Likewise.
47011
47012 * fshelp.h (grub_fshelp_read_file): Likewise.
47013
47014 * util/i386/pc/grub-setup.c (setup): Likewise.
47015 (save_first_sector): Likewise.
47016 (save_blocklists): Likewise.
47017
47018 * fs/affs.c (grub_affs_read_file): Likewise.
47019
47020 * fs/ext2.c (grub_ext2_read_file): Likewise.
47021
47022 * fs/fat.c (grub_fat_read_data): Likewise.
47023
47024 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47025
47026 * fs/hfs.c (grub_hfs_read_file): Likewise.
47027
47028 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47029
47030 * fs/jfs.c (grub_jfs_read_file): Likewise.
47031
47032 * fs/minix.c (grub_minix_read_file): Likewise.
47033
47034 * fs/sfs.c (grub_sfs_read_file): Likewise.
47035
47036 * fs/ufs.c (grub_ufs_read_file): Likewise.
47037
47038 * fs/xfs.c (grub_xfs_read_file): Likewise.
47039
47040 * command/blocklist.c (read_blocklist): Likewise.
47041 (print_blocklist): Likewise.
47042
47043 2007-08-02 Marco Gerards <marco@gnu.org>
47044
47045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47046 `util/hostfs.c'.
47047
47048 * disk/host.c: New file.
47049
47050 * util/hostfs.c: Likewise.
47051
47052 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47053 return `GRUB_ERR_BAD_FS'.
47054 * fs/sfs.c (grub_sfs_mount): Likewise.
47055 * fs/xfs.c (grub_xfs_mount): Likewise.
47056
47057 * include/grub/disk.h (enum grub_disk_dev_id): Add
47058 `GRUB_DISK_DEVICE_HOST_ID'.
47059
47060 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47061
47062 2007-07-24 Jerone Young <jerone@gmail.com>
47063
47064 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47065 modules for compilation.
47066 * conf/powerpc-ieee1275.rmk: Likewise.
47067
47068 * include/multiboot.h: Move multiboot definitions to one file. Rename
47069 many definitions to not get grub specific.
47070 * include/multiboot2.h: Create header with multiboot 2 definitions.
47071 * include/grub/multiboot.h: Header for grub specific function
47072 prototypes and definitions.
47073 * include/grub/multiboot2.h: Likewise.
47074 * include/grub/multiboot_loader.h: Likewise.
47075 * include/grub/i386/pc/multiboot.h: Removed.
47076 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47077
47078 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47079 and 2 to allow for one multiboot and module commands.
47080 * loader/multiboot2.c: Add multiboot2 functionality.
47081 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47082 and definition names.
47083 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47084 2 functions.
47085 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47086 ieee1275 specific multiboot2 code.
47087
47088 * kern/i386/pc/startup.S: Change headers and definition names for
47089 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47090
47091 2007-07-22 Robert Millan <rmh@aybabtu.com>
47092
47093 * geninitheader.sh: Process file specified in first parameter rather
47094 than hardcoding grub_modules_init.lst.
47095 * geninit.sh: Likewise. Also, construct header name dynamically rather
47096 than hardcoding grub_modules_init.h.
47097
47098 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47099 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47100 grub_probe_init.[ch] and grub_setup_init.[ch].
47101
47102 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47103 grub_modules_init.h with grub_emu_init.h.
47104 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47105 grub_probe_init.[ch] files.
47106 * conf/i386-efi.rmk: Likewise.
47107 * conf/i386-pc.rmk: Likewise.
47108 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47109 grub_setup_init.[ch] files.
47110
47111 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47112 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47113 to initialize modules rather than a list of hardcoded functions.
47114 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47115 grub_init_all() to initialize modules rather than a list of hardcoded
47116 functions.
47117
47118 2007-07-22 Robert Millan <rmh@aybabtu.com>
47119
47120 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47121 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47122
47123 2007-07-22 Robert Millan <rmh@aybabtu.com>
47124
47125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47126 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47127 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47128 flag when running on SmartFirmware.
47129 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47130 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47131 was set.
47132
47133 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47134 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47135 rather than decreasing it.
47136
47137 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47138 there's not enough space to do it, fail in the same way as when it
47139 can't be done because there are no partitions.
47140
47141 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47142 when nvsetenv failed.
47143
47144 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47145
47146 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47147 because this rule is automatically generated.
47148 (grub-mkrescue): Removed for the same reason as above.
47149
47150 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47151
47152 Migrate to GNU General Public License Version 3.
47153
47154 * COPYING: Replaced with the plain text version of GPLv3.
47155
47156 * config.guess: Updated from gnulib.
47157 * config.sub: Likewise.
47158
47159 * geninit.sh: Output a GPLv3 copyright notice.
47160 * geninitheader.sh: Likewise.
47161 * genmodsrc.sh: Likewise.
47162 * gensymlist.sh.in: Likewise.
47163
47164 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47165 * boot/i386/pc/diskboot.S: Likewise.
47166 * boot/i386/pc/pxeboot.S: Likewise.
47167 * commands/blocklist.c: Likewise.
47168 * commands/boot.c: Likewise.
47169 * commands/cat.c: Likewise.
47170 * commands/cmp.c: Likewise.
47171 * commands/configfile.c: Likewise.
47172 * commands/echo.c: Likewise.
47173 * commands/help.c: Likewise.
47174 * commands/ls.c: Likewise.
47175 * commands/search.c: Likewise.
47176 * commands/terminal.c: Likewise.
47177 * commands/test.c: Likewise.
47178 * commands/videotest.c: Likewise.
47179 * commands/i386/cpuid.c: Likewise.
47180 * commands/i386/pc/halt.c: Likewise.
47181 * commands/i386/pc/play.c: Likewise.
47182 * commands/i386/pc/reboot.c: Likewise.
47183 * commands/i386/pc/vbeinfo.c: Likewise.
47184 * commands/i386/pc/vbetest.c: Likewise.
47185 * commands/ieee1275/halt.c: Likewise.
47186 * commands/ieee1275/reboot.c: Likewise.
47187 * commands/ieee1275/suspend.c: Likewise.
47188 * disk/loopback.c: Likewise.
47189 * disk/lvm.c: Likewise.
47190 * disk/raid.c: Likewise.
47191 * disk/efi/efidisk.c: Likewise.
47192 * disk/i386/pc/biosdisk.c: Likewise.
47193 * disk/ieee1275/ofdisk.c: Likewise.
47194 * font/manager.c: Likewise.
47195 * fs/affs.c: Likewise.
47196 * fs/ext2.c: Likewise.
47197 * fs/fat.c: Likewise.
47198 * fs/fshelp.c: Likewise.
47199 * fs/hfs.c: Likewise.
47200 * fs/hfsplus.c: Likewise.
47201 * fs/iso9660.c: Likewise.
47202 * fs/jfs.c: Likewise.
47203 * fs/minix.c: Likewise.
47204 * fs/sfs.c: Likewise.
47205 * fs/ufs.c: Likewise.
47206 * fs/xfs.c: Likewise.
47207 * hello/hello.c: Likewise.
47208 * include/grub/acorn_filecore.h: Likewise.
47209 * include/grub/arg.h: Likewise.
47210 * include/grub/bitmap.h: Likewise.
47211 * include/grub/boot.h: Likewise.
47212 * include/grub/cache.h: Likewise.
47213 * include/grub/device.h: Likewise.
47214 * include/grub/disk.h: Likewise.
47215 * include/grub/dl.h: Likewise.
47216 * include/grub/elfload.h: Likewise.
47217 * include/grub/env.h: Likewise.
47218 * include/grub/err.h: Likewise.
47219 * include/grub/file.h: Likewise.
47220 * include/grub/font.h: Likewise.
47221 * include/grub/fs.h: Likewise.
47222 * include/grub/fshelp.h: Likewise.
47223 * include/grub/gzio.h: Likewise.
47224 * include/grub/hfs.h: Likewise.
47225 * include/grub/kernel.h: Likewise.
47226 * include/grub/loader.h: Likewise.
47227 * include/grub/lvm.h: Likewise.
47228 * include/grub/misc.h: Likewise.
47229 * include/grub/mm.h: Likewise.
47230 * include/grub/net.h: Likewise.
47231 * include/grub/normal.h: Likewise.
47232 * include/grub/parser.h: Likewise.
47233 * include/grub/partition.h: Likewise.
47234 * include/grub/pc_partition.h: Likewise.
47235 * include/grub/raid.h: Likewise.
47236 * include/grub/rescue.h: Likewise.
47237 * include/grub/script.h: Likewise.
47238 * include/grub/setjmp.h: Likewise.
47239 * include/grub/symbol.h: Likewise.
47240 * include/grub/term.h: Likewise.
47241 * include/grub/terminfo.h: Likewise.
47242 * include/grub/tparm.h: Likewise.
47243 * include/grub/types.h: Likewise.
47244 * include/grub/video.h: Likewise.
47245 * include/grub/efi/api.h: Likewise.
47246 * include/grub/efi/chainloader.h: Likewise.
47247 * include/grub/efi/console.h: Likewise.
47248 * include/grub/efi/console_control.h: Likewise.
47249 * include/grub/efi/disk.h: Likewise.
47250 * include/grub/efi/efi.h: Likewise.
47251 * include/grub/efi/pe32.h: Likewise.
47252 * include/grub/efi/time.h: Likewise.
47253 * include/grub/i386/linux.h: Likewise.
47254 * include/grub/i386/setjmp.h: Likewise.
47255 * include/grub/i386/types.h: Likewise.
47256 * include/grub/i386/efi/kernel.h: Likewise.
47257 * include/grub/i386/efi/loader.h: Likewise.
47258 * include/grub/i386/efi/time.h: Likewise.
47259 * include/grub/i386/pc/biosdisk.h: Likewise.
47260 * include/grub/i386/pc/boot.h: Likewise.
47261 * include/grub/i386/pc/chainloader.h: Likewise.
47262 * include/grub/i386/pc/console.h: Likewise.
47263 * include/grub/i386/pc/init.h: Likewise.
47264 * include/grub/i386/pc/kernel.h: Likewise.
47265 * include/grub/i386/pc/loader.h: Likewise.
47266 * include/grub/i386/pc/memory.h: Likewise.
47267 * include/grub/i386/pc/multiboot.h: Likewise.
47268 * include/grub/i386/pc/serial.h: Likewise.
47269 * include/grub/i386/pc/time.h: Likewise.
47270 * include/grub/i386/pc/vbe.h: Likewise.
47271 * include/grub/i386/pc/vbeblit.h: Likewise.
47272 * include/grub/i386/pc/vbefill.h: Likewise.
47273 * include/grub/i386/pc/vbeutil.h: Likewise.
47274 * include/grub/i386/pc/vga.h: Likewise.
47275 * include/grub/ieee1275/ieee1275.h: Likewise.
47276 * include/grub/ieee1275/ofdisk.h: Likewise.
47277 * include/grub/powerpc/libgcc.h: Likewise.
47278 * include/grub/powerpc/setjmp.h: Likewise.
47279 * include/grub/powerpc/types.h: Likewise.
47280 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47281 * include/grub/powerpc/ieee1275/console.h: Likewise.
47282 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47283 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47284 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47285 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47286 * include/grub/powerpc/ieee1275/time.h: Likewise.
47287 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47288 * include/grub/sparc64/libgcc.h: Likewise.
47289 * include/grub/sparc64/setjmp.h: Likewise.
47290 * include/grub/sparc64/types.h: Likewise.
47291 * include/grub/sparc64/ieee1275/console.h: Likewise.
47292 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47293 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47294 * include/grub/sparc64/ieee1275/time.h: Likewise.
47295 * include/grub/util/biosdisk.h: Likewise.
47296 * include/grub/util/getroot.h: Likewise.
47297 * include/grub/util/lvm.h: Likewise.
47298 * include/grub/util/misc.h: Likewise.
47299 * include/grub/util/raid.h: Likewise.
47300 * include/grub/util/resolve.h: Likewise.
47301 * io/gzio.c: Likewise.
47302 * kern/device.c: Likewise.
47303 * kern/disk.c: Likewise.
47304 * kern/dl.c: Likewise.
47305 * kern/elf.c: Likewise.
47306 * kern/env.c: Likewise.
47307 * kern/err.c: Likewise.
47308 * kern/file.c: Likewise.
47309 * kern/fs.c: Likewise.
47310 * kern/loader.c: Likewise.
47311 * kern/main.c: Likewise.
47312 * kern/misc.c: Likewise.
47313 * kern/mm.c: Likewise.
47314 * kern/parser.c: Likewise.
47315 * kern/partition.c: Likewise.
47316 * kern/rescue.c: Likewise.
47317 * kern/term.c: Likewise.
47318 * kern/efi/efi.c: Likewise.
47319 * kern/efi/init.c: Likewise.
47320 * kern/efi/mm.c: Likewise.
47321 * kern/i386/dl.c: Likewise.
47322 * kern/i386/efi/init.c: Likewise.
47323 * kern/i386/efi/startup.S: Likewise.
47324 * kern/i386/pc/init.c: Likewise.
47325 * kern/i386/pc/lzo1x.S: Likewise.
47326 * kern/i386/pc/startup.S: Likewise.
47327 * kern/ieee1275/ieee1275.c: Likewise.
47328 * kern/powerpc/cache.S: Likewise.
47329 * kern/powerpc/dl.c: Likewise.
47330 * kern/powerpc/ieee1275/cmain.c: Likewise.
47331 * kern/powerpc/ieee1275/crt0.S: Likewise.
47332 * kern/powerpc/ieee1275/init.c: Likewise.
47333 * kern/powerpc/ieee1275/openfw.c: Likewise.
47334 * kern/sparc64/cache.S: Likewise.
47335 * kern/sparc64/dl.c: Likewise.
47336 * kern/sparc64/ieee1275/init.c: Likewise.
47337 * kern/sparc64/ieee1275/openfw.c: Likewise.
47338 * loader/efi/chainloader.c: Likewise.
47339 * loader/efi/chainloader_normal.c: Likewise.
47340 * loader/i386/efi/linux.c: Likewise.
47341 * loader/i386/efi/linux_normal.c: Likewise.
47342 * loader/i386/pc/chainloader.c: Likewise.
47343 * loader/i386/pc/chainloader_normal.c: Likewise.
47344 * loader/i386/pc/linux.c: Likewise.
47345 * loader/i386/pc/linux_normal.c: Likewise.
47346 * loader/i386/pc/multiboot.c: Likewise.
47347 * loader/i386/pc/multiboot_normal.c: Likewise.
47348 * loader/powerpc/ieee1275/linux.c: Likewise.
47349 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47350 * normal/arg.c: Likewise.
47351 * normal/cmdline.c: Likewise.
47352 * normal/command.c: Likewise.
47353 * normal/completion.c: Likewise.
47354 * normal/execute.c: Likewise.
47355 * normal/function.c: Likewise.
47356 * normal/lexer.c: Likewise.
47357 * normal/main.c: Likewise.
47358 * normal/menu.c: Likewise.
47359 * normal/menu_entry.c: Likewise.
47360 * normal/misc.c: Likewise.
47361 * normal/parser.y: Likewise.
47362 * normal/script.c: Likewise.
47363 * normal/i386/setjmp.S: Likewise.
47364 * normal/powerpc/setjmp.S: Likewise.
47365 * normal/sparc64/setjmp.S: Likewise.
47366 * partmap/acorn.c: Likewise.
47367 * partmap/amiga.c: Likewise.
47368 * partmap/apple.c: Likewise.
47369 * partmap/gpt.c: Likewise.
47370 * partmap/pc.c: Likewise.
47371 * partmap/sun.c: Likewise.
47372 * term/gfxterm.c: Likewise.
47373 * term/terminfo.c: Likewise.
47374 * term/efi/console.c: Likewise.
47375 * term/i386/pc/console.c: Likewise.
47376 * term/i386/pc/serial.c: Likewise.
47377 * term/i386/pc/vesafb.c: Likewise.
47378 * term/i386/pc/vga.c: Likewise.
47379 * term/ieee1275/ofconsole.c: Likewise.
47380 * util/biosdisk.c: Likewise.
47381 * util/console.c: Likewise.
47382 * util/genmoddep.c: Likewise.
47383 * util/getroot.c: Likewise.
47384 * util/grub-emu.c: Likewise.
47385 * util/grub-mkdevicemap.c: Likewise.
47386 * util/grub-probe.c: Likewise.
47387 * util/lvm.c: Likewise.
47388 * util/misc.c: Likewise.
47389 * util/raid.c: Likewise.
47390 * util/resolve.c: Likewise.
47391 * util/update-grub.in: Likewise.
47392 * util/update-grub_lib.in: Likewise.
47393 * util/grub.d/00_header.in: Likewise.
47394 * util/grub.d/10_hurd.in: Likewise.
47395 * util/grub.d/10_linux.in: Likewise.
47396 * util/i386/efi/grub-install.in: Likewise.
47397 * util/i386/efi/grub-mkimage.c: Likewise.
47398 * util/i386/pc/grub-install.in: Likewise.
47399 * util/i386/pc/grub-mkimage.c: Likewise.
47400 * util/i386/pc/grub-mkrescue.in: Likewise.
47401 * util/i386/pc/grub-setup.c: Likewise.
47402 * util/i386/pc/misc.c: Likewise.
47403 * util/powerpc/ieee1275/grub-install.in: Likewise.
47404 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47405 * util/powerpc/ieee1275/misc.c: Likewise.
47406 * video/bitmap.c: Likewise.
47407 * video/video.c: Likewise.
47408 * video/i386/pc/vbe.c: Likewise.
47409 * video/i386/pc/vbeblit.c: Likewise.
47410 * video/i386/pc/vbefill.c: Likewise.
47411 * video/i386/pc/vbeutil.c: Likewise.
47412 * video/readers/tga.c: Likewise.
47413
47414 2007-07-02 Robert Millan <rmh@aybabtu.com>
47415
47416 * conf/i386-efi.rmk: Replace obsolete reference to
47417 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47418 with util/getroot.c.
47419 * conf/powerpc-ieee1275.rmk: Likewise.
47420 * conf/sparc64-ieee1275.rmk: Likewise.
47421
47422 * util/grub-emu.c (main): Fix unchecked pointer handling.
47423
47424 2007-07-02 Robert Millan <rmh@aybabtu.com>
47425
47426 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47427 invocation to fail, in order to support partition-less media.
47428
47429 * util/i386/pc/grub-install.in: Likewise.
47430
47431 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47432 which fs or partmap modules are needed (akin to its sister scripts).
47433
47434 Also use grub-probe to get rid of unportable /proc/mounts check.
47435
47436 Print the same informational message that the other scripts do, before
47437 exiting.
47438
47439 2007-06-23 Robert Millan <rmh@aybabtu.com>
47440
47441 * util/update-grub_lib.in (font_path): New function. Determine whether
47442 a font file can be found and, if so, echo the GRUB path to it.
47443
47444 * util/update-grub.in: Handle multiple terminals depending on user
47445 input, platform availability and font file presence. Propagate
47446 variables of our findings to /etc/grub.d/ children.
47447
47448 * util/grub.d/00_header.in: Handle multiple terminals, based on
47449 environment setup by update-grub.
47450
47451 2007-06-23 Robert Millan <rmh@aybabtu.com>
47452
47453 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
47454
47455 2007-06-21 Robert Millan <rmh@aybabtu.com>
47456
47457 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47458 indicate end of data section in kernel image.
47459 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47460 GRUB_KERNEL_MACHINE_DATA_END.
47461
47462 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47463 space for it.
47464 * kern/i386/efi/startup.S: Likewise.
47465
47466 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47467 during image generation. Implement --prefix option to override this
47468 patch.
47469 * util/i386/efi/grub-mkimage.c: Likewise.
47470
47471 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47472 code to make path relative to its root into a separate function.
47473
47474 * util/i386/pc/grub-install.in: Use newly provided
47475 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47476 pass the result to grub-install --prefix.
47477
47478 2007-06-13 Robert Millan <rmh@aybabtu.com>
47479
47480 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47481 DEFAULT_DEVICE_MAP.
47482 * util/grub-emu.c: Use above definitions from misc.h instead of
47483 defining them.
47484 * util/grub-mkdevicemap.c: Likewise.
47485 * util/i386/pc/grub-setup.c: Likewise.
47486 * util/grub-probe.c: Likewise.
47487 (probe): Abort with grub_util_error() when either
47488 grub_guess_root_device or grub_util_get_grub_dev fails.
47489
47490 2007-06-12 Robert Millan <rmh@aybabtu.com>
47491
47492 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47493 "pager" assignment.
47494 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47495 "pcdata".
47496 * util/grub-probe.c (probe): Likewise for "drive_name".
47497
47498 2007-06-11 Robert Millan <rmh@aybabtu.com>
47499
47500 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47501 not just the cdrom one.
47502
47503 2007-06-11 Robert Millan <rmh@aybabtu.com>
47504
47505 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47506 Add --pkglibdir=DIR option to override pkglibdir.
47507 Mention --image-type=TYPE in help output.
47508 Fix --grub-mkimage (it was a no-op).
47509 Abort gracefully when no parameter is given.
47510
47511 2007-06-11 Robert Millan <rmh@aybabtu.com>
47512
47513 * util/i386/pc/grub-mkrescue.in: New file.
47514 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47515 * Makefile.in: Handle bin_SCRIPTS.
47516
47517 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47518
47519 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47520 list of video modes.
47521
47522 2007-06-06 Robert Millan <rmh@aybabtu.com>
47523
47524 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47525 file doesn't exist, or if it is in a filesystem grub can't read.
47526
47527 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47528 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47529 header comment to fit in 80 columns when the variables are resolved.
47530
47531 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47532 could be identified by update-grub. Remove redundant check for
47533 unifont.pff existence (since convert_system_path_to_grub_path now
47534 handles that).
47535
47536 2007-06-04 Robert Millan <rmh@aybabtu.com>
47537
47538 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47539
47540 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47541
47542 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47543
47544 2007-06-04 Robert Millan <rmh@aybabtu.com>
47545
47546 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47547
47548 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47549 grub_apple_partition_map_fini.
47550
47551 * util/biosdisk.c
47552 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47553 to access >2 TiB disks).
47554
47555 Print disk->total_sectors with %llu instead of %lu, since this
47556 variable is always 64-bit (prevents wrong disk size from being displayed
47557 on either >2 TiB disk or big-endian CPU).
47558
47559 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47560 into a generic case that supports all (sane) partition maps.
47561
47562 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47563 breaks big-endian.
47564
47565 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47566 and grub_apple_partition_map_fini() after that.
47567
47568 2007-06-01 Robert Millan <rmh@aybabtu.com>
47569
47570 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47571
47572 * util/grub.d/00_header.in: Only enable gfxterm when
47573 convert_system_path_to_grub_path() succeeds.
47574
47575 2007-05-20 Robert Millan <rmh@aybabtu.com>
47576
47577 * util/update-grub_lib.in: New file.
47578 * DISTLIST: Add update-grub_lib.in.
47579 * conf/common.rmk: Generate update-grub_lib and install it in
47580 $(lib_DATA).
47581 * Makefile.in: Add install routine for $(lib_DATA).
47582
47583 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47584 function provided by update-grub_lib to support arbitrary paths of
47585 unifont.pff.
47586 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47587 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47588
47589 2007-05-19 Robert Millan <rmh@aybabtu.com>
47590
47591 * commands/i386/cpuid.c: New module.
47592 * DISTLIST: Add it.
47593 * conf/i386-efi.rmk: Enable cpuid.mod.
47594 * conf/i386-pc.rmk: Likewise.
47595
47596 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47597
47598 * kern/disk.c (grub_disk_read): Check return value of
47599 grub_realloc().
47600
47601 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47602
47603 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47604 arrays.
47605 * disk/raid.c (grub_raid_open): Likewise.
47606
47607 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47608
47609 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47610 stack instead of on the heap.
47611
47612 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47613 before doing a read on it.
47614
47615 * configure.ac: Only use -fno-stack-protector for the target
47616 environment.
47617
47618 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47619
47620 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47621 __attribute_ ((unused)) to mode_type argument.
47622
47623 * util/getroot.c (grub_guess_root_device): Fix #endif.
47624
47625 * kern/misc.c (memcmp): Fix prototype.
47626
47627 * include/grub/partition.h [GRUB_UTIL]
47628 (grub_gpt_partition_map_init): Add prototype.
47629 (grub_gpt_partition_map_fini): Likewise.
47630
47631 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47632 at the right place.
47633
47634 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47635 (grub_fat_read_data): Likewise.
47636 (grub_fat_find_dir): Likewise.
47637
47638 * font/manager.c (find_glyph): Make table a const.
47639 (grub_font_get_glyph): Remove bitmap from if statement.
47640
47641 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47642
47643 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47644 code, first search for device in /dev/mapper, then in /dev.
47645 (grub_util_get_grub_dev): New function.
47646 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47647 prototype.
47648 * util/grub-probe.c (probe): Remove check for RAID, call
47649 grub_util_get_grub_dev() instead of
47650 grub_util_biosdisk_get_grub_dev().
47651 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47652 grub_util_biosdisk_get_grub_dev().
47653 * util/i386/pc/grub-setup.c (main): Likewise.
47654
47655 2007-05-16 Robert Millan <rmh@aybabtu.com>
47656
47657 * DISTLIST: Update for the latest changes.
47658 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47659 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47660 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47661 grub/util/biosdisk.h.
47662 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47663 grub/util/biosdisk.h.
47664
47665 2007-05-16 Robert Millan <rmh@aybabtu.com>
47666
47667 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47668
47669 2007-05-16 Robert Millan <rmh@aybabtu.com>
47670
47671 * util/i386/efi/grub-install.in: New.
47672 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47673 newly added grub-install.
47674 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47675 include.
47676 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47677 grub/util/biosdisk.h.
47678 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47679 grub/util/biosdisk.h.
47680
47681 2007-05-16 Robert Millan <rmh@aybabtu.com>
47682
47683 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47684 * include/grub/util/biosdisk.h: ... here.
47685 * util/i386/pc/biosdisk.c: Moved to ...
47686 * util/biosdisk.c: ... here.
47687 * util/i386/pc/getroot.c: Moved to ...
47688 * util/getroot.c: ... here.
47689 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47690 * util/grub-mkdevicemap.c: ... here.
47691 * util/i386/pc/grub-probe.c: Moved to ...
47692 * util/grub-probe.c: ... here.
47693
47694 2007-05-15 Robert Millan <rmh@aybabtu.com>
47695
47696 * util/update-grub.in: Remove duplicated line in grub.cfg header
47697 message.
47698
47699 2007-05-13 Robert Millan <rmh@aybabtu.com>
47700
47701 * util/update-grub.in: Fix a few assumptions about the devices holding
47702 /, /boot and /boot/grub being the same.
47703 * util/grub.d/00_header.in: Likewise.
47704 * util/grub.d/10_hurd.in: Likewise.
47705 * util/grub.d/10_linux.in: Likewise.
47706
47707 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47708 patterns. Use that to define the `.old' suffix as older than `'.
47709
47710 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47711
47712 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47713 the grub.cfg header message.
47714
47715 2007-05-11 Robert Millan <rmh@aybabtu.com>
47716
47717 * util/update-grub.in: Create device.map if it doesn't already exist,
47718 before attempting to run grub-probe.
47719 Check for grub-probe and grub-mkdevicemap with the same code
47720 grub-install is using.
47721 Remove test mode.
47722
47723 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47724
47725 * Makefile.in: Add the datarootdir autoconf variable.
47726
47727 2007-05-09 Robert Millan <rmh@aybabtu.com>
47728
47729 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
47730 fail gracefully if dev->disk->partition == NULL.
47731
47732 2007-05-07 Robert Millan <rmh@aybabtu.com>
47733
47734 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47735 determine partition map module.
47736 * util/i386/pc/grub-install.in: Use this feature to decide which
47737 partition module to load, instead of hardcoding pc and gpt.
47738
47739 2007-05-07 Robert Millan <rmh@aybabtu.com>
47740
47741 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47742 source directory differs from build directory.
47743
47744 2007-05-05 Robert Millan <rmh@aybabtu.com>
47745
47746 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47747 initialisation.
47748
47749 2007-05-05 Robert Millan <rmh@aybabtu.com>
47750
47751 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47752
47753 2007-05-05 Robert Millan <rmh@aybabtu.com>
47754
47755 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47756 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47757
47758 2007-05-05 Robert Millan <rmh@aybabtu.com>
47759
47760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47761 (grub_probe_SOURCES): Likewise.
47762 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47763 GPT and initialize dos_part and bsd_part accordingly.
47764 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47765 install_bsd_part.
47766 (main): Activate gpt module for use during partition identification,
47767 and deactivate it afterwards.
47768 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47769 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47770 partition identification, and deactivate it afterwards.
47771
47772 2007-05-05 Robert Millan <rmh@aybabtu.com>
47773
47774 * term/i386/pc/console.c (grub_console_fini): Call
47775 grub_term_set_current() before grub_term_unregister().
47776
47777 2007-05-04 Robert Millan <rmh@aybabtu.com>
47778
47779 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47780 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47781 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47782 and update-grub_DATA.
47783 * conf/common.rmk: Build and install update-grub components.
47784 * conf/common.mk: Regenerate.
47785 * util/update-grub.in: New. Core of update-grub.
47786 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47787 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47788 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47789 * util/grub.d/README: New. Document grub.d directory layout.
47790
47791 2007-05-01 Robert Millan <rmh@aybabtu.com>
47792
47793 * util/grub-emu.c: Move initialization functions
47794 grub_util_biosdisk_init() and grub_init_all() before
47795 grub_util_biosdisk_get_grub_dev(), which relies on them.
47796
47797 2007-04-19 Robert Millan <rmh@aybabtu.com>
47798
47799 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47800 it is used later.
47801
47802 2007-04-18 Jerone Young <jerone@gmail.com>
47803
47804 * kernel/elf.c: Add missing parenthesis for conditional statement
47805 stanza.
47806
47807 2007-04-10 Jerone Young <jerone@gmail.com>
47808
47809 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47810 continue on and look for device node with real device name.
47811
47812 2007-04-10 Jerone Young <jerone@gmail.com>
47813
47814 * configure.ac: Add argument for autoconf to use transformation
47815 ability.
47816 * Makefile.in: Add autoconf package transformation code.
47817 * util/i386/pc/grub-install.in: Likewise.
47818 * util/powerpc/ieee1275/grub-install.in: Likewise.
47819
47820 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47821
47822 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47823 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47824 (EXT2_REVISION): Likewise.
47825 (EXT2_INODE_SIZE): Likewise.
47826 (struct grub_ext2_block_group): Added a missing member
47827 "used_dirs".
47828 (grub_ext2_read_inode): Divide by the inode size in a superblock
47829 instead of 128 to obtain INODES_PER_BLOCK.
47830 Use the macro EXT2_INODE_SIZE instead of directly using
47831 SBLOCK->INODE_SIZE.
47832
47833 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47834
47835 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47836 superblock instead of the structure size to compute an
47837 offset. This fixes the problem that GRUB could not read a
47838 filesystem when inode size is different from 128-byte.
47839
47840 2007-03-05 Marco Gerards <marco@gnu.org>
47841
47842 * normal/main.c (read_config_file): When "menu" is not set, create
47843 an initial context.
47844
47845 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47846
47847 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47848 (HEAP_LIMIT): New macro.
47849 (grub_claim_heap): Claim memory up to `heaplimit'.
47850
47851 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47852
47853 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47854 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47855 (_start): Likewise.
47856 (grub_arch_modules_addr): Return address after `_end'.
47857 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47858 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47859 (add_segments): Calculate `_end' from phdr size and location.
47860 (ALIGN_UP): Moved to ...
47861 * include/grub/misc.h: here.
47862 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47863 New macro.
47864 (GRUB_IEEE1275_MODULE_BASE): Removed.
47865
47866 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47867
47868 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47869 loop boundary.
47870
47871 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47872
47873 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47874 All users updated.
47875 (grub_elf64_load_hook_t): Likewise.
47876 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47877 debug output.
47878
47879 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47880
47881 * kern/mm.c: Update copyright.
47882 (grub_mm_debug): Correct syntax error.
47883 (grub_mm_dump_free): New function.
47884 (grub_debug_free): Call `grub_free'.
47885 * include/grub/mm.h: Update copyright.
47886 (grub_mm_dump_free): Add declaration.
47887
47888 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47889
47890 * include/grub/ieee1275/ieee1275.h: Update copyright.
47891 * kern/powerpc/ieee1275/init.c: Likewise.
47892 * kern/powerpc/ieee1275/openfw.c: Likewise.
47893
47894 * loader/powerpc/ieee1275/linux.c: Likewise.
47895 * include/grub/elfload.h: Likewise.
47896 * kern/elf.c: Likewise.
47897 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47898 callers.
47899 (grub_elf64_load): Likewise.
47900 (grub_elf32_load_segment): Move to a nested function.
47901 (grub_elf64_load_segment): Likewise.
47902
47903 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47904
47905 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47906 prototype.
47907 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47908 (grub_heap_len): Likewise.
47909 (HEAP_SIZE): New macro.
47910 (grub_claim_heap): New function.
47911 (grub_machine_init): Don't claim heap directly. Call
47912 `grub_claim_heap'.
47913 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47914 (grub_available_iterate): New function.
47915
47916 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47917
47918 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47919 * configure.ac: Use it for testing the HOST and TARGET compilers.
47920
47921 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47922
47923 * Makefile.in (enable_grub_emu): New variable.
47924 * configure.ac (--enable-grub-emu): New option.
47925 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47926 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47927 * conf/i386-pc.rmk: Likewise.
47928 * conf/powerpc-ieee1275.rmk: Likewise.
47929 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47930
47931 2006-12-12 Marco Gerards <marco@gnu.org>
47932
47933 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47934
47935 * kern/env.c (grub_env_unset): Don't free the member `value' when
47936 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47937 pointer.
47938
47939 * normal/main.c (current_menu): Removed.
47940 (free_menu): Unset the `menu' environment variable.
47941 (grub_normal_menu_addentry): Make use of the environment variable
47942 `menu', instead of using the global `current_menu'. Allocate
47943 memory for the sourcecode of this entry.
47944 (read_config_file): New argument `nested', changed all callers.
47945 Only in the case of a new context, initialize a new menu. Set the
47946 `menu' environment variable.
47947 (grub_normal_execute): Don't set and unset the environment
47948 variable `menu' here anymore. Only free the menu when leaving the
47949 context.
47950
47951 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47952 leak.
47953
47954 2006-12-11 Marco Gerards <marco@gnu.org>
47955
47956 * normal/menu_entry.c (run): Fix off by one bug so the last line
47957 is executed. Move the loader check to outside the loop.
47958
47959 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47960
47961 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47962
47963 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47964
47965 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47966 the number of sectors. Reported by Andrey Shuvikov
47967 <mr_hyro@yahoo.com>.
47968
47969 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47970
47971 * kern/disk.c (grub_disk_read): When there is a read error, always
47972 try to read only the necessary data.
47973
47974 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47975 disk/raid.c.
47976 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47977 prototype.
47978 [GRUB_UTIL] (grub_raid_fini): Likewise.
47979 [GRUB_UTIL] (grub_lvm_init): Likewise.
47980 [GRUB_UTIL] (grub_lvm_fini): Likewise.
47981 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47982 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47983 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47984 and grub_raid_fini().
47985
47986 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47987
47988 * include/grub/types.h (__unused): Rename to UNUSED.
47989 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47990 (grub_elf64_size): Likewise.
47991
47992 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47993
47994 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47995 grub_error_push and grub_error_pop in the error-handling path.
47996 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47997 length.
47998
47999 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48000
48001 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48002 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48004 (kernel_elf_SOURCES): Likewise.
48005 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48006 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48007 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48008 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48009 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48010 (elf_mod_SOURCES): New variable.
48011 (elf_mod_CFLAGS): Likewise.
48012 (elf_mod_LDFLAGS): Likewise.
48013 * include/grub/types.h (__unused): New macro.
48014 * include/grub/elfload.h: New file.
48015 * kern/elf.c: Likewise.
48016 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48017 (ELF32_LOADMASK): New macro.
48018 (ELF64_LOADMASK): Likewise.
48019 (vmlinux): Removed.
48020 (grub_linux_load32): New function.
48021 (grub_linux_load64): Likewise.
48022 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48023 Use grub_elf_t instead of grub_file_t.
48024
48025 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48026
48027 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48028 `catch_result' to struct set_color_args.
48029
48030 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48031
48032 * normal/menu.c: Include grub/script.h.
48033 * normal/menu_entry.c: Likewise.
48034 * include/grub/normal.h: Do not include grub/script.h.
48035
48036 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48037
48038 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48039
48040 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48041
48042 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48043 disk.
48044 (grub_disk_close): Print debug messages when closing a disk.
48045 (grub_disk_read): Print debug messages when disk read fails.
48046 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48047 filesystem type.
48048 * kern/partition.c: Include misc.h.
48049 (grub_partition_iterate): Print debug messages when detecting
48050 partition type.
48051
48052 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48053
48054 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48055 is negative.
48056 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48057
48058 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48059
48060 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48061 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48062
48063 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48064
48065 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48066 instead of sizeof(lv). Patch by Michael Guntsche.
48067
48068 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48069
48070 * disk/lvm.c: Rename VGS to VG_LIST.
48071 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48072 (grub_lvm_open): Likewise.
48073 Thanks to Michael Guntsche for finding this bug.
48074
48075 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48076
48077 * configure.ac (AC_INIT): Bumped to 1.95.
48078
48079 2006-10-14 Robert Millan <rmh@aybabtu.com>
48080
48081 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48082 with "/dev/.static/dev/md".
48083
48084 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48085
48086 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48087 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48088 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48089 DRIVE_NAME are always freed.
48090
48091 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48092 DOS_PART, as a DOS partition is counted from one instead of zero
48093 now. Reported by Robert Millan.
48094
48095 2006-10-14 Robert Millan <rmh@aybabtu.com>
48096
48097 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48098 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48099 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48100 string returned by grub_guess_root_device.
48101 * util/i386/pc/grub-setup.c: Likewise.
48102 * util/i386/pc/grub-probefs.c: Likewise.
48103
48104 * util/i386/pc/grub-probefs.c: Rename to ...
48105 * util/i386/pc/grub-probe.c: ... this.
48106 * DISTLIST: Remove grub-probefs, add grub-probe.
48107 * conf/i386-efi.rmk: Likewise.
48108 * conf/i386-pc.rmk: Likewise.
48109 * util/i386/pc/grub-install.in: Likewise.
48110
48111 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48112 choose which information we want to print.
48113
48114 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48115
48116 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48117 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48118 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48119 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48120 video/readers/tga.c and video/i386/pc/vbeutil.c.
48121
48122 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48123
48124 Added support for RAID and LVM.
48125
48126 * disk/lvm.c: New file.
48127 * disk/raid.c: Likewise.
48128 * include/grub/lvm.h: Likewise.
48129 * include/grub/raid.h: Likewise.
48130 * include/grub/util/lvm.h: Likewise.
48131 * include/grub/util/raid.h: Likewise.
48132 * util/lvm.c: Likewise.
48133 * util/raid.c: Likewise.
48134
48135 * include/grub/disk.h (grub_disk_dev_id): Add
48136 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48137 (grub_disk_get_size): New prototype.
48138 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48139 returns a partition.
48140 (grub_disk_get_size): New function.
48141
48142 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48143 verbatim if grub_install_dos_part is -2.
48144
48145 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48146 and LVM devices.
48147
48148 * util/i386/pc/grub-setup.c (setup): New argument
48149 MUST_EMBED. Force embedding of GRUB when the argument is
48150 true. Close FILE before returning.
48151 (main): Add support for RAID and LVM.
48152
48153 * conf/common.rmk: Add RAID and LVM modules.
48154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48155 util/lvm.c.
48156 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48157
48158 * kern/misc.c (grub_strstr): New function.
48159 * include/grub/misc.h (grub_strstr): New prototype.
48160
48161 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48162
48163 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48164
48165 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48166
48167 * kern/misc.c (grub_strtoull): Guess the base only if not
48168 specified.
48169
48170 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48171
48172 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48173 PowerMac support.
48174
48175 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48176
48177 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48178
48179 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48180 Remove `flags' argument. All callers changed.
48181 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48182 (IEEE1275_IHANDLE_INVALID): New variable.
48183 (IEEE1275_CELL_INVALID): New variable.
48184 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48185 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48186 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48187 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48188 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48189 codes from Open Firmware. All callers updated.
48190 (grub_ieee1275_next_property): Directly return Open Firmware return
48191 code.
48192 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48193 Standardize error checking from `grub_ieee1275_get_property'.
48194 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48195 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48196
48197 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48198
48199 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48200 `instance_to_package_args' to `instance_to_path_args'.
48201
48202 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48203 `grub_ieee1275_chosen'.
48204
48205 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48206 `grub_ieee1275_interpret'.
48207
48208 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48209
48210 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48211
48212 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48213
48214 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48215 (__cmpdi): Likewise.
48216
48217 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48218 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48219 `grub_ssize_t'.
48220
48221 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
48222
48223 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48224 to type `grub_ssize_t'.
48225 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48226
48227 2006-09-22 Marco Gerards <marco@gnu.org>
48228
48229 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48230 newlines.
48231
48232 2006-09-22 Marco Gerards <marco@gnu.org>
48233
48234 * commands/echo.c: New file.
48235
48236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48237
48238 * conf/common.rmk (echo_mod_SOURCES): New variable.
48239 (echo_mod_CFLAGS): Likewise.
48240 (echo_mod_LDFLAGS): Likewise.
48241
48242 2006-09-22 Marco Gerards <marco@gnu.org>
48243
48244 * normal/main.c (get_line): Malloc memory instead of using
48245 preallocated memory. Removed the arguments `cmdline' and
48246 `max_len'. Updated all callers.
48247
48248 2006-09-22 Marco Gerards <marco@gnu.org>
48249
48250 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48251 (normal_mod_DEPENDENCIES): Likewise.
48252
48253 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48254 (normal_mod_DEPENDENCIES): Likewise.
48255
48256 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48257
48258 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
48259
48260 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48261 programs.
48262 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48263 (normal_mod_DEPENDENCIES): Likewise.
48264 * conf/i386-pc.mk: Regenerate.
48265 * conf/i386-efi.mk: Likewise
48266 * conf/common.mk: Likewise.
48267 * conf/powerpc-ieee1275.mk: Likewise.
48268 * conf/sparc64-ieee1275.mk: Likewise.
48269
48270 2006-09-22 Robert Millan <rmh@aybabtu.com>
48271
48272 Sync with i386 version.
48273 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48274 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48275
48276 2006-09-21 Robert Millan <rmh@aybabtu.com>
48277
48278 Import from GRUB Legacy (lib/device.c):
48279 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48280 (init_device_map) [__linux__]: Add support for I2O devices.
48281
48282 2006-09-14 Marco Gerards <marco@gnu.org>
48283
48284 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48285 `-melf_i386'.
48286
48287 2006-09-14 Robert Millan <rmh@aybabtu.com>
48288
48289 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48290 /boot/grub/*.lst.
48291
48292 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
48293
48294 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48295 before adding it to device.map.
48296
48297 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
48298
48299 * genmk.rb: Let GCC generate dependencies the first time it
48300 compiles a file; using the -MD option.
48301 * conf/common.mk: Regenerate.
48302 * conf/i386-pc.mk: Likewise.
48303 * conf/i386-efi.mk: Likewise.
48304 * conf/powerpc-ieee1275.mk: Likewise.
48305 * conf/sparc64-ieee1275.mk: Likewise.
48306
48307 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48308
48309 Move the prototypes of grub_setjmp and grub_longjmp to
48310 cpu/setjmp.h, so that each architecture may specify different
48311 attributes.
48312
48313 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48314 (grub_longjmp): Likewise.
48315 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48316 (grub_longjmp): Likewise.
48317 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48318 (grub_longjmp): Likewise.
48319
48320 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48321 [!GRUB_UTIL] (grub_longjmp): Removed.
48322
48323 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48324
48325 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48326 "color!" method does not return any value.
48327
48328 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48329
48330 * include/grub/bitmap.h: New file.
48331
48332 * include/grub/i386/pc/vbeutil.h: Likewise.
48333
48334 * video/bitmap.c: Likewise.
48335
48336 * video/readers/tga.c: Likewise.
48337
48338 * video/i386/pc/vbeutil.c: Likewise.
48339
48340 * commands/videotest.c: Code cleanup and updated to reflect to new
48341 video API.
48342
48343 * term/gfxterm.c: Likewise.
48344
48345 * video/video.c: Likewise.
48346
48347 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48348 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48349 (bitmap_mod_SOURCES): New entry.
48350 (bitmap_mod_CFLAGS): Likewise.
48351 (bitmap_mod_LDFLAGS): Likewise.
48352 (tga_mod_SOURCES): Likewise.
48353 (tga_mod_CFLAGS): Likewise.
48354 (tga_mod_LDFLAGS): Likewise.
48355
48356 * include/grub/video.h (grub_video_blit_operators): New enum type.
48357 (grub_video_render_target): Changed as forward declaration and moved
48358 actual definition to be video driver specific.
48359 (grub_video_adapter.blit_bitmap): Added blitting operator.
48360 (grub_video_adapter.blit_render_target): Likewise.
48361 (grub_video_blit_bitmap): Likewise.
48362 (grub_video_blit_render_target): Likewise.
48363
48364 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48365 driver specific render target definition.
48366 (grub_video_vbe_map_rgba): Added driver internal helper.
48367 (grub_video_vbe_unmap_color): Updated to use
48368 grub_video_i386_vbeblit_info.
48369 (grub_video_vbe_get_video_ptr): Likewise.
48370
48371 * include/grub/i386/pc/vbeblit.h
48372 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48373 grub_video_i386_vbeblit_info.
48374 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48375 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48376 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48377 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48378 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48379 (grub_video_i386_vbeblit_index_index): Likewise.
48380 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48381 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48382 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48383 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48384 operator.
48385 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48386 operator.
48387
48388 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48389 include/grub/i386/pc/vbeblit.h.
48390
48391 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48392 Updated to use grub_video_i386_vbeblit_info.
48393 (grub_video_i386_vbefill_R8G8B8): Likewise.
48394 (grub_video_i386_vbefill_index): Likewise.
48395 (grub_video_i386_vbefill): Added generic filler.
48396
48397 * video/i386/pc/vbefill.c: Updated to reflect changes on
48398 include/grub/i386/pc/vbefill.h.
48399
48400 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48401 grub_video_i386_vbeblit_info.
48402 (grub_video_vbe_unmap_color): Likewise.
48403 (grub_video_vbe_blit_glyph): Likewise.
48404 (grub_video_vbe_scroll): Likewise.
48405 (grub_video_vbe_draw_pixel): Removed function.
48406 (grub_video_vbe_get_pixel): Likewise.
48407 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48408 updated code to use it.
48409 (common_blitter): Added common blitter for render target and bitmap.
48410 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48411 (grub_video_vbe_blit_render_target): Likewise.
48412
48413 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
48414
48415 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48416 is in text mode if there is no console control protocol instance
48417 available.
48418
48419 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48420
48421 * include/grub/video.h: Code cleanup.
48422
48423 * include/grub/i386/pc/vbe.h: Likewise.
48424
48425 * video/i386/pc/vbe.c: Likewise.
48426
48427 * video/i386/pc/vbeblit.c: Likewise.
48428
48429 * video/i386/pc/vbefill.c: Likewise.
48430
48431 * video/video.c: Likewise. Also added more comments.
48432
48433 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48434
48435 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48436 (struct grub_biosdisk_dap): Likewise.
48437
48438 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48439 linkage settings for all functions.
48440
48441 2006-07-12 Marco Gerards <marco@gnu.org>
48442
48443 * configure.ac (--enable-mm-debug): Fix typo.
48444
48445 * genkernsyms.sh.in: Use proper quoting for `CC'.
48446
48447 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48448
48449 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48450 (normal_mod_ASFLAGS): Remove "-m32".
48451
48452 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48453
48454 * util/misc.c: Include config.h.
48455 [!HAVE_MEMALIGN]: Do not include malloc.h.
48456 (grub_memalign): Use posix_memalign, if present. Then, use
48457 memalign, if present. Otherwise, emit an error.
48458
48459 * util/grub-emu.c: Do not include malloc.h.
48460
48461 * include/grub/util/misc.h: Include unistd.h. This is required for
48462 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48463 D. Eades III <hde@foobar-qux.org>.
48464
48465 * configure.ac (AC_GNU_SOURCE): Added.
48466 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48467 type.
48468
48469 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48470
48471 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48472 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48473
48474 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48475
48476 * include/grub/types.h (grub_host_addr_t): Rename to
48477 grub_target_addr_t.
48478 (grub_host_off_t): Rename to grub_target_off_t.
48479 (grub_host_size_t): Rename to grub_target_size_t.
48480 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48481 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48482
48483 * include/grub/kernel.h (struct grub_module_header): Change type
48484 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48485 (grub_module_info): Likewise.
48486
48487 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48488
48489 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48490 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48491 Velazquez <jesus.velazquez@gmail.com>.
48492
48493 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48494
48495 Count partitions from 1 instead of 0 in the string representation
48496 of partitions. Still use 0-based internally.
48497
48498 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48499 (sun_partition_map_iterate): Use grub_partition_t instead of
48500 struct grub_partition *. Cast DESC->START_CYLINDER to
48501 grub_uint64_t after converting the endian.
48502 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48503 (sun_partition_map_get_name): Add 1 to P->INDEX.
48504
48505 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48506 PCDATA->DOS_PART.
48507 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48508
48509 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48510 zero instead of one.
48511 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48512 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48513
48514 * partmap/apple.c (apple_partition_map_iterate): Change the type
48515 of POS to unsigned.
48516 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48517 (apple_partition_map_get_name): Add 1 into P->INDEX.
48518
48519 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48520 of POS to unsigned.
48521 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48522 calculate the offset of a partition.
48523 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48524 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48525
48526 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48527 SECTOR to grub_disk_addr_t.
48528 (acorn_partition_map_iterate): Likewise.
48529 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48530 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48531 top.
48532 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48533
48534 * kern/i386/pc/init.c (make_install_device): Add 1 into
48535 GRUB_INSTALL_DOS_PART.
48536
48537 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48538 conditional.
48539
48540 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48541
48542 Clean up the code to support 64-bit addressing in disks and
48543 files. This change is not enough for filesystems yet.
48544
48545 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48546 type of "start" to grub_uint64_t.
48547 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48548 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48549 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48550 convert addresses.
48551
48552 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48553 to grub_disk_addr_t.
48554
48555 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48556 string.
48557
48558 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48559
48560 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48561 to char *.
48562
48563 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48564
48565 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48566
48567 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48568
48569 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48570 to grub_off_t, to detect an error from grub_file_seek.
48571 (grub_multiboot_load_elf32): Likewise.
48572
48573 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48574 maximum unsigned long value when an overflow is detected.
48575 (grub_strtoull): New function.
48576 (grub_divmod64): Likewise.
48577 (grub_lltoa): use grub_divmod64.
48578
48579 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48580 grub_disk_addr_t.
48581 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48582 the pointer to next character. Use grub_strtoull instead of
48583 grub_strtoul.
48584 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48585 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48586 respectively.
48587
48588 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
48589 return value is signed.
48590 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48591 test if OFFSET is less than zero, as OFFSET is unsigned now.
48592
48593 * kern/disk.c (struct grub_disk_cache): Change the type of
48594 "sector" to grub_disk_addr_t.
48595 (grub_disk_cache_get_index): Change the type of SECTOR to
48596 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48597 unsigned after shifting.
48598 (grub_disk_cache_invalidate): Change the type of SECTOR to
48599 grub_disk_addr_t.
48600 (grub_disk_cache_unlock): Likewise.
48601 (grub_disk_cache_store): Likewise.
48602 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48603 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48604 grub_disk_addr_t and grub_uint64_t, respectively.
48605 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48606 body, as the value of OFFSET is tweaked by
48607 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48608 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48609 respectively.
48610 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48611 body, as the value of OFFSET is tweaked by
48612 grub_disk_check_range. Change the types of LEN and N to
48613 grub_size_t.
48614
48615 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48616 and "saved_offset" to grub_off_t.
48617 (test_header): Cast BUF to char *.
48618 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48619 to char *.
48620 (grub_gzio_read): Change the types of OFFSET and SIZE to
48621 grub_off_t and grub_size_t, respectively.
48622
48623 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48624 Removed.
48625 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48626 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48627 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48628 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48629 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48630
48631 * include/grub/types.h (grub_off_t): Unconditionally set to
48632 grub_uint64_t.
48633 (grub_disk_addr_t): Changed to grub_uint64_t.
48634
48635 * include/grub/partition.h (struct grub_partition): Change the
48636 types of "start", "len" and "offset" to grub_disk_addr_t,
48637 grub_uint64_t and grub_disk_addr_t, respectively.
48638 (grub_partition_get_start): Return grub_disk_addr_t.
48639 (grub_partition_get_len): Return grub_uint64_t.
48640
48641 * include/grub/misc.h (grub_strtoull): New prototype.
48642 (grub_divmod64): Likewise.
48643
48644 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48645 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48646 grub_off_t, respectively.
48647 All callers and references changed.
48648
48649 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48650 grub_size_t in "read".
48651 All callers and references changed.
48652
48653 * include/grub/file.h (struct grub_file): Change the types of
48654 "offset" and "size" to grub_off_t and grub_off_t,
48655 respectively. Change the type of SECTOR to grub_disk_addr_t in
48656 "read_hook".
48657 (grub_file_read): Change the type of LEN to grub_size_t.
48658 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48659 grub_off_t.
48660 (grub_file_size): Return grub_off_t.
48661 (grub_file_tell): Likewise.
48662 All callers and references changed.
48663
48664 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48665 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48666 "write".
48667 (struct grub_disk): Change the type of "total_sectors" to
48668 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
48669 "read_hook".
48670 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48671 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48672 (grub_disk_write): Likewise.
48673 All callers and references changed.
48674
48675 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48676 char * for grub_strncmp to silence gcc.
48677 (grub_iso9660_mount): Likewise.
48678 (grub_iso9660_mount): Likewise.
48679 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48680 return statement.
48681 (grub_iso9660_iterate_dir): Likewise.
48682 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48683
48684 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48685 LEN to grub_disk_addr_t and grub_size_t, respectively.
48686
48687 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48688
48689 * fs/jfs.c (grub_jfs_read_file): Likewise.
48690
48691 * fs/minix.c (grub_jfs_read_file): Likewise.
48692
48693 * fs/sfs.c (grub_jfs_read_file): Likewise.
48694
48695 * fs/ufs.c (grub_jfs_read_file): Likewise.
48696
48697 * fs/xfs.c (grub_jfs_read_file): Likewise.
48698
48699 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48700 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48701 respectively.
48702
48703 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48704 BLKNR to -1 instead of returning GRUB_ERRNO.
48705 (grub_ext2_read_file): Change the types of SECTOR and
48706 LEN to grub_disk_addr_t and grub_size_t, respectively.
48707
48708 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48709 LEN to grub_disk_addr_t and grub_size_t, respectively.
48710
48711 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48712 grub_file_read.
48713
48714 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48715 string. Do not cast SECTOR explicitly.
48716
48717 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48718 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48719 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48720 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48721 over 2TB and LBA mode is not supported, raise an error.
48722 (get_safe_sectors): New function.
48723 (grub_biosdisk_read): Use get_safe_sectors.
48724 (grub_biosdisk_write): Likewise.
48725
48726 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48727 (grub_efidisk_write): Likewise.
48728
48729 * disk/loopback.c (delete_loopback): Cosmetic changes.
48730 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48731 correctly.
48732 (grub_loopback_open): Likewise.
48733 (grub_loopback_read): Likewise. Also, change the type of POS to
48734 grub_off_t, and fix the usage of grub_memset.
48735
48736 * commands/i386/pc/play.c: Include grub/machine/time.h.
48737
48738 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48739 print FILE->SIZE.
48740
48741 * commands/configfile.c: Include grub/env.h.
48742
48743 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48744 GRUB_ERRNO directly instead. Change the type of POS to
48745 grub_off_t. Follow the coding standard.
48746
48747 * commands/blocklist.c: Include grub/partition.h.
48748 (grub_cmd_blocklist): Return an error if the underlying device is
48749 not a disk. Take the starting sector of a partition into account,
48750 if a partition is used.
48751
48752 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48753 a length field.
48754 (lba_mode): Support 64-bit addresses.
48755 (chs_mode): Likewise.
48756 (copy_buffer): Adapted to the new offsets of a length field and a
48757 segment field.
48758 (blocklist_default_start): Allocate 64-bit space.
48759
48760 * boot/i386/pc/boot.S (force_lba): Removed.
48761 (boot_drive): Moved to under KERNEL_SECTOR.
48762 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
48763 space.
48764 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48765 is useless.
48766 (lba_mode): Refactored to support a 64-bit address. More size
48767 optimization.
48768 (setup_sectors): Likewise.
48769
48770 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48771
48772 * DISTLIST: Added include/grub/i386/linux.h. Removed
48773 include/grub/i386/pc/linux.h
48774
48775 * configure.ac (AC_INIT): Bumped to 1.94.
48776
48777 * config.guess: Updated from gnulib.
48778 * config.sub: Likewise.
48779 * install-sh: Likewise.
48780 * mkinstalldirs: Likewise.
48781
48782 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48783
48784 * conf/common.rmk (grub_modules_init.lst): Depended on
48785 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48786 MODSRCFILES.
48787
48788 * genmk.rb (PModule::rule): Reverted the previous change.
48789
48790 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48791
48792 * conf/common.rmk (grub_modules_init.lst): Depends on
48793 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48794 that the target does not exist before producing.
48795 (grub_modules_init.h): Remove the target before generating.
48796 (grub_emu_init.c): Likewise.
48797
48798 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48799
48800 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48801
48802 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48803 for the target-specific tests. Make sure that we also have the
48804 up-to-date target variables for those tests.
48805
48806 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48807
48808 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48809 (PModule::rule): Likewise.
48810
48811 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48812
48813 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48814 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48815 target-specific flags should be prefixed.
48816 (PModule::rule): Likewise.
48817
48818 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48819
48820 * configure.ac (CMP): Check if cmp is available explicitly.
48821
48822 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48823
48824 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48825 (target_cpu): New variable.
48826 (pkglibdir): Use target_cpu instead of host_cpu.
48827
48828 * util/i386/pc/grub-install.in (host_cpu): Removed.
48829 (target_cpu): New variable.
48830 (pkglibdir): Use target_cpu instead of host_cpu.
48831
48832 * util/genmoddep.c: Removed.
48833
48834 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48835 instead of GRUB_HOST_SIZEOF_VOID_P.
48836 * kern/dl.c: Likewise.
48837
48838 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48839 ...
48840 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48841 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48842 (GRUB_TARGET_SIZEOF_LONG): ... this.
48843 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48844 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48845 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48846 to ...
48847 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48848 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48849 (GRUB_TARGET_SIZEOF_LONG): ... this.
48850 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48851 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48852 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48853 to ...
48854 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48855 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48856 (GRUB_TARGET_SIZEOF_LONG): ... this.
48857 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48858 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48859
48860 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48861 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48862 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48863 instead of GRUB_HOST_SIZEOF_LONG.
48864 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48865 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48866 GRUB_CPU_WORDS_BIGENDIAN.
48867 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48868 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48869 grub_host_ssize_t.
48870
48871 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48872 (genmoddep_SOURCES): Likewise.
48873 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48874 (genmoddep_SOURCES): Likewise.
48875 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48876 (genmoddep_SOURCES): Likewise.
48877 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48878 Likewise.
48879 (genmoddep_SOURCES): Likewise.
48880
48881 * genmoddep.awk: New file.
48882
48883 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48884 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48885 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48886 (PModule::rule): Likewise.
48887 (Program::rule): Likewise.
48888 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48889 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48890 respectively.
48891
48892 * configure.ac: Rewritten intensively to use host and target
48893 instead of build and host, respectively.
48894
48895 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48896 (host_cpu): Removed.
48897 (target_cpu): New variable.
48898 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48899 (BUILD_CC): Removed.
48900 (BUILD_CFLAGS): Likewise.
48901 (BUILD_CPPFLAGS): Likewise.
48902 (TARGET_CC): New variable.
48903 (TARGET_CFLAGS): Likewise.
48904 (TARGET_CPPFLAGS): Likewise.
48905 (TARGET_LDFLAGS): Likewise.
48906 (AWK): Likewise.
48907 (include): Use target_cpu instead of host_cpu.
48908 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
48909
48910 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48911
48912 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48913
48914 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48915 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48916 field 'false' to 'exec_on_false'.
48917 (grub_script_create_cmdif): Renamed argument names to reflect above
48918 changes.
48919
48920 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48921
48922 * normal/script.c (grub_script_create_cmdif): Likewise.
48923
48924 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48925
48926 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48927 top.
48928 (grub_hfsplus_btree_recptr): Likewise.
48929 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48930 FILEBLOCK both to pass a block number and store next block
48931 number.
48932 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48933 overflow file correctly. Specify errors appropriately, because
48934 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48935 grub_hfsplus_btree_recptr to get the pointer to a found key.
48936 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48937 is found.
48938
48939 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48940 linux.mod.
48941 (_linux_mod_SOURCES): New variable.
48942 (_linux_mod_CFLAGS): Likewise.
48943 (_linux_mod_LDFLAGS): Likewise.
48944 (linux_mod_SOURCES): Likewise.
48945 (linux_mod_CFLAGS): Likewise.
48946 (linux_mod_LDFLAGS): Likewise.
48947
48948 * DISTLIST: Added loader/i386/efi/linux.c,
48949 loader/i386/efi/linux_normal.c and
48950 include/grub/i386/efi/loader.h.
48951
48952 * loader/i386/efi/linux.c: New file.
48953 * loader/i386/efi/linux_normal.c: Likewise.
48954 * include/grub/i386/efi/loader.h: Likewise.
48955
48956 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48957
48958 * commands/blocklist.c: New file.
48959
48960 * DISTLIST: Added commands/blocklist.c.
48961
48962 * term/efi/console.c (grub_console_highlight_color): Use a lighter
48963 color for the background, and a darker color for the foreground.
48964 (grub_console_checkkey): Return READ_KEY.
48965 (grub_console_cls): Set the background to
48966 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48967
48968 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48969
48970 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48971 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48972
48973 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48974 prototype.
48975
48976 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48977 BG. The spec is wrong again.
48978
48979 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48980 prototype.
48981 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48982
48983 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48984 commands/blocklist.c.
48985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48986
48987 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48988 (blocklist_mod_SOURCES): New variable.
48989 (blocklist_mod_CFLAGS): Likewise.
48990 (blocklist_mod_LDFLAGS): Likewise.
48991
48992 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48993
48994 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48995 duplication.
48996 (lba_mode): Use %eax more intensively to reduce the code size.
48997
48998 2006-05-20 Marco Gerards <marco@gnu.org>
48999
49000 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49001
49002 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49003 for `menuentry'.
49004 (script): Accept leading newlines.
49005 (newlines): New rule to describe 0 or more newlines.
49006 (commands): Accept `command' with trailing newline. Fixed the
49007 order in which arguments were passed to `grub_script_add_cmd'.
49008 Accept commands separated by newlines.
49009 (function): Changed to accept newlines.
49010 (menuentry) Rewritten.
49011
49012 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49013 front of the list, instead of to the end.
49014
49015 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49016
49017 * util/i386/pc/grub-install.in (bindir): New variable.
49018 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49019 Shaver <lbgwjl@gmail.com>.
49020
49021 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49022
49023 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49024 grub/machine/linux.h
49025 * loader/i386/pc/linux.c: Likewise.
49026
49027 * include/grub/i386/pc/linux.h: Moved to ...
49028 * include/grub/i386/linux.h: ... here.
49029
49030 * include/grub/i386/linux.h (struct linux_kernel_params): New
49031 struct.
49032
49033 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49034
49035 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49036 checking.
49037 (grub_video_vbe_blit_glyph): Likewise.
49038 (grub_video_vbe_blit_bitmap): Likewise.
49039 (grub_video_vbe_blit_render_target): Likewise.
49040
49041 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49042
49043 * configure.ac (--with-platform): Properly quote the square
49044 brackets.
49045
49046 2006-05-08 Marco Gerards <marco@gnu.org>
49047
49048 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49049 this...
49050 (kernel_elf_HEADERS): ...to this. Updated all users.
49051 (grubof_symlist.c): Renamed from this...
49052 (kernel_elf_symlist.c): ...to this. Updated all users.
49053 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49054 (grubof_SOURCES): Renamed from this...
49055 (kernel_elf_SOURCES): ...to this.
49056 (grubof_HEADERS): Renamed from this...
49057 (kernel_elf_HEADERS): ...to this.
49058 (grubof_CFLAGS): Renamed from this...
49059 (kernel_elf_CFLAGS): ...to this.
49060 (grubof_ASFLAGS): Renamed from this...
49061 (kernel_elf_ASFLAGS): ...to this.
49062 (grubof_LDFLAGS): Renamed from this...
49063 (kernel_elf_LDFLAGS): ...to this.
49064
49065 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49066 this...
49067 (kernel_elf_HEADERS): ...to this. Updated all users.
49068 (grubof_symlist.c): Renamed from this...
49069 (kernel_elf_symlist.c): ...to this. Updated all users.
49070 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49071 (grubof_SOURCES): Renamed from this...
49072 (kernel_elf_SOURCES): ...to this.
49073 (grubof_HEADERS): Renamed from this...
49074 (kernel_elf_HEADERS): ...to this.
49075 (grubof_CFLAGS): Renamed from this...
49076 (kernel_elf_CFLAGS): ...to this.
49077 (grubof_ASFLAGS): Renamed from this...
49078 (kernel_elf_ASFLAGS): ...to this.
49079 (grubof_LDFLAGS): Renamed from this...
49080 (kernel_elf_LDFLAGS): ...to this.
49081
49082 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49083 `kernel.elf' instead of `grubof'.
49084
49085 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49086
49087 Add --with-platform to configure. Use pkglibdir instead of
49088 pkgdatadir. This is reported by Roger Leigh.
49089
49090 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49091 (host_vendor): Likewise.
49092 (host_os): Likewise.
49093 (pkgdatadir): Likewise.
49094 (platform): New variable.
49095 (pkglibdir): Likewise.
49096 Use PKGLIBDIR instead of PKGDATADIR.
49097
49098 * util/i386/pc/grub-install.in (datadir): Removed.
49099 (host_vendor): Likewise.
49100 (host_os): Likewise.
49101 (pkgdatadir): Likewise.
49102 (platform): New variable.
49103 (pkglibdir): Likewise.
49104 Use PKGLIBDIR instead of PKGDATADIR.
49105
49106 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49107 instead of GRUB_DATADIR.
49108 (main): Likewise.
49109 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49110 (main): Likewise.
49111 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49112 (main): Likewise.
49113
49114 * configure.ac (--with-platform): New option.
49115 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49116
49117 * Makefile.in: Include a makefile based on PLATFORM instead of
49118 HOST_VENDOR.
49119 (pkgdatadir): Not appended by the machine type.
49120 (pkglibdir): Appended by the machine type.
49121 (host_vendor): Removed.
49122 (platform): New variable.
49123 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49124 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49125 (uninstall): Likewise.
49126
49127 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49128
49129 Use the environment context in the menu. Remove the commands
49130 "default" and "timeout", and use variables instead.
49131
49132 * normal/menu.c: Include grub/env.h.
49133 (print_entry): Cast TITLE to silence gcc.
49134 (get_timeout): New function.
49135 (set_timeout): Likewise.
49136 (get_entry_number): Likewise.
49137 (run_menu): Use a default entry, a fallback entry and a timeout
49138 in the environment variables "default", "fallback" and
49139 "timeout". Also, tweak the default entry if it is not within the
49140 current menu entries.
49141 (grub_menu_run): Use a fallback entry in the environment variable
49142 "fallback".
49143
49144 * normal/main.c (read_config_file): Do not initialize
49145 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49146 NEWMENU->TIMEOUT.
49147 (grub_normal_execute): Use a data slot to store the menu.
49148
49149 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49150 fallback_entry and timeout.
49151 (struct grub_menu_list): Removed.
49152 (grub_menu_list_t): Likewise.
49153 (struct grub_context): Likewise.
49154 (grub_context_t): Likewise.
49155 (grub_context_get): Likewise.
49156 (grub_context_get_current_menu): Likewise.
49157 (grub_context_push_menu): Likewise.
49158 (grub_context_pop_menu): Likewise.
49159 (grub_default_init): Likewise.
49160 (grub_default_fini): Likewise.
49161 (grub_timeout_init): Likewise.
49162 (grub_timeout_fini): Likewise.
49163
49164 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49165 and timeout.mod.
49166 (normal_mod_SOURCES): Removed normal/context.c.
49167
49168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49169 commands/default.c, commands/timeout.c and normal/context.c.
49170 (normal_mod_SOURCES): Removed normal/context.c.
49171
49172 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49173 commands/timeout.c and normal/context.c.
49174 (normal_mod_SOURCES): Removed normal/context.c.
49175
49176 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49177 commands/default.c, commands/timeout.c and normal/context.c.
49178 (normal_mod_SOURCES): Removed normal/context.c.
49179
49180 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49181 timeout.mod.
49182 (default_mod_SOURCES): Removed.
49183 (default_mod_CFLAGS): Likewise.
49184 (default_mod_LDFLAGS): Likewise.
49185 (timeout_mod_SOURCES): Removed.
49186 (timeout_mod_CFLAGS): Likewise.
49187 (timeout_mod_LDFLAGS): Likewise.
49188
49189 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49190 normal/context.c.
49191
49192 * commands/default.c: Removed.
49193 * commands/timeout.c: Likewise.
49194 * normal/context.c: Likewise.
49195
49196 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49197
49198 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49199
49200 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49201
49202 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49203 "next" to "prev" for readability.
49204 (struct grub_env_sorted_var): New struct.
49205 (grub_env_context): Renamed to ...
49206 (initial_context): ... this.
49207 (grub_env_var_context): Renamed to ...
49208 (current_context): ... this.
49209 (grub_env_find): Look only at CURRENT_CONTEXT.
49210 (grub_env_context_open): Rewritten to copy exported variables from
49211 previous context.
49212 (grub_env_context_close): Rewritten according to the new
49213 scheme. Also, add an assertion to prevent the initial context from
49214 removed.
49215 (grub_env_insert): Removed the code for the sorted list.
49216 (grub_env_remove): Likewise.
49217 (grub_env_export): Simply mark the variable with
49218 GRUB_ENV_VAR_GLOBAL.
49219 (grub_env_set): A cosmetic change for naming consistency.
49220 (grub_env_get): Likewise.
49221 (grub_env_unset): Likewise.
49222 (grub_env_iterate): Rewritten to sort variables within this
49223 function.
49224 (grub_register_variable_hook): Fixed for naming consistency. Call
49225 grub_env_find again, only if NAME is not found at the first time.
49226 (mangle_data_slot_name): New function.
49227 (grub_env_set_data_slot): Likewise.
49228 (grub_env_get_data_slot): Likewise.
49229 (grub_env_unset_data_slot): Likewise.
49230
49231 * include/grub/env.h (grub_env_var_type): New enum.
49232 (GRUB_ENV_VAR_LOCAL): New constant.
49233 (GRUB_ENV_VAR_GLOBAL): Likewise.
49234 (GRUB_ENV_VAR_DATA): Likewise.
49235 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49236 "type".
49237 (grub_env_set): Replace VAR with NAME for consistency.
49238 (grub_register_variable_hook): Likewise.
49239 (grub_env_export): Specify the name of the argument.
49240 (grub_env_set_data_slot): New prototype.
49241 (grub_env_get_data_slot): Likewise.
49242 (grub_env_unset_data_slot): Likewise.
49243
49244 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49245
49246 Extend the loader so that GRUB can accept a loader which comes
49247 back to GRUB when a loaded image exits. Also, this change adds
49248 support for a chainloader on EFI.
49249
49250 * term/efi/console.c: Include grub/misc.h.
49251 (grub_console_checkkey): Display a scan code on the top for
49252 debugging. This will be removed once the EFI port gets stable.
49253 Correct the scan code mapping.
49254
49255 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49256 allocate memory from larger regions, in order to reduce the number
49257 of allocated regions. Otherwise, the MacOSX loader panics.
49258 (filter_memory_map): Avoid less than 1MB for compatibility with
49259 other loaders.
49260 (add_memory_regions): Allocate from the tail of a region, if
49261 possible, to avoid allocating a region near to 1MB, for the MacOSX
49262 loader.
49263
49264 * kern/efi/init.c (grub_efi_set_prefix): Specify
49265 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49266
49267 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49268 argument IMAGE_HANDLE and specify it to get a loaded image.
49269 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49270 grub_efi_get_loaded_image.
49271 (grub_efi_get_filename): Divide the length by the size of
49272 grub_efi_char16_t.
49273 (grub_efi_get_device_path): New function.
49274 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49275 the length by the size of grub_efi_char16_t for a file path device
49276 path node.
49277
49278 * kern/loader.c (grub_loader_noreturn): New variable.
49279 (grub_loader_set): Accept a new argument NORETURN. Set
49280 GRUB_LOADER_NORETURN to NORETURN.
49281 All callers changed.
49282 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49283 grub_machine_fini.
49284
49285 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49286 prototype.
49287 (grub_efi_get_loaded_image): Take an argument to specify an image
49288 handle.
49289
49290 * include/grub/loader.h (grub_loader_set): Added one more argument
49291 NORETURN.
49292
49293 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49294 instead of grub_efi_open_protocol.
49295 (grub_efidisk_get_device_name): Likewise.
49296 (grub_efidisk_close): Print a newline.
49297 (grub_efidisk_get_device_handle): Fixed to use
49298 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49299 GRUB_EFI_DEVICE_PATH_TYPE.
49300
49301 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49302 * kern/efi/efi.c (device_path_guid): ... here.
49303
49304 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49305 chain.mod.
49306 (kernel_mod_HEADERS): Added efi/disk.h.
49307 (_chain_mod_SOURCES): New variable.
49308 (_chain_mod_CFLAGS): Likewise.
49309 (_chain_mod_LDFLAGS): Likewise.
49310 (chain_mod_SOURCES): Likewise.
49311 (chain_mod_CFLAGS): Likewise.
49312 (chain_mod_LDFLAGS): Likewise.
49313
49314 * DISTLIST: Added include/grub/efi/chainloader.h,
49315 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49316
49317 * include/grub/efi/chainloader.h: New file.
49318 * loader/efi/chainloader.c: Likewise.
49319 * loader/efi/chainloader_normal.c: Likewise.
49320
49321 2006-04-30 Marco Gerards <marco@gnu.org>
49322
49323 * commands/configfile.c (grub_cmd_source): New function.
49324 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49325 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49326
49327 2006-04-30 Marco Gerards <marco@gnu.org>
49328
49329 * normal/execute.c (grub_script_execute_cmd): Change the return
49330 type to `grub_err_t'. Correctly return the error.
49331 (grub_script_execute_cmdline): In case a command line is not a
49332 command or a function, try to interpret it as an assignment.
49333
49334 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49335
49336 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49337 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49338 skip a node whose name is obviously invalid as UTF-16,
49339 i.e. contains a NUL character. Stop the iteration when the last
49340 directory entry is found. Instead of using the return value of
49341 grub_hfsplus_btree_iterate_node, store the value in RET and use
49342 it, because the iterator can be stopped by the last directory
49343 entry.
49344
49345 2006-04-30 Marco Gerards <marco@gnu.org>
49346
49347 * include/grub/env.h (grub_env_export): New prototype. Reported
49348 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49349
49350 2006-04-30 Marco Gerards <marco@gnu.org>
49351
49352 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49353 size of the extents in a catalog file record.
49354
49355 2006-04-29 Marco Gerards <marco@gnu.org>
49356
49357 * commands/configfile.c (grub_cmd_configfile): Execute the
49358 configfile within its own context.
49359
49360 * include/grub/env.h (grub_env_context_open): New prototype.
49361 (grub_env_context_close): Likewise.
49362
49363 * kern/env.c (grub_env): Removed.
49364 (grub_env_sorted): Likewise.
49365 (grub_env_context): New variable.
49366 (grub_env_var_context): Likewise.
49367 (grub_env_find): Search both the active context and the global
49368 context.
49369 (grub_env_context_open): New function.
49370 (grub_env_context_close): Likewise.
49371 (grub_env_insert): Likewise.
49372 (grub_env_remove): Likewise.
49373 (grub_env_export): Likewise.
49374 (grub_env_set): Changed to use helper functions to avoid code
49375 duplication.
49376 (grub_env_iterate): Rewritten so both the current context and the
49377 global context are being used.
49378
49379 * normal/command.c (export_command): New function.
49380 (grub_command_init): Register the `export' function.
49381
49382 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49383
49384 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49385 explicitly to suppress gcc's warnings.
49386 * fs/fat.c (grub_fat_find_dir): Likewise.
49387 (grub_fat_label): Likewise.
49388 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49389 (grub_xfs_mount): Likewise.
49390 (grub_xfs_label): Likewise.
49391 * fs/affs.c (grub_affs_mount): Likewise.
49392 (grub_affs_label): Likewise.
49393 (grub_affs_iterate_dir): Likewise.
49394 * fs/sfs.c (grub_sfs_mount): Likewise.
49395 (grub_sfs_iterate_dir): Likewise.
49396 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49397 * fs/hfs.c (grub_hfs_mount): Likewise.
49398 (grub_hfs_cmp_catkeys): Likewise.
49399 (grub_hfs_find_dir): Likewise.
49400 (grub_hfs_dir): Likewise.
49401 (grub_hfs_label): Likewise.
49402 * fs/jfs.c (grub_jfs_mount): Likewise.
49403 (grub_jfs_opendir): Likewise.
49404 (grub_jfs_getent): Likewise.
49405 (grub_jfs_lookup_symlink): Likewise.
49406 (grub_jfs_label): Likewise.
49407 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49408 (grub_hfsplus_iterate_dir): Likewise.
49409 (grub_hfsplus_btree_iterate_node): Made static.
49410
49411 * util/grub-emu.c (prefix): New variable.
49412 (grub_machine_set_prefix): New function.
49413 (main): Do not set the environment variable "prefix" here. Only
49414 set PREFIX, which is used later by grub_machine_set_prefix.
49415
49416 * include/grub/video.h: Do not include grub/symbol.h.
49417 (grub_video_register): Not exported. This symbol is not defined in
49418 the kernel.
49419 (grub_video_unregister): Likewise.
49420 (grub_video_iterate): Likewise.
49421 (grub_video_setup): Likewise.
49422 (grub_video_restore): Likewise.
49423 (grub_video_get_info): Likewise.
49424 (grub_video_get_blit_format): Likewise.
49425 (grub_video_set_palette): Likewise.
49426 (grub_video_get_palette): Likewise.
49427 (grub_video_set_viewport): Likewise.
49428 (grub_video_get_viewport): Likewise.
49429 (grub_video_map_color): Likewise.
49430 (grub_video_map_rgb): Likewise.
49431 (grub_video_map_rgba): Likewise.
49432 (grub_video_fill_rect): Likewise.
49433 (grub_video_blit_glyph): Likewise.
49434 (grub_video_blit_bitmap): Likewise.
49435 (grub_video_blit_render_target): Likewise.
49436 (grub_video_scroll): Likewise.
49437 (grub_video_swap_buffers): Likewise.
49438 (grub_video_create_render_target): Likewise.
49439 (grub_video_delete_render_target): Likewise.
49440 (grub_video_set_active_render_target): Likewise.
49441
49442 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49443 Undefined.
49444 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49445
49446 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49447 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49448 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49449 instead of $(srcdir)/genkernsyms.sh.
49450
49451 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49452 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49453 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49454 instead of $(srcdir)/genkernsyms.sh.
49455
49456 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49457 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49458 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49459 instead of $(srcdir)/genkernsyms.sh.
49460
49461 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49462 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49463 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49464 instead of $(srcdir)/genkernsyms.sh.
49465
49466 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49467 genkernsyms.sh.
49468
49469 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49470 genkernsyms.sh.
49471 (gensymlist.sh): New target.
49472 (genkernsyms.sh): Likewise.
49473
49474 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49475 genkernsyms.sh.in and gensymlist.sh.in.
49476
49477 * genkernsyms.sh: Removed.
49478 * gensymlist.sh: Likewise.
49479
49480 * genkernsyms.sh.in: New file.
49481 * gensymlist.sh.in: Likewise.
49482
49483 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49484
49485 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49486 clobber "prefix", since we may have already set it manually.
49487
49488 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49489
49490 * kern/misc.c (abort): New alias for grub_abort.
49491
49492 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49493
49494 A new machine-specific function "grub_machine_set_prefix" is
49495 defined. This is called after loading modules, so that a prefix
49496 initialization can use modules. Also, this change adds an
49497 intensive debugging feature for the memory manager via the
49498 configure option "--enable-mm-debug".
49499
49500 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49501 PART.LEN.
49502
49503 * kern/sparc64/ieee1275/init.c (abort): Removed.
49504 (grub_stop): Likewise.
49505 (grub_exit): New function.
49506 (grub_set_prefix): Renamed to ...
49507 (grub_machine_set_prefix): ... this.
49508 (grub_machine_init): Do not call grub_set_prefix.
49509
49510 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49511 (grub_machine_set_prefix): ... this.
49512 (grub_machine_init): Do not call grub_set_prefix.
49513
49514 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49515 (grub_machine_init): Do not set the prefix here.
49516
49517 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49518
49519 * kern/efi/init.c: Include grub/mm.h.
49520 (grub_efi_set_prefix): New function.
49521
49522 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49523 (grub_efi_get_filename): New function.
49524 (grub_print_device_path): Renamed to ...
49525 (grub_efi_print_device_path): ... this.
49526
49527 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49528 [MM_DEBUG] (grub_realloc): Likewise.
49529 [MM_DEBUG] (grub_free): Likewise.
49530 [MM_DEBUG] (grub_memalign): Likewise.
49531 [MM_DEBUG] (grub_mm_debug): New variable.
49532 [MM_DEBUG] (grub_debug_malloc): New function.
49533 [MM_DEBUG] (grub_debug_free): New function.
49534 [MM_DEBUG] (grub_debug_realloc): New function.
49535 [MM_DEBUG] (grub_debug_memalign): New function.
49536
49537 * kern/misc.c (grub_abort): Print a newline to distinguish
49538 the message.
49539
49540 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49541 grub_set_root_dev after loading modules. This is necessary when
49542 setting a prefix depends on modules.
49543
49544 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49545 (grub_efi_print_device_path): ... this.
49546 (grub_efi_get_filename): New prototype.
49547 (grub_efi_set_prefix): Likewise.
49548
49549 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49550 and grub/disk.h.
49551 (grub_efidisk_get_device_handle): New prototype.
49552 (grub_efidisk_get_device_name): Likewise.
49553
49554 * include/grub/mm.h: Include config.h.
49555 (MM_DEBUG): Removed.
49556 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49557 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49558 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49559 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49560 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49561 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49562 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49563 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49564 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49565
49566 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49567
49568 * disk/efi/efidisk.c: Include grub/partition.h.
49569 (iterate_child_devices): New function.
49570 (add_device): First, compare only last device path nodes, so that
49571 devices are sorted by the types.
49572 (grub_efidisk_get_device_handle): New function.
49573 (grub_efidisk_get_device_name): Likewise.
49574
49575 * configure.ac (--enable-mm-debug): New option to enable the
49576 memory manager debugging feature. This makes the binary much
49577 bigger, so is disabled by default.
49578
49579 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49580
49581 Use grub_abort instead of grub_stop, and grub_exit must be
49582 define in each architecture now. Also, this change adds support
49583 for EFI disks.
49584
49585 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49586 (grub_getkey): New function.
49587 (grub_term_get_current): Likewise.
49588
49589 * util/i386/pc/grub-setup.c: Include grub/term.h.
49590 (grub_getkey): New function.
49591 (grub_term_get_current): Likewise.
49592
49593 * util/misc.c (grub_stop): Renamed to ...
49594 (grub_exit): ... this.
49595
49596 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49597 (grub_exit): ... this.
49598 (grub_machine_init): Use grub_abort instead of abort.
49599 (grub_stop): Removed.
49600
49601 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49602 abort.
49603
49604 * kern/i386/pc/startup.S (grub_exit): New function.
49605 (cold_reboot): New label.
49606
49607 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49608 (grub_efi_init): Call grub_efidisk_init.
49609 (grub_efi_fini): Call grub_efidisk_fini.
49610
49611 * kern/efi/efi.c: Include grub/mm.h.
49612 (grub_efi_console_control_guid): Renamed to ...
49613 (console_control_guid): ... this.
49614 (grub_efi_loaded_image_guid): Renamed to ...
49615 (loaded_image_guid): ... this.
49616 (grub_efi_locate_handle): New function.
49617 (grub_efi_open_protocol): Likewise.
49618 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49619 GRUB_EFI_CONSOLE_CONTROL_GUID.
49620 (grub_efi_exit): Removed.
49621 (grub_stop): Likewise.
49622 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49623 (grub_exit): New function.
49624 (grub_print_device_path): Likewise.
49625
49626 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49627 (grub_enter_rescue_mode): Register "exit".
49628
49629 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49630 (grub_abort): New function.
49631
49632 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49633
49634 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49635
49636 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49637
49638 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49639 (grub_print_device_path): New prototype.
49640 (grub_efi_locate_handle): Likewise.
49641 (grub_efi_open_protocol): Likewise.
49642
49643 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49644 * disk/efi/efidisk.c: Likewise.
49645
49646 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49647
49648 * include/grub/efi/console_control.h
49649 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49650
49651 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49652 last 8 bytes as an array.
49653 (GRUB_EFI_DISK_IO_GUID): New macro.
49654 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49655 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49656 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49657 grub_uint8_t.
49658 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49659 (struct grub_efi_device_path): Rename the member "sub_type" to
49660 "subtype".
49661 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49662 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49663 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49664 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49665 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49666 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49667 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49668 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49669 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49670 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49671 (struct grub_efi_pci_device_path): New structure.
49672 (grub_efi_pci_device_path_t): New type.
49673 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49674 (struct grub_efi_pccard_device_path): New structure.
49675 (grub_efi_pccard_device_path_t): New type.
49676 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49677 (struct grub_efi_memory_mapped_device_path): New structure.
49678 (grub_efi_memory_mapped_device_path_t): New type.
49679 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49680 (struct grub_efi_vendor_device_path): New structure.
49681 (grub_efi_vendor_device_path_t): New type.
49682 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49683 (struct grub_efi_controller_device_path): New structure.
49684 (grub_efi_controller_device_path_t): New type.
49685 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49686 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49687 (struct grub_efi_acpi_device_path): New structure.
49688 (grub_efi_acpi_device_path_t): New type.
49689 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49690 (struct grub_efi_expanded_acpi_device_path): New structure.
49691 (grub_efi_expanded_acpi_device_path_t): New type.
49692 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49693 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49694 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49695 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49696 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49697 (struct grub_efi_atapi_device_path): New structure.
49698 (grub_efi_atapi_device_path_t): New type.
49699 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49700 (struct grub_efi_fibre_channel_device_path): New structure.
49701 (grub_efi_fibre_channel_device_path_t): New type.
49702 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49703 (struct grub_efi_1394_device_path): New structure.
49704 (grub_efi_1394_device_path_t): New type.
49705 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49706 (struct grub_efi_usb_device_path): New structure.
49707 (grub_efi_usb_device_path_t): New type.
49708 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49709 (struct grub_efi_usb_class_device_path): New structure.
49710 (grub_efi_usb_class_device_path_t): New type.
49711 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49712 (struct grub_efi_i2o_device_path): New structure.
49713 (grub_efi_i2o_device_path_t): New type.
49714 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49715 (struct grub_efi_mac_address_device_path): New structure.
49716 (grub_efi_mac_address_device_path_t): New type.
49717 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49718 (struct grub_efi_ipv4_device_path): New structure.
49719 (grub_efi_ipv4_device_path_t): New type.
49720 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49721 (struct grub_efi_ipv6_device_path): New structure.
49722 (grub_efi_ipv6_device_path_t): New type.
49723 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49724 (struct grub_efi_infiniband_device_path): New structure.
49725 (grub_efi_infiniband_device_path_t): New type.
49726 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49727 (struct grub_efi_uart_device_path): New structure.
49728 (grub_efi_uart_device_path_t): New type.
49729 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49730 (struct grub_efi_vendor_messaging_device_path): New structure.
49731 (grub_efi_vendor_messaging_device_path_t): New type.
49732 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49733 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49734 (struct grub_efi_hard_drive_device_path): New structure.
49735 (grub_efi_hard_drive_device_path_t): New type.
49736 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49737 (struct grub_efi_cdrom_device_path): New structure.
49738 (grub_efi_cdrom_device_path_t): New type.
49739 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49740 (struct grub_efi_vendor_media_device_path): New structure.
49741 (grub_efi_vendor_media_device_path_t): New type.
49742 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49743 (struct grub_efi_file_path_device_path): New structure.
49744 (grub_efi_file_path_device_path_t): New type.
49745 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49746 (struct grub_efi_protocol_device_path): New structure.
49747 (grub_efi_protocol_device_path_t): New type.
49748 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49749 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49750 (struct grub_efi_bios_device_path): New structure.
49751 (grub_efi_bios_device_path_t): New type.
49752 (struct grub_efi_disk_io): New structure.
49753 (grub_efi_disk_io_t): New type.
49754 (struct grub_efi_block_io_media): New structure.
49755 (grub_efi_block_io_media_t): New type.
49756 (struct grub_efi_block_io): New structure.
49757 (grub_efi_block_io_t): New type.
49758
49759 * include/grub/misc.h (grub_stop): Removed.
49760 (grub_exit): New prototype.
49761 (grub_abort): Likewise.
49762
49763 * include/grub/disk.h (enum grub_disk_dev_id): Added
49764 GRUB_DISK_DEVICE_EFIDISK_ID.
49765
49766 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49767 disk/efi/efidisk.c.
49768 (kernel_syms.lst): Remove the target if an error occurs.
49769
49770 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49771
49772 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49773 as it was simply too buggy.
49774
49775 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49776
49777 * kern/misc.c (grub_lltoa): New function.
49778 (grub_vsprintf): Added support for the long long suffix,
49779 i.e. "ll".
49780
49781 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49782
49783 * Makefile.in (LDFLAGS): Add variable.
49784 (LD): Remove variable.
49785 * configure.ac: Add -m32 to LDFLAGS.
49786 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49787 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49788 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49789 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49790 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49791 variables.
49792 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49793 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49794 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49795
49796 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49797
49798 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49799 length for unknown glyph.
49800
49801 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49802
49803 Add support for pre-loaded modules into the EFI port.
49804
49805 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49806 completely. Accept one more argument DIR. The caller has changed.
49807
49808 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49809
49810 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49811 (grub_efi_loaded_image_guid): New variable.
49812 (grub_efi_get_loaded_image): New function.
49813 (grub_arch_modules_addr): Likewise.
49814
49815 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49816 prototype.
49817
49818 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49819 (struct grub_efi_loaded_image): New structure.
49820 (grub_efi_loaded_image_t): New type.
49821
49822 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49823
49824 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49825 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49826 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49827
49828 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49829
49830 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49831
49832 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49833
49834 * DISTLIST: Added include/grub/efi/console.h,
49835 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49836 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49837
49838 * include/grub/efi/console.h: New file.
49839 * include/grub/efi/time.h: Likewise.
49840 * include/grub/i386/efi/kernel.h: Likewise.
49841 * kern/efi/init.c: Likewise.
49842 * kern/efi/mm.c: Likewise.
49843 * term/efi/console.c: Likewise.
49844
49845 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49846 (grub_stop): Removed.
49847 (grub_get_rtc): Likewise.
49848 (grub_machine_init): Simply call grub_efi_init.
49849 (grub_machine_fini): Call grub_efi_fini.
49850
49851 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49852 (grub_efi_output_string): Removed.
49853 (grub_efi_stall): New function.
49854 (grub_stop): Likewise.
49855 (grub_get_rtc): Likewise.
49856
49857 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49858 (grub_efi_stall): New prototype.
49859 (grub_efi_allocate_pages): Likewise.
49860 (grub_efi_free_pages): Likewise.
49861 (grub_efi_get_memory_map): Likewise.
49862 (grub_efi_mm_init): Likewise.
49863 (grub_efi_mm_fini): Likewise.
49864 (grub_efi_init): Likewise.
49865 (grub_efi_fini): Likewise.
49866
49867 * include/grub/i386/efi/time.h: Do not include
49868 grub/symbol.h. Include grub/efi/time.h.
49869 (GRUB_TICKS_PER_SECOND): Removed.
49870 (grub_get_rtc): Likewise.
49871
49872 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49873 Added padding. The EFI spec is buggy.
49874 (GRUB_EFI_BLACK): New macro.
49875 (GRUB_EFI_BLUE): Likewise.
49876 (GRUB_EFI_GREEN): Likewise.
49877 (GRUB_EFI_CYAN): Likewise.
49878 (GRUB_EFI_RED): Likewise.
49879 (GRUB_EFI_MAGENTA): Likewise.
49880 (GRUB_EFI_BROWN): Likewise.
49881 (GRUB_EFI_LIGHTGRAY): Likewise.
49882 (GRUB_EFI_BRIGHT): Likewise.
49883 (GRUB_EFI_DARKGRAY): Likewise.
49884 (GRUB_EFI_LIGHTBLUE): Likewise.
49885 (GRUB_EFI_LIGHTGREEN): Likewise.
49886 (GRUB_EFI_LIGHTCYAN): Likewise.
49887 (GRUB_EFI_LIGHTRED): Likewise.
49888 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49889 (GRUB_EFI_YELLOW): Likewise.
49890 (GRUB_EFI_WHITE): Likewise.
49891 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49892 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49893 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49894 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49895 (GRUB_EFI_BACKGROUND_RED): Likewise.
49896 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49897 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49898 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49899 (GRUB_EFI_TEXT_ATTR): Likewise.
49900
49901 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49902 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49903 (kernel_mod_HEADERS): Added efi/time.h.
49904
49905 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49906
49907 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49908 include/grub/efi/api.h, include/grub/efi/console_control.h,
49909 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49910 include/grub/i386/efi/time.h, kern/efi/efi.c,
49911 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49912 and util/i386/efi/grub-mkimage.c.
49913
49914 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49915
49916 * genmk.rb (PModule#rule): Do not export symbols if
49917 #{prefix}_EXPORTS is set to "no".
49918
49919 * conf/i386-efi.mk: New file.
49920 * conf/i386-efi.rmk: Likewise.
49921 * include/grub/efi/api.h: Likewise.
49922 * include/grub/efi/console_control.h: Likewise.
49923 * include/grub/efi/efi.h: Likewise.
49924 * include/grub/efi/pe32.h: Likewise.
49925 * include/grub/i386/efi/time.h: Likewise.
49926 * kern/efi/efi.c: Likewise.
49927 * kern/i386/efi/init.c: Likewise.
49928 * kern/i386/efi/startup.S: Likewise.
49929 * util/i386/efi/grub-mkimage.c: Likewise.
49930
49931 2006-04-17 Marco Gerards <marco@gnu.org>
49932
49933 * include/grub/script.h: Include <grub/parser.h> and
49934 "grub_script.tab.h".
49935 (struct grub_lexer_param): New struct.
49936 (struct grub_parser_param): Likewise.
49937 (grub_script_create_arglist): Pass the state in an argument.
49938 (grub_script_add_arglist): Likewise.
49939 (grub_script_create_cmdline): Likewise.
49940 (grub_script_create_cmdblock): Likewise.
49941 (grub_script_create_cmdif): Likewise.
49942 (grub_script_create_cmdmenu): Likewise.
49943 (grub_script_add_cmd): Likewise.
49944 (grub_script_arg_add): Likewise.
49945 (grub_script_lexer_ref): Likewise.
49946 (grub_script_lexer_deref): Likewise.
49947 (grub_script_lexer_record_start): Likewise.
49948 (grub_script_lexer_record_stop): Likewise.
49949 (grub_script_mem_record): Likewise.
49950 (grub_script_mem_record_stop): Likewise.
49951 (grub_script_malloc): Likewise.
49952 (grub_script_yylex): Likewise.
49953 (grub_script_yyparse): Likewise.
49954 (grub_script_yyerror): Likewise.
49955 (grub_script_yylex): Likewise.
49956 (grub_script_lexer_init): Return the state.
49957
49958 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49959 (grub_script_lexer_done): Likewise.
49960 (grub_script_lexer_getline): Likewise.
49961 (grub_script_lexer_refs): Likewise.
49962 (script): Likewise.
49963 (newscript): Likewise.
49964 (record): Likewise.
49965 (recording): Likewise.
49966 (recordpos): Likewise.
49967 (recordlen): Likewise.
49968 (grub_script_lexer_init): Return the state instead of setting
49969 global variables.
49970 (grub_script_lexer_ref): Use the newly added argument for state
49971 instead of globals.
49972 (grub_script_lexer_deref): Likewise.
49973 (grub_script_lexer_record_start): Likewise.
49974 (grub_script_lexer_record_stop): Likewise.
49975 (recordchar): Likewise.
49976 (nextchar): Likewise.
49977 (grub_script_yylex2): Likewise.
49978 (grub_script_yylex): Likewise.
49979 (grub_script_yyerror): Likewise.
49980
49981 * normal/parser.y (func_mem): Removed variable.
49982 (menu_entry): Likewise.
49983 (err): Likewise.
49984 (%lex-param): New parser option.
49985 (%parse-param): Likewise.
49986 (script): Always return the AST.
49987 (argument): Pass the state around.
49988 (arguments): Likewise.
49989 (grubcmd): Likewise.
49990 (commands): Likewise.
49991 (function): Likewise.
49992 (menuentry): Likewise.
49993 (if_statement): Likewise.
49994 (if): Likewise.
49995
49996 * normal/script.c (grub_script_memused): Removed variable.
49997 (grub_script_parsed): Likewise.
49998 (grub_script_malloc): Added a state argument. Use that instead of
49999 global variables.
50000 (grub_script_mem_record): Likewise.
50001 (grub_script_mem_record_stop): Likewise.
50002 (grub_script_arg_add): Likewise.
50003 (grub_script_add_arglist): Likewise.
50004 (grub_script_create_cmdline): Likewise.
50005 (grub_script_create_cmdif): Likewise.
50006 (grub_script_create_cmdmenu): Likewise.
50007 (grub_script_add_cmd): Likewise.
50008 (grub_script_parse): Setup the state before calling the parser.
50009
50010 2006-04-16 Marco Gerards <marco@gnu.org>
50011
50012 * normal/command.c (grub_command_init): Remove the title command.
50013
50014 * normal/lexer.c (grub_script_yylex): Renamed from this...
50015 (grub_script_yylex2): ... to this.
50016 (grub_script_yylex): New function. Temporary
50017 introduced to filter some tokens.
50018 (grub_script_yyerror): Print a newline.
50019
50020 * normal/main.c (read_config_file): Output information about the
50021 lines that contain errors. Wait for a key after all lines have
50022 been processed. Don't return an empty menu.
50023
50024 * normal/parser.y (func_mem): Don't initialize.
50025 (menu_entry): Likewise.
50026 (err): New variable.
50027 (script): Don't return anything when an error was encountered.
50028 (ws, returns): Removed rules.
50029 (argument): Disabled concatenated variable support.
50030 (arguments): Remove explicit separators.
50031 (grubcmd): Likewise.
50032 (function): Likewise.
50033 (menuentry): Likewise.
50034 (if): Likewise.
50035 (commands): Likewise. Add error handling.
50036
50037 * normal/script.c (grub_script_create_cmdline): If
50038 `grub_script_parsed' is 0, assume the parser encountered an error.
50039
50040 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50041
50042 * configure.ac: Add support for EFI. Fix the typo
50043 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50044
50045 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50046
50047 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50048 foreign multibyte characters should be shown correctly.
50049
50050 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50051
50052 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50053 calculation.
50054 (read_config_file): Made it to close file before returning.
50055
50056 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50057
50058 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50059 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50060 video/i386/pc/vbefill.c.
50061
50062 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50063 video/i386/pc/vbefill.c.
50064
50065 * include/grub/video.h (grub_video_blit_format): New enum.
50066 (grub_video_mode_info): Added new member blit_format.
50067 (grub_video_get_blit_format): New function prototype.
50068
50069 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50070 function prototype.
50071 (grub_video_vbe_map_rgb): Likewise.
50072 (grub_video_vbe_unmap_color): Likewise.
50073
50074 * include/grub/i386/pc/vbeblit.h: New file.
50075
50076 * include/grub/i386/pc/vbefill.h: New file.
50077
50078 * video/video.c (grub_video_get_blit_format): New function.
50079 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50080 (grub_video_vbe_map_rgb): Likewise.
50081 (grub_video_vbe_unmap_color): Likewise.
50082
50083 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50084 optimized fills.
50085 (grub_video_vbe_blit_render_target): Changed to use more optimized
50086 blits.
50087 (grub_video_vbe_setup): Added detection for optimized settings.
50088 (grub_video_vbe_create_render_target): Likewise.
50089
50090 * video/i386/pc/vbeblit.c: New file.
50091
50092 * video/i386/pc/vbefill.c: New file.
50093
50094 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50095
50096 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50097 here...
50098
50099 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50100 parsing to support both hex and dec ranges. If filename was missing
50101 show usage information.
50102
50103 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50104
50105 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50106 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50107
50108 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50109 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50110 (video_mod_SOURCES): Added.
50111 (video_mod_CFLAGS): Likewise.
50112 (video_mod_LDFLAGS): Likewise.
50113 (gfxterm_mod_SOURCES): Likewise.
50114 (gfxterm_mod_CFLAGS): Likewise.
50115 (gfxterm_mod_LDFLAGS): Likewise.
50116 (videotest_mod_SOURCES): Likewise.
50117 (videotest_mod_CFLAGS): Likewise.
50118 (videotest_mod_LDFLAGS): Likewise.
50119 (vesafb_mod_SOURCES): Removed.
50120 (vesafb_mod_CFLAGS): Likewise.
50121 (vesafb_mod_LDFLAGS): Likewise.
50122 (vga_mod_SOURCES): Likewise.
50123 (vga_mod_CFLAGS): Likewise.
50124 (vga_mod_LDFLAGS): Likewise.
50125
50126 * commands/videotest.c: New file.
50127
50128 * font/manager.c (fill_with_default_glyph): Modified to use
50129 grub_font_glyph.
50130 (grub_font_get_glyph): Likewise.
50131 (fontmanager): Renamed from this...
50132 (font_manager): ... to this.
50133
50134 * include/grub/font.h (grub_font_glyph): Added new structure.
50135 (grub_font_get_glyph): Modified to use grub_font_glyph.
50136
50137 * include/grub/misc.h (grub_abs): Added as inline function.
50138
50139 * include/grub/video.h: New file.
50140
50141 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50142 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50143 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50144 (grub_vbe_get_controller_info): Renamed from this...
50145 (grub_vbe_bios_get_controller_info): ... to this.
50146 (grub_vbe_get_mode_info): Renamed from this...
50147 (grub_vbe_bios_get_mode_info): ... to this.
50148 (grub_vbe_set_mode): Renamed from this...
50149 (grub_vbe_bios_set_mode): ... to this.
50150 (grub_vbe_get_mode): Renamed from this...
50151 (grub_vbe_bios_get_mode): ... to this.
50152 (grub_vbe_set_memory_window): Renamed from this...
50153 (grub_vbe_bios_set_memory_window): ... to this.
50154 (grub_vbe_get_memory_window): Renamed from this...
50155 (grub_vbe_bios_get_memory_window): ... to this.
50156 (grub_vbe_set_scanline_length): Renamed from this...
50157 (grub_vbe_set_scanline_length): ... to this.
50158 (grub_vbe_get_scanline_length): Renamed from this...
50159 (grub_vbe_bios_get_scanline_length): ... to this.
50160 (grub_vbe_set_display_start): Renamed from this...
50161 (grub_vbe_bios_set_display_start): ... to this.
50162 (grub_vbe_get_display_start): Renamed from this...
50163 (grub_vbe_bios_get_display_start): ... to this.
50164 (grub_vbe_set_palette_data): Renamed from this...
50165 (grub_vbe_bios_set_palette_data): ... to this.
50166 (grub_vbe_set_pixel_rgb): Removed.
50167 (grub_vbe_set_pixel_index): Likewise.
50168
50169 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50170 from this...
50171 (grub_vbe_bios_get_controller_info): ... to this.
50172 (grub_vbe_get_mode_info): Renamed from this...
50173 (grub_vbe_bios_get_mode_info): ... to this.
50174 (grub_vbe_set_mode): Renamed from this...
50175 (grub_vbe_bios_set_mode): ... to this.
50176 (grub_vbe_get_mode): Renamed from this...
50177 (grub_vbe_bios_get_mode): ... to this.
50178 (grub_vbe_set_memory_window): Renamed from this...
50179 (grub_vbe_bios_set_memory_window): ... to this.
50180 (grub_vbe_get_memory_window): Renamed from this...
50181 (grub_vbe_bios_get_memory_window): ... to this.
50182 (grub_vbe_set_scanline_length): Renamed from this...
50183 (grub_vbe_set_scanline_length): ... to this.
50184 (grub_vbe_get_scanline_length): Renamed from this...
50185 (grub_vbe_bios_get_scanline_length): ... to this.
50186 (grub_vbe_set_display_start): Renamed from this...
50187 (grub_vbe_bios_set_display_start): ... to this.
50188 (grub_vbe_get_display_start): Renamed from this...
50189 (grub_vbe_bios_get_display_start): ... to this.
50190 (grub_vbe_set_palette_data): Renamed from this...
50191 (grub_vbe_bios_set_palette_data): ... to this.
50192 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50193 getting corrupted after calling it. Added more pushes and pops.
50194 (grub_vbe_bios_set_mode): Likewise.
50195 (grub_vbe_bios_get_mode): Likewise.
50196 (grub_vbe_bios_get_memory_window): Likewise.
50197 (grub_vbe_bios_set_scanline_length): Likewise.
50198 (grub_vbe_bios_get_scanline_length): Likewise.
50199 (grub_vbe_bios_get_display_start): Likewise.
50200 (grub_vbe_bios_set_palette_data): Likewise.
50201
50202 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50203 (cl_insert): Likewise.
50204 (cl_delete): Likewise.
50205
50206 * term/gfxterm.c: New file.
50207
50208 * term/i386/pc/vesafb.c: Removed file.
50209
50210 * video/video.c: New file.
50211
50212 * video/i386/pc/vbe.c (real2pm): Added new function.
50213 (grub_video_vbe_draw_pixel): Likewise.
50214 (grub_video_vbe_get_video_ptr): Likewise.
50215 (grub_video_vbe_get_pixel): Likewise
50216 (grub_video_vbe_init): Likewise.
50217 (grub_video_vbe_fini): Likewise.
50218 (grub_video_vbe_setup): Likewise.
50219 (grub_video_vbe_get_info): Likewise.
50220 (grub_video_vbe_set_palette): Likewise.
50221 (grub_video_vbe_get_palette): Likewise.
50222 (grub_video_vbe_set_viewport): Likewise.
50223 (grub_video_vbe_get_viewport): Likewise.
50224 (grub_video_vbe_map_color): Likewise.
50225 (grub_video_vbe_map_rgb): Likewise.
50226 (grub_video_vbe_map_rgba): Likewise.
50227 (grub_video_vbe_unmap_color): Likewise.
50228 (grub_video_vbe_fill_rect): Likewise.
50229 (grub_video_vbe_blit_glyph): Likewise.
50230 (grub_video_vbe_blit_bitmap): Likewise.
50231 (grub_video_vbe_blit_render_target): Likewise.
50232 (grub_video_vbe_scroll): Likewise.
50233 (grub_video_vbe_swap_buffers): Likewise.
50234 (grub_video_vbe_create_render_target): Likewise.
50235 (grub_video_vbe_delete_render_target): Likewise.
50236 (grub_video_vbe_set_active_render_target): Likewise.
50237 (grub_vbe_set_pixel_rgb): Remove function.
50238 (grub_vbe_set_pixel_index): Likewise.
50239 (index_color_mode): Remove static variable.
50240 (active_mode): Likewise.
50241 (framebuffer): Likewise.
50242 (bytes_per_scan_line): Likewise.
50243 (grub_video_vbe_adapter): Added new static variable.
50244 (framebuffer): Likewise.
50245 (render_target): Likewise.
50246 (initial_mode): Likewise.
50247 (mode_in_use): Likewise.
50248 (mode_list): Likewise.
50249
50250 2006-03-10 Marco Gerards <marco@gnu.org>
50251
50252 * configure.ac (AC_INIT): Bumped to 1.93.
50253
50254 * DISTLIST: Added `include/grub/hfs.h'.
50255
50256 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50257
50258 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50259 18H, which might help the BIOS falling back to next boot media.
50260
50261 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50262
50263 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50264 Poe Chen <poe.poechen@gmail.com>.
50265
50266 2006-01-17 Marco Gerards <marco@gnu.org>
50267
50268 * include/grub/normal.h: Include <grub/script.h>.
50269 (grub_command_list): Removed struct.
50270 (grub_command_list_t): Removed type.
50271 (grub_menu_entry): Remove members `num' and `command_list'. Add
50272 members `commands' and `sourcecode'.
50273 * include/grub/script.h: Add inclusion guards.
50274 (grub_script_cmd_menuentry): New struct.
50275 (grub_script_execute_menuentry): New prototype.
50276 (grub_script_lexer_record_start): Likewise.
50277 (grub_script_lexer_record_stop): Likewise.
50278 * normal/execute.c (grub_script_execute_menuentry): New function.
50279 * normal/lexer.c (record, recording, recordpos, recordlen): New
50280 variables.
50281 (grub_script_lexer_record_start): New function.
50282 (grub_script_lexer_record_stop): Likewise.
50283 (recordchar): Likewise.
50284 (nextchar): Likewise.
50285 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50286 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50287 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50288 (current_menu): New variable.
50289 (free_menu): Mainly rewritten.
50290 (grub_normal_menu_addentry): New function.
50291 (read_config_file): Rewritten.
50292 * normal/menu.c (run_menu_entry): Mainly rewritten.
50293 * normal/menu_entry.c (make_screen): Rewritten the code to insert
50294 the menu entry.
50295 (run): Mainly rewritten.
50296 * normal/parser.y (menu_entry): New variable.
50297 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50298 (menuentry): New rule.
50299 (command): Add `menuentry'.
50300 (if_statement): Allow additional returns before `fi'.
50301 * normal/script.c (grub_script_create_cmdmenu): New function.
50302
50303 2006-01-03 Marco Gerards <marco@gnu.org>
50304
50305 * INSTALL: GNU Bison is required.
50306 * configure.ac: Rewritten the test to detect Bison.
50307 * Makefile.in (YACC): New variable. Reported by Xun Sun
50308 <xun.sun.cn@gmail.com>.
50309
50310 2006-01-03 Marco Gerards <marco@gnu.org>
50311
50312 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50313 the HFS+ filesystem to filesystem blocks.
50314 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50315 GCC warning is silenced.
50316
50317 2006-01-03 Marco Gerards <marco@gnu.org>
50318
50319 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50320 read from disk from big endian to host byte order.
50321
50322 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50323
50324 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50325 documentation.
50326 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50327 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50328 embedded HFS+ filesystem.
50329 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50330 (grub_hfs_sblock): Move from here...
50331 * include/grub/hfs.h: To here... New file.
50332 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50333 documentation.
50334 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50335 New macros.
50336 (grub_hfsplus_volheader): Change type of member `magic' to
50337 `grub_uint16_t'.
50338 (grub_hfsplus_data): Add new member `embedded_offset'.
50339 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50340 returned block.
50341 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50342 Calculate the offset.
50343
50344 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50345
50346 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50347 Removed.
50348 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50349
50350 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50351
50352 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50353 ENV->NAME is NULL after allocating ENV->VALUE.
50354
50355 2005-12-25 Marco Gerards <marco@gnu.org>
50356
50357 * kern/env.c (grub_env_set): Rewritten the error handling code.
50358
50359 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50360
50361 * geninit.sh: Made more robust, and more portable.
50362
50363 2005-12-25 Marco Gerards <marco@gnu.org>
50364
50365 Add support for Apple HFS+ filesystems.
50366
50367 * fs/hfsplus.c: New file.
50368
50369 * DISTLIST: Added `fs/hfsplus.c'.
50370
50371 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50372 (hfsplus_mod_SOURCES): New variable.
50373 (hfsplus_mod_CFLAGS): Likewise.
50374 (hfsplus_mod_LDFLAGS): Likewise.
50375 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50376 (grub_setup_SOURCES): Likewise.
50377 (grub_mkdevicemap_SOURCES): Likewise.
50378 (grub_emu_SOURCES): Likewise.
50379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50380
50381 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50382
50383 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50384
50385 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50386
50387 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50388 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50389 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50390 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50391 normal/lexer.c, normal/parser.y, normal/script.c, and
50392 partmap/gpt.c.
50393 Removed kern/sparc64/cache.c.
50394
50395 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50396 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50397 grub_emu_init.c.
50398
50399 * configure.ac (AC_INIT): Bumped to 1.92.
50400
50401 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50402
50403 * kern/err.c (grub_error_push): Added new function to support error
50404 stacks.
50405 (grub_error_pop): Likewise.
50406 (grub_error_stack_items): New local variable to support error stacks.
50407 (grub_error_stack_pos): Likewise.
50408 (grub_error_stack_assert): Likewise.
50409 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50410 stack depth.
50411 (grub_print_error): Added support to print errors from error stack.
50412
50413 * include/grub/err.h (grub_error_push): Added function prototype.
50414 (grub_error_pop): Likewise.
50415
50416 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50417
50418 * configure.ac: Accept `powerpc64' as host_cpu.
50419 (amd64): Rename to `biarch32'.
50420
50421 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50422 non-cacheline-aligned addresses.
50423
50424 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50425 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50426 if `size' is non-zero.
50427
50428 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
50429
50430 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50431 and `cd' to make sure the filename is not prefixed with a
50432 directory name.
50433 (pkgdata_MODULES): Add `gpt.mod'.
50434 (gpt_mod_SOURCES): New variable.
50435 (gpt_mod_CFLAGS): Likewise.
50436 (gpt_mod_LDFLAGS): Likewise.
50437
50438 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50439
50440 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50441 New macro.
50442
50443 * partmap/gpt.c: New file.
50444
50445 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50446 GPT partition map is detected.
50447
50448 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50449
50450 * commands/i386/pc/play.c: New file.
50451 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50452 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50453 macros.
50454
50455 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
50456
50457 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50458 ((unused))' to silence gcc warning.
50459
50460 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50461
50462 * configure.ac: Correct `AC_PROG_YACC' test.
50463
50464 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50465
50466 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50467 check before installing files.
50468
50469 2005-11-22 Mike Small <smallm@panix.com>
50470
50471 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50472 number regex so multidigit numbers are recognized correctly.
50473
50474 2005-11-22 Mike Small <smallm@panix.com>
50475
50476 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50477 debugging message before attempting to claim memory.
50478 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50479 multiple addresses in case of failure.
50480
50481 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50482
50483 * term/tparm.c (get_space): Remove empty `if' statement.
50484
50485 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50486
50487 * kern/parser.c (check_varstate): Rename `state' to 's'.
50488
50489 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50490
50491 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50492 variable definitions to the beginning of each function. Sort stack
50493 variables by size.
50494 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50495 `buf' argument to `char *'.
50496
50497 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50498
50499 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50500 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
50501 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
50502 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50503 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50504 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50505 configfile.mod, search.mod, gzio.mod and test.mod.
50506 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50507 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50508 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50509 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50510 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50511 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50512 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50513 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50514 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50515 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50516 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50517 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50518 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50519 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50520 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50521 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50522 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50523 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50524 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50525 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50526 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50527 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50528 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50529
50530 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50531 `grep --include'.
50532 (pkgdata_MODULES): Add test.mod.
50533
50534 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50535
50536 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50537 appending to variables with "+=".
50538 (PModule): Use full pathname to generate *.lst filenames.
50539
50540 * Makefile.in: Fixed list rules moved from genmk.rb.
50541 (.DELETE_ON_ERROR): New special target.
50542 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50543
50544 * conf/i386-pc.rmk: Include conf/common.mk.
50545 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
50546 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
50547 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50548 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50549 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50550 configfile.mod, search.mod, gzio.mod and test.mod.
50551 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50552 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50553 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50554 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50555 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50556 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50557 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50558 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50559 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50560 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50561 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50562 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50563 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50564 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50565 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50566 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50567 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50568 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50569 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50570 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50571 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50572 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50573 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50574 here...
50575 * conf/common.rmk: ... to here. New file.
50576
50577 * conf/common.mk: New file.
50578
50579 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50580
50581 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50582 (grub_script.tab.c): ... here.
50583
50584 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50585 (grub_script.tab.c): ... here.
50586
50587 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50588 (grub_script.tab.c): ... here.
50589
50590 * normal/command.c (grub_command_find): Fixed a memory leak of
50591 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50592
50593 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50594
50595 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50596 "@" which marks the start of a comment on ARM.
50597 (VARIABLE): Likewise.
50598
50599 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50600
50601 Add support for Linux/ADFS partition tables.
50602
50603 * partmap/acorn.c: New file.
50604
50605 * include/grub/acorn_filecore.h: Likewise.
50606
50607 * DISTLIST: Added `partmap/acorn.c' and
50608 `include/grub/acorn_filecore.h'.
50609
50610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50611 `partmap/acorn.c'.
50612 (pkgdata_MODULES): Add `acorn.mod'.
50613 (acorn_mod_SOURCES): New variable.
50614 (acorn_mod_CFLAGS): Likewise.
50615
50616 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50617 `partmap/acorn.c'.
50618 (pkgdata_MODULES): Add `acorn.mod'.
50619 (acorn_mod_SOURCES): New variable.
50620 (acorn_mod_CFLAGS): Likewise.
50621
50622 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50623 (pkgdata_MODULES): Add `acorn.mod'.
50624 (acorn_mod_SOURCES): New variable.
50625 (acorn_mod_CFLAGS): Likewise.
50626 (acorn_mod_LDFLAGS): Likewise.
50627
50628 * include/types.h (grub_disk_addr_t): New typedef.
50629
50630 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
50631
50632 * geninit.sh: New file.
50633
50634 * geninitheader.sh: Likewise.
50635
50636 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50637 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50638 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50639 * commands/configfile.c (grub_configfile_init)
50640 (grub_configfile_fini): Likewise.
50641 * commands/default.c (grub_default_init, grub_default_fini):
50642 Likewise.
50643 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50644 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50645 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50646 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50647 Likewise.
50648 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50649 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50650 Likewise.
50651 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
50652 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
50653 Likewise.
50654 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50655 Likewise.
50656 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
50657 Likewise.
50658 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50659 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50660 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50661 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50662 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50663 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50664 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50665 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50666 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50667 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50668 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50669 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50670 * partmap/amiga.c (grub_amiga_partition_map_init)
50671 (grub_amiga_partition_map_fini): Likewise.
50672 * partmap/apple.c (grub_apple_partition_map_init)
50673 (grub_apple_partition_map_fini): Likewise.
50674 * partmap/pc.c (grub_pc_partition_map_init)
50675 (grub_pc_partition_map_fini): Likewise.
50676 * partmap/sun.c (grub_sun_partition_map_init,
50677 grub_sun_partition_map_fini): Likewise.
50678 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50679 Likewise.
50680
50681 * util/grub-emu.c: Include <grub_modules_init.h>.
50682 (main): Don't initialize and de-initialize any modules directly,
50683 use `grub_init_all' and `grub_fini_all' instead.
50684
50685 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50686 `grub_vesafb_mod_init'.
50687 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50688 all users.
50689 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50690 `grub_vga_mod_init'. Updated all users.
50691 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
50692
50693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50694 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50695 rules.
50696
50697 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50698 Generate a function to initialize the module in utilities.
50699 Updated all callers.
50700 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50701 initialize the module in utilities. Updated all callers.
50702
50703 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50704
50705 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50706 escape sequence and a literal ^L to clear the screen.
50707
50708 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50709 when returning from Open Firmware.
50710
50711 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50712
50713 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50714 (grub_ofconsole_height): Likewise.
50715 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50716 manually insert a '\n'.
50717 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50718 `grub_ofconsole_height'. Return early if these are already set.
50719
50720 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50721
50722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50723 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50724 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50725 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50726 and `normal/script.c'.
50727 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50728 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50729 (test_mod_SOURCES): New variable.
50730 (test_mod_CFLAGS): Likewise.
50731 (test_mod_LDFLAGS): Likewise.
50732 (pkgdata_MODULES): Add `test.mod'.
50733 (grub_script.tab.c): New rule.
50734 (grub_script.tab.h): Likewise.
50735
50736 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
50737
50738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50739 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50740 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50741 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50742 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50743 (test_mod_SOURCES): New variable.
50744 (test_mod_CFLAGS): Likewise.
50745 (pkgdata_MODULES): Add `test.mod'.
50746 (grub_script.tab.c): New rule.
50747 (grub_script.tab.h): Likewise.
50748
50749 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
50750
50751 Add initial scripting support.
50752
50753 * commands/test.c: New file.
50754 * include/grub/script.h: Likewise.
50755 * normal/execute.c: Likewise.
50756 * normal/function.c: Likewise.
50757 * normal/lexer.c: Likewise.
50758 * normal/parser.y: Likewise.
50759 * normal/script.c: Likewise.
50760
50761 * configure.ac: Add `AC_PROG_YACC' test.
50762
50763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50764 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50765 `normal/function.c' and `normal/script.c'.
50766 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50767 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50768 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50769 variables.
50770 (pkgdata_MODULES): Add `test.mod'.
50771 (grub_script.tab.c): New rule.
50772 (grub_script.tab.h): Likewise.
50773
50774 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50775
50776 * include/grub/normal.h (grub_test_init): New prototype.
50777 (grub_test_fini): Likewise.
50778
50779 * normal/command.c: Include <grub/script.h>.
50780 (grub_command_execute): Rewritten.
50781
50782 * util/grub-emu.c (main): Call `grub_test_init' and
50783 `grub_test_fini'.
50784
50785 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50786
50787 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50788 to 0.
50789 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50790 there are no pending characters.
50791
50792 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50793
50794 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50795 `grub_strndup' to drop device arguments. Replace unnecessary
50796 `grub_strndup' with `grub_strdup'.
50797
50798 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50799
50800 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50801 `debug' environment variable has been set.
50802
50803 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
50804
50805 * Makefile.in (install-local): Use $(DATA).
50806 (uninstall): Likewise.
50807 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50808 (sbin_UTILITIES): ... to here.
50809 (sbin_SCRIPTS): New variable.
50810 (grub_install_SOURCES): New variable.
50811 * util/powerpc/ieee1275/grub-install.in: New file.
50812 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50813 variable.
50814 (add_segments): Call `grub_util_get_path'.
50815
50816 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50817
50818 From Timothy Baldwin:
50819 * commands/ls.c (grub_ls_list_files): Close FILE with
50820 grub_file_close.
50821 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50822
50823 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
50824
50825 * include/grub/parser.h: New file.
50826
50827 * kern/parser.c: Likewise.
50828
50829 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50830 (grub_setup_SOURCES): Likewise.
50831 (grub_probefs_SOURCES): Likewise.
50832 (grub_emu_SOURCES): Likewise.
50833 (kernel_img_HEADERS): Add `parser.h'.
50834
50835 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50836 (grub_emu_SOURCES): Add `kern/parser.c'.
50837 (grubof_SOURCES): Likewise.
50838
50839 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50840 (grubof_SOURCES): Add `kern/parser.c'.
50841
50842 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50843
50844 * kern/misc.c (grub_split_cmdline): Removed function.
50845
50846 * kern/rescue.c: Include <grub/parser.h>.
50847 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50848 of `grub_split_cmdline'.
50849
50850 * normal/command.c: Include <grub/parser.h>.
50851 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50852 of `grub_split_cmdline'.
50853
50854 * normal/completion.c: Include <grub/parser.h>.
50855 (cmdline_state): New variable.
50856 (iterate_dir): End the filename with a quote depending on the
50857 command line state.
50858 (get_state): new function.
50859 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50860 split the arguments and determine the current argument. When the
50861 argument string is not quoted, escape all spaces.
50862
50863 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50864
50865 * normal/sparc64/setjmp.S: New file.
50866
50867 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50868
50869 * include/grub/sparc64/libgcc.h: New file.
50870 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50871 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50872 normal/sparc64/setjmp.c.
50873
50874 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50875
50876 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50877 * kern/sparc64/cache.S: New file.
50878 * kern/sparc64/cache.c: Removed.
50879 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50880 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50881 -mtune=ultrasparc.
50882 (COMMON_LDFLAGS): Add -melf64_sparc.
50883 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50884 (grubof_SOURCES): Use cache.S instead of cache.c.
50885 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50886 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50887 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50888 commented though.
50889 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50890 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50891 (linux_mod_CFLAGS): Commented out.
50892 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50893 out because module isn't built.
50894 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50895 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50896 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50897 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50898 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50899 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50900 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50901 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50902 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50903 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50904 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50905 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50906 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50907 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50908
50909 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50910
50911 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50912 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50913 longer, because HFS should not be used on PC.
50914
50915 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50916
50917 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50918 consistently within the loop.
50919
50920 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
50921
50922 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50923 directory can not be read.
50924
50925 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50926
50927 * configure.ac (AC_INIT): Increase the version number to 1.91.
50928
50929 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50930 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50931 term/i386/pc/serial.c.
50932
50933 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50934
50935 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50936 file size must be permitted.
50937
50938 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50939 between %ah and %al.
50940
50941 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50942
50943 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50944 grub_uint64_t.
50945 Call the hook with a NUL-terminated filename.
50946 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50947 grub_cpu_to_be32.
50948
50949 * kern/term.c (cursor_state): New variable.
50950 (grub_term_set_current): Reset the cursor state on a new
50951 terminal.
50952 (grub_setcursor): Rewritten to use CURSOR_STATE.
50953 (grub_getcursor): New function.
50954
50955 * include/grub/term.h (grub_getcursor): New prototype.
50956
50957 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50958 integers on ARM. Reported by Timothy Baldwin
50959 <T.E.Baldwin99@members.leeds.ac.uk>.
50960
50961 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
50962
50963 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50964 allocated.
50965 (grub_sfs_dir): Likewise.
50966
50967 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
50968
50969 Add support for the SFS filesystem.
50970
50971 * fs/sfs.c: New file.
50972
50973 * DISTLIST: Added `fs/sfs.c'.
50974
50975 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50976 (grub_probefs_SOURCES): Likewise.
50977 (grub_emu_SOURCES): Likewise.
50978 (pkgdata_MODULES): Add `sfs.mod'.
50979 (sfs_mod_SOURCES): New variable.
50980 (sfs_mod_CFLAGS): Likewise.
50981 (sfs_mod_LDFLAGS): Likewise.
50982
50983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50984 (pkgdata_MODULES): Add `sfs.mod'.
50985 (sfs_mod_SOURCES): New variable.
50986 (sfs_mod_CFLAGS): Likewise.
50987
50988 * util/grub-emu.c (main): Call `grub_sfs_init' and
50989 `grub_sfs_fini'.
50990
50991 * include/grub/fs.h (grub_sfs_init): New prototype.
50992 (grub_sfs_fini): Likewise.
50993
50994 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
50995
50996 Add support for the AFFS filesystem.
50997
50998 * fs/affs.c: New file.
50999
51000 * DISTLIST: Added `fs/affs.c'.
51001
51002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51003 (grub_probefs_SOURCES): Likewise.
51004 (grub_emu_SOURCES): Likewise.
51005 (pkgdata_MODULES): Add `affs.mod'.
51006 (affs_mod_SOURCES): New variable.
51007 (affs_mod_CFLAGS): Likewise.
51008 (affs_mod_LDFLAGS): Likewise.
51009
51010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51011 (pkgdata_MODULES): Add `affs.mod'.
51012 (affs_mod_SOURCES): New variable.
51013 (affs_mod_CFLAGS): Likewise.
51014
51015 * util/grub-emu.c (main): Call `grub_affs_init' and
51016 `grub_affs_fini'.
51017
51018 * include/grub/fs.h (grub_affs_init): New prototype.
51019 (grub_affs_fini): Likewise.
51020
51021 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51022
51023 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51024
51025 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51026
51027 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51028 `-m32' to CFLAGS.
51029
51030 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51031 linking.
51032
51033 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51034 (COMMON_LDFLAGS): New variable.
51035 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51036 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51037 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51038 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51039 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51040 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51041 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51042 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51043 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51044 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51045 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51046 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51047 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51048 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51049 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51050 variables.
51051 (normal_mod_ASFLAGS): Add `-m32'.
51052
51053 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51054 (grub_host_size_t, grub_host_ssize_t): New types.
51055 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51056 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51057 `GRUB_HOST_SIZEOF_VOID_P'.
51058
51059 * include/grub/kernel.h (struct grub_module_header): Type of
51060 member offset changed to `grub_host_off_t'. Type of member size
51061 changed to `grub_host_size_t'.
51062 (struct grub_module_info): Type of member offset changed to
51063 `grub_host_off_t'. Type of member size changed to
51064 `grub_host_size_t'.
51065
51066 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51067
51068 Make GRUB's kernel compliant to Multiboot Specification.
51069
51070 * kern/i386/pc/startup.S (multiboot_header): New label.
51071 (multiboot_entry): Likewise.
51072 (multiboot_trampoline): Likewise.
51073
51074 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51075 Increased to 0x4A0.
51076
51077 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51078 put parentheses after a question mark.
51079 [!GRUB_UTIL] (my_mod): New variable.
51080
51081 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51082
51083 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51084
51085 Adds support for the XFS filesystem. Btrees are not supported
51086 yet.
51087
51088 * fs/xfs.c: New file.
51089
51090 * DISTLIST: Added `fs/xfs.c'.
51091
51092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51093 (grub_probefs_SOURCES): Likewise.
51094 (grub_emu_SOURCES): Likewise.
51095 (pkgdata_MODULES): Add `xfs.mod'.
51096 (xfs_mod_SOURCES): New variable.
51097 (xfs_mod_CFLAGS): Likewise.
51098
51099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51100 (pkgdata_MODULES): Add `xfs.mod'.
51101 (xfs_mod_SOURCES): New variable.
51102 (xfs_mod_CFLAGS): Likewise.
51103
51104 * util/grub-emu.c (main): Call `grub_xfs_init' and
51105 `grub_xfs_fini'.
51106
51107 * include/grub/fs.h (grub_xfs_init): New prototype.
51108 (grub_xfs_fini): Likewise.
51109
51110
51111 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51112
51113 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51114 color modes, allow greater than 16 colors to be configured as
51115 a default palette.
51116
51117 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51118
51119 * normal/completion.c (complete_arguments): Add the qualifier
51120 const into OPTIONS.
51121
51122 From Omniflux <omniflux+lists@omniflux.com>:
51123 * include/grub/terminfo.h: New file.
51124 * include/grub/tparm.h: Likewise.
51125 * include/grub/i386/pc/serial.h: Likewise.
51126 * term/terminfo.c: Likewise.
51127 * term/tparm.c: Likewise.
51128 * term/i386/pc/serial.c: Likewise.
51129 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51130 serial.mod.
51131 (terminfo_mod_SOURCES): New variable.
51132 (terminfo_mod_CFLAGS): Likewise.
51133 (serial_mod_SOURCES): Likewise.
51134 (serial_mod_CFLAGS): Likewise.
51135
51136 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51137
51138 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51139 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51140 and kern/powerpc/ieee1275/cmain.c, respectively.
51141
51142 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51143 * kern/powerpc/ieee1275/crt0.S: ... here.
51144
51145 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51146 * kern/powerpc/ieee1275/cmain.c: ... here.
51147
51148 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51149 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51150 instead of boot/powerpc/ieee1275/crt0.S and
51151 boot/powerpc/ieee1275/cmain.c, respectively.
51152
51153 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51154 sectors. It was not used anyway.
51155
51156 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51157
51158 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51159 `unused parameter' warning.
51160
51161 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51162
51163 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51164 function.
51165 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51166 getcharwidth.
51167
51168 2005-08-28 Marco Gerards <metgerards@student.han.nl>
51169
51170 * include/grub/normal.h (enum grub_completion_type): Added
51171 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51172
51173 * normal/cmdline.c (print_completion): Handle
51174 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51175 * normal/menu_entry.c (store_completion): Likewise.
51176
51177 * normal/completion.c (complete_arguments): New function.
51178 (grub_normal_do_completion): Call `complete_arguments' when the
51179 current words start with a dash.
51180
51181 2005-08-27 Marco Gerards <metgerards@student.han.nl>
51182
51183 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51184 `gzio.mod' instead of `io.mod').
51185
51186 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51187
51188 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51189 (DISTDIRS): Added io and video.
51190 Rewrite the search routine to make an output consistently.
51191
51192 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51193 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51194 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51195 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51196 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51197 util/powerpc/ieee1275/misc.c.
51198
51199 * include/grub/gzio.h: New file.
51200 * io/gzio.c: Likewise.
51201
51202 * kern/file.c (grub_file_close): Call grub_device_close only if
51203 FILE->DEVICE is not NULL.
51204
51205 * include/grub/mm.h [!NULL] (NULL): New macro.
51206
51207 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51208
51209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51210 (pkgdata_MODULES): Added gzio.mod.
51211 (gzio_mod_SOURCES): New variable.
51212 (gzio_mod_CFLAGS): Likewise.
51213
51214 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51215 (pkgdata_MODULES): Added gzio.mod.
51216 (gzio_mod_SOURCES): New variable.
51217 (gzio_mod_CFLAGS): Likewise.
51218
51219 * commands/cat.c: Include grub/gzio.h.
51220 (grub_cmd_cat): Use grub_gzfile_open instead of
51221 grub_file_open.
51222
51223 * commands/cmp.c: Include grub/gzio.h.
51224 (grub_cmd_cmp): Use grub_gzfile_open instead of
51225 grub_file_open.
51226
51227 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51228 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51229 grub_file_open.
51230 (grub_rescue_cmd_module): Likewise.
51231
51232 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51233
51234 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51235 kern/sparc64/ieee1275/init.c because it contains _start.
51236 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51237
51238 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51239
51240 * configure.ac: Add support for sparc64 host with ieee1275
51241 firmware.
51242 * configure: Generated from configure.ac.
51243 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51244 instead of int.
51245 (grub_ofdisk_read): Likewise.
51246 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51247 pointers as (void *) to remove a warning.
51248 (grub_ofdisk_close): Likewise.
51249 (grub_ofdisk_read): Likewise.
51250 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51251 returns, so make it return void to remove a warning.
51252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51253 Corresponding prototype change.
51254 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51255 values, and cast the pointers as (void *) to remove a warning.
51256 (grub_mm_dump): Likewise.
51257 * conf/sparc64-ieee1275.mk: New file.
51258 * conf/sparc64-ieee1275.rmk: Likewise.
51259 * include/grub/sparc64/setjmp.h: Likewise.
51260 * include/grub/sparc64/types.h: Likewise.
51261 * include/grub/sparc64/ieee1275/console.h: Likewise.
51262 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51263 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51264 * include/grub/sparc64/ieee1275/time.h: Likewise.
51265 * kern/sparc64/cache.c: Likewise.
51266 * kern/sparc64/dl.c: Likewise.
51267 * kern/sparc64/ieee1275/init.c: Likewise.
51268 * kern/sparc64/ieee1275/openfw.c: Likewise.
51269
51270 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51271
51272 * util/console.c (grub_ncurses_putchar): If C is greater than
51273 0x7f, set C to a question mark.
51274 (grub_ncurses_getcharwidth): New function.
51275 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51276 getcharwidth.
51277
51278 * normal/menu.c (print_entry): Made aware of Unicode. First,
51279 convert TITLE to UCS-4, and predict the cursor position by
51280 grub_getcharwidth.
51281
51282 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51283 const to SRC.
51284 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51285
51286 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51287
51288 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51289 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51290 grub_strcat.
51291
51292 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51293 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51294 grub_strcpy and grub_strlen. Take it into account that a space
51295 character is inserted as a delimiter.
51296
51297 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51298
51299 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
51300 invalid magic in the error.
51301
51302 * commands/search.c: New file.
51303
51304 * util/grub-emu.c (main): Call grub_search_init and
51305 grub_search_fini.
51306
51307 * kern/rescue.c (grub_rescue_print_disks): Removed.
51308 (grub_rescue_print_devices): New function.
51309 (grub_rescue_cmd_ls): Use grub_device_iterate with
51310 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51311 grub_rescue_print_disks.
51312
51313 * kern/partition.c (grub_partition_iterate): Return the result of
51314 PARTMAP->ITERATE instead of GRUB_ERRNO.
51315
51316 * kern/device.c: Include grub/partition.h.
51317 (grub_device_iterate): New function.
51318
51319 * include/grub/partition.h (grub_partition_iterate): Return int
51320 instead of grub_err_t.
51321
51322 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51323 prototype.
51324 [GRUB_UTIL] (grub_search_fini): Likewise.
51325
51326 * include/grub/device.h (grub_device_iterate): New prototype.
51327
51328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51329 commands/search.c.
51330 (pkgdata_MODULES): Added search.mod.
51331 (search_mod_SOURCES): New variable.
51332 (search_mod_CFLAGS): Likewise.
51333
51334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51335 (pkgdata_MODULES): Added search.mod.
51336 (search_mod_SOURCES): New variable.
51337 (search_mod_CFLAGS): Likewise.
51338
51339 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51340 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51341 All callers changed.
51342
51343 * DISTLIST: Added commands/search.c.
51344
51345 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51346
51347 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51348 conversion.
51349 (grub_getcharwidth): New function.
51350
51351 * kern/misc.c (grub_utf8_to_ucs4): New function.
51352
51353 * include/grub/term.h (struct grub_term): Added a new member
51354 "getcharwidth".
51355 (grub_getcharwidth): New prototype.
51356
51357 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51358
51359 * term/i386/pc/console.c (map_char): New function. Segregated from
51360 grub_console_putchar.
51361 (grub_console_putchar): Use map_char.
51362 (grub_console_getcharwidth): New function.
51363 (grub_console_term): Specified grub_console_getcharwidth as
51364 getcharwidth.
51365
51366 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51367 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51368
51369 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51370 GRUB_ERRNO.
51371 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51372 on grub_strtoul completely.
51373 (write_char): Declare local variables in the beginning of the
51374 function.
51375 (grub_vesafb_getcharwidth): New function.
51376 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51377 getcharwidth.
51378
51379 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51380
51381 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51382 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51383 commands/i386/pc/vbetest.c.
51384
51385 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51386 call grub_vbe_get_controller_info again, because the returned
51387 information is volatile.
51388 (grub_vbe_set_video_mode): Mostly rewritten.
51389 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51390 grub_vbe_status_t correctly.
51391 (grub_vbe_get_video_mode_info): Likewise.
51392 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51393 several if statements.
51394
51395 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51396 * commands/i386/pc/vbeinfo.c: ... this.
51397
51398 * commands/i386/pc/vbe_test.c: Renamed to ...
51399 * commands/i386/pc/vbetest.c: ... this.
51400
51401 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51402 ...
51403 (grub_cmd_vbeinfo): ... this. Save video modes before
51404 iterating. Skip a video mode, if it is not available, not enough
51405 information is given or it is monochrome. Show the memory
51406 model. Leave the interpretation of MODEVAR to grub_strtoul
51407 completely.
51408 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51409 (GRUB_MOD_FINI): Likewise.
51410
51411 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51412 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51413 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51414 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51415 grub_strtoul completely.
51416 (real2pm): Removed.
51417 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51418 (GRUB_MOD_FINI): Likewise.
51419
51420 * normal/misc.c: Include grub/mm.h.
51421
51422 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51423 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51424 (vbe_list_modes_mod_SOURCES): Removed.
51425 (vbe_list_modes_mod_CFLAGS): Likewise.
51426 (vbe_test_mod_SOURCES): Likewise.
51427 (vbe_test_mod_CFLAGS): Likewise.
51428 (vbeinfo_mod_SOURCES): New variable.
51429 (vbeinfo_mod_CFLAGS): Likewise.
51430 (vbetest_mod_SOURCES): Likewise.
51431 (vbetest_mod_CFLAGS): Likewise.
51432
51433 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51434
51435 * normal/misc.c: New file.
51436
51437 * DISTLIST: Added normal/misc.c.
51438
51439 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51440 DISK to HOOK. Call HOOK with DISK.
51441 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51442 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51443 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51444
51445 * normal/menu_entry.c (struct screen): Added a new member
51446 "completion_shown".
51447 (completion_buffer): New global variable.
51448 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51449 (store_completion): New function.
51450 (complete): Likewise.
51451 (clear_completions): Likewise.
51452 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51453 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51454 a tab, call complete.
51455
51456 * normal/completion.c (disk_dev): Removed.
51457 (print_simple_completion): Likewise.
51458 (print_partition_completion): Likewise.
51459 (print_func): New global variable.
51460 (add_completion): Do not take the arguments WHAT or PRINT any
51461 longer. Added a new argument TYPE. Instead of printing directly,
51462 call PRINT_FUNC if not NULL.
51463 All callers changed.
51464 (complete_device): Use a local variable DEV instead of
51465 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51466 (grub_normal_do_completion): Take a new argument HOOK. Do not
51467 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51468 empty string, return NULL instead.
51469 All callers changed.
51470
51471 * normal/cmdline.c (print_completion): New function.
51472
51473 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51474 to HOOK.
51475 All callers changed.
51476
51477 * kern/disk.c (grub_print_partinfo): Removed.
51478
51479 * include/grub/partition.h (struct grub_partition_map): Add a new
51480 argument DISK into HOOK of ITERATE.
51481 (grub_partition_iterate): Add a new argument DISK to HOOK.
51482
51483 * include/grub/normal.h (enum grub_completion_type): New enum.
51484 (grub_completion_type_t): New type.
51485 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51486 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51487 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51488 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51489 (grub_normal_do_completion): Added a new argument HOOK.
51490 (grub_normal_print_device_info): New prototype.
51491
51492 * include/grub/disk.h (grub_print_partinfo): Removed.
51493
51494 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51495 (normal_mod_SOURCES): Likewise.
51496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51497 (normal_mod_SOURCES): Likewise.
51498
51499 * commands/ls.c (grub_ls_list_disks): Use
51500 grub_normal_print_device_info instead of grub_print_partinfo. Free
51501 PNAME.
51502 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51503 duplicating the code.
51504
51505 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51506
51507 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
51508 follow GCS more precisely.
51509 * commands/i386/pc/vbe_test.c: Likewise.
51510 * include/grub/i386/pc/vbe.h: Likewise.
51511 * term/i386/pc/vesafb.c: Likewise.
51512 * video/i386/pc/vbe.c: Likewise.
51513
51514 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51515
51516 * DISTLIST: Added term/i386/pc/vesafb.c
51517 DISTLIST: Added video/i386/pc/vbe.c
51518 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51519 DISTLIST: Added commands/i386/pc/vbe_test.c.
51520 * commands/i386/pc/vbe_list_modes.c: New file.
51521 * commands/i386/pc/vbe_test.c: Likewise.
51522 * term/i386/pc/vesafb.c: Likewise.
51523 * video/i386/pc/vbe.c: Likewise.
51524 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51525 (grub_vbe_probe) Added prototype.
51526 (grub_vbe_set_video_mode) Likewise.
51527 (grub_vbe_get_video_mode) Likewise.
51528 (grub_vbe_get_video_mode_info) Likewise.
51529 (grub_vbe_set_pixel_rgb) Likewise.
51530 (grub_vbe_set_pixel_index) Likewise.
51531 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51532 (pkgdata_MODULES): Added vesafb.mod.
51533 (pkgdata_MODULES): Added vbe_list_modes.mod.
51534 (pkgdata_MODULES): Added vbe_test.mod.
51535 (vbe_mod_SOURCES): Added.
51536 (vbe_mod_CFLAGS): Likewise.
51537 (vesafb_mod_SOURCES): Likewise.
51538 (vesafb_mod_CFLAGS): Likewise.
51539 (vbe_list_modes_mod_SOURCES): Likewise.
51540 (vbe_list_modes_mod_CFLAGS): Likewise.
51541 (vbe_test_mod_SOURCES): Likewise.
51542 (vbe_test_mod_CFLAGS): Likewise.
51543
51544 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51545
51546 * normal/command.c (grub_command_execute): If INTERACTIVE is
51547 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51548 CMDLINE. Disable the pager if INTERACTIVE is true.
51549 All callers are changed.
51550
51551 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51552 before reading a config file.
51553 * normal/main.c (read_config_file): Even if a command is not
51554 found, register it if it is within an entry.
51555
51556 * util/grub-emu.c: Include sys/types.h and unistd.h.
51557 (options): Added --hold.
51558 (struct arguments): Added a new member "hold".
51559 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51560 missing.
51561 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51562 cleared by a debugger, if it is not zero.
51563
51564 * include/grub/normal.h (grub_command_execute): Add an argument
51565 INTERACTIVE.
51566
51567 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51568
51569 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51570
51571 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51572
51573 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51574 program with another one, because the old one didn't detect a bug
51575 in gcc-3.4. Always use regparm 2, because the new test is still
51576 not enough for gcc-4.0. Someone must investigate a simple test
51577 case which detects a bug in gcc-4.0.
51578
51579 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51580
51581 * DISTLIST: Added normal/completion.c.
51582
51583 * normal/completion.c: New file.
51584
51585 * term/i386/pc/console.c (grub_console_getwh): New function.
51586 (grub_console_term): Assign grub_console_getwh to getwh.
51587
51588 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51589 function is defined in normal/completion.c as
51590 grub_normal_do_completion.
51591 (grub_cmdline_get): Use grub_normal_do_completion instead of
51592 grub_tab_complete.
51593
51594 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51595 returns non-zero, otherwise return 0.
51596 (grub_partition_iterate): First, probe the partition map. Then,
51597 call ITERATE only for this partition map.
51598
51599 * kern/misc.c (grub_strncmp): Rewritten.
51600
51601 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51602 returns non-zero. Otherwise return 0.
51603
51604 * include/grub/partition.h (grub_partition_map_iterate): Return
51605 int instead of void.
51606
51607 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51608
51609 * include/grub/misc.h (grub_strncmp): Change the type of N to
51610 grub_size_t.
51611
51612 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51613 of void.
51614
51615 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
51616 unsigned explicitly before comparing it with I.
51617
51618 * kern/main.c (grub_env_write_root): Add the attribute unused into
51619 VAR.
51620
51621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51622 normal/completion.c.
51623 (normal_mod_SOURCES): Likewise.
51624 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51625 (normal_mod_SOURCES): Likewise.
51626
51627 * normal/command.c (grub_iterate_commands): If ITERATE returns
51628 non-zero, return one immediately.
51629
51630 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51631
51632 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51633 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51634 descriptions.
51635 (grub_vbe_get_controller_info): New function.
51636 (grub_vbe_get_mode_info): Likewise.
51637 (grub_vbe_set_mode): Likewise.
51638 (grub_vbe_get_mode): Likewise.
51639 (grub_vbe_set_memory_window): Likewise.
51640 (grub_vbe_get_memory_window): Likewise.
51641 (grub_vbe_set_scanline_length): Likewise.
51642 (grub_vbe_get_scanline_length): Likewise.
51643 (grub_vbe_set_display_start): Likewise.
51644 (grub_vbe_get_display_start): Likewise.
51645 (grub_vbe_set_palette_data): Likewise.
51646 * include/grub/i386/pc/vbe.h: New file.
51647
51648 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51649
51650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51651 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51652 * DISTLIST: Likewise.
51653 * kern/ieee1275/of.c: Moved to ...
51654 * kern/ieee1275/ieee1275.c: ... here.
51655
51656 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51657
51658 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51659 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51660 Pass 0 as `end' parameter to grub_strtoul().
51661
51662 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51663
51664 * include/grub/powerpc/ieee1275/console.h: Do not include
51665 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51666 ifdef.
51667 (grub_console_cur_color): Remove i386-specific prototype.
51668 (grub_console_real_putchar): Likewise.
51669 (grub_console_checkkey): Likewise.
51670 (grub_console_getkey): Likewise.
51671 (grub_console_getxy): Likewise.
51672 (grub_console_gotoxy): Likewise.
51673 (grub_console_cls): Likewise.
51674 (grub_console_setcursor): Likewise.
51675 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51676 Include <grub/machine/console.h>.
51677 * term/ieee1275/ofconsole.c: Likewise.
51678
51679 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51680
51681 * Makefile.in (LIBLZO): New variable.
51682
51683 * configure.ac: Check for LZO version 2.
51684
51685 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51686 lzo/lzo1x.h instead of lzo1x.h.
51687
51688 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51689 of -llzo.
51690
51691 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51692 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51693
51694 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51695 copying the data from PARTITION to P.
51696
51697 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51698
51699 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51700 negative, unload the module.
51701
51702 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51703 map is "pc_partition_map" but not "pc".
51704 (usage): Fix the description. The options are --boot-image and
51705 --core-image but not --boot-file or --core-file.
51706 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51707 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51708 DEFAULT_DIRECTORY.
51709
51710 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51711 --core-file. Specify INSTALL_DEVICE as an argument.
51712
51713 * util/console.c: Include config.h.
51714 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51715 [HAVE_NCURSES_H]: Include ncurses.h.
51716 [HAVE_CURSES_H]: Include curses.h.
51717 [!A_NORMAL] (A_NORMAL): Defined as zero.
51718 [!A_STANDOUT] (A_STANDOUT): Likewise.
51719
51720 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51721 -lncurses.
51722 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51723
51724 * configure.ac: Check for curses libraries and headers.
51725
51726 * Makefile.in (LIBCURSES): New variable.
51727
51728 * genmk.rb (Script::rule): Set the executable bits.
51729
51730 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51731 name of the PC partition map is "pc_partition_map" but not "pc".
51732
51733 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51734
51735 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51736 (modules): Likewise.
51737 (usage): Added descriptions for --modules and --grub-probefs.
51738 Handle --modules and --grub-probefs. Save the arguments in MODULES
51739 and GRUB_PROBEFS, respectively.
51740 Auto-detect a filesystem module against GRUBDIR. If the result is
51741 empty and modules are not specified explicitly, abort the
51742 installation. Add the result to MODULES.
51743
51744 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51745 disk/powerpc/ieee1275/ofdisk.c,
51746 include/grub/powerpc/ieee1275/init.h and
51747 term/powerpc/ieee1275/ofconsole.c.
51748 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51749 term/ieee1275/ofconsole.c.
51750
51751 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51752
51753 * COPYING: Upgraded to the latest version. Only the address of the
51754 FSF office has changed.
51755
51756 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51757
51758 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51759 kern/ieee1275.c with kern/ieee1275/of.c.
51760
51761 * kern/ieee1275.c: Moved to ...
51762 * kern/ieee1275/of.c: ... here.
51763
51764 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51765
51766 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
51767 readability.
51768
51769 * config.guess: Updated to the latest version from gnulib.
51770 * config.sub: Likewise.
51771 * install.sh: Likewise.
51772 * mkinstalldirs: Likewise.
51773
51774 * include/grub/console.h: Removed. This file is arch-specific. Do
51775 not put this in include/grub.
51776
51777 * include/grub/i386/pc/console.h: Resurrected.
51778
51779 * util/console.c: Include grub/machine/console.h instead of
51780 grub/console.h.
51781 * util/grub-emu.c: Likewise.
51782
51783 2005-08-04 Marco Gerards <metgerards@student.han.nl>
51784
51785 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51786 hardcoded value.
51787
51788 From Vincent Pelletier <subdino2004@yahoo.fr>
51789 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51790 Redefined to use grub_getwh.
51791 (grub_term): New member named getwh.
51792 (grub_getwh): New prototype.
51793 * kern/term.c (grub_getwh): New function.
51794 * term/i386/pc/console.c (grub_console_getwh): New function.
51795 (grub_console_term): New member `getwh'.
51796 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51797 (grub_vga_term): New member `getwh'.
51798 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
51799 grub_ssize_t.
51800 (grub_ofconsole_getw): New function.
51801 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51802 (grub_ofconsole_term): New field named getwh and new initial
51803 value.
51804
51805 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51806
51807 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51808 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51809 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51810 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51811 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51812 of <grub/machine/ieee1275.h>.
51813 * commands/ieee1275/reboot.c: Likewise.
51814 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51815 * kern/ieee1275.c: ... to here. All users updated. Change all
51816 parameter structs to use new type `grub_ieee1275_cell_t'.
51817 * term/powerpc/ieee1275/ofconsole.c: Move ...
51818 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51819 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51820 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51821 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51822 to return int.
51823 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51824 Remove unused prototypes. All users updated.
51825 * include/grub/powerpc/ieee1275/console.h: Removed.
51826 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51827 `grub_ieee1275_cell_t'.
51828 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51829 Cast comparisons with -1 to the correct type.
51830 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51831 type to match `grub_ieee1275_entry_fn'.
51832
51833 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51834
51835 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51836
51837 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51838 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51839 partmap/sun.c.
51840 (grub_probefs_SOURCES): New variable.
51841
51842 * util/i386/pc/grub-probefs.c: New file.
51843
51844 * util/i386/pc/grub-setup.c (main): Call
51845 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51846 grub_hfs_init and grub_jfs_init to initialize the system. Call
51847 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51848 grub_pc_partition_map_fini to finish the system.
51849
51850 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51851
51852 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51853 function.
51854 (grub_multiboot_load_elf32): Likewise.
51855 (grub_multiboot_is_elf64): Likewise.
51856 (grub_multiboot_load_elf64): Likewise.
51857 (grub_multiboot_load_elf): Likewise.
51858 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51859 an ELF32 or ELF64 file.
51860 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51861
51862 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51863 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51864 NULL before calling FS->LABEL.
51865 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51866 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51867 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51868 before calling FS->LABEL.
51869
51870 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51871
51872 * util/i386/pc/grub-install.in (datadir): New variable.
51873 (libdir): Removed.
51874 (pkgdatadir): New variable.
51875 (pkglibdir): Removed.
51876
51877 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51878
51879 * DISTLIST: Added util/i386/pc/grub-install.in.
51880
51881 * util/i386/pc/grub-install.in: New file.
51882
51883 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51884 (grub_install_SOURCES): Likewise.
51885
51886 * genmk.rb: Added support for scripts.
51887 (Script): New class.
51888 (scripts): New variable.
51889
51890 * Makefile.in (install-local): Install sbin_SCRIPTS by
51891 INSTALL_SCRIPT.
51892 (uninstall): Remove sbin_SCRIPTS.
51893
51894 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51895 device, try to get a GRUB device by
51896 grub_util_biosdisk_get_grub_dev.
51897 Free DEST_DEV.
51898
51899 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51900 description for --device-map.
51901
51902 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51903
51904 Change the semantics of variable hooks. They now return strings
51905 instead of error values.
51906
51907 * util/i386/pc/grub-setup.c: Include grub/env.h.
51908 (setup): Use grub_device_set_root instead of grub_env_set.
51909
51910 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51911 grub_env_get instead of grub_device_set_root and
51912 grub_device_get_root, respectively.
51913
51914 * kern/main.c (grub_env_write_root): New function.
51915 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51916 grub_env_set instead of grub_device_set_root.
51917
51918 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51919 many variables.
51920 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51921 rather than calling ENV->WRITE_HOOK afterwards.
51922 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51923 passing a pointer of a pointer.
51924 (grub_register_variable_hook): Change the types of "read_hook" and
51925 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51926 respectively.
51927 Allocate the default empty string on the heap, because this string
51928 may be freed later.
51929
51930 * kern/device.c: Include grub/env.h.
51931 (grub_device_set_root): Removed.
51932 (grub_device_get_root): Likewise.
51933 (grub_device_open): Use grub_env_get instead of
51934 grub_device_get_root.
51935
51936 * include/grub/env.h (grub_env_read_hook_t): New type.
51937 (grub_env_write_hook_t): Likewise.
51938 (grub_env_var): Change the types of "read_hook" and "write_hook"
51939 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51940 (grub_register_variable_hook): Likewise.
51941
51942 * include/grub/device.h (grub_device_set_root): Removed.
51943 (grub_device_set_root): Likewise.
51944
51945 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51946 make sure that DIRNAME terminates with '/', so that
51947 grub_fat_find_dir will fail if PATH is not a directory.
51948
51949 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51950 from DIRNAME.
51951 Use the qualifier auto for print_files and print_files_long.
51952 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51953 as a regular file.
51954 Put a newline only if there is no error.
51955 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51956 used.
51957
51958 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51959
51960 * kern/partition.c (grub_partition_probe): Initialize PART to
51961 NULL. Otherwise, when no partition map is registered, this returns
51962 a garbage.
51963
51964 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51965
51966 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51967 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51968 valid.
51969
51970 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51971
51972 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51973 information on each device, if it does not have partitions. Print
51974 "Device" instead of "Disk", because this function is not specific
51975 to disk devices.
51976
51977 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51978 static to ensure that it is put on the memory rather than a
51979 register.
51980
51981 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
51982
51983 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51984 (grub_cat_init): Likewise.
51985 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51986 (options): Likewise.
51987 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51988 (grub_configfile_init): Likewise.
51989 * font/manager.c (GRUB_MOD_INIT): Likewise.
51990 * commands/help.c (GRUB_MOD_INIT): Likewise.
51991 (grub_help_init): Likewise.
51992 * normal/command.c (grub_command_init): Likewise.
51993 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51994 * disk/loopback.c (grub_loop_init): Likewise.
51995 (GRUB_MOD_INIT): Likewise.
51996 * commands/ls.c (grub_ls_init): Likewise.
51997 (GRUB_MOD_INIT): Likewise.
51998 (options): Likewise.
51999 * commands/boot.c (grub_boot_init): Likewise.
52000 (GRUB_MOD_INIT): Likewise.
52001 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52002 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52003 (GRUB_MOD_INIT): Likewise.
52004 * commands/cmp.c (grub_cmp_init): Likewise.
52005 (GRUB_MOD_INIT): Likewise.
52006
52007 * normal/arg.c: Use <> instead of "" to include header files.
52008 (SHORT_ARG_HELP): New macro.
52009 (SHORT_ARG_USAGE): Likewise.
52010 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52011 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52012 descriptions.
52013 (find_short): Check if C is 'h' or 'u' explicitly.
52014 (grub_arg_show_help): Use space characters instead of tabs. Treat
52015 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52016 are shown with --help and --usage only if they are not used for
52017 the command itself.
52018 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52019 'h' and 'u'.
52020
52021 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52022 const into "longarg". Change the type of "shortarg" to int.
52023
52024 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52025
52026 * boot/i386/pc/boot.S (boot_drive_check): New label.
52027
52028 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52029 macro.
52030
52031 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52032 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52033
52034 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52035
52036 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52037 When turning off Gate A20, skip the check and return immediately,
52038 because this is not fatal usually.
52039
52040 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52041
52042 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52043 be 0x7C00 instead of 0x8000.
52044
52045 * boot/i386/pc/pxeboot.S: Rewritten.
52046
52047 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52048 EXT_C.
52049 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52050 result.
52051
52052 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52053
52054 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52055 robustness. This routine now supports a BIOS call and System
52056 Control Port A to modify the gate A20.
52057
52058 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52059 Increased to 0x440.
52060
52061 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52062
52063 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52064 device path and resulting ihandle.
52065 (grub_ofdisk_close): dprintf the ihandle being closed.
52066 (grub_ofdisk_read): dprintf function parameters.
52067 * kern/mm.c (grub_mm_init_region): Likewise.
52068 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52069 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52070 size, and boot arguments.
52071 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52072 before loading into memory.
52073 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52074 before loading into memory.
52075
52076 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52077
52078 * kern/mm.c: Added much documentation.
52079 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52080 8, set to 5 instead of 8.
52081
52082 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52083
52084 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52085
52086 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52087 (grub_mkdevicemap_SOURCES): New variable.
52088
52089 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52090 lib/device.c of GRUB Legacy.
52091
52092 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52093
52094 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52095 instead of PATH is NULL.
52096
52097 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52098
52099 * commands/cmp.c (BUFFER_SIZE): New macro.
52100 (grub_cmd_cmp): Close the right file at the right time. Compare
52101 only data just read. Don't report files of different size as
52102 identical. Dynamically allocate buffers. Move variable
52103 declarations at the beginning of function.
52104
52105 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52106
52107 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52108 reverse.
52109
52110 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52111
52112 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52113 when backspace is pressed at beginning of line.
52114
52115 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52116
52117 * DISTLIST: Added genfslist.sh.
52118
52119 * normal/main.c (fs_module_list): New variable.
52120 (autoload_fs_module): New function.
52121 (read_fs_list): Likewise.
52122 (grub_normal_execute): Call read_fs_list.
52123
52124 * kern/fs.c (grub_fs_autoload_hook): New variable.
52125 (grub_fs_probe): Added support for auto-loading.
52126
52127 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52128 (grub_fs_module_list_t): New type.
52129
52130 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52131 (grub_fs_autoload_hook): New prototype.
52132
52133 * genfslist.sh: New file.
52134
52135 * genmk.rb: Added a rule to generate a filesystem list.
52136
52137 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52138
52139 * configure.ac: Fix the test for cross-compiling.
52140
52141 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52142 define GRUB_UTIL anymore.
52143
52144 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52145 so this function works on other systems than just big endian.
52146 (load_modules): Likewise.
52147 (add_segments): Likewise.
52148
52149 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52150
52151 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52152 contains `l' modifier, get a long from va_arg().
52153
52154 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52155
52156 * kern/mm.c (grub_free): If the next free block which is being
52157 merged is the first free block, set the first block to the block
52158 being freed.
52159 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52160
52161 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52162
52163 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52164 `grub_ieee1275_chosen'.
52165
52166 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52167
52168 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52169 (grub_ieee1275_chosen): New variable.
52170 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52171 `chosen'.
52172 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52173 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52174 Rename first argument to `phandle' for consistency.
52175 (grub_ieee1275_get_property_length): Likewise.
52176 (grub_ieee1275_next_property): Likewise. Change type of first argument
52177 to grub_ieee1275_phandle_t.
52178 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52179 Move export next to declaration.
52180 (grub_ieee1275_chosen): New variable.
52181 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52182 Correct cosmetic typo.
52183 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52184 `grub_ieee1275_chosen'.
52185 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52186 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52187 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52188 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52189 `grub_ieee1275_chosen'.
52190
52191 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52192
52193 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52194 /chosen/bootargs.
52195 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52196 /chosen/bootargs as "variable=value" pairs.
52197
52198 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52199
52200 * include/grub/misc.h (grub_dprintf): New macro.
52201 (grub_real_dprintf): New prototype.
52202 (grub_strword): Likewise.
52203 (grub_iswordseparator): Likewise.
52204 * kern/misc.c (grub_real_dprintf): New function.
52205 (grub_strword): Likewise.
52206 (grub_iswordseparator): Likewise.
52207
52208 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52209
52210 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52211 (roundup): Remove macro.
52212 (grub_ieee1275_flags): Make static.
52213 (grub_ieee1275_realmode): Remove.
52214 (grub_ieee1275_test_flag): New function.
52215 (grub_ieee1275_set_flag): Likewise.
52216 (find_options): Rename to `grub_ieee1275_find_options'; update
52217 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52218 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52219 (cmain): New prototype.
52220 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52221 `grub_ieee1275_flags' directly.
52222 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52223 machine/biosdisk.h.
52224 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52225 Don't include grub/machine/init.h.
52226 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52227 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52228 Remove prototype.
52229 (grub_ieee1275_realmode): Likewise.
52230 (grub_ieee1275_flag): New enum.
52231 (grub_ieee1275_test_flag): New prototype.
52232 (grub_ieee1275_set_flag): New prototype.
52233 * include/grub/powerpc/ieee1275/init.h: Remove file.
52234 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52235 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52236 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52237 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52238 comment.
52239 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52240 `grub_ieee1275_test_flag'.
52241 (grub_ieee1275_encode_devname): Likewise.
52242
52243 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52244
52245 * include/grub/powerpc/ieee1275/ieee1275.h
52246 (grub_ieee1275_encode_devname): New prototype.
52247 (grub_ieee1275_get_filename): Likewise.
52248 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52249 function.
52250 (grub_set_prefix): Likewise.
52251 (grub_machine_init): Call grub_set_prefix.
52252 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52253 (grub_parse_type): New enum.
52254 (grub_ieee1275_get_devargs): New function.
52255 (grub_ieee1275_get_devname): Likewise.
52256 (grub_ieee1275_parse_args): Likewise.
52257 (grub_ieee1275_get_filename): Likewise.
52258 (grub_ieee1275_encode_devname): Likewise.
52259
52260 2005-03-30 Marco Gerards <metgerards@student.han.nl>
52261
52262 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52263 `grub_loader_unset'.
52264
52265 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52266
52267 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52268 instead of grub_ieee1275_interpret.
52269 (grub_halt_init): New function.
52270 (grub_halt_fini): Likewise.
52271 (GRUB_MOD_INIT): Correct message grammar.
52272 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52273 instead of grub_ieee1275_interpret.
52274 (grub_reboot_init): New function.
52275 (grub_reboot_fini): Likewise.
52276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52277 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52278 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52279 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52280 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52281 function.
52282 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52283 Add prototype.
52284 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52285 prototype.
52286 (grub_halt): Likewise.
52287 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52288 (cmain): Remove __attribute__((unused)).
52289 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52290 (grub_heap_len): Likewise.
52291 (grub_machine_fini): New function.
52292 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52293 (grub_halt): Likewise.
52294 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52295 function.
52296 * util/powerpc/ieee1275/misc.c: New file.
52297
52298 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52299
52300 * DISTLIST: New file.
52301 * gendistlist.sh: Likewise.
52302
52303 * Makefile.in (COMMON_DISTFILES): Removed.
52304 (BOOT_DISTFILES): Likewise.
52305 (CONF_DISTFILES): Likewise.
52306 (DISK_DISTFILES): Likewise.
52307 (FS_DISTFILES): Likewise.
52308 (INCLUDE_DISTFILES): Likewise.
52309 (KERN_DISTFILES): Likewise.
52310 (LOADER_DISTFILES): Likewise.
52311 (TERM_DISTFILES): Likewise.
52312 (UTIL_DISTFILES): Likewise.
52313 (DISTFILES): Likewise.
52314 (uninstall): Uninstall files in $(pkgdata_DATA).
52315 (DISTLIST): New target.
52316 (distdir): Use the contents of the file DISTLIST to get a list of
52317 distributed files.
52318
52319 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52320
52321 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52322 descriptor. This is ported from GRUB Legacy.
52323
52324 * gencmdlist.sh: Added an extra semicolon to make it work with
52325 old sed versions. Reported by Robert Bihlmeyer
52326 <robbe@orcus.priv.at>.
52327
52328 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
52329
52330 Automatic loading of commands is supported.
52331
52332 * normal/main.c (read_command_list): New function.
52333 (grub_normal_execute): Call read_command_list.
52334
52335 * normal/command.c (grub_register_command): Return zero or CMD.
52336 Allocate CMD->NAME from the heap.
52337 Initialize CMD->MODULE_NAME to zero.
52338 Find the same name as well. If the same command is found and it is
52339 a dummy command, overwrite members. If it is not a dummy command,
52340 return zero.
52341 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52342 (grub_command_find): If a dummy command is found, load a module
52343 and retry to find a command only once.
52344
52345 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52346 make sure that each command is loaded.
52347
52348 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52349 macro.
52350 (struct grub_command): Remove const from the member `name'.
52351 Add a new member `module_name'.
52352 (grub_register_command): Return grub_command_t.
52353
52354 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52355 sure that each command is loaded.
52356
52357 * genmk.rb (PModule::rule): Specify a module name without the
52358 suffix ".mod" to gencmdlist.sh.
52359
52360 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52361
52362 * gencmdlist.sh: New file.
52363
52364 * genmk.rb (PModule::rule): Generate a rule for a command list.
52365 Clean command.lst.
52366 Generate command.lst from $(COMMANDFILES).
52367
52368 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52369 (DATA): Added $(pkgdata_DATA).
52370 (install-local): Install files in $(pkgdata_DATA).
52371
52372 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52373
52374 * term/i386/pc/vga.c (debug_command): Removed.
52375 (GRUB_MOD_INIT): Do not register the command "debug".
52376
52377 From Hollis Blanchard:
52378 * commands/configfile.c: New file.
52379 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52380 commands/configfile.c.
52381 (pkgdata_MODULES): Added configfile.mod.
52382 (configfile_mod_SOURCES): New variable.
52383 (configfile_mod_CFLAGS): Likewise.
52384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52385 commands/configfile.c.
52386 (pkgdata_MODULES): Added configfile.mod.
52387 (configfile_mod_SOURCES): New variable.
52388 (configfile_mod_CFLAGS): Likewise.
52389 * util/grub-emu.c (main): Call grub_configfile_init and
52390 grub_configfile_fini.
52391 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52392 prototype.
52393 [GRUB_UTIL] (grub_configfile_fini): Likewise.
52394
52395 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52396
52397 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52398 address.
52399
52400 * commands/help.c (grub_cmd_help): Do not print newlines after
52401 the last command in print_command_help.
52402
52403 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52404
52405 * commands/default.h: New file.
52406 * commands/timeout.h: Likewise.
52407 * normal/context.c: Likewise.
52408
52409 * util/misc.c: Do not include sys/times.h.
52410 Include sys/time.h and grub/machine/time.h.
52411 (grub_get_rtc): Rewritten with gettimeofday.
52412
52413 * util/grub-emu.c (main): Call grub_default_init and
52414 grub_timeout_init before grub_normal_init, and call
52415 grub_timeout_fini and grub_default_fini after grub_main.
52416
52417 * util/console.c (grub_ncurses_checkkey): Return the read
52418 character or -1.
52419
52420 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52421 timeouts.
52422
52423 * normal/main.c (read_config_file): Push MENU. If this fails,
52424 print an error and wait for a user input.
52425 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52426 If a menu is empty or an error occurs, pop MENU.
52427 (grub_normal_execute): Pop and free MENU after grub_menu_run
52428 returns.
52429
52430 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52431
52432 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52433 include time.h.
52434 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52435 without GRUB_UTIL.
52436 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52437 time.h.
52438 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52439 without GRUB_UTIL.
52440
52441 * include/grub/normal.h (struct grub_menu_list): New struct.
52442 (grub_menu_list_t): New type.
52443 (struct grub_context): New struct.
52444 (grub_context_t): New type.
52445 (grub_register_command): Got rid of EXPORT_FUNC.
52446 (grub_unregister_command): Likewise.
52447 (grub_context_get): New prototype.
52448 (grub_context_get_current_menu): Likewise.
52449 (grub_context_push_menu): Likewise.
52450 (grub_context_pop_menu): Likewise.
52451 [GRUB_UTIL] (grub_default_init): Likewise.
52452 [GRUB_UTIL] (grub_default_fini): Likewise.
52453 [GRUB_UTIL] (grub_timeout_init): Likewise.
52454 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52455
52456 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52457 commands/timeout.c and normal/context.c.
52458 (pkgdata_MODULES): Added default.mod and timeout.mod.
52459 (normal_mod_SOURCES): Added normal/context.c.
52460 (default_mod_SOURCES): New variable.
52461 (default_mod_CFLAGS): Likewise.
52462 (timeout_mod_SOURCES): Likewise.
52463 (timeout_mod_CFLAGS): Likewise.
52464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52465 conf/i386-pc.rmk.
52466 (pkgdata_MODULES): Added default.mod and timeout.mod.
52467 (normal_mod_SOURCES): Added normal/context.c.
52468 (default_mod_SOURCES): New variable.
52469 (default_mod_CFLAGS): Likewise.
52470 (timeout_mod_SOURCES): Likewise.
52471 (timeout_mod_CFLAGS): Likewise.
52472
52473 * Makefile.in (all-local): Added $(MKFILES).
52474
52475 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52476
52477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52478 (grub_emu_SOURCES): Likewise.
52479 (pkgdata_MODULES): Add `sun.mod'.
52480 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52482 `partmap/sun.c'.
52483 (pkgdata_MODULES): Add `sun.mod'.
52484 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52485 * include/grub/partition.h (grub_sun_partition_map_init): New
52486 prototype.
52487 (grub_sun_partition_map_fini): Likewise.
52488 * partmap/sun.c: New file.
52489 * util/grub-emu.c (main): Initialize and de-initialize the sun
52490 partitionmap support.
52491
52492 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52493
52494 This implements an Emacs-like menu entry editor.
52495
52496 * normal/menu_entry.c: New file.
52497
52498 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52499 characters to ASCII.
52500 (saved_char): New variable.
52501 (grub_ncurses_checkkey): Rewritten completely.
52502 (grub_ncurses_getkey): Likewise.
52503 (grub_ncurses_init): Call raw instead of cbreak.
52504
52505 * normal/menu.c (print_entry): Do not put a space.
52506 (init_page): Renamed to ...
52507 (grub_menu_init_page): ... this. All callers changed.
52508 (edit_menu_entry): Removed.
52509 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52510
52511 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52512
52513 * kern/misc.c (grub_vprintf): Call grub_refresh.
52514
52515 * normal/menu.c (DISP_LEFT): Renamed to ...
52516 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52517 * normal/menu.c (DISP_UP): Renamed to ...
52518 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52519 * normal/menu.c (DISP_RIGHT): Renamed to ...
52520 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52521 * normal/menu.c (DISP_DOWN): Renamed to ...
52522 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52523 * normal/menu.c (DISP_HLINE): Renamed to ...
52524 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52525 * normal/menu.c (DISP_VLINE): Renamed to ...
52526 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52527 * normal/menu.c (DISP_UL): Renamed to ...
52528 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52529 * normal/menu.c (DISP_UR): Renamed to ...
52530 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52531 * normal/menu.c (DISP_LL): Renamed to ...
52532 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52533 * normal/menu.c (DISP_LR): Renamed to ...
52534 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52535 * normal/menu.c (TERM_WIDTH): Renamed to ...
52536 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52537 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52538 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52539 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52540 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52541 * normal/menu.c (TERM_MARGIN): Renamed to ...
52542 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52543 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52544 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52545 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52546 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52547 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52548 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52549 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52550 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52551 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52552 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52553 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52554 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52555 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52556 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52557 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52558 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52559 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52560 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52561 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52562 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52563 All callers changed.
52564
52565 * include/grub/normal.h: New prototype.
52566
52567 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52568 normal/menu_entry.c.
52569 (normal_mod_SOURCES): Likewise.
52570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52571 (normal_mod_SOURCES): Likewise.
52572
52573 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52574
52575 * include/grub/normal.h (grub_halt_init): New prototype.
52576 (grub_halt_fini): Likewise.
52577 (grub_reboot_init): Likewise.
52578 (grub_reboot_fini): Likewise.
52579
52580 * util/grub-emu.c: Include signal.h.
52581 (main_env): New global variable.
52582 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52583 catch C-c.
52584 (grub_machine_fini): New function.
52585 (main): Call grub_halt_init and grub_reboot_init before
52586 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52587 Call setjmp with MAIN_ENV to go back afterwards.
52588 Call grub_machine_fini right before return.
52589
52590 * include/grub/util/misc.h: Include setjmp.h.
52591 (main_env): New prototype.
52592
52593 * include/grub/kernel.h (grub_machine_fini): New prototype.
52594 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52595 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52596
52597 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52598 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52599 * term/i386/pc/console.c (grub_console_fini): Likewise.
52600
52601 * util/i386/pc/misc.c: New file.
52602
52603 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52604 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52605 commands/i386/pc/reboot.c.
52606
52607 2005-02-14 Guillem Jover <guillem@hadrons.org>
52608
52609 * include/grub/dl.h (grub_dl_check_header): New prototype.
52610 (grub_arch_dl_check_header): Change return type to grub_err_t,
52611 remove size parameter and export function. Update all callers.
52612 * kern/dl.c (grub_dl_check_header): New function.
52613 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52614 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52615 are inside the core.
52616 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52617 independent ELF header checks.
52618 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52619 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52620 `grub_dl_check_header' instead of explicit checks. Check for the
52621 ELF type.
52622 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52623 `grub_dl_check_header' instead of explicit checks. Remove arch
52624 specific ELF header checks.
52625
52626 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52627 argument SIZE.
52628
52629 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52630
52631 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52632 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52633
52634 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52635
52636 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
52637 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
52638 (part_map_iterate): Clear `grub_errno' and return 0 if
52639 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
52640 * partmap/amiga.c (amiga_partition_map_iterate): Return
52641 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52642 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52643
52644 2005-02-01 Guillem Jover <guillem@hadrons.org>
52645
52646 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52647 help info.
52648
52649 2005-01-31 Marco Gerards <metgerards@student.han.nl>
52650
52651 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52652 Removed prototype.
52653 (grub_rescue_cmd_linux): New prototype.
52654 (grub_rescue_cmd_initrd): Likewise.
52655 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52656 `bi_rec'.
52657 (grub_linux_release_mem): Release the memory for the initrd.
52658 (grub_load_linux): Renamed from this...
52659 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52660 Changed `entry' not to be static. Loop over memory regions to
52661 find another one when the default fails.
52662 (grub_rescue_cmd_initrd): New function.
52663 (grub_linux_init): Remove function.
52664 (grub_linux_fini): Likewise.
52665 (GRUB_MOD_INIT): Register `initrd'.
52666 (GRUB_MOD_FINI): Unregister `initrd'.
52667 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52668 Function removed.
52669 (grub_linux_normal_fini): Likewise.
52670 (GRUB_MOD_INIT): Register `initrd'.
52671 (GRUB_MOD_FINI): Unregister `initrd'.
52672
52673 2005-01-31 Marco Gerards <metgerards@student.han.nl>
52674
52675 * commands/help.c: New file.
52676 * normal/arg.c (show_help): Renamed to...
52677 (grub_arg_show_help): ... this.
52678 * commands/i386/pc/halt.c: New file.
52679 * commands/i386/pc/reboot.c: Likewise.
52680 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52681 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52682 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52683 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52684 variables.
52685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52686 `commands/help.c'.
52687 (pkgdata_MODULES): Add `help.mod'.
52688 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52689 * grub/i386/pc/init.h (grub_reboot): New prototype.
52690 (grub_halt): Likewise.
52691 * include/grub/normal.h (grub_arg_show_help): New prototype.
52692 (grub_help_init): Likewise.
52693 (grub_help_fini): Likewise.
52694 * util/grub-emu.c (main): Initialize and deinitialize the help
52695 command.
52696
52697 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52698
52699 * normal/command.c (grub_command_init): Fixed the description of
52700 the `set' and `unset' commands.
52701
52702 2005-01-31 Marco Gerards <metgerards@student.han.nl>
52703
52704 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52705 function.
52706 * commands/ieee1275/halt.c: New file.
52707 * commands/ieee1275/reboot.c: Likewise.
52708 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52709 `__attribute__ ((unused))'. Some GCS related fixed.
52710 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52711 (grub_suspend_fini): Likewise.
52712 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52713 and `halt.mod'.
52714 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52715 (halt_mod_CFLAGS): New variables.
52716 * include/grub/powerpc/ieee1275/ieee1275.h
52717 (grub_ieee1275_interpret): New prototype.
52718
52719 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52720
52721 * include/grub/misc.h (memmove): New prototype.
52722 (memcpy): Likewise.
52723
52724 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52725
52726 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52727 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52728
52729 2005-01-22 Marco Gerards <metgerards@student.han.nl>
52730
52731 * kern/misc.c (grub_strndup): Function rewritten.
52732
52733 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52734
52735 * normal/menu.c (TERM_WIDTH): Macro redefined.
52736 (TERM_TOP_BORDER_Y): Likewise.
52737 (draw_border): Replaced while-loop by a for-loop. Make the number
52738 of lines consistent with the number of lines displayed in
52739 print_entries. Added a margin below the rectangle.
52740 (print_entry): Make the entry fit in the rectangle.
52741 (print_entries): Display the scroll arrows next to the right
52742 border.
52743
52744 2005-01-21 Marco Gerards <metgerards@student.han.nl>
52745
52746 * fs/minix.c (grub_minix_find_file): Reserve more space for
52747 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52748 `grub_strncpy' to copy `path' into it.
52749
52750 2005-01-21 Marco Gerards <metgerards@student.han.nl>
52751
52752 Add the loopback device, a device via which files can be accessed
52753 as devices.
52754
52755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52756 (pkgdata_MODULES): Add loopback.mod.
52757 (loopback_mod_SOURCES): New variable.
52758 (loopback_mod_CFLAGS): Likewise.
52759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52760 `disk/loopback.c'.
52761 (pkgdata_MODULES): Add loopback.mod.
52762 (loopback_mod_SOURCES): New variable.
52763 (loopback_mod_CFLAGS): Likewise.
52764 * disk/loopback.c: new file.
52765 * include/grub/normal.h (grub_loop_init): New prototype.
52766 (grub_loop_fini): New prototype.
52767 * util/grub-emu.c (main): Initialize and de-initialize loopback
52768 support.
52769 * include/grub/disk.h (grub_disk_dev_id): Add
52770 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52771
52772 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52773
52774 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52775 function.
52776 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52777 (suspend_mod_SOURCES): New variable.
52778 (suspend_mod_CFLAGS): Likewise.
52779 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52780 New prototype.
52781 * commands/ieee1275/suspend.c: New file.
52782
52783 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52784
52785 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
52786 ((unused))' to `__attribute__ ((used))'.
52787 (GRUB_MOD_FINI): Likewise.
52788 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52789 * genmk.rb (PModule): Assign space to common symbols when linking
52790 modules.
52791
52792 2005-01-20 Marco Gerards <metgerards@student.han.nl>
52793
52794 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52795 `unsigned' arguments to `grub_size_t'.
52796 (grub_malloc): Likewise.
52797 (grub_realloc): Likewise.
52798 (grub_memalign): Likewise.
52799 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52800 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52801 * util/misc.c (grub_malloc): Likewise.
52802 (grub_realloc): Likewise.
52803 * kern/mm.c (get_header_from_pointer): Change the casts to
52804 `unsigned' into a cast to `grub_size_t'.
52805
52806 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52807 point to `currnode' when `currnode' is changed.
52808
52809 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52810 Schottelius <nico-linux@schottelius.org>.
52811
52812 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52813
52814 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52815 (note_path): Remove variable.
52816 (GRUB_IEEE1275_NOTE_NAME): New macro.
52817 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52818 (grub_ieee1275_note_hdr): New structure.
52819 (grub_ieee1275_note_desc): Likewise.
52820 (grub_ieee1275_note): Likewise.
52821 (load_note): Remove `dir' argument. All callers updated. Remove
52822 `note_img' and `path'. Do not load a file from `note_path'.
52823 Initialize a struct grub_ieee1275_note and write that to `out'.
52824 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52825
52826 2005-01-05 Marco Gerards <metgerards@student.han.nl>
52827
52828 * util/misc.c (grub_util_read_image): Revert last change. It
52829 called `grub_util_read_at', which seeks from the beginning of the
52830 file.
52831
52832 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52833
52834 * TODO: Add note about endianness in grub-mkimage.
52835 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52836 section.
52837 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52838 (grub_mkimage_SOURCES): New target.
52839 * include/grub/kernel.h (grub_start_addr): Remove variable.
52840 (grub_end_addr): Likewise.
52841 (grub_total_module_size): Likewise.
52842 (grub_kernel_image_size): Likewise.
52843 (GRUB_MODULE_MAGIC): New constant.
52844 (grub_module_info): New structure.
52845 (grub_arch_modules_addr): New prototype.
52846 (grub_get_end_addr): Remove prototype.
52847 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52848 * include/grub/powerpc/ieee1275/kernel.h: New file.
52849 * include/grub/util/misc.h (grub_util_get_fp_size): New
52850 prototype.
52851 (grub_util_read_at): Likewise.
52852 (grub_util_write_image_at): Likewise.
52853 * kern/main.c (grub_get_end_addr): Remove function.
52854 (grub_load_modules): Call grub_arch_modules_addr instead of using
52855 grub_end_addr. Look for a grub_module_info struct in memory. Use
52856 the grub_module_info fields instead of calling grub_get_end_addr
52857 as loop conditions. Move grub_add_unused_region code here.
52858 (grub_add_unused_region): Remove function.
52859 * kern/i386/pc/init.c: Include grub/cache.h.
52860 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52861 one call to add_mem_region.
52862 (grub_arch_modules_addr): New function.
52863 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52864 (grub_total_module_size): Likewise.
52865 Include grub/machine/kernel.h.
52866 (grub_arch_modules_addr): New function.
52867 * util/grub-emu.c (grub_end_addr): Remove variable.
52868 (grub_total_module_size): Likewise.
52869 (grub_arch_modules_addr): New function.
52870 * util/misc.c: Include unistd.h.
52871 (grub_util_get_fp_size): New function.
52872 (grub_util_read_at): Likewise.
52873 (grub_util_write_image_at): Likewise.
52874 (grub_util_read_image): Call grub_util_read_at.
52875 (grub_util_write_image): Call grub_util_write_image_at.
52876 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52877 additional memory in kernel_img for a struct grub_module_info.
52878 Fill in that grub_module_info.
52879 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52880
52881 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52882
52883 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52884 New function.
52885 * include/grub/powerpc/ieee1275/ieee1275.h
52886 (grub_ieee1275_milliseconds): New prototype.
52887 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52888 Change to 1000.
52889 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52890 grub_ieee1275_milliseconds.
52891
52892 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52893
52894 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52895 variable.
52896 (find_options): New function.
52897 (cmain): Call find_options.
52898 * include/grub/powerpc/ieee1275/ieee1275.h
52899 (grub_ieee1275_realmode): New extern variable.
52900 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52901 grub_map if grub_ieee1275_realmode is false.
52902
52903 2004-12-29 Marco Gerards <metgerards@student.han.nl>
52904
52905 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52906 lines are inserted and make it work like readline. Reported by
52907 Vincent Pelletier <subdino2004@yahoo.fr>.
52908
52909 2004-12-28 Marco Gerards <metgerards@student.han.nl>
52910
52911 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52912
52913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52914 `kern/powerpc/cache.S'.
52915
52916 2004-12-27 Marco Gerards <metgerards@student.han.nl>
52917
52918 * genmk.rb: Handle the `Program' class in the main loop. Written
52919 by Johan Rydberg <jrydberg@gnu.org>.
52920 (Program): New class.
52921 (programs): New variable.
52922 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52923 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52924 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52925 (help_arch): Function removed.
52926 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52927 `powerpc/libgcc.h' and `loader.h'.
52928 (pkgdata_PROGRAMS): New variable.
52929 (sbin_UTILITIES): Variable removed.
52930 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52931 (grubof_SOURCES): Variable re-defined so it only includes the
52932 core functionality.
52933 (grubof_CFLAGS): Remove `-DGRUBOF'.
52934 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52935 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52936 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52937 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52938 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52939 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52940 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52941 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52942 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52943 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52944 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52945 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52946 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52947 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52948 (pc_mod_CFLAGS): New variables.
52949 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52950 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52951 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52952 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52953 Moved from here...
52954 * include/grub/i386/pc/init.h (grub_os_area_addr)
52955 (rub_os_area_size): ... to here.
52956 * include/grub/powerpc/ieee1275/ieee1275.h
52957 (grub_ieee1275_entry_fn): Export symbol.
52958 * include/grub/powerpc/ieee1275/init.h: New file.
52959 * include/grub/powerpc/libgcc.h: Likewise.
52960 * include/grub/cache.h: Likewise.
52961 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52962 <hollis@penguinppc.org>.
52963 * kern/dl.c: Include <grub/cache.h>.
52964 (grub_dl_flush_cache): New function.
52965 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52966 for this module.
52967 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52968 (grub_console_init): Removed prototypes.
52969 (grub_machine_init): Don't initialize the modules anymore.
52970 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52971 static.
52972 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52973 Macro undef removed.
52974 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52975 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52976 relocation `R_PPC_REL32'. Return an error when the relocation is
52977 unknown.
52978 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52979 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52980 * util/misc.c (grub_arch_sync_caches): Likewise.
52981
52982 2004-12-19 Marco Gerards <metgerards@student.han.nl>
52983
52984 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52985 `symlist.c', add `grubof_symlist.c'.
52986 (symlist.c): Variable removed.
52987 (grubof_HEADERS): Variable added.
52988 (grubof_symlist.c): New target.
52989 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52990 `kernel_img_HEADERS'.
52991 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52992 * kern/powerpc/dl.c: New file.
52993 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52994 Function removed.
52995 (grub_arch_dl_relocate_symbols): Likewise.
52996 (grub_register_exported_symbols): Likewise.
52997
52998 2004-12-13 Marco Gerards <metgerards@student.han.nl>
52999
53000 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53001 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53002 to fail instead. Reported by Vincent Pelletier
53003 <subdino2004@yahoo.fr>.
53004
53005 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53006 it is not allocated. Reported by Vincent Pelletier
53007 <subdino2004@yahoo.fr>.
53008
53009 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53010 output so the output looks better.
53011
53012 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53013
53014 Modulize the partition map support and add support for the amiga
53015 partition map.
53016
53017 * commands/ls.c: Include <grub/partition.h> instead of
53018 <grub/machine/partition.h>.
53019 * kern/disk.c: Likewise.
53020 * kern/rescue.c: Likewise.
53021 * loader/i386/pc/chainloader.c: Likewise.
53022 * normal/cmdline.c: Likewise.
53023 * kern/powerpc/ieee1275/init.c: Likewise.
53024 (grub_machine_init): Call `grub_pc_partition_map_init',
53025 `grub_amiga_partition_map_init' and
53026 `grub_apple_partition_map_init'.
53027 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53028 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53029 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53030 `partition.h' and `pc_partition.h'.
53031 (grub_setup_SOURCES): Remove
53032 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53033 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53034 (grub_emu_SOURCES): Likewise.
53035 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53036 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53037 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53039 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53040 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53041 (grubof_SOURCES): Likewise.
53042 * disk/i386/pc/partition.c: File removed.
53043 * disk/powerpc/ieee1275/partition.c: Likewise.
53044 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53045 * include/grub/i386/pc/partition.h: Likewise.
53046 * kern/partition.c: New file.
53047 * partmap/amiga.c: Likewise.
53048 * partmap/apple.c: Likewise.
53049 * partmap/pc.c: Likewise.
53050 * include/grub/partition.h: Likewise..
53051 * include/grub/pc_partition.h: Likewise.
53052 * util/grub-emu.c: Include <grub/partition.h> instead of
53053 <grub/machine/partition.h>.
53054 (main): Call `grub_pc_partition_map_init',
53055 `grub_amiga_partition_map_init' and
53056 `grub_apple_partition_map_init' and deinitialize afterwards.
53057 * util/i386/pc/biosdisk.c: Include `#include
53058 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53059 `<grub/machine/partition.h>'.
53060 * util/i386/pc/grub-setup.c: Likewise.
53061 * util/i386/pc/biosdisk.c: Likewise.
53062 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53063 partition information in case of a PC partition.
53064 * util/i386/pc/grub-setup.c: Include `#include
53065 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53066 `<grub/machine/partition.h>'.
53067 (setup): Only access the PC specific partition information in case
53068 of a PC partition.
53069
53070 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53071
53072 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53073 (grub_longjmp): Likewise.
53074 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53075 20.
53076 * normal/powerpc/setjmp.S: New file.
53077 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53078 `normal/powerpc/setjmp.S'.
53079 (grubof_CFLAGS): Add `-DGRUBOF'.
53080 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53081 [GRUB_UTIL && !GRUBOF].
53082
53083 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53084
53085 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53086 property named `name'. Correctly handle the error returned by
53087 `grub_ieee1275_finddevice' if a device can not be opened.
53088
53089 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53090
53091 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53092 `actual' for negativity.
53093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53094 kern/fshelp.c.
53095
53096 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53097
53098 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53099 (PAGE_OFFSET): New macro.
53100 (CRTC_ADDR_PORT): Likewise.
53101 (CRTC_DATA_PORT): Likewise.
53102 (START_ADDR_HIGH_REGISTER): Likewise.
53103 (START_ADDR_LOW_REGISTER): Likewise.
53104 (GRAPHICS_ADDR_PORT): Likewise.
53105 (GRAPHICS_DATA_PORT): Likewise.
53106 (READ_MAP_REGISTER): Likewise.
53107 (INPUT_STATUS1_REGISTER): Likewise.
53108 (INPUT_STATUS1_VERTR_BIT): Likewise.
53109 (page): New variable.
53110 (wait_vretrace): New function.
53111 (set_read_map): Likewise.
53112 (set_start_address): Likewise.
53113 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53114 the right page.
53115 (check_vga_mem): Take the page into account.
53116 (write_char): Likewise.
53117 (write_cursor): Likewise.
53118 (scroll_up): Likewise. Copy the page to the page that is not
53119 shown and switch between both pages.
53120 (grub_vga_putchar): Fix off by one error.
53121 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53122 account.
53123
53124 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53125
53126 Add support for iso9660 (including rockridge).
53127
53128 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53129 (iso9660_mod_SOURCES): New variable.
53130 (iso9660_mod_CFLAGS): Likewise.
53131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53132 * include/grub/fs.h (grub_iso9660_init): New prototype.
53133 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53134 * fs/iso9660.c: New file.
53135
53136 * include/grub/misc.h (grub_strncat): New prototype.
53137 * kern/misc.c (grub_strncat): New function.
53138
53139 * fs/hfs.c (grub_hfs_mount): Translate the error
53140 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53141 * fs/jfs.c (grub_jfs_mount): Likewise.
53142 * fs/ufs.c (grub_ufs_mount): Likewise.
53143
53144 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53145
53146 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53147 which initialized BAT registers.
53148 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53149 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53150 Move from here...
53151 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53152 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53153 ... to here.
53154 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53155 (grub_mapclaim): Likewise.
53156 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53157 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53158 hand.
53159
53160 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53161
53162 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53163 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53164 -ffreestanding and -msoft-float.
53165
53166 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53167
53168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53169 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53170 set in grub_ieee1275_flags.
53171
53172 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53173
53174 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53175 prototype.
53176 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53177 grub_console_init first.
53178 Change the memory range used for grub_ieee1275_claim and
53179 grub_mm_init_region.
53180 Print an error message if the claim fails.
53181 Include <grub/misc.h>.
53182
53183 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53184
53185 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53186 Call grub_children_iterate for device nodes of type `scsi',
53187 `ide', or `ata'.
53188 (grub_ofdisk_open): Remove manual device alias resolution.
53189 Fix memory leak when device cannot be opened.
53190 * include/grub/powerpc/ieee1275/ieee1275.h
53191 (grub_children_iterate): New prototype.
53192 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53193 New function.
53194 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53195 Return -1 if args.size was -1.
53196
53197 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53198
53199 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53200 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53201 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53202 Open Firmware's memory for it; claim memory from _start to _end.
53203 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53204 (_end): New extern.
53205 (_start): Zero BSS from __bss_start to _end.
53206 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53207 New extern.
53208 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53209
53210 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53211
53212 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53213 -1 if args.base was -1.
53214
53215 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53216
53217 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53218 escape sequence instead of a literal ^L. Also call
53219 grub_ofconsole_gotoxy.
53220
53221 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53222
53223 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53224 void * arguments to grub_addr_t. All callers updated. Also make
53225 the `result' argument optional.
53226 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53227 All callers updated.
53228
53229 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53230
53231 * commands/ls.c (grub_ls_list_files): Use the string following the
53232 initial ')', if present, as the filesystem path.
53233 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53234
53235 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53236
53237 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53238
53239 Make the source code of the menu interface more readable.
53240
53241 * normal/menu.c: Include grub/mm.h.
53242 (TERM_WIDTH): New macro.
53243 (TERM_HEIGHT): Likewise.
53244 (TERM_INFO_HEIGHT): Likewise.
53245 (TERM_MARGIN): Likewise.
53246 (TERM_SCROLL_WIDTH): Likewise.
53247 (TERM_TOP_BORDER_Y): Likewise.
53248 (TERM_LEFT_BORDER_X): Likewise.
53249 (TERM_BORDER_WIDTH): Likewise.
53250 (TERM_MESSAGE_HEIGHT): Likewise.
53251 (TERM_BORDER_HEIGHT): Likewise.
53252 (TERM_NUM_ENTRIES): Likewise.
53253 (TERM_FIRST_ENTRY_Y): Likewise.
53254 (TERM_ENTRY_WIDTH): Likewise.
53255 (TERM_CURSOR_X): Likewise.
53256 (draw_border): Use macros instead of magic numbers.
53257 (print_entry): Likewise.
53258 (print_entries): Likewise.
53259 (run_menu): Likewise. Also, handle the key 'e'.
53260 (run_menu_entry): Ignore empty command lines.
53261 (print_message): Added a new argument EDIT. If EDIT is true,
53262 print a different message.
53263 (init_page): Likewise.
53264 (edit_menu_entry): New function. Not implemented yet.
53265
53266 2004-09-17 Marco Gerards <metgerards@student.han.nl>
53267
53268 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53269 can be loaded from normal mode.
53270
53271 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53272 `multiboot.mod'.
53273 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53274 (multiboot_mod_CFLAGS): New variables.
53275 * loader/i386/pc/linux_normal.c: New file.
53276 * loader/i386/pc/multiboot_normal.c: Likewise.
53277
53278 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53279 attribute `unused'.
53280
53281 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53282 `fdiro' to read the mode information from instead of `diro'.
53283
53284 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53285 looking up a symlink.
53286
53287 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53288 macro.
53289 * normal/command.c (grub_command_execute): Don't parse the
53290 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53291 flags of the command.
53292
53293 * normal/menu.c (grub_menu_run): Fix typo.
53294
53295 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53296
53297 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53298
53299 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53300 `y + 1' instead of `y - 1'.
53301
53302 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
53303
53304 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53305
53306 From Hollis Blanchard <hollis@penguinppc.org>:
53307 * kern/misc.c (memmove): New alias for grub_memmove.
53308 (memcmp): New alias for grub_memcmp.
53309 (memset): New alias for grub_memset.
53310 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53311 Change "int handle" to "grub_ieee1275_phandle_t handle".
53312 * include/grub/powerpc/ieee1275/ieee1275.h
53313 (grub_ieee1275_get_property): Likewise.
53314
53315 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53316
53317 Added normal mode command `chainloader' as module chain.mod, which
53318 depends on normal.mod and _chain.mod.
53319
53320 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53321 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53322 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53323 Deleted prototype.
53324 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53325 but arguments parsing moved to ...
53326 (grub_chainloader_cmd): ... here. New function.
53327 * include/grub/i386/pc/chainloader.h: New file.
53328 * loader/i386/pc/chainloader_normal.c: Likewise.
53329
53330 2004-09-11 Marco Gerards <metgerards@student.han.nl>
53331
53332 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53333 (grub_mkimage_LDFLAGS): Likewise.
53334 (grub_emu_SOURCES): Likewise.
53335 (kernel_img_HEADERS): Added fshelp.h.
53336 * fs/ext2.c: Include <grub/fshelp.h>.
53337 (FILETYPE_REG): New macro.
53338 (FILETYPE_INO_REG): Likewise.
53339 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53340 Changed all users.
53341 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53342 all users.
53343 (grub_fshelp_node): New struct.
53344 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53345 to a pointer.
53346 (grub_ext2_get_file_block): Removed function.
53347 (grub_ext2_read_block): New function.
53348 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53349 This function was written.
53350 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53351 (grub_ext2_find_file): Removed function.
53352 (grub_ext2_read_symlink): New function.
53353 (grub_ext2_iterate_dir): Likewise.
53354 (grub_ext2_open): Rewritten.
53355 (grub_ext2_dir): Rewritten.
53356 * include/grub/fshelp.h: New file.
53357 * fs/fshelp.c: Likewise.
53358
53359 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53360
53361 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53362 (print_message): Add a missing newline.
53363 (run_menu): Added timeout support.
53364 (run_menu_entry): New local function.
53365 (grub_menu_run): Added support for booting.
53366
53367 * kern/loader.c (grub_loader_is_loaded): New function.
53368
53369 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53370 (grub_get_rtc): Exported.
53371
53372 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53373 (grub_get_rtc): Exported.
53374
53375 * include/grub/normal.h (struct grub_command_list): Remove
53376 constant from the member `command'.
53377
53378 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53379
53380 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53381
53382 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53383
53384 2004-08-28 Marco Gerards <metgerards@student.han.nl>
53385
53386 Add support for the JFS filesystem.
53387
53388 * fs/jfs.c: New file.
53389 * include/grub/fs.h (grub_jfs_init): New prototype.
53390 (grub_jfs_fini): New prototype.
53391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53392 (grub_emu_SOURCES): Likewise.
53393 (pkgdata_MODULES): Add jfs.mod.
53394 (jfs_mod_SOURCES): New variable.
53395 (jfs_mod_CFLAGS): Likewise.
53396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53397 (grubof_SOURCES): Likewise.
53398 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53399
53400 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53401 endian to the host endian.
53402 (grub_fat_utf16_to_utf8): Move function from there...
53403 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
53404 the endianness of the source string anymore.
53405 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53406
53407 2004-08-24 Marco Gerards <metgerards@student.han.nl>
53408
53409 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53410 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53411 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53412 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
53413
53414 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53415 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53416 for `node_found' and `it_dir'.
53417 (grub_hfs_dir): Add prototype for `dir_hook'.
53418
53419 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53420 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53421 and `indir32' to silence a gcc warning.
53422
53423 * include/grub/fs.h (grub_hfs_init): New prototype.
53424 (grub_hfs_fini): Likewise.
53425
53426
53427 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53428
53429 Each disk device has its own id now. This is useful to make use
53430 of multiple disk devices.
53431
53432 * include/grub/disk.h (grub_disk_dev_id): New enum.
53433 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53434 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53435
53436 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53437 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53438
53439 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53440 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53441
53442 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53443 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53444
53445 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53446 "id" which is used by the cache manager.
53447
53448 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53449 of just "GRUB".
53450
53451 2004-08-18 Marco Gerards <metgerards@student.han.nl>
53452
53453 * fs/hfs.c: New file.
53454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53455 (grub_emu_SOURCES): Likewise.
53456 (pkgdata_MODULES): Add hfs.mod.
53457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53458 (grubof_SOURCES): Likewise.
53459 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53460
53461 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53462 * kern/misc.c (grub_strncasecmp): Add function.
53463
53464 2004-08-14 Marco Gerards <metgerards@student.han.nl>
53465
53466 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53467 with parentheses.
53468
53469 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53470 (grub_ext2_dir): In case the directory entry type is unknown, read
53471 it from the inode.
53472
53473 2004-08-02 Peter Bruin <pjbruin@dds.nl>
53474
53475 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53476 grub_load_linux instead of grub_rescue_cmd_linux as second
53477 argument of grub_rescue_register_command.
53478
53479 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53480
53481 2004-07-27 Marco Gerards <metgerards@student.han.nl>
53482
53483 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53484 function.
53485 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53486 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53487 `loader/powerpc/ieee1275/linux.c',
53488 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53489 * include/grub/powerpc/ieee1275/ieee1275.h
53490 (grub_ieee1275_release): New prototype.
53491 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53492 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53493 normal, boot, linux and linux_normal.
53494 * loader/powerpc/ieee1275/linux.c: New file.
53495 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53496
53497 2004-07-12 Marco Gerards <metgerards@student.han.nl>
53498
53499 * normal/arg.c (grub_arg_parse): Correct error handling after
53500 reallocating the argumentlist (check if `argl' is not null instead
53501 of checking if `args' is not null).
53502 * kern/mm.c (grub_realloc): Return the same pointer when using the
53503 same region, instead of returning the header address.
53504
53505 2004-07-11 Marco Gerards <metgerards@student.han.nl>
53506
53507 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53508 one block instead of two when looking for the initial partition.
53509 (grub_partition_probe): Initialize the local variable `p' with 0.
53510 Use base 10 for the grub_strtoul call.
53511 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53512 need for one local variable.
53513 (grub_strtoul): Don't add the new value to `num', instead of that
53514 just assign it.
53515
53516 2004-07-11 Marco Gerards <metgerards@student.han.nl>
53517
53518 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53519 (pxeboot_img_SOURCES): New variable.
53520 (pxeboot_img_ASFLAGS): Likewise.
53521 (pxeboot_img_LDFLAGS): Likewise.
53522 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53523 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53524 <lode_leroy@hotmail.com>.
53525
53526 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53527
53528 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53529 there was no input.
53530
53531 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53532
53533 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53534 the history buffer logic.
53535
53536 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53537
53538 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53539 (FILETYPE_INO_SYMLINK): New macros.
53540 (grub_ext2_find_file): Check if the node is a directory using the
53541 inode stat information instead of using the filetype in the
53542 dirent. Exclude the first character of an absolute symlink.
53543 (grub_ext2_dir): Mask out the filetype part of the mode member of
53544 the inode.
53545
53546 2004-05-24 Marco Gerards <metgerards@student.han.nl>
53547
53548 Add support for UFS version 1 and 2. Add support for the minix
53549 filesystem version 1 and 2, both the variants with 14 and 30 long
53550 filenames.
53551
53552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53553 fs/minix.c.
53554 (grub_emu_SOURCES): Likewise.
53555 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53556 (ufs_mod_SOURCES): New variable.
53557 (ufs_mod_CFLAGS): Likewise.
53558 (minix_mod_SOURCES): Likewise.
53559 (minix_mod_CFLAGS): Likewise.
53560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53561 fs/minix.c.
53562 (grubof_SOURCES): Likewise.
53563 * fs/ufs.c: New file.
53564 * fs/minix.c: New file.
53565 * include/grub/fs.h (grub_ufs_init): New prototype.
53566 (grub_ufs_fini): Likewise.
53567 (grub_minix_init): Likewise.
53568 (grub_minix_fini): Likewise.
53569 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53570 minix fs.
53571
53572 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53573
53574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53575 commands/ls.c, commands/terminal.c, commands/boot.c,
53576 commands/cmp.c and commands/cat.c.
53577 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53578
53579 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53580 "env.h"
53581
53582 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53583
53584 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53585 and grub_, respectively. Because the conversion is trivial and
53586 mechanical, I omit the details here. Please refer to the CVS
53587 if you need more information.
53588
53589 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53590
53591 * include/pupa: Renamed to ...
53592 * include/grub: ... this.
53593 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53594 * util/i386/pc/grub-mkimage.c: ... this.
53595 * util/i386/pc/pupa-setup.c: Renamed to ...
53596 * util/i386/pc/grub-setup.c: ... this.
53597 * util/pupa-emu.c: Renamed to ...
53598 * util/grub-emu.c: ... this.
53599
53600 2004-03-29 Marco Gerards <metgerards@student.han.nl>
53601
53602 Add support for the newworld apple macintosh (PPC). This has been
53603 tested on the powerbook 2000 only. It only adds support for
53604 generic ieee1275 functions, console and disk support. This should
53605 be easy to port to other architectures with support for Open
53606 Firmware.
53607
53608 * configure.ac: Accept the powerpc as host_cpu. In the case of
53609 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53610 specific tests are only executed while building for the i386.
53611 Inverse test for crosscompile.
53612 * genmk.rb (Utility): Allow assembler files.
53613 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53614 * conf/powerpc-ieee1275.rmk: New file.
53615 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53616 * disk/powerpc/ieee1275/partition.c: Likewise.
53617 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53618 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53619 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53620 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53621 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53622 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53623 * include/pupa/powerpc/ieee1275/loader.h
53624 * include/pupa/powerpc/setjmp.h: Likewise.
53625 * include/pupa/powerpc/types.h: Likewise.
53626 * kern/powerpc/ieee1275/init.c: Likewise.
53627 * kern/powerpc/ieee1275/openfw.c: Likewise.
53628 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53629
53630 These files were written by Johan Rydberg
53631 (jrydberg@night.trouble.net) and I only modified them slightly.
53632
53633 * boot/powerpc/ieee1275/cmain.c: New file.
53634 * boot/powerpc/ieee1275/crt0.S: Likewise.
53635 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53636 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53637
53638 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53639
53640 * Makefile.in: Update copyright.
53641 * genmodsrc.sh: Likewise.
53642 * gensymlist.sh: Likewise.
53643 * term/i386/pc/vga.c: Indent correctly.
53644
53645 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53646 bugreporting address.
53647 * util/i386/pc/pupa-setup.c (usage): Likewise,
53648 (main): Call pupa_ext2_init and pupa_ext2_fini.
53649
53650 * fs/fat.c (log2): Renamed to ...
53651 (fat_log2): ... this.
53652 All callers changed.
53653 * kern/misc.c (memcpy): Alias to pupa_memmove.
53654 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53655 lvalue cast.
53656 * util/console.c (pupa_ncurses_fini): Return 0.
53657
53658 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53659 Move fail label here.
53660 [__GNU__]: Don't warn when using stat.
53661 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53662 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53663 long int. Use strtol instead of strtoul.
53664
53665 2004-03-14 Marco Gerards <metgerards@student.han.nl>
53666
53667 * commands/boot.c: New file.
53668 * commands/cat.c: Likewise.
53669 * commands/cmp.c: Likewise.
53670 * commands/ls.c: Likewise.
53671 * commands/terminal.c: Likewise.
53672 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53673 (pupa_register_command): Changed interface to match the new
53674 argument parser.
53675 (pupa_command_execute): Changed (almost rewritten) so it uses
53676 pupa_split_command. Added support for setting variables using the
53677 syntax `foo=bar'.
53678 (rescue_command): Changed to work with the new argument parser.
53679 (terminal_command): Moved from here to commands/terminal.c.
53680 (set_command): New function.
53681 (unset_command): New function.
53682 (insmod_command): New function.
53683 (rmmod_command): New function.
53684 (lsmod_command): New function.
53685 (pupa_command_init): Don't initialize the command terminal
53686 anymore. Initialize the commands set, unset, insmod, rmmod and
53687 lsmod.
53688 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53689 (kernel_img_HEADERS): Add arg.h and env.h.
53690 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53691 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53692 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53693 normal/arg.c.
53694 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53695 terminal.mod.
53696 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53697 (boot_mod_SOURCES): New variable.
53698 (terminal_mod_SOURCES): Likewise.
53699 (ls_mod_SOURCES): Likewise.
53700 (cmp_mod_SOURCES): Likewise.
53701 (cat_mod_SOURCES): Likewise.
53702
53703 * normal/arg.c: New file.
53704 * kern/env.c: Likewise.
53705 * include/pupa/arg.h: Likewise.
53706 * include/pupa/env.h: Likewise.
53707 * font/manager.c (font_command): Changed to match argument parsing
53708 interface changes.
53709 (PUPA_MOD_INIT): Likewise.
53710 * hello/hello.c (pupa_cmd_hello): Likewise.
53711 (PUPA_MOD_INIT): Likewise.
53712 * include/pupa/disk.h: Include <pupa/device.h>.
53713 (pupa_print_partinfo): New prototype.
53714 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53715 (pupa_dl_get_prefix): Likewise.
53716 * include/pupa/misc.h: Include <pupa/err.h>.
53717 (pupa_isgraph): New prototype.
53718 (pupa_isdigit): Likewise.
53719 (pupa_split_cmdline): Likewise.
53720 * include/pupa/normal.h: Include <pupa/arg.h>.
53721 (pupa_command): Changed the prototype of the member `func' to
53722 match the argument parsing interface. Added member `options'.
53723 (pupa_register_command): Updated to match function.
53724 (pupa_arg_parse): New prototype.
53725 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53726 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53727 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53728 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53729 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53730 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53731 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53732 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53733 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53734 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53735 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53736 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53737 * kern/disk.c: Include <pupa/file.h>.
53738 (pupa_print_partinfo): New function.
53739 * kern/dl.c: Include <pupa/env.h>.
53740 (pupa_dl_dir): Variable removed.
53741 (pupa_dl_load): Use the environment variable `prefix' instead of
53742 the variable pupa_dl_dir.
53743 (pupa_dl_set_prefix): Function removed.
53744 (pupa_dl_get_prefix): Likewise.
53745 * kern/i386/pc/init.c: Include <pupa/env.h>.
53746 (pupa_machine_init): Use the environment variable `prefix' instead of
53747 using pupa_dl_set_prefix to set the prefix.
53748 * kern/main.c: Include <pupa/env.h>.
53749 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53750 using pupa_dl_get_prefix to get the prefix.
53751 * kern/misc.c: Include <pupa/env.h>.
53752 (pupa_isdigit): New function.
53753 (pupa_isgraph): Likewise.
53754 (pupa_ftoa): Likewise.
53755 (pupa_vsprintf): Added support for printing values of the type
53756 `double'. Make it possible to format variable output when using
53757 formatting like `%1.2%f'.
53758 (pupa_split_cmdline): New function.
53759 * kern/rescue.c: Include <pupa/env.h>.
53760 (next_word): Removed function.
53761 (pupa_rescue_cmd_prefix): Likewise.
53762 (pupa_rescue_cmd_set): New function.
53763 (pupa_rescue_cmd_unset): New function.
53764 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53765 split the command line instead of splitting it here. Added
53766 support for setting variables using the syntax `foo=bar'. Don't
53767 initialize the prefix command anymore. Initialized the set and
53768 unset commands.
53769 * normal/cmdline.c: Include <pupa/env.h>.
53770 (pupa_tab_complete): Added prototypes for print_simple_completion,
53771 print_partition_completion, add_completion, iterate_commands,
53772 iterate_dev, iterate_part and iterate_dir. Moved code to print
53773 partition information from here to kern/disk.c.
53774 (pupa_cmdline_run): Don't check if the function exists anymore.
53775 * normal/main.c: Include <pupa/env.h>.
53776 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53777 instead of using pupa_dl_get_prefix to get the prefix.
53778 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53779 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53780 warning.
53781 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53782 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53783 ((unused))' to silence a gcc warning.
53784 (pupa_vga_setcolor): Likewise.
53785 (debug_command): Changed to match argument parsing
53786 interface changes.
53787 * util/pupa-emu.c: Include <pupa/env.h>.
53788 (options): Added 0's for unused fields to silence a gcc warning.
53789 (argp): Likewise.
53790 (main): Use the environment variable `prefix' instead of using
53791 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53792 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53793 and terminal.
53794
53795 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53796 * util/misc.c: Include <malloc.h>.
53797 (pupa_malloc): Rewritten so errors are correctly reported.
53798 (pupa_realloc): Likewise.
53799 (pupa_memalign): Likewise.
53800 (pupa_mm_init_region): Declare unused variables with
53801 `__attribute__ ((unused))' to silence a gcc warning.
53802 * normal/i386/setjmp.S: Remove tab at the end of the file to
53803 silence a gcc warning.
53804 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53805 variables with `__attribute__ ((unused))' to silence a gcc
53806 warning.
53807 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53808 local variable i unsigned to silence a gcc warning.
53809
53810 * kern/term.c: Include <pupa/misc.h>.
53811 (pupa_more_lines): New variable.
53812 (pupa_more): Likewise.
53813 (pupa_putcode): When the pager is active pause at the end of every
53814 screen.
53815 (pupa_set_more): New function.
53816 * include/pupa/term.h (pupa_set_more): New prototype.
53817
53818
53819 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53820
53821 Now this project is GRUB 2 rather than PUPA. The location of
53822 the CVS repository was moved to GRUB's.
53823
53824 * configure.ac: Use bug-grub as the reporting address.
53825 Use GRUB instead of PUPA.
53826 Change the version number to 1.90.
53827
53828 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53829
53830 * genkernsyms.sh: Updated copyright information.
53831 * genmk.rb: Likewise.
53832 * genmodsrc.sh: Likewise.
53833 * gensymlist.sh: Likewise.
53834 * boot/i386/pc/boot.S: Likewise.
53835 * boot/i386/pc/diskboot.S: Likewise.
53836 * disk/i386/pc/biosdisk.c: Likewise.
53837 * disk/i386/pc/partition.c: Likewise.
53838 * font/manager.c: Likewise.
53839 * fs/ext2.c: Likewise.
53840 * fs/fat.c: Likewise.
53841 * include/pupa/boot.h: Likewise.
53842 * include/pupa/device.h: Likewise.
53843 * include/pupa/disk.h: Likewise.
53844 * include/pupa/dl.h: Likewise.
53845 * include/pupa/elf.h: Likewise.
53846 * include/pupa/err.h: Likewise.
53847 * include/pupa/file.h: Likewise.
53848 * include/pupa/font.h: Likewise.
53849 * include/pupa/fs.h: Likewise.
53850 * include/pupa/kernel.h: Likewise.
53851 * include/pupa/loader.h: Likewise.
53852 * include/pupa/misc.h: Likewise.
53853 * include/pupa/mm.h: Likewise.
53854 * include/pupa/net.h: Likewise.
53855 * include/pupa/normal.h: Likewise.
53856 * include/pupa/rescue.h: Likewise.
53857 * include/pupa/setjmp.h: Likewise.
53858 * include/pupa/symbol.h: Likewise.
53859 * include/pupa/term.h: Likewise.
53860 * include/pupa/types.h: Likewise.
53861 * include/pupa/i386/setjmp.h: Likewise.
53862 * include/pupa/i386/types.h: Likewise.
53863 * include/pupa/i386/pc/biosdisk.h: Likewise.
53864 * include/pupa/i386/pc/boot.h: Likewise.
53865 * include/pupa/i386/pc/console.h: Likewise.
53866 * include/pupa/i386/pc/init.h: Likewise.
53867 * include/pupa/i386/pc/kernel.h: Likewise.
53868 * include/pupa/i386/pc/linux.h: Likewise.
53869 * include/pupa/i386/pc/loader.h: Likewise.
53870 * include/pupa/i386/pc/memory.h: Likewise.
53871 * include/pupa/i386/pc/multiboot.h: Likewise.
53872 * include/pupa/i386/pc/partition.h: Likewise.
53873 * include/pupa/i386/pc/time.h: Likewise.
53874 * include/pupa/i386/pc/vga.h: Likewise.
53875 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53876 * include/pupa/util/getroot.h: Likewise.
53877 * include/pupa/util/misc.h: Likewise.
53878 * include/pupa/util/resolve.h: Likewise.
53879 * kern/device.c: Likewise.
53880 * kern/disk.c: Likewise.
53881 * kern/dl.c: Likewise.
53882 * kern/err.c: Likewise.
53883 * kern/file.c: Likewise.
53884 * kern/fs.c: Likewise.
53885 * kern/loader.c: Likewise.
53886 * kern/main.c: Likewise.
53887 * kern/misc.c: Likewise.
53888 * kern/mm.c: Likewise.
53889 * kern/rescue.c: Likewise.
53890 * kern/term.c: Likewise.
53891 * kern/i386/dl.c: Likewise.
53892 * kern/i386/pc/init.c: Likewise.
53893 * kern/i386/pc/lzo1x.S: Likewise.
53894 * kern/i386/pc/startup.S: Likewise.
53895 * loader/i386/pc/chainloader.c: Likewise.
53896 * loader/i386/pc/linux.c: Likewise.
53897 * loader/i386/pc/multiboot.c: Likewise.
53898 * normal/cmdline.c: Likewise.
53899 * normal/command.c: Likewise.
53900 * normal/main.c: Likewise.
53901 * normal/menu.c: Likewise.
53902 * normal/i386/setjmp.S: Likewise.
53903 * term/i386/pc/console.c: Likewise.
53904 * term/i386/pc/vga.c: Likewise.
53905 * util/console.c: Likewise.
53906 * util/genmoddep.c: Likewise.
53907 * util/misc.c: Likewise.
53908 * util/pupa-emu.c: Likewise.
53909 * util/resolve.c: Likewise.
53910 * util/unifont2pff.rb: Likewise.
53911 * util/i386/pc/biosdisk.c: Likewise.
53912 * util/i386/pc/getroot.c: Likewise.
53913 * util/i386/pc/pupa-mkimage.c: Likewise.
53914 * util/i386/pc/pupa-setup.c: Likewise.
53915
53916 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53917
53918 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53919 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53920 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53921 reading and reset it after reading.
53922 (pupa_ext2_close): Return PUPA_ERR_NONE.
53923
53924 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53925 Correct value.
53926 (struct linux_kernel_header): Add kernel_version and
53927 initrd_addr_max.
53928 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53929 pupa_file_read succeeds.
53930 (pupa_rescue_cmd_initrd): Implement.
53931
53932 2003-12-03 Marco Gerards <metgerards@student.han.nl>
53933
53934 * fs/ext2.c (pupa_ext2_label): New function.
53935 (pupa_ext2_fs): Added label.
53936 * fs/fat.c (pupa_fat_label): New function.
53937 (pupa_fat_fs): Added label.
53938 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53939
53940 * kern/misc.c (pupa_strndup): New function.
53941 * include/pupa/misc.h (pupa_strndup): New prototype.
53942
53943 * include/pupa/normal.h: Include <pupa/err.h>.
53944 (pupa_set_history): New prototype.
53945 (pupa_iterate_commands): New prototype.
53946 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53947 <pupa/disk.h>, <pupa/file.h>.
53948 (hist_size): New variable.
53949 (hist_lines): Likewise.
53950 (hist_end): Likewise.
53951 (hist_used): Likewise.
53952 (pupa_set_history): New function.
53953 (pupa_history_get): Likewise.
53954 (pupa_history_add): Likewise.
53955 (pupa_history_replace): Likewise.
53956 (pupa_tab_complete): Likewise.
53957 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53958 completion shows partitionnames while completing partitions, this
53959 feature was suggested by Jeff Bailey.
53960 * normal/command.c (pupa_iterate_commands): New function.
53961 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53962 (pupa_normal_init): Initialize history buffer.
53963 (PUPA_MOD_INIT): Likewise.
53964 (pupa_normal_fini): Free the history buffer.
53965 (PUPA_MOD_FINI): Likewise.
53966
53967 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53968 key.
53969
53970 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53971 * configure.ac [i386]: Check for regparam bug.
53972 (NESTED_FUNC_ATTR) [! i386]: Defined.
53973
53974 2003-11-17 Marco Gerards <metgerards@student.han.nl>
53975
53976 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53977 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53978 (pupa_emu_SOURCES): New variable.
53979 (pupa_emu_LDFLAGS): Likewise.
53980 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53981 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53982 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53983 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53984 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53985 (pupa_jmp_buf): New typedef.
53986 (pupa_setjmp) [PUPA_UTIL]: New macro.
53987 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53988 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53989 (pupa_refresh): New prototype.
53990 * include/pupa/util/getroot.h: New file.
53991 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53992 it.
53993 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53994 (pupa_rescue_cmd_cat): Likewise.
53995 (pupa_rescue_cmd_ls): Likewise.
53996 (pupa_rescue_cmd_testload): Likewise.
53997 (pupa_rescue_cmd_lsmod): Likewise.
53998 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53999 * normal/menu.c (run_menu): Likewise.
54000 * kern/term.c (pupa_cls): Likewise.
54001 (pupa_refresh): New function.
54002 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54003 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54004 * util/console.c: New file.
54005
54006 * util/i386/pc/getroot.c: New file.
54007 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54008 (pupa_putchar): New function.
54009 (pupa_refresh): Likewise.
54010 (xgetcwd): Function moved to ...
54011 (strip_extra_slashes): Likewise.
54012 (get_prefix): Likewise.
54013 * util/i386/pc/getroot.c: ... here.
54014 (find_root_device): Function moved and renamed to...
54015 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54016 Changed all callers.
54017 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54018 and renamed to...
54019 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54020 Changed all callers.
54021 * util/misc.c (pupa_memalign): New function.
54022 (pupa_mm_init_region): Likewise.
54023 (pupa_register_exported_symbols): Likewise.
54024 (pupa_putchar): Function removed.
54025 * util/pupa-emu.c: New file.
54026
54027 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54028
54029 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54030 (_multiboot_mod_SOURCES): New variable.
54031 (_multiboot_mod_CFLAGS): Likewise.
54032 * loader/i386/pc/multiboot.c: New file.
54033 * include/pupa/i386/pc/multiboot.h: Likewise.
54034 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54035 (pupa_multiboot_real_boot): New function.
54036 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54037 (pupa_multiboot_real_boot): New prototype.
54038 (pupa_rescue_cmd_multiboot): Likewise
54039 (pupa_rescue_cmd_module): Likewise.
54040
54041 * kern/loader.c (pupa_loader_set): Continue when
54042 pupa_loader_unload_func() fails.
54043 (pupa_loader_unset): New function.
54044 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54045
54046 * kern/misc.c (pupa_stpcpy): New function.
54047 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54048
54049 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54050
54051 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54052 for available extensions.
54053
54054 * include/pupa/i386/pc/time.h: New file.
54055 * kern/disk.c: Include <pupa/machine/time.h>.
54056 (PUPA_CACHE_TIMEOUT): New macro.
54057 (pupa_last_time): New variable.
54058 (pupa_disk_open): Flush the cache when there was a timeout.
54059 (pupa_disk_close): Reset the timer.
54060 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54061 pupa_currticks.
54062 * util/misc.c: Include <sys/times.h>
54063 (pupa_get_rtc): New function.
54064
54065 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54066
54067 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54068 as blocks.
54069 (pupa_ext2_get_file_block): Use blocks member.
54070
54071 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54072 first block. Return -1 instead of pupa_errno on error.
54073
54074 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54075
54076 * README: In the pupa-mkimage example use _chain instead of chain
54077 and ext2 instead of fat.
54078 * TODO: Replace ext2fs with jfs as an example. Add an item for
54079 adding journal playback for ext2fs.
54080 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54081 (pkgdata_MODULES): Added ext2.mod.
54082 (ext2_mod_SOURCES): New variable.
54083 (ext2_mod_CFLAGS): Likewise.
54084 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54085 * include/pupa/misc.h (pupa_strncpy): New prototype.
54086 (pupa_strcat): Likewise.
54087 (pupa_strncmp): Likewise.
54088 * kern/misc.c (pupa_strcat): Enable function.
54089 (pupa_strncpy): New function.
54090 (pupa_strncmp): Likewise.
54091 * fs/ext2.c: New file.
54092
54093 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54094 when the read failed before retrying.
54095 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54096 (_FILE_OFFSET_BITS): Likewise.
54097 * configure.ac: Added AC_SYS_LARGEFILE.
54098
54099 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54100
54101 * genmk.rb (PModule#rule): Make sure to get only symbol names
54102 from the output of nm.
54103 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54104
54105 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54106
54107 I forgot to check in these changes for a long time. This adds
54108 incomplete support for VGA console, and this is still very
54109 buggy. Also, a lot of consideration is required for I18N,
54110 UNICODE, and VGA font issues. Therefore, assume that this is
54111 such that "better than nothing".
54112
54113 * font/manager.c: New file.
54114 * include/pupa/font.h: Likewise.
54115 * include/pupa/i386/pc/vga.h: Likewise.
54116 * term/i386/pc/vga.c: Likewise.
54117 * util/unifont2pff.rb: Likewise.
54118
54119 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54120 (pkgdata_MODULES): Added vga.mod and font.mod.
54121 (vga_mod_SOURCES): New variables.
54122 (vga_mod_CFLAGS): Likewise.
54123 (font_mod_SOURCES): Likewise.
54124 (font_mod_CFLAGS): Likewise.
54125
54126 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54127
54128 * include/pupa/term.h: Include pupa/err.h.
54129 (struct pupa_term): Added init and fini.
54130 Changed the argument of putchar to pupa_uint32_t.
54131
54132 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54133 (pupa_console_real_putchar): New prototype.
54134 (pupa_console_putchar): Removed.
54135 (pupa_console_checkkey): Exported.
54136 (pupa_console_getkey): Likewise.
54137
54138 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54139 characters.
54140
54141 * kern/term.c (pupa_term_set_current): Rewritten.
54142 (pupa_putchar): Likewise.
54143 (pupa_putcode): New function.
54144
54145 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54146 (pupa_console_real_putchar): ... this.
54147 (pupa_vga_set_mode): New function.
54148 (pupa_vga_get_font): Likewise.
54149
54150 * normal/command.c: Include pupa/term.h.
54151 (terminal_command): New function.
54152 (pupa_command_init): Register the command "terminal".
54153
54154 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54155 (DISP_UP): Likewise.
54156 (DISP_RIGHT): Likewise.
54157 (DISP_DOWN): Likewise.
54158 (DISP_HLINE): Likewise.
54159 (DISP_VLINE): Likewise.
54160 (DISP_UL): Likewise.
54161 (DISP_UR): Likewise.
54162 (DISP_LL): Likewise.
54163 (DISP_LR): Likewise.
54164
54165 * term/i386/pc/console.c (pupa_console_putchar): New function.
54166
54167 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54168
54169 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54170 FIX. Reverse the path_list.
54171
54172 * include/pupa/normal.h: Export pupa_register_command and
54173 pupa_unregister_command.
54174
54175 * hello/hello.c (pupa_cmd_hello): New module.
54176 * conf/i386-pc.rmk: Added hello.mod.
54177
54178 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54179
54180 * kern/i386/pc/lzo1x.S: New file.
54181
54182 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54183 (compress_kernel): New variable.
54184 (generate_image): Heavily modified to support compressing a
54185 large part of the core image.
54186
54187 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54188 leak.
54189 (pupa_util_load_image): New function.
54190
54191 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54192 (pupa_compressed_size): New variable.
54193 (codestart): Enable Gate A20 here.
54194 Decompress the compressed part of the core image.
54195 Rearrange the code to put functions and variables which are
54196 required for initialization in the non-compressed part.
54197 Include lzo1x.S.
54198
54199 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54200 here.
54201
54202 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54203
54204 * include/pupa/i386/pc/kernel.h
54205 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54206 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54207 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54208 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54209 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54210
54211 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54212
54213 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54214 (Utility#rule): Likewise.
54215
54216 * configure.ac: Check if LZO is available.
54217
54218 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54219
54220 * include/pupa/normal.h: New file.
54221 * include/pupa/setjmp.h: Likewise.
54222 * include/pupa/i386/setjmp.h: Likewise.
54223 * normal/cmdline.c: Likewise.
54224 * normal/command.c: Likewise.
54225 * normal/main.c: Likewise.
54226 * normal/menu.c: Likewise.
54227 * normal/i386/setjmp.S: Likewise.
54228
54229 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54230 (pupa_rescue_cmd_initrd): Likewise.
54231
54232 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54233 Likewise.
54234
54235 * kern/i386/pc/startup.S (translation_table): New variable.
54236 (translate_keycode): New function.
54237 (pupa_console_getkey): Call translate_keycode.
54238
54239 * kern/rescue.c (attempt_normal_mode): New function.
54240 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54241 it failed, print a message.
54242
54243 * kern/mm.c (pupa_real_malloc): Print more information when a
54244 free magic is broken.
54245 (pupa_free): If the first free header is not free actually, set
54246 it to P.
54247
54248 * kern/main.c (pupa_load_normal_mode): Just load the module
54249 "normal".
54250 (pupa_main): Don't print the message
54251 "Entering into rescue mode..." here.
54252
54253 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54254 Declared.
54255 (pupa_rescue_cmd_initrd): Likewise.
54256 (pupa_rescue_cmd_initrd): Likewise.
54257
54258 * include/pupa/symbol.h (FUNCTION): Specify the type.
54259 (VARIABLE): Likewise.
54260
54261 * include/pupa/err.h (pupa_err_t): Added
54262 PUPA_ERR_UNKNOWN_COMMAND.
54263
54264 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54265 (pupa_dl_get_prefix): Likewise.
54266
54267 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54268 Added _chain.mod and _linux.mod instead of chain.mod and
54269 linux.mod.
54270 (chain_mod_SOURCES): Renamed to ...
54271 (_chain_mod_SOURCES): ... this.
54272 (chain_mod_CFLAGS): Renamed to ...
54273 (_chain_mod_CFLAGS): ... this.
54274 (linux_mod_SOURCES): Renamed to ...
54275 (_linux_mod_SOURCES): ... this.
54276 (linux_mod_CFLAGS): Renamed to ...
54277 (_linux_mod_CFLAGS): ... this.
54278 (normal_mod_SOURCES): New variable.
54279 (normal_mod_CFLAGS): Likewise.
54280 (normal_mod_ASFLAGS): Likewise.
54281
54282 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54283
54284 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54285 possible.
54286
54287 * kern/dl.c (pupa_dl_ref): Refer depending modules
54288 recursively.
54289 (pupa_dl_unref): Unrefer depending modules recursively.
54290 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54291 a module is unloaded before one depending on that module is
54292 unloaded.
54293 (pupa_dl_unload): Unload depending modules explicitly,
54294 if possible.
54295
54296 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54297
54298 * include/pupa/i386/pc/linux.h: New file.
54299 * loader/i386/pc/linux.c: Likewise.
54300
54301 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54302 Removed.
54303 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54304 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54305 of PUPA_CHAINLOADER_BOOT_SECTOR.
54306
54307 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54308 (pupa_linux_prot_size): New variable.
54309 (pupa_linux_tmp_addr): Likewise.
54310 (pupa_linux_real_addr): Likewise.
54311 (pupa_linux_boot_zimage): New function.
54312 (pupa_linux_boot_bzimage): Likewise.
54313
54314 * kern/i386/pc/init.c (struct mem_region): New structure.
54315 (MAX_REGIONS): New macro.
54316 (mem_regions): New variable.
54317 (num_regions): Likewise.
54318 (pupa_os_area_addr): Likewise.
54319 (pupa_os_area_size): Likewise.
54320 (pupa_lower_mem): Likewise.
54321 (pupa_upper_mem): Likewise.
54322 (add_mem_region): New function.
54323 (compact_mem_regions): Likewise.
54324 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54325 the size of the conventional memory and that of so-called upper
54326 memory (before the first memory hole).
54327 Instead of adding each found region to free memory, use
54328 add_mem_region and add them after removing overlaps.
54329 Also, add only 1/4 of the upper memory to free memory. The rest
54330 is used for loading OS images. Maybe this is ad hoc, but this
54331 makes it much easier to relocate OS images when booting.
54332
54333 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54334 (pupa_enter_rescue_mode): Don't register initrd and module.
54335
54336 * kern/mm.c: Include pupa/dl.h.
54337
54338 * kern/main.c: Include pupa/file.h and pupa/device.h.
54339
54340 * kern/loader.c (pupa_loader_load_module_func): Removed.
54341 (pupa_loader_load_module): Likewise.
54342
54343 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54344 ``.o''.
54345
54346 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54347 (pupa_linux_tmp_addr): Likewise.
54348 (pupa_linux_real_addr): Likewise.
54349 (pupa_linux_boot_zimage): Likewise.
54350 (pupa_linux_boot_bzimage): Likewise.
54351
54352 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54353 (pupa_upper_mem): Likewise.
54354 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54355 module is too dangerous.
54356
54357 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54358 (pupa_os_area_size): Likewise.
54359 (pupa_loader_set): Remove the first argument. Loader doesn't
54360 manage modules or initrd any longer.
54361 (pupa_loader_load_module): Removed.
54362
54363 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54364 (linux_mod_SOURCES): New variable.
54365 (linux_mod_CFLAGS): Likewise.
54366
54367 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54368
54369 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54370 the length of a blocklist correctly.
54371
54372 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54373 Use ioctl only if the OS file is a block device.
54374 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54375 not very useful for normal files.
54376
54377 * kern/main.c (pupa_set_root_dev): New function.
54378 (pupa_load_normal_mode): Likewise.
54379 (pupa_main): Call those above.
54380
54381 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54382 pupa_uint16_t.
54383
54384 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54385
54386 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54387
54388 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54389 (setup): Configure the installed partition information and the
54390 dl prefix.
54391
54392 * loader/i386/pc/chainloader.c (my_mod): New variable.
54393 (pupa_chainloader_unload): New function.
54394 (pupa_rescue_cmd_chainloader): Refer itself.
54395 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54396
54397 * kern/i386/pc/startup.S (install_partition): Removed.
54398 (version_string): Likewise.
54399 (config_file): Likewise.
54400 (pupa_install_dos_part): New variable.
54401 (pupa_install_bsd_part): Likewise.
54402 (pupa_prefix): Likewise.
54403 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54404
54405 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54406 and pupa/misc.h.
54407 (make_install_device): New function.
54408 (pupa_machine_init): Set the dl prefix.
54409
54410 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54411 (buf): Renamed to ...
54412 (linebuf): ... this.
54413 (pupa_rescue_cmd_prefix): New function.
54414 (pupa_rescue_cmd_insmod): Likewise.
54415 (pupa_rescue_cmd_rmmod): Likewise.
54416 (pupa_rescue_cmd_lsmod): Likewise.
54417 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54418 rmmod and lsmod.
54419
54420 * kern/mm.c (pupa_memalign): If failed even after invalidating
54421 disk caches, unload unneeded modules and retry.
54422
54423 * kern/misc.c (pupa_memmove): New function.
54424 (pupa_memcpy): Removed.
54425 (pupa_strcpy): New function.
54426 (pupa_itoa): Made static.
54427
54428 * kern/dl.c (pupa_dl_iterate): New function.
54429 (pupa_dl_ref): Likewise.
54430 (pupa_dl_unref): Likewise.
54431 (pupa_dl_unload): Return if succeeded or not.
54432 (pupa_dl_unload_unneeded): New function.
54433 (pupa_dl_unload_all): Likewise.
54434 (pupa_dl_init): Renamed to ...
54435 (pupa_dl_set_prefix): ... this.
54436 (pupa_dl_get_prefix): New function.
54437
54438 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54439 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54440 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54441 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54442 (pupa_install_dos_part): Declared.
54443 (pupa_install_bsd_part): Likewise.
54444 (pupa_prefix): Likewise.
54445 (pupa_boot_drive): Likewise.
54446
54447 * include/pupa/types.h: Fix a typo.
54448
54449 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54450 pupa_memmove.
54451 (pupa_memmove): Declared.
54452 (pupa_strcpy): Likewise.
54453
54454 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54455 pupa_mod_init takes one argument, its own module.
54456 (pupa_dl_unload_unneeded): Declared.
54457 (pupa_dl_unload_all): Likewise.
54458 (pupa_dl_ref): Likewise.
54459 (pupa_dl_unref): Likewise.
54460 (pupa_dl_iterate): Likewise.
54461 (pupa_dl_init): Renamed to ...
54462 (pupa_dl_set_prefix): ... this.
54463 (pupa_dl_get_prefix): Declared.
54464
54465 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
54466 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
54467 unloaded.
54468 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54469 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54470
54471 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54472 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54473
54474 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54475
54476 * util/i386/pc/pupa-setup.c (setup): Define the internal
54477 function find_first_partition_start at the top level, because GCC
54478 3.0.x cannot compile internal functions in deeper scopes
54479 correctly.
54480 (find_root_device): Use lstat instead of stat.
54481 Don't follow symbolic links.
54482 Fix the path-constructing code.
54483
54484 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54485 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54486 by a BLKGETSIZE ioctl first, because block devices don't fill
54487 the member st_mode of the structure stat on Linux.
54488 [__linux__] (linux_find_partition): Use a temporary buffer
54489 REAL_DEV for the working space. Copy it to DEV before returning.
54490 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54491 buffer cache consistent.
54492 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54493 strncmp. The previous value was merely wrong.
54494 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54495
54496 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54497 FAT size is 12. The previous value was merely wrong.
54498
54499 * kern/main.c (pupa_main): Don't split the starting message from
54500 newlines.
54501
54502 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54503 LF, because BIOS goes crazy about character attributes in this
54504 case.
54505
54506 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54507
54508 * include/i386/pc/util/biosdisk.h: New file.
54509 * util/i386/pc/biosdisk.c: Likewise.
54510 * util/i386/pc/pupa-setup.c: Likewise.
54511
54512 * Makefile.in (INCLUDE_DISTFILES): Added
54513 include/pupa/i386/pc/util/biosdisk.h.
54514 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54515 directory util/i386/pc.
54516 (install-local): Added a rule for sbin_UTILITIES.
54517 (uninstall): Likewise.
54518
54519 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54520
54521 * util/misc.c (xrealloc): New function.
54522 (pupa_malloc): Likewise.
54523 (pupa_free): Likewise.
54524 (pupa_realloc): Likewise.
54525 (pupa_stop): Likewise.
54526 (pupa_putchar): Likewise.
54527
54528 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54529
54530 * include/pupa/util/misc.h (xrealloc): Declared.
54531
54532 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54533 macro.
54534 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54535 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54536
54537 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54538 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54539
54540 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54541 way should be implemented.
54542 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54543
54544 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54545 the size of NAME for safety.
54546 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54547 0x88.
54548
54549 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54550 (pupa_setup_SOURCES): Likewise.
54551
54552 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54553
54554 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54555
54556 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54557 bunch of pushl's from pusha, because this destroys the return
54558 value.
54559
54560 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54561
54562 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54563 This means that any missing prototypes could be fatal. Also, you
54564 must take care when writing assembly code. See the comments at
54565 the beginning of startup.S, for more details.
54566
54567 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54568 compilation mechanism.
54569 (pupa_chainloader_real_boot): Likewise.
54570 (pupa_biosdisk_rw_int13_extensions): Likewise.
54571 (pupa_biosdisk_rw_standard): Likewise.
54572 (pupa_biosdisk_check_int13_extensions): Likewise.
54573 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54574 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54575 (pupa_get_memsize): Likewise.
54576 (pupa_get_mmap_entry): Likewise.
54577 (pupa_console_putchar): Likewise.
54578 (pupa_console_setcursor): Likewise.
54579 (pupa_getrtsecs): Use pushl instead of push.
54580
54581 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54582 memory instead of the stack for a mmap entry, because some
54583 BIOSes may ignore the maximum size and overflow.
54584
54585 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54586
54587 * genmk.rb (PModule#rule): Compile automatically generated
54588 sources with module-specific CFLAGS as well as other sources.
54589
54590 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54591
54592 * configure.ac: Check ld.
54593 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54594 respectively, before checking endianness and sizes.
54595
54596 * Makefile.in (LD): New variable.
54597
54598 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54599
54600 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54601
54602 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54603
54604 * Changelog: New file.
54605