]> git.proxmox.com Git - grub2.git/blame_incremental - ChangeLog
* autogen.sh: Exclude unused libgcrypt files from translation.
[grub2.git] / ChangeLog
... / ...
CommitLineData
12013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * autogen.sh: Exclude unused libgcrypt files from translation.
4
52013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Simplify few strings.
8
92013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Mark few forgotten strings for translation.
12
132013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
16 rather than printf.
17
182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
21 rather than printf.
22 * grub-core/video/readers/tga.c: Likewise.
23
242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * tests/priority_queue_unit_test.cc: New test.
27
282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
31 than printf.
32
332013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
34
35 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
36 variable for one time boot menu entry.
37
382013-05-05 Bean <bean123ch@gmail.com>
39
40 * grub-core/commands/testspeed.c: New command testspeed.
41
422013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Factor-out human-size printing.
45
462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Agglomerate more mallocs to speed-up gfxterm.
49
502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Speed-up gfxterm by slightly agglomerating mallocs.
53
542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
55
56 More video checks.
57
582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Speed-up gfxterm by saving intermediate results in index+alpha
61 format.
62
632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
66 test.
67
682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
71 line of timeout as it may contain the rest of long line.
72
732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/normal/main.c: Fix freed memory dereference.
76
772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
78
79 Fix several memory leaks.
80
812013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
84
852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
88
892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
90
91 Fix test -a and -o precedence.
92 Reported by: adrian15.
93
942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
97
982013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
99
100 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
101 and add it as source to functional_test module.
102
1032013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
106
1072013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
108
109 New series of tests for gfxterm and gfxmenu.
110
1112013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
114 the theme path relative to $prefix/themes.
115
1162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
119 Fix order bug.
120 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
121
1222013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
125 descriptor.
126
1272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
130 grub_gfxmenu_timeout_notifications.
131 (grub_gfxmenu_view_destroy): Likewise.
132
1332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
136
1372013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Several fixes to ieee1275 and big-endian video.
140
1412013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Add missing exports on mips.
144
1452013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
148 if no unifont is found.
149 Restore original keyboard.
150
1512013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
154 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
155
1562013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
157
158 First automated video test (running videotest and comparing results)
159
1602013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
163 instead of 2 to have full RGB/CMY test pattern.
164
1652013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
166
167 Add few more tests.
168
1692013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * include/grub/arc/arc.h: Account for missing "other" peripheral on
172 ARCS. All users updated.
173
1742013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
177
1782013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/partmap/amiga.c: Fix size of checksummed block.
181
1822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
185 Reported by: qwertial.
186
1872013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
188
189 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
190 with syntax "XXX deg"/"XXX °".
191
1922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
193
194 Make PCI init in i386-qemu port more robust.
195
1962013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
197
198 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
199 cached view is reused.
200 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
201 open boot menus.
202
2032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
204
205 Unify more code in grub-install_header.
206
2072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
208
209 Add few new tests.
210
2112013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Enforce disabling of firmware disk drivers when native drivers kick in.
214
2152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/commands/nativedisk.c: Customize the list of modules on
218 platform. Don't try to search for disks already using native drivers.
219
2202013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
223 platforms.
224
2252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
228 handling of variables containing backslash.
229
2302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
233 dereference.
234 Reported by: qwertial.
235
2362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
239
2402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
243 dereference.
244 Reported by: qwertial.
245
2462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * docs/grub.texi: Add a comment about usefullness of nativedisk.
249
2502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
253
2542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
255
256 New command `nativedisk'.
257
2582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
261 * grub-core/loader/i386/bsd.c: Likewise.
262
2632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
266
2672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
270 grub_get_unaligned16 rather than shifts.
271
2722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/kern/file.c: Use const char * rather than casting to
275 non-const.
276
2772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/commands/probe.c: Add missing grub_device_close.
280
2812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * INSTALL: Document linguas.sh.
284
2852013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
286
287 Remove POTFILES.in and regenerate it in autogen.sh.
288
2892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Move --directory/--override-directorry to grub-install_header and unify.
292
2932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/term/morse.c: Macroify dih and dah.
296
2972013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
298
299 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
300
3012013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/term/ns8250.c: Systematically probe ports by writing
304 to SR before using them.
305
3062013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
307
308 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
309 disks.
310 (check_sas): Get sas_adress info.
311
3122013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
315 ports.
316
3172013-04-27 Leon Drugi <eyak>
318
319 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
320 BSS clearing.
321
3222013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Core compression test.
325
3262013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
327
328 Implement grub_machine_get_bootlocation for ARC.
329
3302013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
331
332 Improve AHCI detection and command issuing.
333
3342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Fix pseries test.
337
3382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
339
340 Make 'make check' work on emu.
341
3422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Replace libcurses with our own vt100 handling for the ease of testing
345 and decreasing prerequisites.
346
3472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
350
3512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
354 compile when not needed.
355
3562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * tests/pseries_test.in: New test.
359
3602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Add test to check that different boot mediums work.
363
3642013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
367 ofw limited ISO support.
368
3692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * configure.ac: Fix loongson conditional.
372
3732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
374
375 Enable mipsel-arc.
376
3772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Add serial on ARC platform.
380
3812013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
384 commit.
385
3862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * tests/partmap_test.in: Add missing double semicolon.
389
3902013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * util/grub-mkrescue.in: Fix loongson filename.
393
3942013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * util/grub-mkrescue.in: Move all files that don't have a location
397 set in stone under /boot/grub. Use ISO hard links rather than copies
398 to save some space.
399
4002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
403 bogus SLOF values.
404
4052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Make check work on mips-arc.
408
4092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * util/grub-mkrescue.in: Alias sashARCS as sash.
412
4132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
416 it's serial.
417
4182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * util/grub-install.in: Fix target fo qemu_mips.
421 Fix extension on EFI.
422
4232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
426 in front of chosen entry to mark it even if highlighting is lost.
427
4282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
431 gfxpayload=keep if cbfb is active.
432
4332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
436
4372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Add missing video ids to coreboot and ieee1275 video.
440
4412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * util/grub-mkrescue.in: Add mips-arc support.
444
4452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
448
4492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Move mips-arc link address. Previous link address was chosen
452 in belief that RAM on SGI platforms grows down while in fact it
453 grows up from an unusual base.
454
4552013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
458 Fix a type which prevented CD-ROM and floppy boot.
459
4602013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Support coreboot framebuffer.
463
464 * grub-core/video/i386/coreboot/cbfb.c: New file.
465
4662013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
469 detecting too small regions.
470
4712013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
474
4752013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
478 Remove dprintf.
479 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
480
4812013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
484 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
485 * grub-core/loader/powerpc/ieee1275/linux.c
486 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
487
4882013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
491 Look for /boot-rom as well as /rom/boot-rom.
492
4932013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
496 handling when creating text_layer failed.
497 * grub-core/video/video.c (grub_video_create_render_target):
498 Set result to 0 on error.
499 (grub_video_delete_render_target): Do not dereference NULL.
500
5012013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
504 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
505 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
506 (grub_linux_load64): Mask out 2 high bits.
507
5082013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
509
510 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
511 more place.
512
5132013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
514
515 Add support for pseries and other bootinfo machines to grub-mkrescue.
516
517 Tested by: Paulo Flabiano Smorigo.
518
5192013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * util/grub-mkrescue.in: Add GPT for EFI boot.
522
5232013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
526 It improves performance in qemu.
527
5282013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * build-aux/snippet: Add missing gnulib files.
531
5322013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
533
534 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
535
5362013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
537
538 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
539
5402013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5412013-04-15 Peter Jones <pjones@redhat.com>
542
543 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
544 sectors.
545 Based on patch by Peter Jones.
546
5472013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
548
549 Fix DMRAID partition handling.
550
5512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * tests/grub_cmd_date.in: Skip on sparc64.
554
5552013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
558 firmware error messages.
559
5602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
563 source and destination differ.
564
5652013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
568 detection.
569
5702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
573 match config-util.h to avoid warnings and increase compatibility.
574
5752013-04-14 Szymon Janc <szymon@janc.net.pl>
5762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Add option to compress files on install/image creation.
579
5802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * docs/grub-dev.texi: Rearrange menu to match the section order.
583 Reported by: Bryan Hundven.
584
5852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
588
5892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Move GRUB out of system area when using xorriso 1.2.9 or later.
592
5932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * tests/grub_cmd_date.in: Add missing exit 1.
596
5972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * tests/partmap_test.in: Skip on sparc64.
600
6012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
602
603 Support grub-shell on sparc64.
604
6052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
606
607 Support mkrescue on sparc64.
608
6092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
610
611 Allow IEEE1275 ports on path even if it wasn't detected automatically.
612 Needed on OpenBIOS due to incomplete device tree.
613
6142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
617 would be otherwise excluded.
618
6192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
622 Inline name defines used only once.
623
6242013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Fix memory leaks in ofnet.
627 Reported by: Francesco Lavra.
628
6292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * docs/man/grub-glue-efi.h2m: Add missing file.
632
6332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
636
6372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Better support Apple Intel Macs on CD.
640
6412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
642
643 Replace stpcpy with grub_stpcpy in tools.
644
6452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Handle Japanese special keys.
648 Reported by: Hiroyuki YAMAMORI.
649 Codes supplied by: Hiroyuki YAMAMORI.
650
6512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * util/grub-mkimage.c: Document memdisk implying --prefix.
654
6552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
658 much we can do about it anyway.
659
6602013-04-12 Aleš Nesrsta <starous@volny.cz>
661
662 Fix handling of split transfers.
663
6642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/net/http.c: Fix bad free.
667
6682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
671 than buffer size.
672
6732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Disable partmap check on i386-ieee1275 due to openfirmware issues.
676
6772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * tests/util/grub-shell.in: Fix it on powerpc.
680
6812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Turn off QEMU ACPI-way since new releases don't have shutdown port
684 anymore.
685
6862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * docs/grub.texi: Update coreboot status info.
689
6902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * tests/grub_cmd_date.in: New test for datetime.
693
6942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * tests/partmap_test.in: Fix missing qemudisk setting.
697
6982013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Support i386-ieee1275 grub-mkrescue and make check on it.
701
7022013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
703
704 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
705 feature for it.
706
7072013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
710 GRUB_CMDLINE_XEN_DEFAULT.
711 Reported by: Marc Warne (GigaTux) <gigatux>
712
7132013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
714
715 Import new gnulib.
716
7172013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Use ACPI shutdown intests as traditional port was removed.
720
7212013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
722
723 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
724 distinction.
725
7262013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
727
728 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
729 Fix few warining messages and leaks while on it.
730
7312013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
732
733 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
734 links under grub-core/lib/libgcrypt-grub/mpi.
735
7362013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Fix ia64-efi image generation on big-endian machines. Deduplicate
739 some code while on it.
740 Reported by: Leif Lindholm.
741
7422013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
743
744 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
745 as extra_dist.
746
7472013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
748
749 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
750
7512013-04-08 Bryan Hundven <bryanhundven@gmail.com>
752
753 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
754 texinfo-5.1.
755
7562013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/normal/term.c: Few more fixes for menu entry editor
759 rendering.
760 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
761
7622013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/normal/term.c: Few more fixes for menu entry editor
765 rendering.
766 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
767
7682013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
769
770 * conf/Makefile.extra-dist (EXTRA_DIST): Add
771 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
772
7732013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
774
775 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
776 instead of hardcoding grub.mo.
777
7782013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
779
780 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
781
7822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
783
784 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
785 grub-core/disk/geli.c.
786
7872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * util/grub-mkfont.c: Prefer enum to #define.
790
7912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
794
7952013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
796
797 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
798
7992013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
800
801 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
802
8032013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
806
8072013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * include/grub/bsdlabel.h: Use enums.
810
8112013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Move GRUB_CHAR_BIT to types.h.
814
8152013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
816
817 * docs/grub.texi: Document more user commands.
818
8192013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
820
821 * docs/grub.texi: Document menuentry --id option.
822
8232013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
824
825 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
826
8272013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
828
829 Unify file copying setup across different install scripts. Add
830 options for performing partial install.
831
8322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8332013-04-04 Peter Jones <pjones@redhat.com>
834
835 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
836
8372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
838
839 Use TSC as a possible time source on i386-ieee1275.
840
8412013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
844 Init err.
845
8462013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * util/grub-setup.c (setup): Handle some corner cases.
849
8502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
853
8542013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/commands/verify.c: Save verified file to avoid it being
857 tampered with after verification was done.
858
8592013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
862 reported width by one to compensate for curesor algorithm problem.
863
8642013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
865
866 Fix screen corruption in menu entry editor and simplify the code
867 flow while on it.
868
8692013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
870
871 * util/grub-mount.c (fuse_init): Return error if fuse_main
872 failed.
873
8742013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
875
876 * include/grub/elf.h: Add missing ARM relocation codes and fix
877 existing ones.
878
8792013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
880
881 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
882
8832013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
8842013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
887 into account when calculating radius.
888
8892013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
890
891 * grub-core/gfxmenu/view.c: Fix off-by-one error.
892
8932013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
894
895 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
896
8972013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
898
899 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
900 missing closing bracket.
901
9022013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
903
904 * INSTALL: Mention xorriso requirement.
905
9062013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
907
908 * grub-core/commands/verify.c: Fix hash algorithms values for
909 the first three hashes - they start with 1, not with 0.
910
9112013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
914 Try terminating EFI services several times due to quirks in some
915 implementations.
916
9172013-03-26 Colin Watson <cjwatson@ubuntu.com>
918
919 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
920 skipping Event, Device, Processor, PowerRes, ThermalZone, and
921 BankField extended opcodes.
922 (get_sleep_type): Add minimal scope handling (just enough to
923 handle setting the scope to the root path).
924 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
925 * include/grub/acpi.h: Add enumeration values for Event, Device,
926 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
927
9282013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
929
930 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
931 memory leak.
932
9332013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/disk/ahci.c: Give more time for AHCI request.
936
9372013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
940 command.
941
9422013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
943
944 Replace the region at 0 from coreboot tables to available in BSD
945 memory map.
946
9472013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
950 non-BIOS platforms.
951
9522013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
955 platforms.
956
9572013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
960 handling of multi-device filesystems.
961
9622013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
965 platforms.
966
9672013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Add new 'proc' filesystem framework and put luks_script into it.
970
9712013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
974 and qemu.
975
9762013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
979
9802013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Add ability to generate newc additions on runtime.
983
9842013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
987 description.
988
9892013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * po/POTFILES.in: Regenerate.
992
9932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/commands/verify.c (hashes): Add several hashes
996 from the spec.
997
9982013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Slight improve in USB-related boot-time checkpoints.
1001
10022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/commands/boottime.c: Fix copyright header.
1005
10062013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1009 coreboot tables content. Support for cbmemc.
1010
10112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Fix a conflict between ports structures with 2 controllers of
1014 same kind.
1015
10162013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * include/grub/boottime.h: Add missing file.
1019
10202013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 Initialize USB ports in parallel to speed-up boot.
1023
10242013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 Fix USB devices not being detected when requested
1027 due to delayed attach.
1028
10292013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Implement boot time analysis framework.
1032
10332013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Remove get_endpoint_descriptor and change all functions needing
1036 descriptor to just receive it as argument rather than endpoint
1037 address.
1038
10392013-03-19 Aleš Nesrsta <starous@volny.cz>
1040
1041 Better estimate the maximum USB transfer size.
1042
10432013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 Resend a packet if we got the wrong buffer in status.
1046
10472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1050 multiplication rather than division.
1051
10522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1055 than divisions.
1056
10572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1060 operations to have intended shifts and not divisions.
1061
10622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1065 intended shifts rather than division.
1066
10672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1070 computation for some years before epoch. Avode confusing division
1071 while on it.
1072
10732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/video/i386/pc/vbe.c
1076 (grub_video_vbe_print_adapter_specific_info): Replace division by
1077 shifts.
1078
10792013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 Adjust types in gdb module to have intended unsigned shifts rather than
1082 signed divisions.
1083
10842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1087 maximum size is 4G - 1 on hfs
1088
10892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1092
10932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1096 function.
1097
10982013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1099
1100 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1101 causing gcc error with gcc 4.7.1.
1102
11032013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1104
1105 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1106 dereference null pointer. While the code is technically correct, gcc
1107 may eliminate a null check if pointer is already dereferenced.
1108
11092013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1110
1111 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1112 OOM check.
1113 * grub-core/normal/term.c (read_terminal_list): Likewise.
1114
11152013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 Lift up core size limits on some platforms. Fix potential memory
1118 corruption with big core on small memory systems. Document remaining
1119 limits.
1120
11212013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1124 gotoxy to 0,0.
1125
11262013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 Remove all trampoline support. Add -Wtrampolines when
1129 present. Remove symbols used for trampolines to make
1130 link fail if trampolines are present.
1131
11322013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1135 append out of its parent.
1136
11372013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1140 parent.
1141
11422013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1145 all vars to a macro. All users updated.
1146
11472013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1150 i386-ieee1275.
1151
11522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1155
11562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1159
11602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 Move to more hookless approach in IEEE1275 devices handling.
1163
11642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/kern/term.c (grub_term_normal_color),
1167 (grub_term_highlight_color): Add back lost defaults.
1168
11692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 Make elfload not use hooks. Opt for flags and iterators instead.
1172
11732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
1176 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1177
11782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1181
11822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1185 hook pass-through parameter. All users updated and unnested.
1186
11872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1190 out of its parent.
1191
11922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/fs/hfs.c: Remove nested functions.
1195
11962013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1199 the context through.
1200 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1201
12022013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * util/grub-editenv.c (list_variables): Move print_var out of its
1205 parent.
1206
12072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1210 function.
1211
12122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/gentrigtables.c: Make tables const.
1215
12162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Remove nested functions from videoinfo iterators.
1219
12202013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1223 for 64-bit platforms.
1224
12252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1228 a FOR_CHILDREN macro.
1229
12302013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1233 platform from firmware path.
1234
12352013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 Enable linux16 on non-BIOS systems for i.a. memtest.
1238
1239 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
1240 correctly.
1241 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
1242
12432013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
1246 Fix end of table condition.
1247
12482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
1251 out of its parent.
1252
12532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/fs/jfs.c: Remove nested functions.
1256
12572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/fs/minix.c: Remove nested functions.
1260
12612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/fs/iso9660.c: Remove nested functions.
1264
12652013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
1268 of parent function.
1269
12702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * util/grub-fstest.c: Remove nested functions.
1273
12742013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/loader/machoXX.c: Remove nested functions.
1277
12782013-02-27 Colin Watson <cjwatson@ubuntu.com>
1279
1280 Remove nested functions from disk and file read hooks.
1281
1282 * include/grub/disk.h (grub_disk_read_hook_t): New type.
1283 (struct grub_disk): Add read_hook_data member.
1284 * include/grub/file.h (struct grub_file): Likewise.
1285 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
1286 argument.
1287
1288 Update all callers.
1289
12902012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
1291
1292 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
1293 Fix off by one error in enumerating extended partitions.
1294
12952013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
1296
1297 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
1298 memory leak if device name is not found.
1299
13002013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1301
1302 * grub-core/normal/menu_entry.c (update_screen): remove
1303 unused variable `off' which caused scroll down arrow to be always shown.
1304
13052013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1306
1307 * grub-core/normal/menu_entry.c (insert_string): fix off by one
1308 access to unallocated memory.
1309
13102013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1311
1312 * Makefile.util.def: Add partmap/msdos.c to common library.
1313 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
1314 * grub-core/disk/ldm.c: Check for existence of
1315 GRUB_PC_PARTITION_TYPE_LDM.
1316
13172013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
1320 sizes and display sector size.
1321
13222013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Implement new command cmosdump.
1325
13262013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1327
1328 Support Openfirmware disks with non-512B sectors.
1329
1330 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
1331 size of the disk.
1332 * (grub_ofdisk_get_block_size): New function.
1333 * (grub_ofdisk_prepare): Use the correct block size.
1334 * (grub_ofdisk_read): Likewise.
1335 * (grub_ofdisk_write): Likewise.
1336 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
1337 New proto.
1338
13392013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1342
13432013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1346 on first error.
1347
13482013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1351 freeing it.
1352
13532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 Implement USBDebug (full USB stack variant).
1356
13572013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1360 unless they have unexpected values.
1361
13622013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1365 grub_print_error.
1366
13672013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1370 zero-out of port structure.
1371
13722013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1375 of extended attributes.
1376
13772013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1378
1379 * util/grub-install.in: change misleading comment about
1380 device.map creation
1381
13822013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1385 when menu highlight color isn't set.
1386
13872013-01-27 C. Masloch <pushbx@38.de>
1388
1389 Improve FreeDOS direct loading support compatibility.
1390
1391 * include/grub/i386/relocator.h (grub_relocator16_state):
1392 New member ebp.
1393 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1394 variable.
1395 (grub_relocator16_boot): Handle %ebp.
1396 * grub-core/lib/i386/relocator16.S: Likewise.
1397 * grub-core/loader/i386/pc/freedos.c:
1398 Load BPB to pass kernel which partition to load from.
1399 Check that kernel file is not too large.
1400 Set register dl to BIOS unit number as well.
1401
14022013-01-22 Colin Watson <cjwatson@ubuntu.com>
1403
1404 * util/grub-reboot.in (usage): Document the need for
1405 GRUB_DEFAULT=saved.
1406 * util/grub-set-default.in (usage): Likewise.
1407 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1408
14092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1412 than defining WORDS_BIGENDIAN manually.
1413
14142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1417 invariants.
1418
14192013-01-21 Colin Watson <cjwatson@ubuntu.com>
1420
1421 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1422 nested.
1423 (blit_comb: add_device_width): Likewise.
1424
14252013-01-21 Colin Watson <cjwatson@ubuntu.com>
1426
1427 Remove nested functions from USB iterators.
1428
1429 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1430 (grub_usb_controller_iterate_hook_t): Likewise.
1431 (grub_usb_iterate): Add hook_data argument.
1432 (grub_usb_controller_iterate): Likewise.
1433 (struct grub_usb_controller_dev.iterate): Likewise.
1434
1435 Update all implementations and callers.
1436
14372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1440 margin when not needed.
1441
14422013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 Make color variables global instead of it being per-terminal.
1445
14462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1449 asterisk.
1450
14512013-01-21 Colin Watson <cjwatson@ubuntu.com>
1452
1453 Fix powerpc and sparc64 build failures caused by un-nesting memory
1454 map iterators.
1455
14562013-01-21 Colin Watson <cjwatson@ubuntu.com>
1457
1458 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1459 parameter declarations.
1460
14612013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1464
14652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Improve spkmomdem reliability by adding a separator between bytes.
1468
14692013-01-21 Colin Watson <cjwatson@ubuntu.com>
1470
1471 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1472 an Acer registration utility with several sightings in the wild.
1473 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1474
14752013-01-21 Colin Watson <cjwatson@ubuntu.com>
1476
1477 Remove nested functions from filesystem directory iterators.
1478
1479 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1480 (struct grub_fs.dir): Add hook_data argument.
1481
1482 Update all implementations and callers.
1483
14842013-01-21 Colin Watson <cjwatson@ubuntu.com>
1485
1486 * docs/grub.texi (Multi-boot manual config): Fix typo for
1487 "recommended".
1488
14892013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1490
1491 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1492 until after its use in generate_image.
1493
14942013-01-20 Colin Watson <cjwatson@ubuntu.com>
1495
1496 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1497 initrd size to addr_min, since the initrd will be allocated after
1498 this address.
1499
15002013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1501
1502 * conf/Makefile.common: Fix autogen rules to pass definition
1503 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1504
15052013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1506
1507 * include/grub/elf.h: Update ARM definitions based on binutils.
1508
15092013-01-20 Aleš Nesrsta <starous@volny.cz>
1510
1511 Split long USB transfers into short ones.
1512
15132013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1514
1515 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1516 is interrupted by ESC.
1517
15182013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * util/grub-script-check.c (main): Uniform the error message.
1521
15222013-01-20 Colin Watson <cjwatson@ubuntu.com>
1523
1524 Remove nested functions from ELF iterators.
1525
15262013-01-20 Colin Watson <cjwatson@ubuntu.com>
1527
1528 Remove nested functions from device iterators.
1529
1530 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
1531 (grub_arc_iterate_devs): Add hook_data argument.
1532 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
1533 (struct grub_ata_dev.iterate): Add hook_data argument.
1534 * include/grub/device.h (grub_device_iterate_hook_t): New type.
1535 (grub_device_iterate): Add hook_data argument.
1536 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
1537 (struct grub_disk_dev.iterate): Add hook_data argument.
1538 (grub_disk_dev_iterate): Likewise.
1539 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
1540 Likewise.
1541 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
1542 Likewise.
1543 * include/grub/partition.h (grub_partition_iterate_hook_t): New
1544 type.
1545 (struct grub_partition_map.iterate): Add hook_data argument.
1546 (grub_partition_iterate): Likewise.
1547 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
1548 (struct grub_scsi_dev.iterate): Add hook_data argument.
1549
1550 Update all callers.
1551
15522013-01-20 Colin Watson <cjwatson@ubuntu.com>
1553
1554 Fix typos for "developer" and "development".
1555
15562013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 Add license header to spkmodem-recv.c.
1559
15602013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Rewrite spkmodem to use PIT for timing. Double the speed.
1563
15642013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 Add new command pcidump.
1567
15682013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 New terminal outputs using serial: morse and spkmodem.
1571
15722013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Improve bidi handling in entry editor.
1575
15762013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1579 argument to prevent name collision.
1580
15812013-01-15 Colin Watson <cjwatson@ubuntu.com>
1582
1583 Remove nested functions from script reading and parsing.
1584
1585 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
1586 getline_data argument, passed to getline.
1587 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
1588 getline_data argument, passed to grub_parser_split_cmdline.
1589 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
1590 lexerstate->getline_data to lexerstate->getline.
1591 (grub_script_lexer_init): Add getline_data argument, saved in
1592 lexerstate->getline_data.
1593 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
1594 argument, passed to grub_script_parse.
1595 * grub-core/script/script.c (grub_script_parse): Add getline_data
1596 argument, passed to grub_script_lexer_init.
1597 * include/grub/parser.h (grub_parser_split_cmdline): Update
1598 prototype. Update all callers to pass appropriate getline data.
1599 (struct grub_parser.parse_line): Likewise.
1600 (grub_rescue_parse_line): Likewise.
1601 * include/grub/reader.h (grub_reader_getline_t): Add void *
1602 argument.
1603 * include/grub/script_sh.h (struct grub_lexer_param): Add
1604 getline_data member.
1605 (grub_script_parse): Update prototype. Update all callers to pass
1606 appropriate getline data.
1607 (grub_script_lexer_init): Likewise.
1608 (grub_normal_parse_line): Likewise.
1609
1610 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
1611 data argument.
1612 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
1613 static instead of nested. Rename to ...
1614 (grub_parser_execute_getline): ... this.
1615 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
1616 data argument.
1617 * grub-core/normal/main.c (read_config_file: getline): Make static
1618 instead of nested. Rename to ...
1619 (read_config_file_getline): ... this.
1620 (grub_normal_read_line): Add unused data argument.
1621 * grub-core/script/execute.c (grub_script_execute_sourcecode:
1622 getline): Make static instead of nested. Rename to ...
1623 (grub_script_execute_sourcecode_getline): ... this.
1624 * util/grub-script-check.c (main: get_config_line): Make static
1625 instead of nested.
1626
16272013-01-15 Colin Watson <cjwatson@ubuntu.com>
1628
1629 Remove nested functions from memory map iterators.
1630
1631 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
1632 argument, passed to hook.
1633 * grub-core/kern/i386/coreboot/mmap.c
1634 (grub_linuxbios_table_iterate): Likewise.
1635 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
1636 instead of nested.
1637 (grub_machine_mmap_iterate): Add hook_data argument.
1638 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
1639 Add hook_data argument, passed to hook.
1640 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
1641 Likewise.
1642 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1643 Likewise.
1644 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
1645 Likewise.
1646 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
1647 Likewise.
1648 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
1649 Likewise.
1650 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
1651 Likewise.
1652 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
1653 (grub_machine_mmap_iterate): Likewise.
1654 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
1655 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
1656 prototype.
1657 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
1658 Remove NESTED_FUNC_ATTR from here and from all users.
1659 (grub_mmap_iterate): Update prototype.
1660 (grub_efi_mmap_iterate): Update prototype. Update all callers to
1661 pass appropriate hook data.
1662 (grub_machine_mmap_iterate): Likewise.
1663
1664 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
1665 static instead of nested.
1666 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
1667 Rename to ...
1668 (lsmmap_hook): ... this.
1669 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
1670 Likewise.
1671 (grub_efiemu_mmap_fill: fill_hook): Likewise.
1672 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
1673 heap_init): Likewise.
1674 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
1675 Rename to ...
1676 (mmap_iterate_hook): ... this.
1677 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
1678 Likewise.
1679 * grub-core/lib/ieee1275/relocator.c
1680 (grub_relocator_firmware_get_max_events: count): Likewise.
1681 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
1682 to ...
1683 (grub_relocator_firmware_fill_events_iter): ... this.
1684 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
1685 hook): Likewise. Rename to ...
1686 (grub_relocator_alloc_chunk_align_iter): ... this.
1687 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
1688 Rename to ...
1689 (generate_e820_mmap_iter): ... this.
1690 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
1691 Rename to ...
1692 (count_hook): ... this.
1693 (grub_linux_boot: hook): Likewise. Rename to ...
1694 (grub_linux_boot_mmap_find): ... this.
1695 (grub_linux_boot: hook_fill): Likewise. Rename to ...
1696 (grub_linux_boot_mmap_fill): ... this.
1697 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
1698 hook): Likewise. Rename to ...
1699 (grub_fill_multiboot_mmap_iter): ... this.
1700 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
1701 hook): Likewise. Rename to ...
1702 (count_hook): ... this.
1703 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
1704 hook): Likewise. Rename to ...
1705 (grub_fill_multiboot_mmap_iter): ... this.
1706 * grub-core/loader/powerpc/ieee1275/linux.c
1707 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
1708 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
1709 Likewise. Rename to ...
1710 (alloc_phys_choose): ... this.
1711 (determine_phys_base: get_physbase): Likewise.
1712 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
1713 find_hook): Likewise.
1714 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
1715 (malloc_hook: count_hook): Likewise.
1716 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
1717 Likewise. Rename to ...
1718 (lower_hook): ... this.
1719 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1720 (upper_hook): ... this.
1721 (grub_mmap_get_post64: hook): Likewise. Rename to ...
1722 (post64_hook): ... this.
1723 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
1724 Likewise. Rename to ...
1725 (lower_hook): ... this.
1726 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1727 (upper_hook): ... this.
1728 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
1729 (grub_mmap_iterate: fill_hook): Likewise.
1730 (fill_mask): Pass addr and mask within a single struct.
1731 (grub_cmd_badram: hook): Make static instead of nested. Rename
1732 to ...
1733 (badram_iter): ... this.
1734 (grub_cmd_cutmem: hook): Likewise. Rename to ...
1735 (cutmem_iter): ... this.
1736
17372013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
1740 delimit path in strings using quotes.
1741 * util/getroot.c (grub_guess_root_devices): Likewise.
1742 (grub_make_system_path_relative_to_its_root): Likewise.
1743 * util/grub-probe.c (probe): Likewise.
1744 * util/ieee1275/ofpath.c (find_obppath): Likewise.
1745 (xrealpath): Likewise.
1746
17472013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 Fix compilation with older compilers.
1750
1751 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
1752 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
1753 declarations.
1754 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
1755 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
1756 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
1757 identifier with b.
1758 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
1759 * include/grub/crypto.h: Add type defines.
1760 * util/import_gcrypth.sed: Remove duplicate type defines.
1761
17622013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 New command list_trusted.
1765
1766 * grub-core/commands/verify.c (grub_cmd_list): New function.
1767
17682013-01-13 Colin Watson <cjwatson@ubuntu.com>
1769
1770 * util/grub-mkimage.c (generate_image): Fix "size of public key"
1771 info message.
1772
17732013-01-13 Colin Watson <cjwatson@ubuntu.com>
1774
1775 Remove nested functions from PCI iterators.
1776
1777 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
1778 passed to hook. Update all callers to pass appropriate hook data.
1779 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
1780 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
1781 Remove NESTED_FUNC_ATTR from here and from all users.
1782 (grub_pci_iterate): Update prototype.
1783 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
1784 instead of nested. Rename to ...
1785 (grub_cs5536_find_iter): ... this.
1786 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
1787 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
1788 Likewise.
1789 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
1790 Likewise.
1791 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
1792 Likewise.
1793 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
1794 Likewise.
1795 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
1796 * grub-core/video/radeon_fuloong2e.c
1797 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
1798 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
1799 find_card): Likewise.
1800 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
1801 Likewise.
1802
18032013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/commands/verify.c: Mark messages for translating.
1806
18072013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
1810 fatal.
1811
18122013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
1815 fatal.
1816
18172013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * autogen.sh: Do not try to delete nonexistant files.
1820 * util/import_gcrypth.sed: Add some missing header removals.
1821
18222013-01-12 Colin Watson <cjwatson@ubuntu.com>
1823
1824 Clean up dangling references to grub-setup.
1825 Fixes Ubuntu bug #1082045.
1826
1827 * docs/grub.texi (Images): Refer generally to grub-install rather
1828 than directly to grub-setup.
1829 (Installing GRUB using grub-install): Remove direct reference to
1830 grub-setup.
1831 (Device map) Likewise.
1832 (Invoking grub-install): Likewise.
1833 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1834 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1835 * util/grub-install.in (usage): Likewise.
1836
1837 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
1838 Apply to grub-bios-setup and grub-sparc64-setup rather than to
1839 grub-setup.
1840 * configure.ac: Remove grub_setup output variable.
1841
1842 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
1843 to grub-bios-setup.
1844 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
1845 grub-setup to grub-sparc64-setup.
1846
18472013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Import gcrypt public-key cryptography and implement signature checking.
1850
18512013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/fs/ntfs.c: Ue more appropriate types.
1854 * grub-core/fs/ntfscomp.c: Likewise.
1855 * include/grub/ntfs.h: Likewise.
1856
18572013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 Support Apple FAT binaries on non-Apple platforms.
1860
1861 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
1862 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
1863 Likewise.
1864 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
1865 Apple FAT binaries.
1866
18672013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1870 sector devices.
1871
18722013-01-07 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1875 explicitly zeroing elements.
1876 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1877 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1878 of elements in a structure already allocated using grub_zalloc.
1879 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1880
18812013-01-07 Colin Watson <cjwatson@ubuntu.com>
1882
1883 * docs/grub.texi (grub_cpu): New subsection.
1884 (grub_platform): Likewise.
1885
18862013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1889
18902013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1893 divisions.
1894
18952013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1898 * grub-core/fs/ntfscomp.c: Likewise.
1899 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1900 (grub_ntfs_comp): Likewise.
1901
19022013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1905 Rename to ...
1906 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1907 of groups_per_block. All users updated.
1908
19092013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1912 grub_error properly.
1913 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1914 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1915
19162013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1919 always in /boot/zfs.
1920 Reported by: Yuta Satoh.
1921
19222013-01-03 Yuta Satoh <nigoro>
1923
1924 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1925 ${grub_probe}
1926
19272013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * configure.ac: Extend -Wno-trampolines to host.
1930
19312013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1934 entry->len = 0.
1935
19362013-01-03 Colin Watson <cjwatson@ubuntu.com>
1937
1938 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1939 (Invoking grub-script-check): Likewise.
1940
19412013-01-03 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * docs/grub.texi (Invoking grub-mount): New section.
1944 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1945
19462013-01-02 Colin Watson <cjwatson@ubuntu.com>
1947
1948 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1949 test failures, so that a failing unit test correctly causes 'make
1950 check' to fail.
1951
19522013-01-02 Colin Watson <cjwatson@ubuntu.com>
1953
1954 Fix failing printf test.
1955
1956 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1957 '$' in the correct order when collecting type information.
1958
19592013-01-02 Colin Watson <cjwatson@ubuntu.com>
1960
1961 * docs/grub.texi (configfile): Explain environment variable
1962 handling.
1963 (source): New section.
1964 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1965
19662012-12-31 Colin Watson <cjwatson@ubuntu.com>
1967
1968 Remove several trivially-unnecessary uses of nested functions.
1969
1970 * grub-core/commands/i386/pc/sendkey.c
1971 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1972 instead of nested.
1973 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1974 Rename to ...
1975 (legacy_file_getline): ... this.
1976 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1977 Likewise.
1978 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1979 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1980 to ...
1981 (probe_dummy_iter): ... this.
1982 * grub-core/kern/i386/coreboot/mmap.c
1983 (grub_linuxbios_table_iterate: check_signature): Likewise.
1984 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1985 check_varstate): Likewise. Mark inline.
1986 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1987 an additional parameter.
1988 (find_long: fnd_long): Likewise. Pass two additional parameters.
1989 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1990 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1991 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1992 Likewise. Rename to ...
1993 (grub_cmos_find_port_iter): ... this.
1994 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1995 Rename to ...
1996 (find_rtc_iter): ... this.
1997
1998 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1999 function directly into the function body, since it is only called
2000 once.
2001
20022012-12-30 Colin Watson <cjwatson@ubuntu.com>
2003
2004 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2005 __attribute__ ((unused)).
2006 * grub-core/video/bochs.c (find_card): Likewise.
2007 * grub-core/video/cirrus.c (find_card): Likewise.
2008 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2009 * grub-core/video/sis315pro.c (find_card): Likewise.
2010 * grub-core/video/sm712.c (find_card): Likewise.
2011
20122012-12-28 Colin Watson <cjwatson@ubuntu.com>
2013
2014 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2015 Fixes Savannah bug #37821.
2016
20172012-12-28 Colin Watson <cjwatson@ubuntu.com>
2018
2019 Apply program name transformations at build-time rather than at
2020 run-time. Fixes Debian bug #696465.
2021
2022 * acinclude.m4 (grub_TRANSFORM): New macro.
2023 * configure.ac: Create output variables with transformed names for
2024 most programs.
2025 * util/bash-completion.d/grub-completion.bash.in: Use
2026 pre-transformed variables for program names.
2027 * util/grub-install.in: Likewise.
2028 * util/grub-kbdcomp.in: Likewise.
2029 * util/grub-mkconfig.in: Likewise.
2030 * util/grub-mkconfig_lib.in: Likewise.
2031 * util/grub-mknetdir.in: Likewise.
2032 * util/grub-mkrescue.in: Likewise.
2033 * util/grub-mkstandalone.in: Likewise.
2034 * util/grub-reboot.in: Likewise.
2035 * util/grub-set-default.in: Likewise.
2036 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2037 * tests/util/grub-shell-tester.in: Remove unused assignment.
2038 * tests/util/grub-shell.in: Likewise.
2039 * util/grub.d/00_header.in: Likewise.
2040
20412012-12-28 Colin Watson <cjwatson@ubuntu.com>
2042
2043 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2044
2045 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2046 HAVE_RAW_DECL_GETS.
2047 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2048
20492012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2052 Reported by: Eriks Latosheks <foresterlv>.
2053
20542012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * docs/grub.texi (Network): Update instructions on generating netboot
2057 image.
2058
20592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2062 around device name if necessarry.
2063
20642012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2065
2066 * util/grub-install.in: Follow the symbolic link parameter added
2067 to the file command.
2068
20692012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2070
2071 * util/grub-install.in: Remove stale TODO.
2072
20732012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2074
2075 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2076 dynamic allocation for the bootpath buffer.
2077
20782012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2079
2080 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2081 window too small.
2082
20832012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2086 argument rather than font name. All users updated.
2087 (grub_gfxterm_set_window): Likewise.
2088
20892012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2090
2091 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2092 from working.
2093
20942012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * util/getroot.c (convert_system_partition_to_system_disk): Support
2097 nbd disks.
2098
20992012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2102 infinite loop on corrupted FS.
2103
21042012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Fix big-endian mtime.
2107
2108 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2109 together sec and usec.
2110 (grub_ufs_dir): Use correct byteswapping for UFS time.
2111
21122012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Support big-endian UFS1.
2115
2116 * Makefile.util.def (libgrubmods): Add ufs_be.c
2117 * grub-core/Makefile.core.def (ufs1_be): New module.
2118 * grub-core/fs/ufs_be.c: New file.
2119 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2120 the file.
2121
21222012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2123
2124 * include/grub/types.h: Fix functionality unaffecting typo in
2125 GRUB_TARGET_WORDSIZE conditional macro.
2126
21272012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2128
2129 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2130
21312012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2132
2133 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2134 that /netbsd appears first (when it exists).
2135
21362012-10-12 Christoph Junghans <ottxor@gentoo.org>
2137
2138 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2139 Fixes Savannah bug #37558.
2140
21412012-10-12 Colin Watson <cjwatson@ubuntu.com>
2142
2143 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2144 description of extract_entries_configfile.
2145
21462012-10-05 Colin Watson <cjwatson@ubuntu.com>
2147
2148 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2149 preferred_address.
2150 (grub_cmd_linux): Likewise.
2151 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
2152 preferred_lifetime. Update all users.
2153
21542012-09-26 Colin Watson <cjwatson@ubuntu.com>
2155
2156 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
2157 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
2158
21592012-09-26 Colin Watson <cjwatson@ubuntu.com>
2160
2161 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
2162 errors from grub-probe to /dev/null, not stdout.
2163
21642012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
2167 sector 1.
2168
21692012-09-24 Colin Watson <cjwatson@ubuntu.com>
2170
2171 * util/grub-install.in: Make the error message if $source_dir
2172 doesn't exist more useful.
2173
21742012-09-22 Colin Watson <cjwatson@ubuntu.com>
2175
2176 Fix grub-emu build on FreeBSD.
2177
2178 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2179 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2180 headers on Linux.
2181 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2182 implementation is currently Linux-specific.
2183 * util/getroot.c (exec_pipe): Define only on Linux or when either
2184 libzfs or libnvpair is unavailable.
2185 (find_root_devices_from_poolname): Remove unused path variable.
2186
21872012-09-19 Colin Watson <cjwatson@ubuntu.com>
2188
2189 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2190 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2191 should fit before end == 63.
2192
21932012-09-19 Colin Watson <cjwatson@ubuntu.com>
2194
2195 * util/grub-setup.c (write_rootdev): Remove unused core_img
2196 parameter. Update all callers.
2197 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2198 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2199 GRUB_SETUP_BIOS.
2200
22012012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2204 (grub_add_tab): New function.
2205 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2206 * util/grub.d/10_illumos.in: Likewise.
2207 * util/grub.d/10_kfreebsd.in: Likewise.
2208 * util/grub.d/10_linux.in: Likewise.
2209 * util/grub.d/10_netbsd.in: Likewise.
2210 * util/grub.d/10_windows.in: Likewise.
2211 * util/grub.d/10_xnu.in: Likewise.
2212 * util/grub.d/20_linux_xen.in: Likewise.
2213 * util/grub.d/30_os-prober.in: Likewise.
2214
22152012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2218 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2219 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2220 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2221 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2222 ieee1275-nocursor.
2223 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2224 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2225
22262012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2229 le-conversion.
2230 Reported by: BURETTE, Bernard.
2231
22322012-09-17 Colin Watson <cjwatson@ubuntu.com>
2233
2234 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2235 from comment.
2236
22372012-09-14 Colin Watson <cjwatson@ubuntu.com>
2238
2239 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
2240 IEEE1275 machines. Fixes powerpc-emu compilation.
2241 * include/grub/terminfo.h: Likewise.
2242
22432012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
2246 a const pointer.
2247 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
2248 const pointer.
2249 (efiemu_set_variable): Make vendor_guid a const pointer.
2250
22512012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 Don't require grub-mkconfig_lib to generate manpages for programs.
2254
2255 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
2256 dependencies, don't add grub-mkconfig_lib.
2257 (program): Pass empty adddeps.
2258 (script): Pass grub-mkconfig_lib as adddeps.
2259
22602012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
2263 * util/getroot.c (grub_find_device): Likewise.
2264 (get_mdadm_uuid): Likewise.
2265 (grub_util_is_imsm): Likewise.
2266 (grub_util_pull_device): Likewise.
2267 * util/grub-probe.c (probe): Likewise.
2268
22692012-09-10 Benoit Gschwind <gschwind>
2270
2271 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
2272 (devs): Add devpath_8.
2273
22742012-09-08 Peter Jones <pjones@redhat.com>
2275
2276 * grub-core/Makefile.core.def (efifwsetup): New module.
2277 * grub-core/commands/efi/efifwsetup.c: New file.
2278 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
2279 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
2280 New define.
2281 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
2282
22832012-09-05 Jiri Slaby <jslaby@suse.cz>
2284
2285 * configure.ac: Add SuSe path.
2286
22872012-09-05 Colin Watson <cjwatson@ubuntu.com>
2288
2289 * NEWS: Fix typo.
2290
22912012-09-05 Colin Watson <cjwatson@ubuntu.com>
2292
2293 * util/import_gcry.py: Sort cipher_files, to make build system
2294 generation more deterministic.
2295
22962012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
2299 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
2300 (grub_set_datetime): Likewise.
2301
23022012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
2305 warnings.
2306
23072012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
2310
23112012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
2314
23152012-09-04 Colin Watson <cjwatson@ubuntu.com>
2316
2317 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
2318 required for checkouts from bzr, but it may be useful for users or
2319 distributors wishing to update translations against a tarball
2320 distribution, and it can be helpful for the tarball to be a superset
2321 of what's in bzr.
2322
23232012-09-04 Colin Watson <cjwatson@ubuntu.com>
2324
2325 * Makefile.am (EXTRA_DIST): Add
2326 grub-core/tests/boot/linux.init-mips.S,
2327 grub-core/tests/boot/linux.init-ppc.S, and
2328 grub-core/tests/boot/linux-ppc.cfg.
2329
23302012-09-04 Colin Watson <cjwatson@ubuntu.com>
2331
2332 * grub-core/mmap/mips/loongson: Remove empty directory.
2333
23342012-09-04 Colin Watson <cjwatson@ubuntu.com>
2335
2336 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2337 gone.
2338
23392012-09-04 Colin Watson <cjwatson@ubuntu.com>
2340
2341 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2342 grub-sparc64-setup.
2343
23442012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2345
2346 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2347
23482012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2349
2350 * po/POTFILES.in: Regenerated.
2351
23522012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2353
2354 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2355 (NetBSD): New subsection.
2356
23572012-07-22 Ales Nesrsta <starous@volny.cz>
2358
2359 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2360 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2361
23622012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2365 * util/grub.d/10_hurd.in: Add missing quoting.
2366 * util/grub.d/10_illumos.in: Likewise.
2367 * util/grub.d/10_kfreebsd.in: Likewise.
2368 * util/grub.d/10_linux.in: Likewise.
2369 * util/grub.d/20_linux_xen.in: Likewise.
2370
23712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 New command `lsefi'.
2374
2375 * grub-core/Makefile.core.def (lsefi): New module.
2376 * grub-core/commands/efi/lsefi.c: New file.
2377 * include/grub/efi/api.h: Add more GUIDs.
2378
23792012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2382 (grub_bsd_elf32_hook): Likewise.
2383 (grub_bsd_elf64_size_hook): Likewise.
2384 (grub_bsd_elf64_hook): Likewise.
2385 (grub_bsd_load_elf): Likewise.
2386
23872012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2390 if hash function is unavailable.
2391 (dec_stream_header): Likewise.
2392
23932012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2396 filter state.
2397
23982012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 Fix coreboot compilation.
2401
2402 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2403 (grub_vga_text_init_real): ... this.
2404 (grub_vga_text_fini): Rename to ...
2405 (grub_vga_text_fini_real): ... this.
2406
24072012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2410
24112012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/lib/legacy_parse.c: Support clear and testload.
2414
24152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2418
24192012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2422
24232012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/net/tftp.c (ack): Fix endianness problem.
2426 (tftp_receive): Likewise.
2427 Reported by: Michael Davidsaver.
2428
24292012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2432
24332012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2436 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2437 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2438
24392012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2442 efi_mmap_size.
2443 Reported by: Stuart Hayes.
2444
24452012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2448
2449 * grub-core/Makefile.core.def (mda_text): New module.
2450 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2451 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2452 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2453 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2454 here.
2455 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2456 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2457 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2458 here.
2459 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2460 to ..
2461 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2462 ... here
2463 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2464 here.
2465 * grub-core/term/i386/vga_common.c: Removed.
2466 * include/grub/i386/vga_common.h: Likewise.
2467 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2468 (grub_vga_cr_bw_read): Likewise.
2469 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2470 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2471 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2472 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2473 grub_vga_cr_read/grub_vga_cr_write.
2474 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2475
24762012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * configure.ac: Bump version to 2.00.
2479 * grub-core/normal/main.c (features): Add feature_200_final.
2480
24812012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
24822012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2483
2484 * NEWS: Fix unclarity and language mistakes.
2485
24862012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2489 additional size to 3 pages.
2490 Reported by: Stuart Hayes.
2491
24922012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * NEWS: Add 2.00 entry.
2495
24962012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2499 put explicit "/" for empty path.
2500 (wildcard_expand): Improve dprintf.
2501
25022012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2505 it's equal to currnode. This can happen with "" symlink.
2506
25072012-06-27 Yves Blusseau <blusseau@zetam.org>
2508
2509 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2510 echo shell command by printf command.
2511
25122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2515 the value returned by firmware is the maximal position, not diumension.
2516 (grub_terminfo_output_state): Use a more sane fallback.
2517
25182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2521
25222012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
2525 frequency to 150 MHz.
2526
25272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Apple fixes.
2530
2531 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
2532 __APPLE_
2533 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
2534 definition.
2535 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
2536
25372012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Handle slash in HFS label.
2540
2541 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
2542 (grub_hfs_dir): Tanslate slash.
2543 (grub_hfs_label): Don't translate slash.
2544
25452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
2548 network protocol listing since it introduces problematic dependency on
2549 net module.
2550
25512012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2554
25552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 Init video early on yeeloong to avoid being rebooted by watchdog.
2558
2559 * grub-core/Makefile.am (gensm712): New target.
2560 (sm712_start.S): Likewise.
2561 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
2562 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
2563 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
2564 description.
2565 * include/grub/vga.h: Move registry definitions to...
2566 * include/grub/vgaregs.h: ... here.
2567
25682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2571 signedness.
2572
25732012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
2576 platforms with firmware disk drivers in the core.
2577
25782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
2581 informative verbose message.
2582 (read_lv): Handle 64-bit segment size.
2583
25842012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2587
25882012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
2591 character but still remove trainling spaces.
2592 (grub_fat_label): Ignore archive flag.
2593
25942012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
2597 cast between linux_kernel_header and linux_kernel_params.
2598
25992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
2602 type for size.
2603 (grub_raid6_recover_func_t): Likewise.
2604 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
2605 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2606
26072012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2610
26112012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2612
2613 Fix overflow.
2614
2615 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
2616 [__NetBSD__]: Add explicit cast before bitshift.
2617
26182012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * configure.ac: Bump to 2.00~rc1.
2621
26222012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
2625 half of $a0.
2626
26272012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
26282012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
2629
2630 * docs/grub.texi: Fix search syntax.
2631 (Multi-boot manual config): Put msdos rather than GPT example.
2632 Grammar corrections.
2633
26342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
2637
26382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2641
26422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
2645 message on double free. Put the value of magic in case of mismatch.
2646
26472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Speed-up video on yeeloong.
2650
2651 * grub-core/video/sm712.c (framebuffer): Remove render_target and
2652 add cached_ptr.
2653 (grub_video_sm712_video_fini): Unmap cached_ptr.
2654 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
2655 (grub_video_sm712_set_active_render_target): Removed.
2656 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2657 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
2658 sync caches.
2659
26602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 Avoid flushing the same line multiple times on loongson.
2663
2664 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
2665 Step in 32 bytes and not 1 byte.
2666 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
2667 Likewise.
2668
26692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
2672 subvolumes.
2673
26742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Implement flow control for http.
2677
2678 * grub-core/net/http.c (parse_line): Handle response 206.
2679 (http_receive): Stall if too many packets are in the queue.
2680 (http_establish): Fix range header.
2681 (http_seek): Fix double free.
2682 (http_close): Likewise.
2683 (http_packets_pulled): New function.
2684 (grub_http_protocol): Set http_seek
2685 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
2686 (ack_real): Set window depending on i_stall.
2687 (grub_net_send_tcp_packet): Likewise.
2688 (grub_net_tcp_stall): New function.
2689 (grub_net_tcp_unstall): Likewise.
2690 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
2691 (grub_net_tcp_unstall): Likewise.
2692
26932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/net/tftp.c: Decrease stall to 50 packets.
2696
26972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
2700
27012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * tests/util/grub-shell.in: Fix a typo.
2704
27052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 Implement flow control for tftp.
2708
2709 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
2710 packets but stop only if stop condition is satisfied.
2711 (grub_net_fs_read_real): Call packets_pulled after real read. Use
2712 `stall' instead of `eof' as stop condition.
2713 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
2714 (http_err): Likewise.
2715 * grub-core/net/tftp.c (ack): Replace the first argument with data
2716 instead of socket.
2717 (tftp_receive): Stall if too many packets are in wait queue.
2718 (tftp_packets_pulled): New function.
2719 (grub_tftp_protocol): Set packets_pulled.
2720 * include/grub/net.h (grub_net_packets): New field count.
2721 (grub_net_put_packet): Increment count.
2722 (grub_net_remove_packet): Likewise.
2723 (grub_net_app_protocol): New field `packets_pulled'.
2724 (grub_net): New field `stall'.
2725
27262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
2729 sync part to handle them.
2730
27312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
2734 * grub-core/net/drivers/ieee1275/ofnet.c
2735 (grub_ieee1275_net_config_real): Likewise.
2736
27372012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
2740 the direct route for server/gateway.
2741
27422012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
2745 IP address to server name since we may not hame the DNS.
2746
27472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
2750 freeing random buffer on failure.
2751 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
2752
27532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
2756
27572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
2760 reserved bytes.
2761 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
2762 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
2763 Handle malloc error correctly.
2764
27652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2768 blocks.
2769
27702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
2773 increment.
2774
27752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
2778 none is explicitly specified.
2779
27802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
2783 while reallocating.
2784
27852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Respect netmask from bootp/dhcp.
2788
2789 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
2790 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
2791 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
2792 into ...
2793 (grub_net_add_ipv4_local): ... this.
2794 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
2795 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
2796 (grub_net_add_ipv4_local): New proto.
2797
27982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
2801 determining EFI memory map size.
2802
28032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2806
28072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
2810 when looking for partition separator.
2811
28122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2815 Escape commas.
2816
28172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Restructure FAT driver to avoid hook in label reading as it hits a
2820 GCC bug.
2821
2822 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
2823 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
2824 (grub_fat_iterate_dir): Split into ...
2825 (grub_fat_iterate_init): ... this, ...
2826 (grub_fat_iterate_fini): ... this, ...
2827 (grub_fat_iterate_dir_next): ... and this. All users updated.
2828
28292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2832 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
2833 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2834 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
2835 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
2836 New fields last_key and last_key_time.
2837 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
2838 extended key-esc into extended key-extended key.
2839
28402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 Avoid unnecessary memcpy of whole video buffer.
2843
2844 * grub-core/video/fb/video_fb.c (dirty): New struct.
2845 (framebuffer): Add members current_dirty and previous_dirty.
2846 (dirty): New function.
2847 (grub_video_fb_fill_rect): Update dirty.
2848 (common_blitter): Likewise.
2849 (grub_video_fb_scroll): Likewise.
2850 (doublebuf_blit_update_screen): Copy only dirty part.
2851 (doublebuf_pageflipping_update_screen): Likewise.
2852 (grub_video_fb_doublebuf_blit_init): Init dirty.
2853 (doublebuf_pageflipping_init): Likewise.
2854 (grub_video_fb_setup): Likewise.
2855
28562012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
2859 poll rate.
2860
28612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 Fix wildcard regexp dot and other special characters handling.
2864 Reported by: Robert Mabee.
2865
2866 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
2867 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2868 (split_path): Trigger expansion on '?'.
2869 (unescape): New function.
2870 (wildcard_expand): Unescape parts copied without globbing.
2871 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2872 (grub_script_arglist_to_argv): Don't unescape expansions.
2873
28742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * include/grub/net.h (grub_net_card): New member txbufsize.
2877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2878 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2879 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2880 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2881 txbufsize.
2882 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2883 compatible property to check for macs. Set
2884 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2885 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2886 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2887 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2888 (send_card_buffer): Use txbuf.
2889 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2890 nested function out of the parent while on it.
2891
28922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2895 presence check.
2896 (grub_ieee1275_net_config_real): Fix config pointer.
2897
28982012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2901 filename parsing to non-block devices.
2902
29032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2906
29072012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2910 All users updated.
2911
29122012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2915 UUID search command even if hints probing failed.
2916
29172012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * po/POTFILES.in: Regenerated.
2920
29212012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Speed-up video on fuloong.
2924
2925 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2926 New function.
2927 (grub_pci_device_unmap_range): Handle non-cached address.
2928 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2929 add direct_ptr.
2930 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2931 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2932 (grub_video_sis315pro_set_active_render_target): Removed.
2933 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2934 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2935 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2936 sync caches.
2937 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2938 New proto.
2939
29402012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * docs/grub.texi (Multi-boot manual config): New section.
2943
29442012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 Avoid slow read-back from VRAM.
2947
2948 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2949 Move from here ...
2950 * grub-core/video/fb/video_fb.c
2951 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2952 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2953 (front_target): Remove front_target. Add pages.
2954 (grub_video_fb_init): Skip setting front_pages.
2955 (grub_video_fb_fini): Likewise.
2956 (doublebuf_blit_update_screen): Use pages.
2957 (grub_video_fb_doublebuf_blit_init): Likewise.
2958 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2959 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2960 (grub_video_fb_setup): Prefer doublebuffing.
2961
29622012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2965 gzio.
2966
29672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 Add loongson tests.
2970
2971 * tests/util/grub-shell.in: Handle loongson.
2972 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2973 drivers.
2974 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2975 Reboot instead of shutdown if REBOOT is defined.
2976
29772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2980 sized ports since unlike on real hardware qemu supports only 32-bit
2981 regs.
2982
29832012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2986 * util/grub-mkrescue.in: Handle loongson.
2987
29882012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2991 Set is_part appropriately.
2992 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2993 names. Canonicalize partition without full disk.
2994
29952012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Revert usb-quiesce since it's wrong.
2998
2999 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3000 (grub_ofdisk_init): Don't do quiesce.
3001
30022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3005 PowerMac workaround to Xserves as well.
3006 Information supplied by: Benjamin Herrenschmidt.
3007
30082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 Don't assume that beginning address is also the entry point on ppc.
3011
3012 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3013 (grub_linux_boot): Use linux_entry.
3014 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3015 (grub_linux_load64): Likewise.
3016
30172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3020
30212012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3024 needlessly lose the console.
3025
30262012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3029 space.
3030
30312012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3034 than current grub_get_rtc() not implemented when booted with
3035 coreboot without TSC.
3036
3037 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3038 Add machine/time.h to kernel headers on loongson.
3039 * grub-core/Makefile.core.def (kernel): Remove
3040 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3041 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3042 (grub_get_rtc): Likewise.
3043 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3044 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3045 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3046 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3047 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3048 rather than installing known non-working time source.
3049 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3050 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3051 * include/grub/time.h: Don't include machine/time.h.
3052 * include/grub/efi/time.h: Removed.
3053 * include/grub/i386/efi/time.h: Likewise.
3054 * include/grub/i386/ieee1275/time.h: Likewise.
3055 * include/grub/powerpc/ieee1275/time.h: Likewise.
3056 * include/grub/sparc64/ieee1275/time.h: Likewise.
3057 * include/grub/x86_64/efi/time.h: Likewise.
3058
30592012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 Remove dot on i and j when combining with above diacritics.
3062
3063 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3064 value.
3065 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3066 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3067 with dotless variants when any combining above is present.
3068
30692012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3072 text and not binary.
3073
30742012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Stop polling as soon as we have the packet we were waiting for.
3077
3078 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3079 All users updated.
3080 * grub-core/net/arp.c (have_pending): New var.
3081 (pending_req): Likewise.
3082 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3083 stop indicator.
3084 (grub_net_arp_receive): Set have_pending.
3085 * grub-core/net/dns.c (recv_data): New field stop.
3086 (recv_hook): Set stop.
3087 (grub_net_dns_lookup): Init stop and use as stop condition.
3088 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3089 condition.
3090 * grub-core/net/net.c (grub_net_poll_cards): New argument
3091 stop_condition. Stop when it goes true.
3092 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3093 indicator.
3094 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3095
30962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 Keep TX and RX buffers on EFI rather than always allocate new ones.
3099
3100 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3101 card. All users updated.
3102 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3103 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3104 (get_card_packet): Likewise.
3105 (grub_efinet_findcards): Init new fields.
3106
31072012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3110 compilation error on sparc64.
3111
31122012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 Use ITC on IA64 rather than broken routine based on daytime.
3115
3116 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3117 ia64.
3118 (grub_get_rtc) [__ia64__]: Likewise.
3119 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3120 (get_itc): New function.
3121 (grub_rtc_get_time_ms): Likewise.
3122 (grub_machine_init): Calibrate ITC.
3123 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3124 Keep only on non-ia64. Don't export since it's broken and used only
3125 if TSC is unavailable.
3126
31272012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3130 even if it's used.
3131 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3132 Skip if parent is unused.
3133
31342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3137
31382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 Fix wildcard escaping.
3141
3142 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3143 * grub-core/script/execute.c (wildcard_escape): .. to here.
3144 Don't escape dot.
3145 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3146 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3147 Don't escape dot.
3148 * grub-core/script/execute.c (gettext_append): Always escape.
3149 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3150 * grub-core/script/yylex.l: Don't cut away the escaping.
3151 * tests/grub_script_echo1.in: Add tests with wildcard.
3152
31532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
3156 (ftdi_hw_configure): Likewise.
3157 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
3158 define.
3159 (real_config): Handle 1.5 stop bits.
3160 (pl2303_hw_configure): Likewise.
3161
31622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * Makefile.am: Add ppc linux bootcheck.
3165 * grub-core/tests/boot/linux-ppc.cfg: New file.
3166 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
3167
31682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * tests/grub_script_expansion.in: Skip network protocols.
3171
31722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3175
31762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3179 --rom-directory.
3180 Add -graft-points.
3181
31822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 ESCC serial driver for conducting sautomated tests in qemu.
3185 Not tested on real hardware.
3186
3187 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3188 * grub-core/term/ieee1275/escc.c: New file.
3189 * grub-core/Makefile.core.def (escc): New module.
3190
31912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3194 invalid on error.
3195 (serial_hw_fetch): Don't read invalid handle.
3196 (serial_hw_put): Don't write into invalid handle.
3197
31982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 Add a 1.5 stop bits value.
3201
3202 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3203 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3204 GRUB_SERIAL_STOP_BITS_1_5.
3205
32062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3209 value rather than let it uninited.
3210
32112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/commands/wildcard.c (+check_file): New function.
3214 (wildcard_expand): Don't expand to non-existing files, expand with
3215 suffix and not attempt to expand if not needed.
3216
32172012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3220 out of partitions containing other partitions.
3221
32222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3225 on some qemu versions with GRUB.
3226
3227 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3228 define.
3229 (grub_openbsd_bootarg_pcibios): New struct.
3230 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3231 Add PCIINFO.
3232
32332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * tests/util/grub-shell.in: Trim firmware output on EFI.
3236
32372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
3240 and coreboot since it's already in kernel.
3241
32422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
3245 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3246 to here. New return value start. All users updated.
3247 Recursively scan linear mappings.
3248 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
3249 proto.
3250 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3251 Use grub_util_get_dm_node_linear_info.
3252 * util/getroot.c (convert_system_partition_to_system_disk): Use
3253 grub_util_info rather than grub_dprintf.
3254 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
3255
32562012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
3259
3260 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
3261 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
3262
32632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * include/grub/types.h (grub_set_unaligned64): New function.
3266 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
3267 (setup): Likewise.
3268
32692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
3272 (grub_ofdisk_fini): Quiesce USB devices.
3273
32742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
3277 caches.
3278
32792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
3282
32832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/disk/pata.c (grub_pata_pio_read)
3286 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
3287 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3288
32892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Extend automated tests to qemu-mips.
3292
3293 * Makefile.am: reorganise tests and enable qemu-mips.
3294 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
3295 * grub-core/tests/boot/linux.init-mips.S: New file.
3296 * tests/partmap_test.in: Handle ata0 disks.
3297 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
3298 non-pc i386.
3299
33002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
3303 ia64.
3304 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
3305 quotes while on it.
3306
33072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
3310 (grub_halt): Likewise.
3311 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
3312
33132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/term/serial.c (grub_serial_register)
3316 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
3317 the behaviour in line with x86 platforms.
3318
33192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
3322 (grub_ata_strncpy): Likewise.
3323 (grub_ata_identify): Add missing byteswaps.
3324
33252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
3328 byte-swap.
3329 (screen_read_char): Likewise.
3330 (grub_vga_text_cls): Likewise.
3331
33322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
3335 filenames.
3336 (make_file_path): Likewise.
3337
33382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
3341 machines.
3342 Tested by: Paulo Flabiano Smorigo.
3343 Crucial information about API supplied by: Coleen <Last name unknown>.
3344 Reviewed by: Coleen <Last name unknown>.
3345
33462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * util/grub-mkimage.c: Disable -Wcast-align.
3349
33502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3353 as they are fatal.
3354
33552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3358
33592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * util/grub-probe.c (escape_of_path): Fix double free.
3362
33632012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/commands/videoinfo.c (hook): Show pitch.
3366
33672012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3370
33712012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3374 (probe): Add ieee1275 to OFW devices.
3375
33762012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3379
33802012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Handle IBM OFW path.
3383
3384 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3385 available.
3386 (of_path_of_scsi): Handle vdevice.
3387
33882012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3391 Allocate in multiples of 16 to avoid adding a few bytes free region the
3392 windows bugs upon.
3393
33942012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3397 Allocate in multiples of 16 to avoid adding a few bytes free region the
3398 windows bugs upon.
3399 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3400
34012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3404 resolutions.
3405 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3406 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3407
34082012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3409
3410 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3411
34122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3415 resulted in \\ at the end of the line.
3416
34172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3420 (grub_parser_cmdline_state): Likewise.
3421 (grub_parser_split_cmdline): Likewise.
3422
34232012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3426 /dev/root and /dev/dm-*.
3427
34282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3431 fix partially stale display.
3432
34332012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3436 substraction.
3437
34382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3441 Fix MBR remapping workaround.
3442 (grub_util_biosdisk_read) [__linux__]: Likewise.
3443
34442012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3447
34482012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * configure.ac: Bump to beta6.
3451
34522012-05-31 Christer Weinigel <christer@weinigel.se>
3453
3454 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3455
34562012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3459 (grub_cmd_linux): Likewise.
3460
34612012-05-31 Christer Weinigel <christer@weinigel.se>
3462
3463 Fix EHCI low-speed.
3464
3465 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3466 (GRUB_EHCI_MULT_TWO): Likewise.
3467 (GRUB_EHCI_MULT_THREE): Likewise.
3468 (GRUB_EHCI_CMASK_MASK): New enum value.
3469 (GRUB_EHCI_SMASK_MASK): Likewise.
3470 (GRUB_EHCI_CMASK_OFF): Likewise.
3471 (GRUB_EHCI_SMASK_OFF): Likewise.
3472 (grub_ehci_pci_iter): Enable periodic schedule.
3473 (grub_ehci_parse_notrun): Likewise.
3474 (grub_ehci_restore_hw): Likewise.
3475 (grub_ehci_setup_qh): Set flags for low speed transfers.
3476 (grub_ehci_find_qh): Use periodic list for low speed.
3477 (grub_ehci_setup_transfer): Check periodic queue as well.
3478 (grub_ehci_check_transfer): Likewise.
3479 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3480
34812012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3482
3483 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3484 parameter is used.
3485
34862012-05-31 Peter Jones <pjones@redhat.com>
3487
3488 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3489 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3490 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3491
34922012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3495 uninited variable. Allocate at least setup_sects.
3496
34972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 Fix handling of EFI with big memory maps.
3500
3501 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3502 (real_mode_mem): Likewise.
3503 (real_mode_target): Likewise.
3504 (real_mode_pages): Likewise.
3505 (prot_mode_pages): Likewise.
3506 (linux_params): New var.
3507 (linux_cmdline): Likewise.
3508 (free_pages): Don't set real mode variables.
3509 (allocate_pages): Don't allocate real mode memory.
3510 (grub_e820_add_region): Remove the limit.
3511 (grub_linux_boot): Allocate and copy real mode memory.
3512 (grub_linux_unload): Free linux_cmdline.
3513 (grub_cmd_linux): Use temporary storage for parameters.
3514 (grub_cmd_initrd): Likewise.
3515 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3516 (linux_kernel_params): Make it 1K big.
3517
35182012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * Makefile.util.def: Remove -Wno-format.
3521 * grub-core/Makefile.core.def: Likewise.
3522
35232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * tests/cmp_unit_test.c: Add missing failure message.
3526 * tests/example_unit_test.c: Likewise.
3527 * tests/printf_unit_test.c: Likewise.
3528
35292012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
3532 relaxation of protective MBR requirements.
3533
35342012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * configure.ac: Add condition for COND_HOST_XNU.
3537 * Makefile.util.def (10_xnu): New script.
3538 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
3539
35402012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
3543 objconv bug.
3544
35452012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
3548 Binary on other platforms stays identical.
3549
35502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
3553 Apple.
3554
35552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3558
35592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
3562 rather than defining size_t ourselves to avoid conflict.
3563
35642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
3567 initialisation to avoid __bzero reference.
3568
35692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
3572 version.
3573 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
3574 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
3575 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
3576 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
3577 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
3578
35792012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
3582 * grub-core/kern/misc.c: Likewise.
3583 * grub-core/loader/i386/xnu.c: Likewise.
3584 * include/grub/i386/tsc.h: Likewise.
3585 * include/grub/symbol.h: Likewise.
3586
35872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
3590 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
3591 on older compiler.
3592
35932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3596 Implement Apple flavour.
3597 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
3598
35992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
3602 (memmove) [__APPLE__]: Likewise.
3603 (memcpy) [__APPLE__]: Likewise.
3604 (memset) [__APPLE__]: Likewise.
3605 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
3606 (memmove) [__APPLE__]: Likewise.
3607 (memcpy) [__APPLE__]: Likewise.
3608 (memset) [__APPLE__]: Likewise.
3609
36102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
3613 dependency discard.
3614
36152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/normal/main.c (read_config_file): Provide config_file and
3618 config_directory.
3619 * util/grub.d/41_custom.in: Use config_directoy when available.
3620
36212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
3624 (grub_bfs_dir): Likewise.
3625
36262012-05-27 Peter Jones <pjones@redhat.com>
3627
3628 The old code gives arguments to a printf function which can't work
3629 correctly, and the compiler complains.
3630
3631 * grub-core/tests/example_functional_test.c (example_test): Add
3632 missing text.
3633 * grub-core/tests/lib/test.c (add_failure): Rewrite.
3634 * include/grub/test.h (grub_test_assert_helper): New declaration.
3635 (grub_test_assert): Use grub_test_assert_helper.
3636
36372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
3640 (exfctest): ... this to avoid overlong filenames.
3641 All users updated.
3642
36432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Handle "." and ".." on squashfs.
3646
3647 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
3648 Make inode numbers into stack.
3649 (grub_squash_read_symlink): Use stack.
3650 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
3651 (make_root_node): Fill stack.
3652 (grub_squash_open): Use stack.
3653
36542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
3657 freeing.
3658
36592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
3662 stderr on test calls.
3663
36642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
3667
36682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
3671
36722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
3675 "..".
3676
36772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
3680 (grub_hfsplus_iterate_dir): Add "." and "..".
3681
36822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/fs/cpio.c (canonicalize): Handle "..".
3685 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
3686
36872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
3690 (find_path): Handle "." and "..".
3691
36922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
3695 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
3696 (grub_affs_iterate_dir): Handle hardlinks.
3697
36982012-05-26 Matthew Garrett <mjg@redhat.com>
3699
3700 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
3701 (grub_efi_console_fini): Likewise.
3702 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
3703 (grub_video_gop_fill_mode_info): Rename to ...
3704 (grub_video_gop_fill_real_mode_info): ... this.
3705 (grub_video_gop_fill_mode_info): New function.
3706 (grub_video_gop_setup): Setup double framebuffer.
3707 (grub_video_gop_get_info_and_fini): Use original framebuffer.
3708 Free offscreen.
3709 (grub_video_gop_swap_buffers): Copy framebuffer.
3710 (grub_video_gop_fini): Free offscreen buffer.
3711 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
3712 New enum.
3713 (grub_efi_gop_blt_pixel): New struct.
3714
37152012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * gentpl.py: Remove error disabling for objconv.
3718
37192012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * configure.ac: Remove -Wunitialized as it's not available on older
3722 compilers.
3723
37242012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 Fix extent overflow comparator.
3727
3728 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
3729 (grub_hfsplus_read_block): Set type.
3730 (grub_hfsplus_cmp_extkey): Compare type.
3731
37322012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
3735
37362012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
3739 than 0.
3740
37412012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
3744 (dejavu_bold_14.pf2): New target.
3745
37462012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * configure.ac: Fix djvu font detection.
3749
37502012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
3753 ext* instead of ext2.
3754
37552012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
3758 name with \0.
3759
37602012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
3761
3762 * docs/grub-dev.texi: Remove dot from .png.
3763
37642012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
3767 protective entry in any slot.
3768 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
3769 if protective entry is found in any slot.
3770
3771 Protective entry in non-first slot make no sense but is a widespread
3772 brain damage.
3773
37742012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
3777
37782012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
3781 with old reiserfs.
3782 (grub_reiserfs_open): Don't free root.
3783
37842012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
3787 after freeing for safety.
3788
37892012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
3792 Reported by: Jordan Uggla.
3793
37942012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3795
3796 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
3797 actual implementation. Specifically, clarify that the grub menu will
3798 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
3799 passed.
3800
38012012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
3802
3803 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
3804 of r0.
3805
38062012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Remove unjustified hard dependency of normal.mod on gfxterm.
3809
3810 * include/grub/term.h (grub_term_output): New member fullscreen.
3811 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
3812 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
3813 (grub_gfxterm): Set .fullscreen.
3814 * grub-core/normal/menu.c (menu_init): Use fullscreen.
3815 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
3816
38172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
3820 mentioning possible problems with non-ASCII (non-compliant) ISOs.
3821 Mention case-insensitive AFFS, SFS and JFS.
3822
38232012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3826
38272012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3830 a bad FS.
3831
38322012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
3835 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
3836
38372012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
3840 (grub_jfs_mount): Fill caseins.
3841 (grub_jfs_find_file): Respect caseins.
3842
38432012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
3846 through UTF-16.
3847
38482012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
3851 New argument origpath. All users updated.
3852
38532012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
3856 (read_attr): Ensure that we read start of possibly compressed block.
3857
38582012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
3861 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
3862 All users updated.
3863
38642012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
3867 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3868 (dejavu.pf2): Replace with ...
3869 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3870 this.
3871
38722012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * util/grub.d/20_linux_xen.in: Add missing line.
3875
38762012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3879 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3880 (grub_utf16_to_utf8): Likewise.
3881
38822012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3885 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3886 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3887 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3888 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3889 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3890
38912012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3894 a bad FS.
3895
38962012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3899 (grub_udf_read_symlink): Handle read_string failure.
3900
39012012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3904 comment.
3905
39062012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 Fix handling of UDF symlinks.
3909
3910 * grub-core/fs/udf.c (read_string): New argument outbuf.
3911 All users updated.
3912 (grub_ufs_read_symlink): Rename to ...
3913 (grub_udf_read_symlink): ... this. All users updated.
3914 Handle symlinks with more than one component.
3915
39162012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3919 symlinks. Replace leading colon with a slash.
3920
39212012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3924 filename.
3925
39262012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3929 match in inner node.
3930
39312012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3934 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3935 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3936 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3937 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3938 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3939 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3940 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3941 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3942
39432012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 Use grub-probe and not cmp to check that disk is empty.
3946
3947 * util/grub-install.in: Use grub-probe for zero-check.
3948 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3949 (probe): Handle PRINT_ZERO_CHECK.
3950 (argp_parser): Handle -t zero_check.
3951
39522012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 Flush block cache on adding disk to device map.
3955
3956 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3957 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3958 adding.
3959 (read_device_map): Likewise.
3960 (open_device): Flush on opening.
3961
39622012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3965 (handle_symlink): Fix off-by-one error.
3966 Canonicalize the target.
3967 (grub_cpio_dir): Canonicalize the name.
3968 Fix memory leak.
3969 Set directory.
3970 (grub_cpio_open): Canonicalize the name.
3971
39722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3975 handling.
3976
39772012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3980 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3981
39822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3985 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3986 All users updated.
3987
39882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3991 counterpart.
3992
39932012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Fix UFS1 big file support.
3996
3997 * grub-core/fs/ufs.c (INODE): Removed.
3998 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3999 64-bit.
4000 (INODE_MODE): Simplify.
4001 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4002 (grub_ufs_lookup_symlink): Don't use INODE.
4003
40042012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4007
4008 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4009 (grub_minix_data): Replace log_block_size with block_size.
4010 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4011 (grub_minix_mount): Fill block_size.
4012
40132012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * configure.ac: Bump to beta5.
4016
40172012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 Fix wrapped HFS+ handling.
4020
4021 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4022 blocks_start. All users updated.
4023 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4024 wrapping offset.
4025 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4026
40272012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 Fix long symlinks on reiserfs.
4030
4031 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4032 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4033 (grub_reiserfs_iterate_dir): Save size for non-directories.
4034 (grub_reiserfs_open): Don't reread stat block as we already know the
4035 size.
4036 (grub_reiserfs_read): Split into...
4037 (grub_reiserfs_read_real): ... and ...
4038 (grub_reiserfs_read): ...this.
4039
40402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 Fix non-indexed JFS.
4043
4044 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4045 (grub_jfs_data): New field namecomponentlen.
4046 (grub_jfs_mount): Fill namecomponentlen.
4047 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4048
40492012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4052 * tests/grub_script_echo1.in: Add tests.
4053
40542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * util/grub-install.in: Ignore empty devicetree directory.
4057
40582012-05-08 Bean <bean123ch@gmail.com>
4059
4060 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4061 All users updated.
4062 (free_rsm): Free header as well.
4063 (free_old_fragments): Fix memory leak.
4064 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4065 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4066 (destroy_pq): Likewise.
4067 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4068
40692012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4072 resulting hash as a precaution.
4073
40742012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4077 '_' in variable names.
4078 * grub-core/net/net.c (grub_net_network_level_interface_register):
4079 Likewise.
4080
40812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 Fix AFFS with non-512B blocks.
4084
4085 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4086 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4087 (grub_affs_data): Replace blocksize with log_blocksize.
4088 (grub_affs_read_block): Fix non-512B blocks.
4089 (grub_affs_read_symlink): Likewise.
4090 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4091 (grub_affs_read): Fix non-512B blocks.
4092 (grub_affs_label): Likewise.
4093 (grub_affs_mtime): Likewise.
4094 (grub_affs_mount): Fix block detection routine.
4095
40962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 Add filesystem mtime to AFFS.
4099
4100 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4101 (aftime2ctime): New function.
4102 (grub_affs_dir): Use aftime2ctime.
4103 (grub_affs_label): Fix return value.
4104 (grub_affs_mtime): New function.
4105 (grub_affs_fs): Add mtime.
4106
41072012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4110 UTF-8.
4111
41122012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4115 UTF-8.
4116
41172012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4120
41212012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4124 flags.
4125 (FLAGS_CASE_SENSITIVE): New enum value.
4126 (cache_entry): New struct.
4127 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4128 cache_size and cache.
4129 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4130 Add log_blocksize and fshelp_flags.
4131 (grub_sfs_read_extent): Handle non-512 blocks.
4132 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4133 (grub_sfs_read_file): Handle non-512 blocks.
4134 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4135 fshelp_flags.
4136 (grub_sfs_read_symlink): Handle non-512 blocks.
4137 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4138 (grub_sfs_dir): Free cache.
4139 (grub_sfs_close): Likewise.
4140
41412012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4144 filesystems.
4145
41462012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4149
41502012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4153
41542012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
4157 (grub_sfs_read_extent): Likewise.
4158 (grub_sfs_read_block): Likewise.
4159 (grub_sfs_mount): Likewise.
4160 (grub_sfs_iterate_dir): Likewise.
4161 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
4162 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
4163
41642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 Fix errors on compressed NTFS with 512B clusters.
4167
4168 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
4169 types.
4170 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
4171 not 0.
4172 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
4173 Relax check for inline extents.
4174 (ntfscomp): Return correct -1 on error and not 0.
4175
41762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * util/grub-install.in: Fix handling of prefix containing spaces.
4179
41802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4183 (grub_squash_read_data): Fix offset byte-swapping.
4184
41852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4188 per common usage and preffered in several parts of code.
4189 (grub_memcmp): Likewise.
4190 (grub_strncmp): Likewise.
4191 * include/grub/misc.h (grub_strcasecmp): Likewise.
4192 (grub_strncasecmp): Likewise.
4193 * Makefile.util.def (cmp_test): New test.
4194 (grub_script_strcmp): Likewise.
4195 * tests/cmp_unit_test.c: New file.
4196 * tests/grub_script_strcmp.in: Likewise.
4197 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4198
41992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * include/grub/pci.h: Move enums into no-asm part.
4202
42032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4206
42072012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4208
4209 * util/getroot.c (find_hurd_root_device): Try to make error message
4210 and comments to translators clearer.
4211
42122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4215
42162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4219 btrfs.
4220
42212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * docs/grub.cfg: Update.
4224
42252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * docs/grub.texi (PXE): Remove not present variables.
4228
42292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/net/net.c (defserver_set_env): New function.
4232 (defserver_get_env): Likewise.
4233 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4234
42352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
4238 entries.
4239
42402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
4243 * grub-core/kern/emu/hostdisk.c: Likewise.
4244
42452012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4246
4247 Handle hurd userspace partitions.
4248
4249 * util/getroot.c (find_hurd_root_device): New function.
4250 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
4251
42522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
4255 names.
4256 Reported by: Bastian Blank.
4257
42582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
4261 crossing page boundary.
4262
42632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 Fix B-tree search in BFS, especially in presence of non-ASCII
4266 characters.
4267
4268 * grub-core/fs/bfs.c (bfs_strcmp): New function.
4269 (find_in_b_tree): Use standard bsearch + btree algorithm.
4270
42712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
4274 and so on.
4275
42762012-05-03 Matthew Garrett <mjg@redhat.com>
42772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Suspend broadcom cards in order to stop their DMA.
4280
4281 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
4282 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
4283 (pci): Don't build on x86 EFI.
4284 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
4285 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
4286 New function.
4287 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
4288 stop_broadcom if running on EFI.
4289 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
4290 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
4291 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
4292 (grub_pci_find_capability): New proto.
4293
42942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * docs/grub.texi: Remove dot from the extension as it apparently
4297 doesn't work with some makeinfo versions.
4298
42992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
4302 with GRUB expectance.
4303
43042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
4307
43082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
4311 zero after directory block since last entry may be not 0-terminated if
4312 it ends on block boundary. Use continue instead of if spanning whole
4313 loop.
4314
43152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Support 4K sectors UDF inline files.
4318
4319 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
4320 (grub_udf_extended_file_entry): Likewise.
4321 (grub_fshelp_node): Name the anonymous union. Put block at the end.
4322 All users updated.
4323 (get_fshelp_size): New function.
4324 (grub_udf_read_icb): Read whole block.
4325 (grub_udf_iterate_dir): Likewise.
4326 (grub_udf_dir): Likewise.
4327 (grub_udf_open): Likewise.
4328
43292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4332
43332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
4336 inline symlinks in addition to workaround.
4337
43382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4341
43422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4345
43462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4349
43502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 Fix reiserfs big seek times.
4353
4354 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4355 exact. All users updated.
4356 (grub_reiserfs_read): Use nearest btree search for seeking.
4357 Fix return value on error.
4358
43592012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4362 entries.
4363 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4364 * docs/grub.texi: Update menuentry description.
4365
43662012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4369 crash when embedding onto filesystem.
4370
43712012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4374 name.
4375
43762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4379
43802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4383 commit.
4384
43852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
43862012-05-01 Bean <bean123ch@gmail.com>
4387
4388 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4389
43902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4393 Special behaviour for len = 0 to read whole file isn't used anywhere and
4394 can cause buffer ovewrflows in several places.
4395
43962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4399
44002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 Handle RAIDZ on non-512B sectors.
4403
4404 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4405 max_children_ashift.
4406 (fill_vdev_info_real): Fill max_children_ashift.
4407 (read_device): Use max_children_ashift.
4408
44092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4412
44132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4416 disk names.
4417 * docs/grub.texi: Update device.map parts.
4418
44192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 Don't scan into non-diskfilter devices having diskfilter names.
4422
4423 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4424 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4425 handling.
4426 (scan_disk_hook): New function.
4427
44282012-04-29 Bean <bean123ch@gmail.com>
4429
4430 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4431 allocation.
4432
44332012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4434
4435 * configure.ac: Detect starfield theme font path
4436 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4437
44382012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4441 geometry on serial consoles.
4442
44432012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4446 because of network consoles.
4447
44482012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4451 handling.
4452
44532012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4456 falls on Q syndrom.
4457
44582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4461 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4462
44632012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4466 Allocate at lest 8192 for temporary buffer as required for lzo.
4467
44682012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4471 to cluster_bits, since it's already added in.
4472 (grub_fat_read_data): Likewise.
4473
44742012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4477 as long as cluster size is multiple of 512 bytes.
4478
44792012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * util/grub-mkrescue.in: Fix locale directory.
4482
44832012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * grub-core/kern/emu/hostdisk.c (map): Make static.
4486
44872012-04-23 Bean <bean123ch@gmail.com>
4488
4489 * util/grub-fstest.c (fstest): Add missing break.
4490
44912012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4492
4493 Fix hurd build.
4494
4495 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4496 not define nr variable.
4497 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4498 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4499 grub_find_device): Do not define.
4500
45012012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 Fix kfreebsd compile and behaviour.
4504
4505 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4506 format-security.
4507 * util/getroot.c: Fix wait.h include.
4508 (grub_guess_root_devices): Error if grub_find_device fails.
4509 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4510 (grub_util_get_dev_abstraction): Likewise.
4511 (grub_util_pull_device): Likewise.
4512 (grub_util_get_grub_dev): Likewise.
4513 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4514
45152012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Fix and unify wholedisk detection.
4518
4519 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4520 is_part. All users updated.
4521 (device_is_wholedisk): Removed.
4522 (grub_util_biosdisk_get_grub_dev): Use is_part.
4523
45242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
4527 mode.
4528
45292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * configure.ac: Bump to beta4.
4532
45332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
4536 --fs-uuid --set UUID syntax.
4537
45382012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
4541 disunification.
4542
45432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4546
45472012-04-18 Mads Kiilerich <mads@kiilerich.com>
4548
4549 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4550
45512012-04-18 Mike Gilbert <floppym@gentoo.org>
4552
4553 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4554
45552012-04-18 Bean <bean123ch@gmail.com>
4556
4557 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
4558 place.
4559
45602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
4563 users updated.
4564 (grub_util_biosdisk_read): Handle Linux partitions not exactly
4565 corresponding to GRUB partitions.
4566 (grub_util_biosdisk_write): Likewise.
4567
45682012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 Scan mdraid before LVM.
4571
4572 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
4573 (grub_diskfilter_register_front): ... this.
4574 (grub_diskfilter_register_back): New function.
4575 All users of grub_diskfilter_register updated.
4576
45772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * util/grub-install.in: Fix an automatic target detection bug.
4580
45812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * util/grub-install.in: New option --efi-directory.
4584
45852012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
4588 boot services if we have no other choice.
4589
45902012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * util/grub-mknetdir.in: Rename --override-directory to --directory and
4593 document it.
4594 * tests/util/grub-shell.in: Update to --directory.
4595
45962012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4599
46002012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
4603 (grub_minix_read_file): Likewise.
4604 (grub_minix_read_inode): Likewise.
4605 (grub_minix_find_file): Likewise.
4606 (grub_minix_dir): Likewise.
4607
46082012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * util/grub-setup.c (setup): Fix partition handling and blocklist
4611 check.
4612
46132012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
4616 redundant buggy overlap check.
4617
46182012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
4621 and grub-mknetdir.
4622
46232012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
4626 kh.loadflags on pre-2.00 kernels.
4627
46282012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 Terminate UNDI and PXE before launching the payload to avoid problems
4631 with DMA.
4632
4633 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
4634 (grub_loader_flags): ... this. All users updated.
4635 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
4636 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
4637 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
4638 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
4639 function.
4640 (grub_pxe_restore): Likewise.
4641 (fini_hnd): New var.
4642 (GRUB_MOD_INIT): Register shutdown hook.
4643 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
4644 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
4645 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
4646 (grub_loader_set): Rename second argument to flags.
4647
46482012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
4651 written bytes.
4652 (grub_get_num_of_utf8_bytes): New function.
4653 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
4654 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
4655 executing it.
4656 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
4657 (grub_ucs4_to_utf8): Change return type.
4658
46592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
4662 warning.
4663 * grub-core/fs/bfs.c (hop_level): Likewise.
4664 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
4665
46662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/lib/adler32.c: Recode due to license unclearness.
4669
46702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
4673 (test_header): Likewise.
4674
46752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Fix --help formatting.
4678
4679 * util/grub-mkconfig_lib.in (print_option_help): New function.
4680 (grub_fmt): Likewise.
4681 * util/grub-install.in: Use print_option_help and grub_fmt.
4682 * util/grub-kbdcomp.in: Likewise.
4683 * util/grub-mkconfig.in: Likewise.
4684 * util/grub-mknetdir.in: Likewise.
4685 * util/grub-mkrescue.in: Likewise.
4686 * util/grub-mkstandalone.in: Likewise.
4687 * util/grub-reboot.in: Likewise.
4688 * util/grub-set-default.in: Likewise.
4689 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4690
46912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * linguas.sh: Remove autogenerated *.po.
4694
46952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * po/README: Move language fetcing to ...
4698 * linguas.sh: ... here.
4699 * po/README: Point to linguas.sh.
4700
47012012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * po/README: Exclude ko.po due to disclaimer problems.
4704
47052012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
4708 len = 0.
4709 (grub_gettext_translate_real): Handle 0th string.
4710 (grub_gettext_translate): Ensure that "" isn't translated.
4711
47122012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
4715 TRANSLATORS comment.
4716 (grub_diskfilter_print_partmap): Propagate changing of error into
4717 warning.
4718
47192012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
4722 to uint64_t to prevent overflow.
4723 (grub_diskfilter_lv): Increase start_extent and extent_count
4724 to uint64_t to prevent overflow.
4725
47262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * configure.ac: Increase version.
4729
47302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
4733
4734 * po/Rules-translit: New file.
4735 * po/arabic.sed: Likewise.
4736 * po/cyrillic.sed: Likewise.
4737 * po/greek.sed: Likewise.
4738 * po/hebrew.sed: Likewise.
4739 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
4740 * po/Makefile.in.in: Add extra_dist4.
4741
47422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 Handle big-endian minixfs (fixes minixfs tests on bigendian).
4745
4746 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
4747 modify names. Introduce MODE_BIGENDIAN.
4748 * grub-core/fs/minix_be.c: New file.
4749 * grub-core/fs/minix2_be.c: Likewise
4750 * grub-core/fs/minix3_be.c: Likewise.
4751 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
4752 minix3_be.
4753 * grub-core/Makefile.core.def (minix_be): New module.
4754 (minix2_be): Likewise.
4755 (minix3_be): Likewise.
4756
47572012-04-01 Felix <email@hamburg.de>
4758
4759 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
4760 (devs): Add MBP 2011.
4761
47622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
4765
47662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/normal/cmdline.c (print_completion): New field
4769 prompt_len.
4770 (grub_cmdline_get): Handle width properly.
4771
47722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4775
47762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
4779 after 29th of February.
4780
47812012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 Fix exfat endianness handling.
4784
4785 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
4786 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
4787 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
4788 Byte-swap utf16 when necessary.
4789 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
4790
47912012-03-31 Anton Blanchard <anton@samba.org>
47922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 Fix btrfs endianness handling.
4795
4796 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
4797 (lower_bound): Make root uint64_t. Use root in le.
4798 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
4799 (find_path): Fix template key init.
4800 (grub_btrfs_dir): Fix mtime byteswap.
4801 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
4802
48032012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
4806 recursion_depth. Break infinite resursions. All users updated.
4807
48082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
4811 after free.
4812 Reported by: Peter Jones.
4813
48142012-03-31 Anton Blanchard <anton@samba.org>
4815
4816 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
4817 8 bit values.
4818
48192012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * util/grub-install.in: Fix nvram call for PreP.
4822
48232012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
4826 the error when some elements are missing into a warning.
4827
48282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4831
48322012-03-28 Colin Watson <cjwatson@ubuntu.com>
4833
4834 * docs/grub.texi (Invoking grub-probe): New section.
4835 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
4836
48372012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 Fix tab and wide character handling in editor and menu.
4840
4841 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
4842 agglomerate control characters with combining marks.
4843 (bidi_line_wrap): Allow break on tab.
4844 (grub_unicode_get_comb_start): New function.
4845 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
4846 and tab correctly.
4847 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
4848 with a space.
4849 * grub-core/normal/term.c (print_ucs4_terminal): New argument
4850 fixed_tab_size. All users updated.
4851 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
4852 (grub_term_getcharwidth): Handle \t.
4853 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
4854 and copy.
4855
48562012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Handle big-endian mdraid.
4859
4860 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
4861 * grub-core/Makefile.core.def (mdraid09_be): New module.
4862 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
4863 rather than grub_le_to_cpu* and grub_cpu_to_le*.
4864 * grub-core/disk/mdraid_linux_be.c: New file.
4865
48662012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4869
48702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4873 missing quotes which caused confusion among translators.
4874
48752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * util/grub-mkconfig_lib.in: Fix typo.
4878
48792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4882 spaces.
4883 * tests/grub_script_leading_whitespace.in: New file.
4884 * Makefile.util.def (grub_script_leading_whitespace): New test.
4885
48862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4889 to work.
4890
48912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4894 starts with control character.
4895
48962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4899 overflow.
4900 (grub_gdb_outbuf): Likewise.
4901
49022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4905 zero terminator. Fixes a crash.
4906
49072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4910 beyond 4 GiB.
4911 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4912 images independently of preffered adderss field.
4913
49142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4917 * grub-core/commands/regexp.c: Likewise.
4918 * grub-core/loader/i386/linux.c: Likewise.
4919 * grub-core/partmap/msdos.c: Likewise.
4920 * grub-core/script/execute.c: Likewise.
4921 * grub-core/term/gfxterm.c: Likewise.
4922
49232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 Add variable parsing in $"..." and fix several mismatches with bash.
4926
4927 * Makefile.util.def (grub_script_gettext): New test.
4928 * grub-core/script/execute.c (parse_string): New function.
4929 (gettext_append): Likewise.
4930 (grub_script_arglist_to_argv): Use gettext_append.
4931 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4932 * tests/grub_script_gettext.in: New file.
4933
49342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 Fix handling of leading spaces in scripts.
4937
4938 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4939 spaces.
4940 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4941 other than skipping \r. All users updated.
4942 * tests/grub_script_echo1.in: Add space-related tests.
4943 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4944
49452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4948
49492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * configure.ac: Bump up the version to beta2.
4952
49532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Fix gettext reload bugs (e.g. inability to disable gettext
4956 once enabled).
4957
4958 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4959 main_context and secondary_context. All functions updated.
4960 (grub_gettext_translate): Rename to ...
4961 (grub_gettext_translate_real): ... this. Return NULL on failed
4962 translate.
4963 (grub_gettext_translate): Handle secondary context.
4964 (grub_gettext_delete_list): Close file and zero-out the context.
4965 (grub_mofile_open): Don't call grub_gettext_delete_list.
4966 Don't close file.
4967 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4968 if locale="" to avoid pointless error message.
4969 (grub_gettext_env_write_lang): Update lang even if load fails.
4970 Handle secondary context.
4971 (grub_gettext_reread_prefix): New function.
4972 (read_main): Likewise.
4973 (read_secondary): Likewise.
4974 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4975 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4976 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4977 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4978
49792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * configure.ac: Decrease warning level to avoid spurious warnings and
4982 to be able to compile with GCC 4.2.
4983 * Makefile.util.def: Remove -Wno-error=logical-op.
4984
49852012-03-10 William Bittner <william.bittner@gmail.com>
4986
4987 * util/import_unicode.py: Add missing brackets around string for
4988 python 3 support.
4989
49902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 Fix efi chainloader on network root.
4993
4994 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4995 network devices.
4996 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4997 New function.
4998
49992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5002 unused show_text member.
5003 * docs/grub.texi: Document "text" property.
5004
50052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5008 in dprintf.
5009
50102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Fix IMSM handling on Fedora.
5013
5014 * util/getroot.c (grub_util_is_imsm): New function.
5015 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5016
50172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * Makefile.am: Strip gold section.
5020 * conf/Makefile.common: Likewise.
5021 * gentpl.py: Likewise.
5022 * grub-core/Makefile.core.def: Likewise.
5023 * grub-core/genmod.sh.in: Likewise.
5024
50252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5028 * util/grub.d/20_linux_xen.in: Likewise.
5029 Based on Debian patch.
5030
50312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * util/grub.d/10_linux.in: Fix syntax error resulting in
5034 Richard Laager's patch.
5035 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5036
50372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5040 dependencies.
5041
50422012-03-10 Richard Laager <rlaager@wiktel.com>
5043
5044 * util/grub.d/10_linux.in: Fix ZFS root passing.
5045
50462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5049 * grub-core/commands/xnu_uuid.c: Likewise.
5050 * grub-core/loader/efi/appleloader.c: Likewise.
5051 * grub-core/script/execute.c: Likewise.
5052 * grub-core/script/main.c: Likewise.
5053 * util/grub-mkfont.c: Likewise.
5054
50552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * util/grub-mkfont.c (options): Use more appropriate "select" that
5058 "set" for face index.
5059
50602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * util/grub-editenv.c (options): Gettextize command summaries.
5063
50642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5067 "out of memory" error messagge.
5068
50692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5072 of diskfilter for diskfilter on diskfilter support.
5073
50742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5077
50782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5081 themes/starfield.
5082
50832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5086
50872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5090
50912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5094 of error message.
5095
50962012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5099
51002012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5103 message.
5104 * util/grub-install.in: Fix and gettextize error message.
5105
51062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5109 Gettextize.
5110 * util/grub-mount.c (options): Likewise.
5111
51122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5115 gettextize.
5116 * grub-core/commands/search_wrap.c (options): Likewise.
5117
51182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5121
51222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5125 size calculation.
5126 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5127 none is known.
5128
51292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5132 "temporary" since it's used in identifier and is limited in space.
5133
51342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * po/POTFILES.in: Regenerate. Include *.h since they contain
5137 translatable strings as well.
5138
51392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5142 byte-swap on big-endian.
5143 Reported by: Lennart Sorensen
5144
51452012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5148 (allocate_pages): Improve dprintf.
5149 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5150 code32_start. Fill code32_start and kernel_alignment in params.
5151 (grub_cmd_initrd): Use prot_init_space.
5152
51532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5156
51572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * util/grub-install.in: Add missing dot at the end of sentence.
5160
51612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5164 * grub-core/commands/videotest.c: Likewise.
5165 * grub-core/loader/i386/linux.c: Likewise.
5166
51672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
5170 sentence.
5171 Reported by: Milo Casagrande.
5172
51732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
5176 * grub-core/commands/gptsync.c: Likewise.
5177 * grub-core/commands/hashsum.c: Likewise.
5178 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5179 * grub-core/commands/legacycfg.c: Likewise.
5180 * grub-core/io/gzio.c: Likewise.
5181 * grub-core/net/net.c: Likewise.
5182 * grub-core/term/gfxterm.c: Likewise.
5183 * grub-core/term/terminfo.c: Likewise.
5184 * grub-core/tests/test_blockarg.c: Likewise.
5185 * grub-core/video/video.c: Likewise.
5186 * util/grub-install.in: Likewise.
5187 * util/grub-mkfont.c: Likewise.
5188
51892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5192
51932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/commands/search_wrap.c (options): Fix a typo.
5196 Reported by: David Prévot.
5197
51982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5201 description.
5202
52032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * util/grub-script-check.c (main): Fix a syntax error message which was
5206 unclear.
5207
52082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5211
52122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5215 messages.
5216
52172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5220 without argument.
5221 * util/grub-mount.c (options): Likewise.
5222
52232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5226
52272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/net/http.c: Add TRANSLATORS comments.
5230 * grub-core/normal/cmdline.c: Likewise.
5231 * grub-core/normal/misc.c: Likewise.
5232 * grub-core/partmap/msdos.c: Likewise.
5233 * grub-core/parttool/msdospart.c: Likewise.
5234 * grub-core/script/execute.c: Likewise.
5235 * grub-core/script/main.c: Likewise.
5236 * grub-core/term/terminfo.c: Likewise.
5237 * grub-core/video/bitmap.c: Likewise.
5238 * util/grub-install.in: Likewise.
5239 * util/grub-mkimage.c: Likewise.
5240 * util/grub-mklayout.c: Likewise.
5241 * util/grub-setup.c: Likewise.
5242
52432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
5246 with similar messages in grub-fstest.
5247
52482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * util/grub-install.in: Unify "option requires an argument" message
5251 with similar messages in other files.
5252 * util/grub-mkconfig.in: Likewise.
5253
52542012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * util/grub-set-default.in: Replace printf with gettext_printf (the
5257 string in in question is already translated from grub-reboot)
5258
52592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * configure.ac: Bump up the version to beta1.
5262
52632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
5266 case when min_align = 0.
5267
52682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
5271 and fix a case when line_start overflows.
5272
52732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * util/grub-reboot.in (usage): Mention id posibility.
5276 * util/grub-set-default.in (usage): Likewise.
5277
52782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
5281 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
5282 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5283 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5284 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5285 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5286 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5287
52882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/commands/menuentry.c (options): Remove
5291 GRUB_ARG_OPTION_REPEATABLE.
5292 Reported by: Andreas Vogel
5293
52942012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
5295
5296 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
5297
52982012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
5299
5300 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
5301 error.
5302
53032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Use sort -V by the idea of Georgi Georgiev.
5306
5307 * util/grub-mkconfig_lib.in (version_sort): New function.
5308 (version_test_numeric): Use version_sort.
5309
53102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 Use submenus in grub-mkconfig.
5313
5314 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
5315 * util/grub-mkconfig_lib.in (grub_quote): New function.
5316 (gettext_printf): Use gettext and not gettext_quoted to fix several
5317 messages.
5318 * util/grub.d/10_hurd.in: Use submenus.
5319 * util/grub.d/10_kfreebsd.in: Likewise.
5320 * util/grub.d/10_linux.in: Likewise.
5321 * util/grub.d/10_netbsd.in: Likewise.
5322 * util/grub.d/20_linux_xen.in: Likewise.
5323 * util/grub.d/30_os-prober.in: Likewise.
5324 * util/grub.d/10_illumos.in: Add missing quoting.
5325 * util/grub.d/10_windows.in: Likewise.
5326
53272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 Fix menu title instability bug.
5330
5331 * grub-core/commands/menuentry.c (options): New option --id.
5332 (grub_normal_add_menu_entry): New argument id. All users updated.
5333 (grub_cmd_menuentry): Handle --id.
5334 (grub_menu_init): Accept unknown arguments.
5335 * grub-core/normal/main.c (features): Add feature_menuentry_id and
5336 feature_menuentry_options.
5337 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
5338 saved_entry.
5339 (get_entry_number): Match with id as well.
5340 * include/grub/menu.h (grub_menu_entry): New member id.
5341 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
5342 * util/grub.d/00_header.in: Define menuentry_id_option.
5343 * util/grub.d/10_hurd.in: Define id.
5344 * util/grub.d/10_illumos.in: Likewise.
5345 * util/grub.d/10_kfreebsd.in: Likewise.
5346 * util/grub.d/10_linux.in: Likewise.
5347 * util/grub.d/10_netbsd.in: Likewise.
5348 * util/grub.d/10_windows.in: Likewise.
5349 * util/grub.d/20_linux_xen.in: Likewise.
5350 * util/grub.d/30_os-prober.in: Likewise.
5351
53522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5355 "scope" with "body".
5356
53572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5360 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5361 prot_size and prot_file_size.
5362
53632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5366 All users updated. If easily=1 require raid-5/-6 to be full.
5367 (is_node_readable): Likewise.
5368 (scan_devices): Scan incomplete but readable LVs at the end.
5369 (grub_diskfilter_memberlist): Pull missing devices.
5370 (insert_array): Skip scanning until device is complete or scan is
5371 done otherwise.
5372 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5373 check.
5374 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5375 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5376
53772012-03-03 Matthew Garrett <mjg@redhat.com>
53782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 Avoid EFI boot services when loading Linux.
5381
5382 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5383 avoid_efi_bootservices. All users updated.
5384 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5385 argument avoid_efi_bootservices. All users updated.
5386 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5387 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5388 align, min_align, relocatable, prefered_address. All users updated.
5389 Allocate avoiding boot services if kernel is relocatable.
5390 (grub_cmd_linux): Check if kernel is relocatable.
5391 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5392 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5393 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5394 avoid_efi_boot_services.
5395 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5396 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5397 (linux_kernel_params): Likewise.
5398
53992012-03-03 Matthew Garrett <mjg@redhat.com>
54002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 Use EDID on EFI.
5403
5404 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5405 datasize_out.
5406 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5407 modes. Set gop_handle.
5408 (grub_video_gop_get_edid): New function.
5409 (grub_gop_get_preferred_mode): Likewise.
5410 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5411 (grub_video_efi_gop_adapter): Set .get_edid.
5412 * include/grub/efi/edid.h: New file.
5413 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5414
54152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * util/grub-install.in: Load efivars unconditionally.
5418
54192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * po/Rules-piglatin: Change suffix from .po-update-en to
5422 .po-update-en-piglatin.
5423
54242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 Add a pig farm.
5427
5428 * po/piglatin.sed: New file.
5429 * po/en@piglatin.header: Likewise.
5430 * po/Rules-piglatin: Likewise.
5431 * po/README: Add en@piglatin to autogenerated languages.
5432
54332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5436 "Command for ...".
5437 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5438 "Check" since we don't check anything.
5439 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5440 is 64-bit one.
5441 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5442 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5443 (grub_md_sha512_real): Likewise.
5444
54452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/commands/gptsync.c: Fix typographic quoting.
5448 * grub-core/commands/ieee1275/suspend.c: Likewise.
5449 * grub-core/commands/parttool.c: Likewise.
5450 * grub-core/commands/search_wrap.c: Likewise.
5451 * grub-core/commands/videoinfo.c: Likewise.
5452 * grub-core/gfxmenu/gui_label.c: Likewise.
5453 * grub-core/hello/hello.c: Likewise.
5454 * grub-core/kern/emu/main.c: Likewise.
5455 * grub-core/net/net.c: Likewise.
5456 * grub-core/normal/menu.c: Likewise.
5457 * grub-core/normal/menu_text.c: Likewise.
5458 * grub-core/normal/misc.c: Likewise.
5459 * util/grub-editenv.c: Likewise.
5460 * util/grub-install.in: Likewise.
5461 * util/grub-kbdcomp.in: Likewise.
5462 * util/grub-mkconfig.in: Likewise.
5463 * util/grub-mknetdir.in: Likewise.
5464 * util/grub-mkrescue.in: Likewise.
5465 * util/grub-mkstandalone.in: Likewise.
5466 * util/grub-reboot.in: Likewise.
5467 * util/grub-set-default.in: Likewise.
5468 * util/grub-setup.c: Likewise.
5469 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5470
54712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5474 * grub-core/commands/keystatus.c: Likewise.
5475 * grub-core/commands/loadenv.c: Likewise.
5476 * grub-core/commands/probe.c: Likewise.
5477 * grub-core/commands/regexp.c: Likewise.
5478 * grub-core/commands/true.c: Likewise.
5479 * grub-core/commands/videoinfo.c: Likewise.
5480 * grub-core/disk/cryptodisk.c: Likewise.
5481 * grub-core/disk/ldm.c: Likewise.
5482 * grub-core/disk/loopback.c: Likewise.
5483 * grub-core/disk/luks.c: Likewise.
5484 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5485 * grub-core/kern/disk.c: Likewise.
5486 * grub-core/kern/emu/hostdisk.c: Likewise.
5487
54882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5491 * util/grub-install.in: Add missing quote in the comment.
5492
54932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5496 * grub-core/commands/lsmmap.c: Likewise.
5497 * grub-core/commands/minicmd.c: Likewise.
5498 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5499 * grub-core/commands/regexp.c: Likewise.
5500 * grub-core/gdb/gdb.c: Likewise.
5501 * grub-core/term/gfxterm.c: Likewise.
5502 * util/grub-mkconfig.in: Likewise.
5503 * util/grub-mkfont.c: Likewise.
5504 * util/grub-mklayout.c: Likewise.
5505 * util/grub-mknetdir.in: Likewise.
5506 * util/grub-mkrescue.in: Likewise.
5507 * util/grub.d/30_os-prober.in: Likewise.
5508
55092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5512 with "Direct color" and "Packed" with "Packed pixel".
5513 (grub_cmd_videoinfo): Simplify legend.
5514
55152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5518 absolutely unclear error message.
5519
55202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * util/grub-mkstandalone.in: Remove confusing leftover print.
5523
55242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
5527 comments.
5528 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
5529 (GRUB_MOD_INIT): Likewise.
5530 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
5531 VGA mode.
5532 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
5533 comments.
5534 * util/grub-install.in (usage): Likewise.
5535 Spell ID in whole letters.
5536 Add missing ending dot.
5537 Quote variables.
5538 * util/grub-reboot.in: Fix capitalisation.
5539 * util/grub-set-default.in: Likewise.
5540
55412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
5544 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
5545 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
5546 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
5547 Disable -Werror for -Wdeprecated-declarations.
5548 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
5549 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
5550 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
5551 (grub_util_get_grub_dev): Make luks handling dependent on
5552 HAVE_DEVICE_MAPPER and not __linux__.
5553 (get_win32_path): Fix format security.
5554 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
5555 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
5556 Don't try grub_find_zpool_from_dir.
5557 (grub_make_system_path_relative_to_its_root) [!__linux__]:
5558 #ifdef-out paresdir.
5559
55602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * util/grub-pe2elf.c (usage): Add missing noreturn.
5563 (write_section_data): Rename name to shname to avoid shadowing.
5564 (write_symbol_table): Rename name to symname to avoid shadowing.
5565 Fix write_reloc_section call.
5566
55672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
5570 to ensure that it's after the last byte of .text.
5571
55722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/ieee1275/ofpath.c (my_isdigit): New function.
5575 (trailing_digits): Use my_isdigit.
5576 (strip_trailing_digits): Likewise.
5577
55782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
5581 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
5582
55832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/kern/i386/pc/startup.S: Define __start.
5586
55872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
5590 strip already transforms he format.
5591
55922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5595
55962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * util/grub-install.in: Add missing gettext init.
5599 * util/grub-kbdcomp.in: Likewise.
5600 * util/grub-mkconfig.in: Likewise.
5601 * util/grub-mknetdir.in: Likewise.
5602 * util/grub-mkrescue.in: Likewise.
5603 * util/grub-mkstandalone.in: Likewise.
5604 * util/grub-reboot.in: Likewise.
5605 * util/grub-set-default.in: Likewise.
5606 * util/grub.d/00_header.in: Likewise.
5607 * util/grub.d/10_hurd.in: Likewise.
5608 * util/grub.d/10_windows.in: Likewise.
5609 * util/grub.d/30_os-prober.in: Likewise.
5610 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5611
56122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * po/Rules-swiss: Fix header comment.
5615
56162012-02-29 Andreas Vogel <anvoit>
5617
5618 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
5619 resulted in leak of arguments.
5620
56212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/boot/i386/pc/startup_raw.S: Use separate
5624 reed_solomon_size const definition instead of computing it since
5625 Apple assembler doesn't support the later.
5626
56272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * gentpl.py (kernel): Rewrite Apple part.
5630
56312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * include/grub/kernel.h (FOR_MODULES): Check module magic.
5634
56352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * util/grub-mkimagexx.c (locate_sections): Support non-standard
5638 ELF section gap.
5639 (load_image): Likewise.
5640
56412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * configure.ac: Fix a typo in previous commit.
5644
56452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Don't add -Wl,-N on Apple platform.
5648
5649 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
5650 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
5651
56522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/Makefile.core.def (lzma_decompress): Use
5655 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
5656
56572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/genmod.sh.in: Rewrite the Apple part.
5660
56612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
5664 comparison.
5665
56662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * acinclude.m4 (grub_CHECK_PIC): New test.
5669 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
5670
56712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
5674 to avoid the warning.
5675
56762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
5679 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
5680 after. All users updated.
5681
56822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 Use the common size routine in hostfs so we can read disks as well.
5685
5686 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
5687 (grub_util_get_fd_size): ... this. Return size in bytes.
5688 All users updated.
5689 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
5690 grub_util_get_fd_size.
5691
56922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
5695 Add blocksize retrieval.
5696
56972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * configure.ac: Restore CFLAGS after efiemu check.
5700
57012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
5704 Apple bug.
5705
57062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
5709
57102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
5713 (grub_cmd_halt): Likewise.
5714
57152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
5718 for local arithmetics.
5719 Break %sp init into 2 instructions.
5720 Add 0 byte at the end.
5721
57222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/disk/diskfilter.c (read_segment): Initialise err
5725 before loops.
5726
57272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
5730 for context.
5731
57322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/disk/ldm.c (make_vg): Init part.name.
5735 (grub_ldm_detect): Silence spurious warning.
5736 (grub_util_is_ldm): Likewise.
5737
57382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
5741 sane value to avoid a spurious warning.
5742
57432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
5746 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
5747
57482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
5751 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
5752
57532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
5756 hardcoding the relevant info.
5757
57582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
5761 missing const qualifiers.
5762 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
5763
57642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/getroot.c [__APPLE__]: Add missing includes.
5767 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
5768
57692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * util/grub-mkimage.c (generate_image): Silence spurious warning.
5772
57732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
5776 avoid conflicts.
5777
57782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5781
57822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
5785 and grub_file_close call.
5786
57872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 Add LZSS Mach-O support (needed for new xnu kernelcache).
5790
5791 * grub-core/Makefile.core.def (xnu): Add file lzss.c
5792 * grub-core/loader/lzss.c: New file.
5793 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
5794 on Mach-O open failure.
5795 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
5796 Don't free cmdsXX in uncompressedXX is set.
5797 (grub_macho_file): Init new fields.
5798 New argument is_64bit. All users updated.
5799 Handle compressed. Error out if no suitable architecture is found.
5800 Don't close file.
5801 (grub_macho_open): New argument is_64bit. All users updated.
5802 * grub-core/loader/macho32.c: Add defines for new fields.
5803 * grub-core/loader/macho64.c: Likewise.
5804 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
5805 (grub_macho_parse): Handle compressed.
5806 Defer actual processing if compressed.
5807 (grub_macho_cmds_iterate): Decompress if compressed. New argument
5808 "filename". All users updated.
5809 (grub_macho_size): New argument "filename". All users updated.
5810 (grub_macho_get_entry_point): Likewise.
5811 (grub_macho_load): Handle compressed.
5812 * include/grub/macho.h (grub_macho_lzss_header): New struct.
5813 (GRUB_MACHO_LZSS_OFFSET): New define.
5814 (grub_decompress_lzss): New proto.
5815 * include/grub/machoload.h (grub_macho_file): New fields to handle
5816 compressed.
5817 (grub_macho_contains_macho64): Remove proto.
5818 (grub_macho_contains_macho32): Likewise.
5819 * util/grub.d/30_os-prober.in: Use kernel cache if available.
5820
58212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5824
58252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Fix make dist.
5828
5829 * Makefile.am (starfield_theme_files): New var.
5830 (starfield_DATA): Use starfield_theme_files.
5831 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
5832 Add bootcheck-related files.
5833 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
5834 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
5835 and font_char_metrics.txt.
5836 * grub-core/Makefile.core.def (kernel): Update extra_dist.
5837 (setjmp): Add lib/ia64/longjmp.S.
5838 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
5839 * po/POTFILES.in: Regenerate.
5840 * po/Rules-swiss: use DISTFILES.common.extra2 and not
5841 DISTFILES.common.extra1.
5842 * util/devicemap.c: Removed.
5843 * grub-core/lib/i386/relocator_backward.S: Likewise.
5844 * util/import_gcry.py: Remove unused files. Add extra_dist for
5845 ChangeLog.
5846
58472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/gettext/gettext.c (grub_mofile_open): Call
5850 grub_gettext_delete_list before changing grub_gettext_max to avoid
5851 running out of array bounds.
5852
58532012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
5856 grub_vga_text_init/grub_vga_text_fini.
5857
58582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5861
58622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * configure.ac: Bump to 2.00~beta0.
5865
58662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5869 missing initialisation.
5870
58712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5874
58752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 Support v2 xnu boot arguments.
5878
5879 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5880 New argument fsbfreq_out.
5881 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5882 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5883 be used.
5884 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5885 darwin_version.
5886 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5887 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5888 (grub_xnu_boot_params): Rename to ...
5889 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5890 (grub_xnu_boot_params_v2): New struct.
5891
58922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5895 zeroing of CRC field before computing CRC.
5896
58972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5900 Change order of allocations to decrease fragmentation.
5901
59022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5905
59062012-02-27 Colin Watson <cjwatson@ubuntu.com>
5907
5908 Use write-combining MTRR to speed up video with buggy BIOSes.
5909
5910 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5911 (cpuid): New define.
5912 (rdmsr): Likewise.
5913 (wrmsr): Likewise.
5914 (mtrr_base): Likewise.
5915 (mtrr_mask): Likewise.
5916 (grub_vbe_enable_mtrr_entry): New function.
5917 (grub_vbe_enable_mtrr): Likewise.
5918 (grub_vbe_disable_mtrr): Likewise.
5919 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5920 control off to BIOS.
5921 (grub_video_vbe_init): Fill mtrr.
5922 (grub_video_vbe_fini): Disable mtrr.
5923 (grub_video_vbe_get_info_and_fini): Likewise.
5924 (grub_video_vbe_setup): Enable mtrr.
5925
59262012-02-27 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * include/grub/partition.h (grub_partition_map): Change prototype of
5929 embed to take a maximum value for nsectors.
5930 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5931 * include/grub/fs.h (grub_fs): Likewise.
5932 * grub-core/partmap/msdos.c (embed_signatures): New array.
5933 (pc_partition_map_embed): Check for and avoid sectors matching any
5934 of the signatures in embed_signatures, up to max_nsectors.
5935 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5936 returned sector map to max_nsectors.
5937 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5938 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5939 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5940 * util/grub-setup.c (setup): Allow for the embedding area being
5941 split into multiple blocklists. Tell dest_partmap->embed the
5942 maximum number of sectors we care about.
5943
59442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5947 Specify blocklist_install and reserver_first_sector for all fs.
5948 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5949 blocklists.
5950
59512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-install.in: Clarify strings.
5954 Fix source dir check.
5955
59562012-02-27 Richard Laager <rlaager@wiktel.com>
5957
5958 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5959 "zfs" and "fuse.zfs" as synonyms.
5960
59612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * configure.ac: Put platform and target_cpu substitutions back since
5964 they are used for directories.
5965
59662012-02-27 Richard Laager <rlaager@wiktel.com>
59672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5970 * util/grub.d/20_linux_xen.in: Likewise.
5971
59722012-02-27 Richard Laager <rlaager@wiktel.com>
5973
5974 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5975 with full paths.
5976
59772012-02-27 Richard Laager <rlaager@wiktel.com>
5978
5979 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5980 unescape.
5981
59822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 Don't use insecure popen in getroot.
5985
5986 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5987 (exec_pipe): ... here.
5988 (find_root_devices_from_poolname): Use exec_pipe.
5989
59902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 Remove platform and target_cpu replacement.
5993
5994 * configure.ac: Remove platform and target_cpu substitutions.
5995 * tests/util/grub-shell.in: Use modinfo.
5996 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5997 explicitly.
5998
59992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 Autodetect platform in grub-install but allow override.
6002
6003 * util/grub-install.in: Autodetect platform. Support --target and
6004 --directory. Read platform from modinfo.sh.
6005
60062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 Support btrfs multi-volume probe.
6009
6010 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6011 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6012 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6013 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6014 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6015 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6016 grub_find_root_devices_from_btrfs if on btrfs.
6017
60182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 Remove any awareness of *.c util files about target.
6021
6022 * Makefile.util.def (grub-setup): Split to ...
6023 (grub-bios-setup): ... and this.
6024 (grub-sparc64-setup): ... and this.
6025 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6026 * docs/man/grub-setup.h2m: Split into ...
6027 * docs/man/grub-sparc64-setup.h2m: ... this.
6028 * docs/man/grub-bios-setup.h2m: ... and this.
6029 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6030 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6031 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6032 (grub_target_addr_t): Remove.
6033 (grub_target_size_t): Remove.
6034 (grub_target_ssize_t): Remove.
6035 * util/grub-install.in: Use new grub-*-setup.
6036 * util/grub-mkimagexx.c (Elf_Word): New define.
6037 (Elf_Half): Likewise.
6038 (Elf_Section): Likewise.
6039 (ELF_ST_TYPE): Likewise.
6040 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6041 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6042
60432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 Replace grub_target_addr with more appropriate types.
6046
6047 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6048 grub_target_addr with grub_addr.
6049 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6050 grub_target_addr with grub_port.
6051 (grub_cmd_write): Likewise.
6052 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6053 grub_target_addr with grub_addr.
6054 (grub_cmd_write): Likewise.
6055 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6056
60572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6060 const qualifier for vendor_guid.
6061
60622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6065 const qualifier.
6066 (efiemu_memequal): Likewise.
6067 (find_variable): Likewise.
6068
60692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 Fix missing console prototype on qemu-mips.
6072
6073 * include/grub/mips/qemu_mips/console.h: New file.
6074
60752012-02-27 Matthew Garrett <mjg@redhat.com>
60762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6079 * include/grub/efi/efi.h: Likewise.
6080 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6081 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6082 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6083 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6084 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6085 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6086
60872012-02-27 Matthew Garrett <mjg@redhat.com>
6088
6089 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6090
60912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6094 error.
6095
60962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * configure.ac: Remove inappropriate use of program_transform_name
6099 on grubdir and bootdir but allow explicit specification of those
6100 variables.
6101
61022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * util/grub-mknetdir.in (grub_prefix): Removed.
6105 (subdir): Use @bootdirname@ and @grubdirname@.
6106
61072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6110
61112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * po/POTFILES.in: Regenerated.
6114
61152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 Remove improper use of program_transform_name on pkglibrootdir.
6118
6119 * configure.ac (pkglibrootdir): Removed.
6120 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6121 * util/grub-mkimage.c: Likewise.
6122
61232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6126 warning.
6127
61282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * util/grub-install.in: Use file identifier if no UUID is available
6131 or user explicitly prompted for it.
6132
61332012-02-27 Navdeep Parhar <nparhar@gmail.com>
6134
6135 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6136 (freebsd_get_zfs): New function.
6137 (grub_freebsd_boot): Pass zfs UUID.
6138 (grub_cmd_freebsd): Set zfs UUID.
6139
61402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6143 pkglibrootdir.
6144
61452012-02-27 Mike Gilbert <floppym@gentoo.org>
6146
6147 Add configure flag to control libzfs integration.
6148
6149 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6150
61512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
6154 device.
6155 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
6156 small devices.
6157
61582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Remove grub_{modname}_init and grub_{modname}_fini. They should never
6161 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
6162 be used on non-modules.
6163
6164 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
6165 Rename to grub_boot_init.
6166 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
6167 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
6168 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
6169 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
6170 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
6171 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
6172 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
6173 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
6174 includes.
6175 (grub_machine_init): Remove empty inits.
6176 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6177 includes.
6178 (grub_machine_init): Remove empty inits.
6179 * grub-core/term/arc/console.c: Remove explicit proto.
6180 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6181 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6182 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6183 grub_at_keyboard_fini.
6184 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6185 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6186 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6187 grub_gfxterm_fini.
6188 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6189 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6190 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6191 grub_vgatext_fini.
6192 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6193 * grub-core/term/serial.c (GRUB_MOD_INIT)
6194 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6195 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6196 grub_serial_fini.
6197 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6198 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6199 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6200 grub_terminfo_fini.
6201 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6202 (GRUB_MOD_FINI): Likewise.
6203 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6204 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6205 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6206 grub_video_radeon_fuloong2e_fini.
6207 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6208 [LOONGSON]: Rename to grub_video_sis315pro_init.
6209 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6210 grub_video_sis315pro_fini.
6211 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6212 [LOONGSON]: Rename to grub_video_sm712_init.
6213 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6214 grub_video_sm712_fini.
6215 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6216 (grub_at_keyboard_fini): Likewise.
6217 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6218 Don't declare grub_{modname}_init.
6219 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6220 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6221 New proto.
6222 (grub_keylayouts_fini) [!EMU]: Likewise.
6223 * include/grub/serial.h (grub_serial_init) [!EMU]:
6224 New proto.
6225 (grub_serial_fini) [!EMU]: Likewise.
6226 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6227 New proto.
6228 (grub_terminfo_fini) [!EMU]: Likewise.
6229 * include/grub/video.h (grub_font_init) [!EMU]:
6230 New proto.
6231 (grub_font_fini) [!EMU]: Likewise.
6232 (grub_gfxterm_init) [!EMU]: Likewise.
6233 (grub_gfxterm_fini) [!EMU]: Likewise.
6234 (grub_video_sm712_init) [!EMU]: Likewise.
6235 (grub_video_sm712_fini) [!EMU]: Likewise.
6236 (grub_video_sis315pro_init) [!EMU]: Likewise.
6237 (grub_video_sis315pro_fini) [!EMU]: Likewise.
6238 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
6239 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
6240
62412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Make nand a prefix for nand devices.
6244
6245 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
6246
62472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
6250 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
6251
62522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * include/grub/env.h (grub_env_find): Remove prototype.
6255 * grub-core/kern/env.c (grub_env_find): Make static.
6256 (grub_env_set): Remove useless set.
6257
62582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/kern/i386/realmode.S: Remove useless align.
6261
62622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * include/grub/dl.h (grub_dl_load_file): Don't export.
6265
62662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
6269 grub_dprintf.
6270
62712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
6274 grub_errors.
6275 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
6276 not reloading whole superblock but only the part which is really needed.
6277 Remove useless grub_errors.
6278 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
6279 grub_errors.
6280
62812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 Don't export grub_get_rtc.
6284
6285 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
6286 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
6287
62882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
6291
62922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
6295 argument since it can be deduced from diskfilter. All users updated.
6296
62972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Remove prio_list.
6300
6301 * include/grub/list.h (grub_prio_list): Removed.
6302 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
6303 GRUB_COMMAND_PRIO_MASK.
6304 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
6305 GRUB_COMMAND_FLAG_ACTIVE.
6306 (grub_prio_list_insert): Removed.
6307 (grub_prio_list_remove): Likewise.
6308 (GRUB_AS_PRIO_LIST): Likewise.
6309 (GRUB_AS_PRIO_LIST_P): Likewise.
6310 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
6311 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
6312 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
6313 * grub-core/kern/command.c (grub_register_command_prio): Inline
6314 the prio_list code.
6315 (grub_unregister_command): Likewise.
6316
63172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 Fix interrupt mixup from previous commit.
6320
6321 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
6322 (grub_realidt): New var.
6323 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
6324 Load idt.
6325 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
6326 New declaration.
6327 (grub_relocator16_boot): Set grub_relocator16_idt.
6328 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
6329 (LOCAL(realidt)): ... this.
6330 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
6331 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
6332 (grub_realidt): New variable.
6333
63342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
6337 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
6338 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
6339 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
6340 Gettextize.
6341 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
6342 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
6343 * po/POTFILES.in: Regenerate.
6344
63452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6348 errors.
6349
63502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6353 \0.
6354 (add_length): Likewise.
6355
63562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
63572012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6358
6359 GDB serial and backtrace support.
6360
6361 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6362 (prot_to_real): Likewise.
6363 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6364 * grub-core/Makefile.core.def (backtrace): New module.
6365 (gdb): Likewise.
6366 * grub-core/gdb/cstub.c: New file.
6367 * grub-core/gdb/gdb.c: Likewise.
6368 * grub-core/gdb/i386/idt.c: Likewise.
6369 * grub-core/gdb/i386/machdep.S: Likewise.
6370 * grub-core/gdb/i386/signal.c: Likewise.
6371 * grub-core/lib/i386/backtrace.c: Likewise.
6372 * grub-core/lib/backtrace.c: Likewise.
6373 * include/grub/backtrace.h: Likewise.
6374 * include/grub/gdb.h: Likewise.
6375 * include/grub/i386/gdb.h: Likewise.
6376
63772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6380 New function.
6381 (add_length): Likewise.
6382 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6383 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6384 proto.
6385 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6386 __argp_get_display_len.
6387
63882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 $"..." support in scripts.
6391
6392 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6393 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6394 * grub-core/script/yylex.l: Likewise.
6395 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6396 value.
6397
63982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * gentpl.py: Remove obsolete pkglib_DATA handling.
6401
64022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6405 mailing list.
6406
6407 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6408 * util/grub-kbdcomp.in: Likewise.
6409 * util/grub-mkconfig.in: Likewise.
6410 * util/grub-mkconfig_lib.in: Likewise.
6411 * util/grub-mknetdir.in: Likewise.
6412 * util/grub-mkrescue.in: Likewise.
6413 * util/grub-mkstandalone.in: Likewise.
6414 * util/grub-reboot.in: Likewise.
6415 * util/grub-set-default.in: Likewise.
6416 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6417
64182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Remove GRUB_PREFIX.
6421
6422 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6423 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6424 used for backward compatibility.
6425
64262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 Add new all_video module.
6429
6430 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6431 * grub-core/Makefile.core.def (all_video): New module.
6432 * grub-core/genmoddep.awk: Generate dependency of all_video from
6433 video.lst.
6434 * grub-core/lib/fake_module.c: New file.
6435 * grub-core/normal/main.c (features): Add feature_all_video_module.
6436 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6437 don't do explicit search again.
6438 insmod all_video in load_video if available.
6439
64402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Another round of string clarification and adding TRANSLATORS comments.
6443
64442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6447
64482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6451 to grub_ssize_t.
6452 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6453 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6454
64552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6458 trailing newline implicitly. All users updated.
6459
64602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 Implement serial on IEEE1275 and EFI.
6463
6464 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6465 on emu. Mention arc and emu as the only platforms without serial
6466 support.
6467 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6468 ieee1275 platforms.
6469 * grub-core/term/efi/serial.c: New file.
6470 * grub-core/term/ieee1275/serial.c: Likewise.
6471 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6472 specification if no ns8250 driver is available.
6473 (grub_cmd_serial): Likewise.
6474 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6475 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6476 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6477 (grub_efi_parity_type_t): New type.
6478 (grub_efi_stop_bits_t): Likewise.
6479 (grub_efi_serial_io_interface): New struct.
6480 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6481 available for all interfaces.
6482 Add EFI and IEEE1275 fields.
6483 (grub_ofserial_init): New proto.
6484 (grub_efiserial_init): Likeiwse.
6485 * util/grub.d/00_header.in: Don't check for the presence of serial
6486 module.
6487
64882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6491 name as if it was an alias.
6492
64932012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/commands/lsacpi.c (options): Fix typo.
6496
64972012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Convert grub-emu to argp.
6500
6501 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6502 emu.
6503 * util/argp_common.c: Rename to ...
6504 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6505 Add missing includes.
6506 * grub-core/kern/emu/main.c: Convert to argp.
6507 * po/POTFILES.in: Regenerate.
6508 * util/grub-install.in (usage): Make first letter lowcase in messages
6509 for uniformity.
6510 * util/grub-setup.c (options): Likewise.
6511
65122012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6515 Put back accidently commented-out code.
6516
65172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6520 loop check using Brent algorithm.
6521 (grub_hfsplus_btree_search): Likewise.
6522
65232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * util/grub-install.in: Fix usage of wrong device for PreP install.
6526
65272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * conf/Makefile.common (CFLAGS_GNULIB): Add
6530 -Wno-unsafe-loop-optimizations.
6531 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
6532 on tools.
6533 * grub-core/commands/legacycfg.c: Add pragma to skip
6534 -Wunsafe-loop-optimizations.
6535 (check_password_md5_real): Fix loop counter type.
6536 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
6537 reading.
6538 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
6539 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
6540 loop condition.
6541 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
6542 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
6543 * grub-core/net/net.c (grub_net_route_address): Add safety loop
6544 condition.
6545 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
6546 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
6547 avoid possible infinite loops.
6548 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
6549 and -Wunsafe-loop-optimizations.
6550 * grub-core/script/yylex.l: Likewise.
6551 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
6552 (print_glyphs): Avoid infinite loops.
6553 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
6554
65552012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
6556
6557 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
6558 to avoid infinite loop.
6559 (disp_acpi_rsdt_table): Likewise.
6560
65612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/font/font.c (grub_font_load): Add support for default
6564 path for fonts ($prefix/fonts).
6565 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
6566 for checking if string is a path.
6567 * grub-core/normal/main.c (features): Add feature_default_font_path.
6568 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
6569 * util/grub.d/00_header.in: Use default directory if possible.
6570 * util/grub-install.in: Install unicode.pf2.
6571
65722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
6575 * po/Rules-swiss: New file.
6576 * po/swiss.sed: Likewise.
6577
65782012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/fs/btrfs.c (find_device): Fix typos.
6581 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
6582 * util/grub-mkrelpath.c (argp_parser): Likewise.
6583 Reported by: Yuri Chornoivan.
6584
65852012-02-23 Dalet Omega <daletomega@gmail.com>
6586
6587 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
6588 for usual informative messages.
6589
65902012-02-23 Dalet Omega <daletomega@gmail.com>
6591
6592 Starfield theme.
6593
6594 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
6595 * conf/Makefile.common: Define starfielddir.
6596 * configure.ac: Configure starfield.
6597 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
6598 * themes/starfield/README: Likewise.
6599 * themes/starfield/blob_w.png: Likewise.
6600 * themes/starfield/boot_menu_c.png: Likewise.
6601 * themes/starfield/boot_menu_e.png: Likewise.
6602 * themes/starfield/boot_menu_n.png: Likewise.
6603 * themes/starfield/boot_menu_ne.png: Likewise.
6604 * themes/starfield/boot_menu_nw.png: Likewise.
6605 * themes/starfield/boot_menu_s.png: Likewise.
6606 * themes/starfield/boot_menu_se.png: Likewise.
6607 * themes/starfield/boot_menu_sw.png: Likewise.
6608 * themes/starfield/boot_menu_w.png: Likewise.
6609 * themes/starfield/slider_c.png: Likewise.
6610 * themes/starfield/slider_n.png: Likewise.
6611 * themes/starfield/slider_s.png: Likewise.
6612 * themes/starfield/src/blob_nw.xcf: Likewise.
6613 * themes/starfield/src/bootmenu/: Likewise.
6614 * themes/starfield/src/bootmenu/center.xcf: Likewise.
6615 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
6616 * themes/starfield/src/bootmenu/side.xcf: Likewise.
6617 * themes/starfield/src/slider_c.xcf: Likewise.
6618 * themes/starfield/src/slider_n.xcf: Likewise.
6619 * themes/starfield/src/slider_s.xcf: Likewise.
6620 * themes/starfield/src/terminalbox/: Likewise.
6621 * themes/starfield/src/terminalbox/center.xcf: Likewise.
6622 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
6623 * themes/starfield/src/terminalbox/side.xcf: Likewise.
6624 * themes/starfield/starfield.png: Likewise.
6625 * themes/starfield/terminal_box_c.png: Likewise.
6626 * themes/starfield/terminal_box_e.png: Likewise.
6627 * themes/starfield/terminal_box_n.png: Likewise.
6628 * themes/starfield/terminal_box_ne.png: Likewise.
6629 * themes/starfield/terminal_box_nw.png: Likewise.
6630 * themes/starfield/terminal_box_s.png: Likewise.
6631 * themes/starfield/terminal_box_se.png: Likewise.
6632 * themes/starfield/terminal_box_sw.png: Likewise.
6633 * themes/starfield/terminal_box_w.png: Likewise.
6634 * themes/starfield/theme.txt: Likewise.
6635
66362012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * util/grub.d/00_header.in: Add missing export theme.
6639
66402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
6643 already included.
6644 Reported by: Eren D.
6645
66462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * conf/Makefile.common (grubdatadir): Removed.
6649 (Makefile.am): Move eveything grubdata to pkgdata.
6650
66512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/commands/acpihalt.c (get_sleep_type):
6654 Remove unused variable.
6655
66562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
6659 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
6660 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
6661 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
6662 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
6663 i18n with gettext no-op.
6664 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
6665 GRUB_ACPI_OPCODE_STRING_CONST.
6666 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
6667 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
6668
66692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * po/POTFILES.in: Regenerate.
6672
66732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
6676 -Wno-error=missing-noreturn.
6677
66782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
6681 condition to avoid possibly infinite loops.
6682 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
6683 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
6684
66852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
6688 condition to avoid possibly infinite loops.
6689
66902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
6693 on show_error.
6694
66952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
6698
66992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
6702
67032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * util/bin2h.c (usage): Add missing attribute noreturn.
6706
67072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
6710 if the size isn't divisible by 512.
6711
67122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Make list_push and list_remove functions rather than inline functions
6715 to decrease size and avoid aliasing violations.
6716
6717 * include/grub/list.h (grub_list_push): Move to ...
6718 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
6719 * include/grub/list.h (grub_list_remove): Move to ...
6720 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
6721
67222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
6725 and -Wunused-result.
6726
67272012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
6730 Reported by: Seth Goldberg
6731
67322012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
6735
67362012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
6737
6738 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
6739 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
6740 command line.
6741 * docs/grub.texi (Simple configuration): Document
6742 GRUB_CMDLINE_GNUMACH.
6743
67442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * conf/Makefile.common (platform_SCRIPTS): New variable.
6747 (platform_PROGRAMS): Likewise.
6748 * gentpl.py: Mark *,module and *.image for install.
6749 * grub-core/gdb_grub.in: Add a notice of expected environment.
6750 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
6751 (gmodule.pl): Likewise.
6752
67532012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 Replace grub_checkkey with grub_getkey_noblock.
6756
6757 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
6758 (grub_getkey_noblock): ... this. All users updated.
6759
67602012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/kern/emu/console.c: Move to ...
6763 * grub-core/term/emu/console.c: ...here.
6764 (grub_ncurses_getkey): Fix return value if no key is detected.
6765
67662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
6769 (grub_unit_test_fini): Likewise.
6770 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
6771
67722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * include/grub/test.h (GRUB_UNIT_TEST)
6775
67762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/script/execute.c (grub_script_break): Clarify logic.
6779 Better error handling.
6780 (grub_script_return): Likewise.
6781 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6782
67832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
6786 rimplicit redifinition.
6787
67882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6791 GRUB.
6792
67932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
6796 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
6797 prompt here.
6798
67992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
6802 as GRUB_ERR_BUG. Don't malloc if no device is available.
6803
68042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
6807 Mark calling with invalid term as GRUB_ERR_BUG.
6808
68092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
6812 packets rather than raising an error.
6813
68142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
6817 in if.
6818
68192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
6822 diagnostic to dprintf.
6823 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6824
68252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
6828 device name.
6829
68302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
6833 (grub_ntfs_iterate_dir): Likewise.
6834
68352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Efiemu stylistic fixes and gettext.
6838
6839 * grub-core/efiemu/i386/loadcore32.c
6840 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
6841 * grub-core/efiemu/i386/loadcore64.c
6842 (grub_arch_efiemu_relocate_symbols64): Likewise.
6843 * grub-core/efiemu/i386/pc/cfgtables.c
6844 (grub_machine_efiemu_init_tables): Likewise.
6845 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
6846 (grub_efiemu_loadcore_initXX): Add a filename argument.
6847 All users updated.
6848 Improved error message.
6849 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
6850 Add a filename argument.
6851 All users updated.
6852 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
6853 Reclassify double relocation as GRUB_ERR_BUG.
6854
68552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
6858 handling.
6859
68602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
6863 on partition.
6864
68652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6868
68692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Improve string. Gettextize.
6872
68732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6876 utils.
6877 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6878
68792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6882 [GRUB_UTIL]: New function.
6883 (insert_array) [GRUB_UTIL]: Store partmaps.
6884 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6885 partmaps.
6886 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6887 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6888 (probe_abstraction): Print diskfilter and not raid.
6889 Reported by: Lennart Sorensen
6890
68912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6894 * util/grub-mkimagexx.c (MASK3): New define.
6895 (add_value_to_slot_20b): Use MASK3.
6896 (add_value_to_slot_21): Likewise.
6897 (relocate_addresses): Fix format specification.
6898 (load_image): Explicitly init symtab_section.
6899
69002012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6903 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6904
69052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6908 on powerpc.
6909 Reported by: Lennart Sorensen
6910
69112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * gentpl.py: Add missing license header.
6914 * docs/grub.texi: Update copyright year.
6915
69162012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6917
6918 Source grub-mkconfig_lib from the build directory at build time.
6919 Suggested by: Vladimir Serbinenko.
6920
6921 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6922 * util/grub-install.in: Define pkgdatadir if not already set, and source
6923 grub-mkconfig_lib from there.
6924 * util/grub-kbdcomp.in: Likewise.
6925 * util/grub-mkconfig.in: Likewise.
6926 * util/grub-mknetdir.in: Likewise.
6927 * util/grub-mkrescue.in: Likewise.
6928 * util/grub-mkstandalone.in: Likewise.
6929 * util/grub-reboot.in: Likewise.
6930 * util/grub-set-default.in: Likewise.
6931 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6932
69332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 Increase warning level.
6936
6937 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6938 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6939 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6940 (TARGET_CFLAGS): Likewise.
6941 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6942 * grub-core/Makefile.core.def (decompressor_xz): Add
6943 -Wno-unreachable-code.
6944 (normal): Add -Wno-redundant-decls.
6945 (xzio): Add -Wno-unreachable-code.
6946 (lzopio): Add -Wno-redundant-decls -Wno-error.
6947 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6948 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6949 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6950 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6951 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6952 * grub-core/kern/i386/coreboot/init.c: Add exception to
6953 -Wsuggest-attribute=noreturn.
6954 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6955 * grub-core/kern/ia64/dl_helper.c: Likewise.
6956 * grub-core/kern/mips/dl.c: Likewise.
6957 * grub-core/kern/sparc64/dl.c: Likewise.
6958 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6959 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6960 (memcmp): Likewise.
6961 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6962 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6963 * grub-core/loader/mips/linux.c: Likewise.
6964 * grub-core/loader/multiboot_elfxx.c: Likewise.
6965 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6966 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6967 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6968 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6969 fixme.
6970 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6971 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6972 Fix prototype.
6973
69742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6977 address.
6978
69792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6982 Avoid improper use of strings.
6983 (grub_cmd_legacy_initrdnounzip): Likewise.
6984
69852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6988 attribute.
6989 (grub_util_info): Likewise.
6990 (grub_util_error): Likewise.
6991
69922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6995 * util/grub-fstest.c (fstest): Likewise.
6996
69972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7000 (grub_md_sha512_real): Likewise.
7001 (grub_util_get_geli_uuid): Likewise.
7002 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7003 (grub_util_biosdisk_open): Fix format specification.
7004 Respect format security.
7005 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7006 (xrealloc): Likewise.
7007 (xasprintf): Likewise.
7008
70092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/import_gcry.py: Include grub/crypto.h in init.c.
7012
70132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7016 (generate_image): Make prefix a const char *.
7017 Fix format specifications. Respect format security.
7018 Avoid void * arithmetics.
7019 Avoid shadowing.
7020 (argp_parser): Remove unused variable. Respect format security.
7021 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7022 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7023 (count_funcs): Remove unused variable.
7024 (relocate_addresses): Fix format specification.
7025 Disable x86-64 with elf32. Remove unused variables.
7026 (add_fixup_entry): Avoid shadowing.
7027 (make_reloc_section): Fix format specification.
7028 Use assert.
7029 (locate_sections): Fix format specifications.
7030 (load_image): Avoid shadowing.
7031
70322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7035 Fix format specifications. Respect format security.
7036 Don't translate already translated grub_errmsg.
7037 (argp_parser): Remove unused variable
7038
70392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7042
70432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7046 (main): Likewise. Use xmalloc. Respect format security.
7047
70482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7051 a const char *.
7052 (argp_parser): Remove unused variable.
7053
70542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7057 (add_pixel): Make static.
7058 (add_font): Likewise.
7059 (write_string_section): Make name and str a const char *.
7060 (write_be16_section): Make name a const char *.
7061 (print_glyphs): Make static.
7062 (write_font_ascii_bitmap): Likewise.
7063 (write_font_width_spec): Likewise.
7064 (write_font_pf2): Likewise.
7065 (argp_parser): Remove unused variable.
7066 Respect format security.
7067 (main): Avoid shadowing. Respect format security.
7068
70692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * util/grub-editenv.c (argp_parser): Make static.
7072 (create_envblk_file): Use xmalloc.
7073 (open_envblk_file): Likewise.
7074 Resepect format security.
7075 (set_variables): Respect format security.
7076
70772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * util/getroot.c (grub_find_device): Respect format security.
7080 (get_mdadm_uuid): Remove unused variable.
7081 (grub_util_pull_device): Dont call gettext on already translated
7082 grub_errmsg.
7083 (find_system_device): Remove unused variable.
7084 (grub_util_get_grub_dev): Likewise.
7085 (grub_make_system_path_relative_to_its_root): Respect format security.
7086
70872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * util/grub-fstest.c (execute_command): Make first argument
7090 a const char *.
7091 (read_file): Avoid shadowing.
7092 Reuse underlying error message if device open fails.
7093 (cmd_cmp): Respect format security.
7094 (root): Make const char *.
7095 (fstest): Remove args argument and use global copy.
7096 Respect format security.
7097 (argp_parser): Make static.
7098 (main): Make default_root const char *.
7099
71002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * util/grub-mount.c (root): Make const char *.
7103 (execute_command): Make first argument a const char *.
7104 (fuse_init): Respect format security.
7105 (argp_parser): Make static. Remove unused variable.
7106 (main): Make default_root a const char *.
7107 Respect format security.
7108
71092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * util/grub-probe.c (probe): Don't call gettext on already translated
7112 grub_errmsg.
7113 Remove unused variables.
7114 (argp_parser): Remove unused variable.
7115
71162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * util/grub-script-check.c (argp_parser): Remove unused variable.
7119 (main): Rename read to curread to avoid shadowing.
7120
71212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * util/misc.c (grub_util_write_image_at): Fix format specification.
7124 (grub_util_write_image): Likewise.
7125 (grub_script_execute_argument_to_string): Removed (unused).
7126 (grub_script_execute_menuentry): Likewise.
7127 (grub_putchar): Likewise.
7128
71292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7132 (FUNCTION) [GRUB_UTIL]: Likewise.
7133 (VARIABLE) [GRUB_UTIL]: Likewise.
7134
71352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7138 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7139
71402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7143 buffer.
7144
71452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7148 (LzmaEnc_SaveState): Removed (unused).
7149 (LzmaEnc_RestoreState): Likewise.
7150 (LzmaEnc_InitPriceTables): Made static.
7151 (LzmaEnc_Construct): Likewise.
7152 (LzmaEnc_FreeLits): Likewise.
7153 (LzmaEnc_Destruct): Likewise.
7154 (LzmaEnc_Init): Likewise.
7155 (LzmaEnc_InitPrices): Likewise.
7156 (LzmaEnc_Finish): Likewise.
7157 (LzmaEnc_PrepareForLzma2): Removed (unused).
7158 (LzmaEnc_MemPrepare): Likewise.
7159 (LzmaEnc_GetNumAvailableBytes): Likewise.
7160 (LzmaEnc_GetCurBuf): Likewise.
7161 (LzmaEnc_CodeOneMemBlock): Likewise.
7162
71632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
7166 (grub_util_ldm_embed): Likewise.
7167
71682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * util/grub-editenv.c (print_var): Rename name to varname to
7171 avoid shadowing.
7172 (main): Rename index to curindex to avoid shadowing.
7173 Make filename a const char *.
7174
71752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7178 to arg_getline to avoid shadowing.
7179
71802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7183 disk_ to avoid shadowing.
7184
71852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7188 curindex to avoid shadowing.
7189 Make static.
7190 (MatchFinder_GetNumAvailableBytes): Make static.
7191
71922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7195 avoid shadowing.
7196
71972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7200 argument from encrypt to do_encrypt to avoid shadowing.
7201
72022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7205 incorrect nesting of #if's.
7206
72072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7210 checks which are always false on some platforms.
7211 (grub_cmd_lsacpi): Likewise.
7212 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7213 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7214 Likewise.
7215
72162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7219 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7220
72212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7224 re_dfa_t to avoid breaking alignment invariants.
7225 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7226 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7227
72282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7231 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7232
72332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7236 Fix declaration.
7237
72382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
7241 conserve alignment invariants.
7242 (grub_ehci_ehcc_read16): Likewise.
7243 (grub_ehci_oper_read32): Likewise.
7244 (grub_ehci_oper_write32): Likewise.
7245 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7246 Conserve alignment invariants.
7247
72482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
7251 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
7252 declarations.
7253
72542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
7257 Remove unused variable.
7258
72592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
7262 Remove set in if.
7263
72642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * include/grub/net.h: Remove double declarations.
7267
72682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 Remove "payload" command in ia64 Linux loader since I couldn't
7271 find any evidence of it being used for anything.
7272 Replace "relocate" command with an environment variable
7273
7274 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
7275 fields.
7276 (ia64_boot_payload): Removed.
7277 (last_payload): Likewise.
7278 (RELOCATE_OFF): Likewise.
7279 (RELOCATE_ON): Likewise.
7280 (RELOCATE_FORCE): Likewise.
7281 (relocate): Likewise.
7282 (free_pages): Don't free payloads.
7283 (grub_load_elf64): Use common error messages.
7284 Use "linux_relocate" variable.
7285 Increase the space after boot_params.
7286 (grub_cmd_payload): Removed.
7287 (grub_cmd_relocate): Likewise.
7288 (grub_cmd_fpswa): Improve messages.
7289 (cmd_payload): Removed.
7290 (cmd_relocate): Likewise.
7291 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
7292 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
7293
72942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 Convert UHCI to DMA framework.
7297
7298 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
7299 (grub_uhci_pci_iter): Fill new members
7300 (grub_alloc_td): Use P2V and V2P functions.
7301 (grub_free_queue): Likewise.
7302 (grub_alloc_qh): Likewise.
7303 (grub_uhci_setup_transfer): Likewise.
7304 (grub_uhci_check_transfer): Likewise.
7305
73062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
7309 Remove assignment in if while on it.
7310
73112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * util/grub-mkstandalone.in: Fix modules directory.
7314
73152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
7318 on i386-pc target.
7319 (argp_parser): Accept "auto" as compression specification.
7320
73212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 Fix `help' with unloaded modules.
7324
7325 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
7326 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
7327 (grub_dyncmd_dispatcher): Small stylistic fix.
7328 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
7329 explicit help is requested.
7330
73312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
7334 Explicitly init restart while on it.
7335
73362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
7339 uninited variable.
7340
73412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/grub-mknetdir.in: Use . rather than source for POSIX
7344 compatibility.
7345
73462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7349
73502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7353 variable.
7354
73552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7358 without quotes.
7359
73602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7363
73642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7367 iteration of partitions.
7368
73692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 Improve gettext support. Stylistic fixes and error handling fixes while
7372 on it.
7373
73742012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7377 part. Instead setup the correct stack in RM.
7378 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7379 for stack.
7380 * include/grub/i386/relocator_private.h: New file.
7381
73822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7385 argument.
7386 * util/grub-fstest.c (options): Add missing DEVICE part.
7387
73882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 Clarify and unify messages.
7391
7392 * grub-core/commands/hashsum.c (options): Unify messages.
7393 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7394 literal-only message as translatable.
7395 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7396 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7397 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7398 commands.
7399 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7400 key, not the key used to unlock. Clarify what it's used for.
7401 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7402 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7403 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7404 * util/grub-editenv.c (options): Unify "verbose" message.
7405 * util/grub-fstest.c (read_file): Unify error message.
7406 (fstest): Add quotes around commands.
7407 (options): Unify "verbose" message.
7408 * util/grub-install.in: Add quotes around variable name.
7409 * util/grub-kbdcomp.in: Unify error message.
7410 * util/grub-mkfont.c (main): Likewise.
7411 * util/grub-mkrescue.in: Likewise.
7412 * util/grub-mklayout.c (options): Unify "verbose" message.
7413 * util/grub-mkstandalone.in: Unify help and verbose messages.
7414 * util/grub-mount.c (options): Unify "verbose" message.
7415 * util/grub-probe.c (options): Likewise.
7416 * util/grub-script-check.c (options): Likewise.
7417 * util/grub-setup.c (setup): Unify no-terminator message.
7418 (options): Use DEVICE and not DEV.
7419 Unify "verbose" message.
7420 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7421
74222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 Improve and unify messages.
7425
7426 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7427 name. All users updated.
7428 Print filename in error.
7429 (read_device_map): Print filename in error.
7430 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7431 (grub_util_get_os_disk): Likewise.
7432 (grub_util_biosdisk_get_grub_dev): Likewise.
7433 (grub_util_check_block_device): Likewise.
7434 (grub_util_check_char_device): Likewise.
7435 (grub_make_system_path_relative_to_its_root): Likewise.
7436 * util/grub-editenv.c (create_envblk_file): Likewise.
7437 (open_envblk_file): Likewise.
7438 (write_envblk): Likewise.
7439 * util/grub-fstest.c (cmd_cp): Likewise.
7440 (cmd_cat): Likewise.
7441 (cmd_cmp): Likewise.
7442 * util/grub-menulst2cfg.c (main): Likewise.
7443 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7444 (write_font_width_spec): Likewise.
7445 (write_font_pf2): Likewise.
7446 * util/grub-mkimage.c (generate_image): New argument outname.
7447 All users updated.
7448 Remove unreacheable message.
7449 (options): Unify messages.
7450 (help_filter): Likewise.
7451 * util/grub-mklayout.c (usage): Removed (unused).
7452 (main): Print filename in error.
7453 * util/grub-mkrescue.in: Fix wrong quoting.
7454 * util/grub-setup.c (setup): Print filename in error.
7455 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7456 (check_sas): Likewise.
7457 * util/misc.c (grub_util_get_fp_size): Removed.
7458 (grub_util_get_image_size): Print filename in error.
7459 (grub_util_read_at): Removed.
7460 (grub_util_read_image): Print filename in error.
7461 (grub_util_load_image): Likewise.
7462 (grub_util_write_image_at): New argument filename. All users updated.
7463 Print filename in error.
7464 (grub_util_write_image): New argument filename. All users updated.
7465 Print filename in error.
7466 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7467 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7468
74692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/Makefile.core.def (pxechain): New module.
7472 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7473 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7474 function.
7475 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7476 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7477
74782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7481 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7482 * include/grub/err.h (grub_error_saved): New struct.
7483 (grub_errmsg): Make array size explicit.
7484 * include/grub/misc.h (grub_error_save): New function.
7485 (grub_error_load): Likewise.
7486 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7487 (grub_error_push): Update `errno' member name.
7488 (grub_error_pop): Likewise
7489 * grub-core/net/tftp.c (tftp_data): New member save_err.
7490 (tftp_receive): Save error.
7491 (tftp_open): Restore error.
7492
74932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7496 to real mode down to execute A20-related code in protected mode as
7497 intended.
7498
74992012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7500
7501 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7502 NULL when the argument `level' has an unexpected value.
7503
75042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Move platform-dependent files from $prefix to $prefix/$platform.
7507
7508 * config.h.in (GRUB_TARGET_CPU): New definition.
7509 (GRUB_PLATFORM): Likewise.
7510 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7511 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7512 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7513 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7514 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7515 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7516 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7517 * grub-core/normal/term.c (read_terminal_list): Likewise.
7518 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7519 $prefix/locale.
7520 (grub_gettext_init_ext): Likewise.
7521 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
7522 grub_platform.
7523 * util/grub-install.in: Update directories.
7524 * util/grub-mknetdir.in: Likewise.
7525 * util/grub-mkrescue.in: Likewise.
7526
75272012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
7530 grub_error framework. All users updated.
7531
75322012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
7535 lists (by always binsearching), improve caching (cache strings
7536 used for binsearch, not only results), improve
7537 maintainability (by using more structured binary search) and correct
7538 error handling.
7539
75402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/script/execute.c (grub_script_return): Fix warning.
7543
75442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/script/execute.c (grub_script_return): Fix potential
7547 NULL-dereference.
7548 Reported by: Jim Meyering.
7549
75502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * po/POTFILES.in: Regenerate.
7553 * util/grub-install.in: Gettextize the strings missed in first pass.
7554
75552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * Makefile.util.def (grub-mkdevicemap): Removed.
7558 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
7559 * include/grub/util/deviceiter.h: Removed.
7560 * util/deviceiter.c: Likewise.
7561 * util/getroot.c (grub_util_get_os_disk): New function.
7562 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
7563 replacement for EFI.
7564 * util/grub-mkdevicemap.c: Removed.
7565 * util/grub-probe.c (probe): Handle PRINT_DISK.
7566 (argp_parser): Handle -t disk.
7567
75682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * util/grub-mkfont.c: Migrate to argp.
7571 * util/grub-mklayout.c: Likewise.
7572 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7573 * util/grub-mkrelpath.c: Likewise.
7574 * util/grub-probe.c: Likewise.
7575 * util/grub-script-check.c: Likewise.
7576
75772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * util/grub-reboot.in: Add missing datarootdir.
7580 Add missing newline.
7581 * util/grub-set-default.in: Add missing datarootdir.
7582 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
7583 * util/grub-mkrescue.in: Likewise.
7584
75852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7588
75892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * util/grub-kbdcomp.in: Add decent help and gettextize.
7592 * docs/man/grub-kbdcomp.h2m: New file.
7593
75942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 Migrate grub-mkimage.c to argp.
7597
7598 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
7599 (grub-setup): Likewise.
7600 * util/grub-setup.c (print_version): Move to ...
7601 * util/argp_common.c (print_version): ... here.
7602 * util/grub-setup.c (argp_program_version_hook): Move to ...
7603 * util/argp_common.c (argp_program_version_hook): ... here.
7604 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
7605 safety.
7606 * util/grub-mkimage.c (main): Migrate to argp.
7607
76082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * util/grub-mkrescue.in: Use same message as
7611 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
7612 for better translations.
7613
76142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
7617 options with generic grub-mkrescue.in with the goal of future
7618 merge.
7619
76202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/kern/mm.c: Add missing include of i18n.h
7623 * grub-core/lib/relocator.c: Likewise.
7624
76252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
7628 error.
7629 (allocate_pages): Check return value.
7630 Replace fatal with error.
7631 (grub_linux_boot): Replace printf with dprintf.
7632 Check find_mmap_size return value.
7633 Replace fatal with error.
7634 Don't call grub_machine_fini.
7635 (grub_load_elf64): Replace printf with dprintf.
7636 (grub_cmd_linux): Likewise.
7637 (grub_cmd_initrd): Likewise.
7638 (grub_cmd_payload): Likewise.
7639
76402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
7643 message.
7644 * grub-core/video/radeon_fuloong2e.c
7645 (grub_video_radeon_fuloong2e_setup): Likewise.
7646 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
7647 * grub-core/video/video.c (grub_video_set_mode): Don't override
7648 standard out of memory message.
7649
76502012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7651
7652 NetBSD disk wedge support.
7653
7654 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
7655 [__NetBSD__]: Handle NetBSD disk wedges.
7656 * util/getroot.c (convert_system_partition_to_system_disk)
7657 [__NetBSD__]: Likewise.
7658
76592012-02-03 Mark Wooding <mdw@distorted.org.uk>
7660
7661 * util/grub-mkconfig.in: Use umask rather than chmod to create
7662 grub.cfg.new to avoid insecure grub.cfg.
7663
76642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/commands/ls.c: Gettextize.
7667 * grub-core/commands/setpci.c: Likewise.
7668 * grub-core/commands/videotest.c: Likewise.
7669 * grub-core/disk/geli.c: Likewise.
7670 * grub-core/kern/mm.c: Likewise.
7671 * grub-core/lib/relocator.c: Likewise.
7672 * grub-core/loader/efi/appleloader.c: Likewise.
7673 * grub-core/loader/i386/xnu.c: Likewise.
7674 * grub-core/loader/ia64/efi/linux.c: Likewise.
7675 * grub-core/loader/xnu.c: Likewise.
7676 * grub-core/net/dns.c: Likewise.
7677 * grub-core/net/net.c: Likewise.
7678 * grub-core/script/lexer.c: Likewise.
7679 * grub-core/script/parser.y: Likewise.
7680 * grub-core/script/yylex.l: Likewise.
7681 * util/getroot.c: Likewise.
7682 * util/grub-setup.c: Likewise.
7683
76842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
7687 number.
7688
76892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
7692
76932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
7696 macro.
7697 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
7698 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
7699
77002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
7703 * util/grub-install.in: Gettextize.
7704 * util/grub-mkconfig.in: Likewise.
7705 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
7706 if not available.
7707 (grub_warn): Gettextize.
7708 * util/grub-mknetdir.in: Gettextize.
7709 * util/grub-mkrescue.in: Likewise.
7710 * util/grub-mkstandalone.in: Likewise.
7711 * util/grub-reboot.in: Likewise.
7712 * util/grub-set-default.in: Likewise.
7713 * util/grub.d/00_header.in: Likewise.
7714 * util/grub.d/10_hurd.in: Likewise.
7715 * util/grub.d/10_kfreebsd.in: Likewise.
7716 * util/grub.d/10_linux.in: Likewise.
7717 * util/grub.d/10_netbsd.in: Likewise.
7718 * util/grub.d/10_windows.in: Likewise.
7719 * util/grub.d/20_linux_xen.in: Likewise.
7720 * util/grub.d/30_os-prober.in: Likewise.
7721 * po/POTFILES-shell.in: Regenerate.
7722
77232012-02-03 Richard Laager <rlaager@wiktel.com>
7724
7725 * util/grub-mkimage.c (main): Fix format-security warning.
7726 * util/grub-mkrelpath.c (main): Likewise.
7727 * util/grub-probe.c (main): Likewise.
7728
77292012-02-03 Richard Laager <rlaager@wiktel.com>
7730
7731 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
7732 failure.
7733 Put back lost PRINT_DRIVE.
7734
77352012-02-03 Richard Laager <rlaager@wiktel.com>
7736
7737 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
7738 (grub_guess_root_devices): Replace strlen with sizeof.
7739 Avoid crash.
7740 (find_root_devices_from_poolname): Remove unused variable.
7741 Handle raidzN.
7742
77432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 Support install on multi-device filesystems.
7746
7747 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
7748 (grub_guess_root_devices): ...this. Return char **. All users updated.
7749 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
7750 Removed.
7751 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
7752 (find_root_devices_from_poolname): ... here.
7753 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
7754 Support zfs-fuse.
7755 (grub_guess_root_device): Rename to ...
7756 (grub_guess_root_devices): ... this. Return char **. All users updated.
7757 * util/grub-install.in: Handle multi-device filesystems.
7758 * util/grub-probe.c (probe). Make device_names a char **. Add delim
7759 argument. All users updated.
7760 Handle multi-device filesystems.
7761 Use 'delim' as separator.
7762 Remove device check to allow filesystems on file.
7763 (main): Support -0 argument. Handle multi-device.
7764 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
7765 Fix a cross-device check while on it.
7766 (arguments): Remove root_dev.
7767 (argp_parser): Remove -r.
7768 (main): Remove root_dev.
7769
77702012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
7773
77742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
7777 symbol.
7778 Reported by: NODA, Kai <nodakai>.
7779
77802012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 Fix ehci on amd64.
7783
7784 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
7785 pointers.
7786 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
7787 (grub_ehci_setup_qh): Likewise.
7788 (grub_ehci_find_qh): Likewise.
7789 (grub_ehci_transaction): Likewise.
7790 (grub_ehci_setup_transfer): Likewise.
7791 (grub_ehci_check_transfer): Likewise.
7792 (grub_ehci_portstatus): Likewise.
7793 (grub_ehci_detect_dev): Likewise.
7794 (grub_ehci_transfer_controller_data): New field td_last_phys.
7795 (grub_ehci_setup_transfer): Fill td_last_phys.
7796 (grub_ehci_check_transfer): Use td_last_phys.
7797
77982012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
7799
7800 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
7801 if no submenu is present.
7802
78032012-02-01 Aleš Nesrsta <starous@volny.cz>
7804
7805 CBI support.
7806
7807 * include/grub/usb.h (grub_usbms_protocol_t): New values
7808 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
7809 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
7810 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
7811 (grub_usbms_dev): Add subclass, protocol and intrpt.
7812 Remove in_maxsz and out_maxsz.
7813 (grub_usbms_reset): Rename to ...
7814 (grub_usbms_bo_reset): .. this.
7815 (grub_usbms_cbi_cmd): New function.
7816 (grub_usbms_cbi_reset): Likewise.
7817 (grub_usbms_reset): Likewise.
7818 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
7819 (grub_usbms_transfer): Rename to ...
7820 (grub_usbms_transfer_bo): ... this.
7821 (grub_usbms_transfer_cbi): Likewise.
7822 (grub_usbms_transfer): Likewise.
7823
78242012-02-01 Aleš Nesrsta <starous@volny.cz>
78252012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
7828 the support for the CS5536 modification thereos and few bugfixes.
7829
7830 * grub-core/Makefile.core.def (ehci): New module.
7831 * grub-core/bus/usb/ehci.c: New file.
7832 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
7833 port and hubaddr. All users updated.
7834 Save port and hubaddr into dev structure.
7835 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
7836 define.
7837 * include/grub/pci.h (grub_dma_phys2virt): New function.
7838 (grub_dma_virt2phys): Likewise.
7839 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
7840
78412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
7844 check as some mkfs implementations omit it.
7845
78462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7849
78502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
7853 Add new member volname2.
7854 (grub_jfs_label): Use volname2 if available.
7855
78562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
7859 over last_mounted as seen in image generated by mkfs.nilfs2.
7860 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
7861
78622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
7865 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
7866 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
7867
78682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7871 over the sector.
7872
78732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7876 subvolume name (by removing a bogus and useless check).
7877
78782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7881 sizeof while on it.
7882
78832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7886 (grub_scsi_read_capacity10): ... this.
7887 (grub_scsi_read_capacity16): New function.
7888 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7889 0xffffffff.
7890 Fix off-by-one error.
7891 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7892 64-bit unsigned.
7893 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7894 (grub_scsi_read_capacity10): ... this.
7895 (grub_scsi_read_capacity_data): Rename to ...
7896 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7897 (grub_scsi_read_capacity16): New struct.
7898 (grub_scsi_read_capacity16_data): Likewise.
7899 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7900 grub_scsi_cmd_read_capacity10.
7901 New command grub_scsi_cmd_read_capacity16.
7902
79032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 SCSI >2TiB support.
7906
7907 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7908 (grub_scsi_write16): Likewise.
7909 (grub_scsi_read): Use read16 when necessary.
7910 (grub_scsi_write): Likewise.
7911 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7912 (grub_scsi_write16): Likewise.
7913 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7914
79152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 SCSI write support (for usbms mainly).
7918
7919 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7920 a const pointer.
7921 (grub_scsi_write): Implement.
7922 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7923
79242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7927 variable.
7928
79292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7932
79332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * po/POTFILES.in: Regenerate.
7936
79372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7940 with grub_printf to avoid unnecessary fatal failure.
7941
79422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7945 (INT_MAX): Likewise.
7946 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7947 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7948 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7949 (strcpy): Likewise.
7950 (strstr): Likewise.
7951 (strchr): Likewise.
7952 (strncpy): Likewise.
7953 (strcat): Likewise.
7954 (strncat): Likewise.
7955 (strcoll): Likewise.
7956 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7957 (GRUB_INT_MAX): Likewise.
7958
79592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7962 unexpected error.
7963 (optimize_utf8): Likewise.
7964 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7965
79662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * grub-core/boot/i386/pc/lnxboot.S: Use
7969 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7970 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7971 location.
7972 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7973 definition.
7974 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7975
79762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7979 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7980 now to avoid double free.
7981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7982 hostdisk.
7983 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7984 * util/grub-probe.c (escape_of_path): Always return a new copy.
7985 (print_full_name): Escape path.
7986 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7987 Fix hints on abstractions.
7988
79892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7992 Don't add "root" line if no compatibility hont is available.
7993 Suggested by: Seth Goldberg.
7994
79952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7998 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7999 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8000 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8001
80022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8005
80062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * util/grub-pe2elf.c (ehdr): Make static.
8009 (shdr): Likewise.
8010 (num_sections): Likewise.
8011 (offset): Likewise.
8012
80132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 Eliminate ofpath limits and possible overflows.
8016
8017 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8018 (OF_PATH_MAX): Removed.
8019 (MAX_DISK_CAT): New const.
8020 (find_obppath): Use allocated rather than preallocated buffer.
8021 Return result. Argument of_path removed. All users updated.
8022 Add missing fdstat.
8023 (xrealpath): New function.
8024 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8025 Allocate rather than use preallocated buffer. All users updated.
8026 (__of_path_common): Use allocated rather than preallocatecd buffer.
8027 Return result. Argument of_path removed. All users updated.
8028 (vendor_is_ATA): Read only needed part form the file.
8029 (check_sas): Allocate depending on contents rather than fixed.
8030 (main) [STANDALONE]: Handle NULL result.
8031
80322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8035
80362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 Cryptodisk write support.
8039
8040 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8041 (grub_cryptodisk_decrypt): Moved logic to ...
8042 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8043 (grub_cryptodisk_write): Implement.
8044 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8045 (grub_util_fd_write): ... this. Make global.
8046 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8047
80482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * include/grub/list.h (grub_list_remove): Don't crash if element is
8051 removed twice.
8052
80532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 Rename ofconsole to console.
8056
8057 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8058 as sysnonym to console.
8059 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8060 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8061 Rename grub_ofconsole_ to grub_console_. All users updated
8062 (grub_console_term_output): Rename "ofconsole" to "console".
8063 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8064 as "console".
8065
80662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8069 handling.
8070 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8071 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8072 GRUB_DISK_DEVICE_FILE_ID.
8073
80742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8077 and improve performance.
8078
80792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8082 missing ieee1275/ prefix on whole disk.
8083
80842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8087 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8088
80892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8092
80932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 Merge common RAID and LVM logic to an abstract diskfilter.
8096 Add LDM support using the same framework.
8097
8098 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8099 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8100 (libgrubmods): Remove grub-core/disk/raid.c and
8101 grub-core/partmap/gpt.c.
8102 * grub-core/Makefile.core.def (ldm): New module.
8103 (raid): Renamed to diskfilter. All users updated.
8104 * grub-core/disk/raid.c: Moved to ...
8105 * grub-core/disk/diskfilter.c: ... here.
8106 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8107 (lv_num): New var.
8108 (find_array): Renamed to ...
8109 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8110 (grub_is_array_readable): Renamed to ...
8111 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8112 (insert_array): New argument id.
8113 (is_node_readable): New function.
8114 (scan_device): Rename to ...
8115 (scan_disk): .. this. Restrict to one disk.
8116 (scan_devices): New function.
8117 (grub_diskfilter_iterate): Support multi-LV.
8118 Skip invisible and nameless LVs.
8119 (grub_diskfilter_memberlist): Support multi-LV.
8120 (grub_diskfilter_read_node): New function.
8121 (grub_raid_read): Most of logic moved to ...
8122 (read_segment): ... here
8123 (read_lv): New function.
8124 (grub_diskfilter_get_vg_by_uuid): New function.
8125 (grub_diskfilter_make_raid): Likewise.
8126 * grub-core/disk/ldm.c: New file.
8127 * grub-core/disk/lvm.c (vg_list): Removed.
8128 (lv_count): Likewise.
8129 (scan_depth): Likewise.
8130 (is_lv_readable): Likewise.
8131 (grub_lvm_getvalue): Advance pointer past the number.
8132 (find_lv): Removed.
8133 (do_lvm_scan): Refactored into ...
8134 (grub_lvm_detect): ... this. Support raid.
8135 (grub_lvm_iterate): Removed.
8136 (grub_lvm_memberlist): Likewise.
8137 (grub_lvm_open): Likewise.
8138 (grub_lvm_close): Likewise.
8139 (read_lv): Likewise.
8140 (read_node): Likewise.
8141 (is_node_readable): Likewise.
8142 (is_lv_readable): Likewise.
8143 (grub_lvm_read): Likewise.
8144 (grub_lvm_write): Likewise.
8145 (grub_lvm_dev): Use diskfilter
8146 (GRUB_MOD_INIT): Likewise.
8147 (GRUB_MOD_FINI): Likewise.
8148 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8149 new interface.
8150 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8151 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8152 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
8153 grub_diskfilter_read_node.
8154 Fix a bug with xor.
8155 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
8156 grub_diskfilter_read_node.
8157 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
8158 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
8159 (grub_disk_dev_iterate): Move from here...
8160 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
8161 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8162 Make global.
8163 (grub_hostdisk_find_partition_start): Likewise.
8164 (grub_hostdisk_os_dev_to_grub_drive): New function.
8165 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
8166 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
8167 * util/getroot.c (make_device_name): ... here.
8168 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8169 Move to ...
8170 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
8171 * grub-core/kern/emu/hostdisk.c
8172 (convert_system_partition_to_system_disk): Move to ...
8173 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
8174 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
8175 * util/getroot.c (device_is_wholedisk): ... here.
8176 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8177 * util/getroot.c (find_system_device): ... here.
8178 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8179 Move to ...
8180 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8181 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8182 Move to ...
8183 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8184 Handle LDM.
8185 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8186 Move to ...
8187 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8188 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8189 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8190 DISKFILTER.
8191 * include/grub/raid.h: Renamed to ...
8192 * include/grub/diskfilter.h: ... this.
8193 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8194 (GRUB_RAID_LAYOUT_*): Make into array.
8195 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8196 (grub_diskfilter_vg): New struct.
8197 (grub_diskfilter_pv_id): Likewise.
8198 (grub_raid_member): Removed.
8199 (grub_raid_array): Likewise.
8200 (grub_diskfilter_pv): New struct.
8201 (grub_diskfilter_lv): Likewise.
8202 (grub_diskfilter_segment): Likewise.
8203 (grub_diskfilter_node): Likewise.
8204 (grub_diskfilter_get_vg_by_uuid): New proto.
8205 (grub_raid_register): Inline.
8206 (grub_diskfilter_unregister): Likewise.
8207 (grub_diskfilter_make_raid): New proto.
8208 (grub_diskfilter_vg_register): Likewise.
8209 (grub_diskfilter_read_node): Likewise.
8210 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8211 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8212 (grub_util_is_ldm): Likewise.
8213 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8214 (grub_hostdisk_find_partition_start): Likewise.
8215 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8216 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8217 New definition.
8218 (grub_gpt_partition_map_iterate): New proto.
8219 * include/grub/lvm.h (grub_lvm_vg): Removed.
8220 (grub_lvm_pv): Likewise.
8221 (grub_lvm_lv): Likewise.
8222 (grub_lvm_segment): Likewise.
8223 (grub_lvm_node): Likewise.
8224 * util/getroot.c [...]
8225 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8226 (probe_abstraction): Likewise.
8227 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8228 (main): Remove dead logic.
8229
82302012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 Simplify root device discover and don't fail when trying to open
8233 incorrect devices.
8234
8235 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8236 function.
8237 (get_diskname_from_path): Likewise.
8238 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
8239 of iterating.
8240
82412012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
8244
82452012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
8248 pastthe end.
8249
82502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * util/grub-install.in: Add missing \.
8253 Reported by: gentoofan
8254
82552012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
8258 (direct_read): Use correct compressed size.
8259 (grub_squash_read_data): Likewise.
8260
82612012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * docs/grub.texi (Platform limitations): New section.
8264 (Platform-specific operations): Likewise.
8265 * docs/grub-dev.texi (Porting): Likewise.
8266
82672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 IEEE1275 disk write support.
8270
8271 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
8272 const void *.
8273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
8274 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
8275 and seek loginc to ...
8276 (grub_ofdisk_prepare): ... here.
8277 (grub_ofdisk_write): Implement.
8278
82792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 ARC disk write support.
8282
8283 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
8284 (reopen): New argument writable. All users updated.
8285 Handle required access mode.
8286 (grub_arcdisk_write): Implement.
8287 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
8288 (grub_arc_firmware_vector): Make buffer to write a const buffer.
8289
82902012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
8293 (read_sblock): Don't attempt to read superblocks outside the disk size.
8294
82952012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
8298 first superblock to find the second one when possible.
8299
83002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * util/grub-install.in: Fix an ARC bug.
8303 Print a warning if no platform-specific setup is available.
8304
83052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 Use static allocation rather than scratch pointer in reed_solomon.
8308 It decreases its size significantly and avoids a variable in .text.
8309
8310 * grub-core/lib/reed_solomon.c (scratch): Removed.
8311 (chosenstat): New const or static array.
8312 (sigma): Likewise.
8313 (errpot): Likewise.
8314 (errpos): Likewise.
8315 (sy): Likewise.
8316 (mstat): Likewise.
8317 (errvals): Likewise.
8318 (eqstat): Likewise.
8319 (pol_evaluate): Replace x with log_x argument. All users updated.
8320 (syndroms): Removed.
8321 (gauss_solve): Use statically allocated arrays.
8322 (rs_recover): Likewise.
8323 Calculate syndroms directly.
8324 (decode_block): Use statically allocated arrays.
8325 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
8326 (main) [TEST]: Allow -DTEST -DSTANDALONE.
8327
83282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 Eliminate fixed limit on reed solomon decoder length.
8331
8332 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
8333 rather than hardcoding the address.
8334 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
8335 no_reed_solomon_length.
8336 Move gate_a20 to no-reed-solomon part.
8337 Don't force a particular size of no reed-solomon part.
8338 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8339 Removed.
8340 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
8341 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
8342
83432012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/commands/wildcard.c (match_files): Handle filenames
8346 without explicit device.
8347 (wildcard_expand): Don't add explicit device if not already present.
8348 * tests/grub_script_echo1.in: Add a new expansion test.
8349
83502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 Replace single-linked with double-linked lists. It results in more
8353 compact and more efficient code.
8354
8355 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8356 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8357 (grub_list_remove): Moved from here ...
8358 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8359 (grub_prio_list_insert): Set prev.
8360 * include/grub/list.h (grub_list): Add prev. All users updated.
8361
83622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 Handle newer autotools. Add some missing quotes while on it.
8365
8366 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8367 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8368 (pkgdata_DATA): ... here.
8369 * Makefile.util.def (update-grub_lib): Removed.
8370 * conf/Makefile.common (pkglib_DATA): Removed.
8371 (pkglib_SCRIPTS): Likewise.
8372 (pkgdata_DATA): New variable.
8373 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8374 needed.
8375 Add missing quotes.
8376 Remove unused variable while on it.
8377 * tests/util/grub-shell.in: Likewise.
8378 * util/grub-install.in: Likewise.
8379 * util/grub-mkconfig.in: Likewise.
8380 * util/grub-mknetdir.in: Likewise.
8381 * util/grub-mkrescue.in: Likewise.
8382 * util/grub-mkstandalone.in: Likewise.
8383 * util/grub.d/00_header.in: Likewise.
8384 * util/grub.d/10_hurd.in: Likewise.
8385 * util/grub.d/10_illumos.in: Likewise.
8386 * util/grub.d/10_kfreebsd.in: Likewise.
8387 * util/grub.d/10_linux.in: Likewise.
8388 * util/grub.d/10_netbsd.in: Likewise.
8389 * util/grub.d/10_windows.in: Likewise.
8390 * util/grub.d/20_linux_xen.in: Likewise.
8391 * util/grub.d/30_os-prober.in: Likewise.
8392 * util/update-grub_lib.in: Removed.
8393
83942012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
8395
8396 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8397 a workaround for intel problem.
8398
83992012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
84002012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
84012012-01-23 pfsmorigo
8402
8403 * util/grub-install.in: Support dd'in into PreP partition.
8404 * util/grub-probe.c (probe): Support discovering partition type.
8405 (main): Support -t msdos_parttype.
8406
84072012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8410 infinite recursion using counter.
8411 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8412 init to skip it if the magic check fails.
8413 (dec_stream_header): Init s->crc32.
8414
84152012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
84162012-01-22 Zachary Bedell <pendorbound@gmail.com>
84172012-01-22 Richard Laager <rlaager@wiktel.com>
8418
8419 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8420 All users updated.
8421 (find_bestub): Determine correct size.
8422 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8423 (scan_disk): Align the size down.
8424 Call check pool before find_bestub to have ashift.
8425
84262012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8429 dprintf in no-malloc zone.
8430
84312012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8432
8433 * configure.ac: Add back in test for limits.h.
8434
84352012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 Support 4K-sector NTFS.
8438
8439 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8440 (grub_ntfs_data): Remove blocksize.
8441 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8442 Remove data argument. All users updated.
8443
84442012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8447 being in .text to avoid dprel references.
8448 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8449 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8450 (grub_arch_highmemsize): Likewise.
8451 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8452 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8453 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8454
84552012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8458
8459 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8460 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8461
84622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8465 GRUB_UTIL.
8466 (grub_set_datetime_cmos): Likewise.
8467
84682012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 Make XZ compression parameters dependent on target and not host CPU.
8471
8472 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8473 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8474
84752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8478 set but not used variable.
8479
84802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8483 created when no uuid support is compiled into mkfs.reiser.
8484
84852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8488 (utf8_to_macroman): Do the opposite.
8489 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8490
84912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * configure.ac: Refise build qemu_mips w/o unifont.
8494
84952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 Eliminate grub_min/grub_max prone to overflow usage.
8498
8499 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8500 (poll_nonroot_hub): Likewise.
8501 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8502 (grub_affs_label): Likewise.
8503 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8504 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8505 (grub_hfs_label): Likewise.
8506 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8507 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8508 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8509 (zap_leaf_array_get): Likewise.
8510 (dnode_get_path): Likewise.
8511 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8512 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8513 * grub-core/script/execute.c (grub_script_break): Likewise.
8514 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8515 grub_max.
8516 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8517 * include/grub/misc.h (grub_min): Removed.
8518 (grub_max): Likewise.
8519
85202012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8521
8522 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
8523 direct.inode = 0.
8524
85252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8528
85292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8532
85332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
8536 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
8537
85382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
8541 rather than a hack for grub_strncasemap.
8542
85432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 Support multiple initrds
8546 Note: part of this was accidently committed in r3739.
8547
8548 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
8549 initrd.
8550 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8551 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8552 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8553 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8554 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8555
85562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
8559 disks with unknown size.
8560 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
8561
85622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 Remove defines pertaining to arbitrary limits not affecting GRUB
8565 anymore.
8566
8567 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
8568 (EXT2_MAX_SYMLINKCNT): Likewise.
8569 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
8570 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
8571 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
8572 (GRUB_PXE_MAX_BLKSIZE): Likewise.
8573 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
8574 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
8575 (DN_MAX_OBJECT_SHIFT): Likewise.
8576 (DN_MAX_OFFSET_SHIFT): Likewise.
8577 (DN_MAX_OBJECT): Likewise.
8578 (DNODES_PER_LEVEL_SHIFT): Likewise.
8579 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
8580 (SPA_MAXBLOCKSIZE): Likewise.
8581 (SPA_BLOCKSIZES): Likewise.
8582 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
8583 (MZAP_MAX_BLKSZ): Likewise.
8584
85852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
8588 handle NULL appropriately.
8589 Remove MIN.
8590
85912012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 Fix efiemu.
8594
8595 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
8596 cpu/types.h.
8597 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
8598 * configure.ac: Fix efiemu check.
8599
86002012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
8603 grub_probe.
8604 Reported by: adamwill
8605
86062012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8607
8608 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8609
86102012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 Fix handling of wide characters in gfxterm.
8613
8614 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
8615 (clear_char): Likewise.
8616 (paint_char): Skip code == NULL chars.
8617 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
8618
86192012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/normal/charset.c: Move comment to right place.
8622
86232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
8626 (GRUB_AFFS_FLAG_FFS): Put back where it was.
8627 (grub_affs_mount): Revert the correct version checking.
8628
86292012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * docs/grub.texi (Unicode): Mention several other unsupported features.
8632
86332011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
8636 case statements as compile-time one.
8637 (direct_read): Prevent spurious warnings.
8638 (grub_squash_read_data): Likewise.
8639
86402011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Various squash4 fixes and LZO and XZ support.
8643
8644 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
8645 Add xzembed source files.
8646 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
8647 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
8648 (grub_squash_inode): New subtype long_dir.
8649 (SQUASH_TYPE_LONG_DIR): New inode type.
8650 (COMPRESSION): New enum.
8651 (XZBUFSIZ): New const.
8652 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
8653 (read_chunk): Use data->decompress.
8654 (zlib_decompress): New function.
8655 (lzo_decompress): Likewise.
8656 (xz_decompress): Likewise.
8657 (squash_mount): Set new data fields.
8658 (grub_squash_iterate_dir): Handle long dir.
8659 (squash_unmount): Free xzdec and xzbuf.
8660 (grub_squash_open): Check ino type.
8661 (direct_read): Stylistic fixes. Use data->decompress.
8662 (grub_squash_read_data): Likewise.
8663 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
8664 (get_byte): Likewise.
8665 (grub_zlib_disk_read): Removed.
8666 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
8667 (GRUB_POSIX_BOOL_DEFINED): New define.
8668 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
8669 * grub-core/lib/xzembed/xz.h: Addmissing includes.
8670 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
8671 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
8672
86732011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 Don't override more informative errors.
8676
8677 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
8678 * grub-core/font/font.c (open_section): Likewise.
8679 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
8680 filename. Don't override errors.
8681 (grub_cmd_openbsd_ramdisk): Don't override errors.
8682 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
8683 (grub_cmd_initrd): Likewise.
8684 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8685 (grub_cmd_initrd): Likewise.
8686 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
8687 (grub_cmd_linux): Likewise.
8688 (grub_cmd_initrd): Likewise.
8689 (grub_cmd_payload): Likewise.
8690 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8691 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
8692 (grub_cmd_module): Likewise.
8693 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8694 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8695 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
8696 (grub_cmd_xnu_mkext): Likewise.
8697 (grub_cmd_xnu_ramdisk): Likewise.
8698 (grub_xnu_check_os_bundle_required): Likewise.
8699 (grub_xnu_load_kext_from_dir): Likewise.
8700 (grub_cmd_xnu_kextdir): Likewise.
8701 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
8702
87032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
8706 as 1024 in block size field. Found on one of my test images.
8707 Small optimisation while on it.
8708
87092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
8712 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
8713 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
8714 performance fixes while on it.
8715 (grub_sfs_close): Fix memory leak while on it.
8716 (grub_sfs_label): Convert Latin1 to UTF-8.
8717
87182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
8721 space to avoid overflows.
8722 (grub_hfs_label): Convert from macroman to UTF-8.
8723
87242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
8727
87282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
8731
87322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * unicode: Import Unicode 6.0 data.
8735
87362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
8739 outside of range.
8740
87412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 Avoid cutting in the middle of UTF-8 character.
8744
8745 * include/grub/charset.h (grub_getend): New function.
8746 * grub-core/script/function.c (grub_script_function_find): Use
8747 grub_getend.
8748 * grub-core/normal/completion.c (add_completion): Likewise.
8749
87502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
8753 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
8754 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
8755 (GRUB_UNICODE_TAG_END): Likewise.
8756 (GRUB_UNICODE_LAST_VALID): Likewise.
8757
87582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
8761 len and make it smaller. All users updated.
8762 * util/import_unicode.py: Put length and not end character.
8763 Check length.
8764
87652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Make better Unicode-compliant and unify some UTF-8 code pathes.
8768
8769 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
8770 valid character.
8771 (grub_is_valid_utf8): Use grub_utf8_process.
8772 Check resulting code range.
8773 (grub_utf8_to_ucs4): Use grub_utf8_process.
8774 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
8775 valid character.
8776
87772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
8780
87812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * docs/grub.texi (Filesystems): Mention AFS.
8784
87852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * docs/grub.texi (Filesystems): Clarify restrictions.
8788 (Regexp): Mention non-Unicode regexp behaviour.
8789 (Other): Mention non-Unicode matching behaviour.
8790
87912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 Make HFS implementation use MacRoman.
8794
8795 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
8796 (macroman): New const array.
8797 (macroman_to_utf8): New function.
8798 (utf8_to_macroman): Likewise.
8799 (grub_hfs_find_dir): Use utf8_to_macroman.
8800 (grub_hfs_dir): Use macroman_to_utf8.
8801 Set case_insensitive.
8802
88032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8806
88072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Integrate hints into autogeneration scripts.
8810
8811 * docs/grub.texi (Filesystems): Add a hostdisk example.
8812 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
8813 (grub-probe): Add ofpath.
8814 * gentpl.py: Remove group nosparc64.
8815 * grub-core/commands/search.c (cache_entry): New struct.
8816 (cache): New var.
8817 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
8818 * grub-core/commands/search_wrap.c (options): Add platform-specific
8819 hint options.
8820 (grub_cmd_search): Handle platform-specific hints.
8821 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
8822 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
8823 (grub_util_biosdisk_data): Likewise.
8824 (grub_util_biosdisk_open): Set device_map.
8825 (read_device_map): Handle "" as indication of no map.
8826 Set device_map.
8827 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
8828 (grub_util_biosdisk_get_compatibility_hint): New function.
8829 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
8830 * include/grub/emu/hostdisk.h
8831 (grub_util_biosdisk_get_compatibility_hint): New proto.
8832 * util/grub-install.in: Don't call grub-mkdevicemap.
8833 Add platform-specific hint to load.cfg.
8834 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
8835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8836 hints. Set root preliminary to compatibility hint, not to OS name.
8837 * util/grub-probe.c (PRINT_*): Add hints.
8838 (print): Make static.
8839 (escape_of_path): New function.
8840 (guess_bios_drive): Likewise.
8841 (guess_efi_drive): Likewise.
8842 (guess_baremetal_drive): Likewise.
8843 (print_full_name): Likewise.
8844 (probe): Handle hints.
8845 (main): Likewise.
8846 * util/ieee1275/devicemap.c: Removed.
8847 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
8848 updated.
8849 (grub_util_devname_to_ofpath): Return NULL on failure.
8850
8851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
8852 resource leak.
8853 * util/getroot.c (grub_util_pull_device): Fix memory leak.
8854
8855 * po/POTFILES.in: Regenerated.
8856
8857 Allow purely long options
8858
8859 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
8860 (SHORT_ARG_USAGE): Likewise.
8861 (grub_arg_show_help): Compare opt with help_options.
8862 (parse_option): Receive opt as argument. If makes big simplificatons.
8863 All users updated
8864
88652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8868 Restructure to avoid warning.
8869
88702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * util/grub-install.in: Account for possible escaped comma in device
8873 name.
8874
88752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8878 channel.
8879
88802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8883 allocation and zero-setting.
8884 (grub_ieee1275_get_devname): Check that alias is complete.
8885
88862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8889 unaligned segments.
8890
88912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8894 prefix.
8895 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8896 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8897 Add ieee1275 prefix.
8898
88992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * docs/grub.texi (Filesystems): Update.
8902
89032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 Support odc, newc and bigendian cpio formats.
8906
8907 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8908 * grub-core/Makefile.core.def (newc): New module.
8909 (odc): Likewise.
8910 (cpio_be): Likewise.
8911 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8912 (MAGIC): Likewise.
8913 (MAGIC2): Likewise.
8914 (head) [MODE_ODC]: Adapt for the format.
8915 (head) [MODE_NEWC]: Likewise.
8916 (head) [!MODE_*]: Write fields of interest as arrays.
8917 (MAGIC_USTAR): Removed.
8918 (read_number) [MODE_NEWC]: Change to hex.
8919 (read_number) [!MODE_*]: Parse binary arrays.
8920 (grub_cpio_find_file): Factor out the code for better structure and
8921 always use read_number.
8922 (grub_cpio_mount): Use MAGIC and MAGIC2.
8923 (grub_cpio_dir): Exit on first hook non-0 return.
8924 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8925 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8926 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8927 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8928 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8929 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8930 * grub-core/fs/newc.c: New file.
8931 * grub-core/fs/odc.c: Likewise.
8932 * grub-core/fs/cpio_be.c: Likewise.
8933
89342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 Fix handling of tar numbers occupying the whole field.
8937
8938 * grub-core/fs/cpio.c (read_number): New function.
8939 (grub_cpio_find_file): Use read_number instead of strtoull.
8940
89412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8944 occupying the whole field size.
8945
89462011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8947
8948 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8949
89502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8953
89542011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8955
8956 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8957 TARGET_IMG_LDFLAGS.
8958
89592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8962 (mountinfo_entry): Increase the field size to take escaping into
8963 account.
8964 (find_root_device_from_libzfs): Add one byte to size of strings for
8965 security.
8966
89672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8970 an assert.
8971 * util/grub-setup.c (setup): Likewise.
8972
89732011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8976 _LzmaDecodeA.
8977
89782011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * docs/grub.texi (Internationalisation): New section.
8981
89822011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * docs/grub.texi (Loopback booting): New section.
8985
89862011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
8987
8988 * util/grub-mkstandalone.in: Fix minor typo errors.
8989
89902011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8993
8994 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8995 net/icmp.c and net/icmp6.c.
8996 (http): New module.
8997 (priority_queue): Likewise.
8998 * grub-core/io/bufio.c: Rewritten.
8999 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9000 TYPE_WITH_CONFIGFILE_OPTION.
9001 (legacy_commands): Add bootp and dhcp.
9002 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9003 (grub_legacy_parse): Likewise.
9004 * grub-core/lib/priority_queue.c: New file.
9005 * grub-core/net/arp.c: Add missing license header.
9006 (arp_find_entry): Removed.
9007 (arp_find_entry): Likewise.
9008 (grub_net_arp_resolve): Rename to ...
9009 (grub_net_arp_send_request): ...this.
9010 (grub_net_arp_receive): New card argument.
9011 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9012 Set router and DNS server.
9013 (grub_net_configure_by_dhcp_ack): Handle routing information.
9014 (grub_cmd_bootp): Set checksum.
9015 (grub_bootp_init): Remove net_dhcp.
9016 * grub-core/net/dns.c: New file.
9017 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9018 completion.
9019 (get_card_packet): Handle allocation.
9020 (grub_efinet_findcards): Set mtu.
9021 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9022 (get_card_packet): Handle allocation.
9023 (emucard): Set mtu.
9024 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9025 (GRUB_MOD_INIT): Set mtu.
9026 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9027 mtu.
9028 (get_card_packet): Handle allocation.
9029 (grub_ofnet_findcards): Set mtu.
9030 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9031 assert.
9032 (grub_net_recv_ethernet_packet): Handle IPv6.
9033 * grub-core/net/http.c: New file.
9034 * grub-core/net/icmp.c: Likewise.
9035 * grub-core/net/icmp6.c: Likewise.
9036 * grub-core/net/ip.c (ip6addr): New type.
9037 (ip6hdr): Likewise.
9038 (reassemble): Likewise.
9039 (cmp): New function.
9040 (reassembles): New variable.
9041 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9042 (id): New variable.
9043 (send_fragmented): New function.
9044 (grub_net_send_ip_packet): Rename to ...
9045 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9046 Handle non-UDP.
9047 (grub_net_recv_ip_packets): Rename to ...
9048 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9049 (free_rsm): New function.
9050 (free_old_fragments): Likewise.
9051 (grub_net_recv_ip4_packets): New function.
9052 (grub_net_send_ip6_packet): Likewise.
9053 (grub_net_send_ip_packet): Likewise.
9054 (grub_net_recv_ip6_packets): Likewise.
9055 (grub_net_recv_ip_packets): Likewise.
9056 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9057 (LINK_LAYER_CACHE_SIZE): New const.
9058 (link_layer_find_entry): New function.
9059 (grub_net_link_layer_add_address): Likewise.
9060 (grub_net_link_layer_resolve_check): Likewise.
9061 (grub_net_link_layer_resolve): Likewise.
9062 (grub_net_ipv6_get_slaac): Likewise.
9063 (grub_net_ipv6_get_link_local): Likewise.
9064 (grub_cmd_ipv6_autoconf): Likewise.
9065 (parse_ip): Handle one number representation.
9066 (parse_ip6): New functoion.
9067 (match_net): Handle IPv6.
9068 (grub_net_resolve_address): Handle IPv6 and DNS.
9069 (grub_net_resolve_net_address): Handle IPv6.
9070 (route_cmp): New function.
9071 (grub_net_route_address): Find best route.
9072 (grub_net_addr_to_str): Handle IPv6.
9073 (grub_net_addr_cmp): New function.
9074 (grub_net_add_addr): Register local route.
9075 (print_net_address): Handle net address.
9076 (grub_net_poll_cards): Retransmit TCP.
9077 (grub_net_poll_cards_idle_real): Likewise.
9078 (have_ahead): New function.
9079 (grub_net_seek_real): Use underlying seek.
9080 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9081 * grub-core/net/tcp.c: New file.
9082 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9083 (cmp): New function.
9084 (ack): Likewise.
9085 (tftp_receive): Handle unordered input.
9086 (destroy_pq): New function.
9087 (tftp_close): Close pq.
9088 * grub-core/net/udp.c: Put missing license header.
9089 (grub_net_udp_socket): New function.
9090 (udp_socket_register): Likewise.
9091 (grub_net_udp_close): Likewise.
9092 (grub_net_recv_udp_packet): Check checksum.
9093 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9094 * include/grub/misc.h (grub_memchr): New function.
9095 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9096 (grub_net_card_driver): Return buf in recv.
9097 (grub_net_slaac_mac_list): New struct.
9098 (grub_network_level_protocol_id): Add ipv6.
9099 (grub_net_network_level_addr): Likewise.
9100 (grub_net_network_level_net_addr): Likewise.
9101 (grub_net_app_protocol): Add seek.
9102 (grub_net_socket): Removed.
9103 (grub_net_sockets): Likewise.
9104 (grub_net_socket_register): Likewise.
9105 (grub_net_socket_unregister): Likewise.
9106 (FOR_NET_SOCKETS): Likewise.
9107 (grub_net_add_addr): Add const.
9108 (GRUB_NET_BOOTP_*): New enum.
9109 (grub_net_addr_cmp): New proto.
9110 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9111 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9112 (grub_net_hwaddr_to_str): NEw proto.
9113 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9114 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9115 (grub_dns_init): New proto.
9116 (grub_dns_fini): Likewise.
9117 (grub_net_tcp_retransmit): Likewise.
9118 (grub_net_link_layer_add_address): Likewise.
9119 (grub_net_link_layer_resolve_check): Likewise.
9120 (grub_net_link_layer_resolve): Likewise.
9121 (grub_net_dns_lookup): Likewise.
9122 (grub_net_add_dns_server): Likewise.
9123 (grub_net_remove_dns_server): Likewise.
9124 (GRUB_NET_TRIES): New const.
9125 (GRUB_NET_INTERVAL): Likewise.
9126 * include/grub/net/arp.h: Mostly rewritten.
9127 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9128 * include/grub/net/ip.h: Mostly rewritten.
9129 * include/grub/net/netbuff.h: Indent.
9130 * include/grub/net/tcp.h: New file.
9131 * include/grub/net/udp.h: Mostly rewritten.
9132 * include/grub/priority_queue.h: New file.
9133 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9134 (grub_swap_bytes64_compile_time): Likewise.
9135 (grub_cpu_to_be16_compile_time): Likewise.
9136 (grub_cpu_to_be32_compile_time): Likewise.
9137 (grub_cpu_to_be64_compile_time): Likewise.
9138 (grub_be_to_cpu64_compile_time): Likewise.
9139
91402011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9143 UINT_TO_PTR with cast.
9144
91452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9148 don't use them.
9149
91502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9153 already there.
9154
91552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
9158 confusing ipxe.
9159
91602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
9163 Add missing const attribute.
9164 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
9165 Likewise.
9166 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
9167 Likewise.
9168
91692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
9172 misaligned access.
9173 (serpent_setkey): Likewise.
9174 (serpent_encrypt_internal): Likewise.
9175 (serpent_decrypt_internal): Likewise.
9176 (serpent_encrypt): Don't put an alignment-increasing cast.
9177 (serpent_decrypt): Likewise.
9178 (serpent_test): Likewise.
9179
91802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9183
91842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9187
9188 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9189 grub_addr_t casts.
9190 (PTR_TO_UINT64): Likewise.
9191 (PTR_TO_UINT32): Likewise.
9192
91932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9196 because of stack.
9197 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9198 limit.
9199
92002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9203 text_width > available width a bit more gracefully.
9204
92052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9208 current address calculation.
9209
92102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9213 stack.
9214 (encode_block): Likewise.
9215
92162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9219 certainety.
9220
92212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9224 non-RS part to avoid RS messing with GDT.
9225 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9226 Increase to suit in realmode routines.
9227
92282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/kern/i386/realmode.S: Increase alignment.
9231 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9232
92332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9236 be deterministic.
9237 (syndroms): Compute 0 syndrom.
9238 (rs_recover): Use 0 syndrom.
9239
92402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
9243
92442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
9247 brackets.
9248
92492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
9252 account.
9253 (get_top_pad): Likewise.
9254 (get_right_pad): Likewise.
9255 (get_bottom_pad): Likewise.
9256
92572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9260
92612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
9264 attribute as the structure isn't guaranteed to be properly aligned.
9265 (grub_efi_pci_device_path): Likewise.
9266 (grub_efi_pccard_device_path): Likewise.
9267 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
9268 specify the size of `memory_type'.
9269 (grub_efi_vendor_device_path): Likewise.
9270 (grub_efi_controller_device_path): Likewise.
9271 (grub_efi_acpi_device_path): Likewise.
9272 (grub_efi_expanded_acpi_device_path): Likewise.
9273 (grub_efi_atapi_device_path): Likewise.
9274 (grub_efi_scsi_device_path): Likewise.
9275 (grub_efi_fibre_channel_device_path): Likewise.
9276 (grub_efi_1394_device_path): Likewise.
9277 (grub_efi_usb_device_path): Likewise.
9278 (grub_efi_usb_class_device_path): Likewise.
9279 (grub_efi_i2o_device_path): Likewise.
9280 (grub_efi_mac_address_device_path): Likewise.
9281 (grub_efi_ipv4_device_path): Likewise.
9282 (grub_efi_ipv6_device_path): Likewise.
9283 (grub_efi_infiniband_device_path): Likewise.
9284 (grub_efi_uart_device_path): Likewise.
9285 (grub_efi_vendor_messaging_device_path): Likewise.
9286 (grub_efi_hard_drive_device_path): Likewise.
9287 (grub_efi_cdrom_device_path): Likewise.
9288 (grub_efi_vendor_media_device_path): Likewise.
9289 (grub_efi_file_path_device_path): Likewise.
9290 (grub_efi_protocol_device_path): Likewise.
9291 (grub_efi_piwg_device_path): Likewise.
9292 (grub_efi_bios_device_path): Likewise.
9293
92942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
9297 (grub_ucs4_to_utf8_alloc): Likewise.
9298 (grub_ucs4_to_utf8): Likewise.
9299 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
9300 (grub_ucs4_to_utf8_alloc): Likewise.
9301
93022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 AFFS never uses unicode.
9305
9306 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
9307 (grub_latin1_to_utf8): New inline function.
9308 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
9309
93102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
9313 overflow.
9314
93152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
9318 (grub_squash_dirent_header): Likewise.
9319 (read_chunk): Don't double swap.
9320 (grub_squash_iterate_dir): Fix swap sizes.
9321
93222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9325
93262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
9329 (grub_hfs_iterate_dir): Likewise.
9330
93312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Fix video on platforms where unaligned access is forbidden.
9334 Make several optimisations while on it.
9335
9336 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
9337 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9338 (grub_video_fbblit_replace_32bit_1bit): Likewise.
9339 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9340 Disable.
9341 (grub_video_fbblit_replace_16bit_1bit):
9342 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9343 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9344 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
9345 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9346 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9347 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9348 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9349 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9350 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9351 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9352 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9353 (grub_video_fbblit_replace_index_RGB888): Likewise.
9354 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9355 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9356 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9357 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9358 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9359 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9360 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9361 Disable.
9362 (grub_video_fbblit_blend_XXX565_1bit):
9363 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9364 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9365 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9366 void *.
9367 * grub-core/video/fb/video_fb.c (common_blitter)
9368 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9369 (grub_video_fb_create_render_target_from_pointer)
9370 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9371 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9372 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9373 definition.
9374 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9375
93762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9379 HH22 and HM10 relocations.
9380
93812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9384
93852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9388 allocation succeeded.
9389
93902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9393 argument a u8 pointer. All users updated.
9394 Handle unaligned buffers.
9395
93962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9399 add_part to workaround compiler bug.
9400
94012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9404
94052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9408 Reserve alignment invariants.
9409 (grub_multiboot_load): Likewise.
9410 (retrieve_video_parameters): Likewise.
9411 (grub_multiboot_make_mbi): Likewise.
9412
94132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9416 incorrect pointer.
9417
94182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9421 (grub_pata_pio_write): Likewise.
9422
94232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 Add noreturn attributes and remove unreachable code.
9426
9427 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9428 code.
9429 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9430 code. Mark as noreturn.
9431 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9432 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9433 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9434 unreachable code.
9435 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9436 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9437 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9438 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9439 * include/grub/kernel.h (grub_main): Mark as noreturn.
9440 * include/grub/reader.h (grub_rescue_run): Likewise.
9441
94422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9445 redundant declaration.
9446
94472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9450 redundant declaration.
9451 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9452
94532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9456 to ensure alignment.
9457 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9458 alignment. Ensure tmp alignment.
9459 (grub_cmd_hdparm): Ensure buf alignment.
9460 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9461 to ensure alignment.
9462 (grub_ata_dumpinfo): Ensure text alignment.
9463 (grub_atapi_identify): Preserve alignment invariant.
9464 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9465
94662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9469 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9470 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9471 * include/grub/misc.h (grub_reboot)
9472 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9473 (grub_halt) [__mips__]: Likewise.
9474
94752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9478 Remove redundant declaration.
9479 (grub_mmap_get_post64): Likewise.
9480 (grub_mmap_get_upper): Likewise.
9481 (grub_mmap_get_lower): Likewise.
9482
94832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9486 uint32_t * to ensure alignment.
9487 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9488
94892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9492 uint16_t * to ensure alignment.
9493 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9494 alignment.
9495
94962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
9499 to ensure alignment.
9500 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9501
95022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9505 Handle unaligned pointers.
9506 (u32at): Likewise.
9507 (u64at): Likewise.
9508 (fixup): Use byte access instead of v16at.
9509 (find_attr): Fix imporper usage of v32at.
9510 (read_data): Likewise.
9511 (list_file): Handle byte-swapping and unaligned strings.
9512 (grub_ntfs_label): Likewise.
9513
95142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9517 as it's not necessarily aligned.
9518
95192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
9522 redundant declaration.
9523 (grub_serial_init): Likewise.
9524 (grub_terminfo_init): Likewise.
9525
95262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
9529 function.
9530 (ZAP_HASH_IDX): Likewise.
9531 (ZAP_LEAF_HASH_SHIFT): Likewise.
9532 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
9533 (LEAF_HASH): Likewise.
9534 (ZAP_LEAF_NUMCHUNKS): Likewise.
9535 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
9536 alignment invariants. Return pointer. All users updated.
9537 (ZAP_LEAF_ENTRY): Make into inline function.
9538 (NBBY): Removed.
9539 (xor): LIkewise.
9540 (xor_out): Use grub_crypto_xor.
9541 (dnode_get_path): Use grub_get_unaligned.
9542 (nvlist_find_value): Likewise.
9543 (grub_zfs_nvlist_lookup_uint64): Likewise.
9544 (grub_zfs_nvlist_lookup_string): Likewise.
9545 (get_nvlist_size): Likewise.
9546 (grub_zfs_open): Likewise.
9547 (fill_fs_info): Likewise.
9548 (grub_zfs_dir): Likewise.
9549 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
9550 alignment invariants.
9551 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
9552 necessarily aligned.
9553
95542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9557
95582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
9561 arithmetic to conserve alignment invariants.
9562
95632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
9566 redundant declaration.
9567 (grub_efiemu_mm_obtain_request): Likewise.
9568 (grub_efiemu_prepare): Likewise.
9569
95702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
9573 to match types.
9574
95752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
9578 case of aunaligned recptr.
9579 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
9580 alignment.
9581 (grub_hfsplus_btree_search): Handle unaligned index.
9582
95832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
9586 to get freetag and skip.
9587
95882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
9591 array.
9592 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
9593 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
9594
95952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
9598 name for checksum and fix allocation algorithm.
9599
96002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * include/grub/types.h (grub_properly_aligned_t): New type.
9603 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
9604 (grub_get_unaligned16): Add explicit casts.
9605 (grub_get_unaligned32): Likewise.
9606 (grub_get_unaligned64): Likewise.
9607 (grub_set_unaligned16): New function.
9608 (grub_set_unaligned32): Likewise.
9609
96102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9613
96142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
9617 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
9618 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
9619
96202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
9623 conditionals.
9624
96252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
9628 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
9629
96302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 Unify and improve RAID and crypto xor.
9633
9634 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
9635 changed to grub_crypto_xor
9636 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
9637 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
9638 Use bigger types when possible.
9639
96402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/disk/raid.c (scan_devices): Fix condition.
9643
96442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
9647 Make name a const ptr.
9648
96492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
9652 first argument a const pointer.
9653 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
9655 proto.
9656 (grub_children_iterate): Likewise.
9657 (grub_machine_mmap_iterate): Remove redundant declaration.
9658
96592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
9662 (grub_cmd_acpi) [!x86]: Disable EBDA.
9663
96642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 Enable UTF8 in gnulib regexp.
9667
9668 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
9669 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
9670 (isupper): Use grub_isupper.
9671 (isascii): New inline function.
9672 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
9673 * grub-core/lib/posix_wrap/wctype.h: Likewise.
9674 * grub-core/normal/charset.c (grub_utf8_process): New function.
9675 (grub_utf8_to_utf16): Use grub_utf8_process.
9676 (grub_encode_utf8_character): New function.
9677 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
9678 * include/grub/charset.h (grub_utf8_process): New declaration.
9679 (grub_encode_utf8_character): Likewise.
9680 * include/grub/misc.h (grub_islower): New inline function.
9681 (grub_isupper): Likewise.
9682 (grub_strchrsub): Moved down to fix the definitions.
9683
96842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
9687 specification.
9688
96892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * include/grub/loader.h (grub_loader_register_preboot_hook):
9692 Use struct preboot * and not void * for handle. All users updated.
9693 (grub_loader_unregister_preboot_hook): Likewise.
9694
96952011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
9698 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
9699 UTF-16-BE. All users updated.
9700 (grub_hfsplus_cmp_catkey): Fix unicode handling.
9701 (grub_hfsplus_iterate_dir): Likewise.
9702 (grub_hfsplus_label): Likewise.
9703
97042011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
9707
97082011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 Add missing const qualifiers.
9711
9712 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
9713 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
9714 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
9715 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
9716 (grub_lvm_check_flag): Likewise.
9717 * grub-core/efiemu/i386/coredetect.c
9718 (grub_efiemu_get_default_core_name): Likewise
9719 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9720 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
9721 * grub-core/fs/ntfs.c (fixup): Likewise.
9722 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
9723 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
9724 (fzap_lookup): Likewise.
9725 (zap_lookup): Likewise.
9726 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
9727 * grub-core/lib/legacy_parse.c (check_option): Likewise.
9728 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
9729 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
9730 (grub_freebsd_add_meta_module): Likewise.
9731 (grub_cmd_freebsd_module): Likewise.
9732 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
9733 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
9734 (grub_xnu_writetree_get_size): Likewise.
9735 (grub_xnu_writetree_toheap_real): Likewise.
9736 (grub_xnu_find_key): Likewise.
9737 (grub_xnu_create_key): Likewise.
9738 (grub_xnu_create_value): Likewise.
9739 (grub_xnu_register_memory): Likewise.
9740 (grub_xnu_check_os_bundle_required): Likewise.
9741 (grub_xnu_scan_dir_for_kexts): Likewise.
9742 (grub_xnu_load_kext_from_dir): Likewise.
9743 * grub-core/normal/color.c (color_list): Likewise.
9744 * grub-core/normal/completion.c (current_word): Likewise.
9745 * grub-core/normal/menu_entry.c (insert_string): Likewise.
9746 * grub-core/term/serial.c (grub_serial_find): Likewise.
9747 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
9748 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
9749 Likewise.
9750 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
9751 (grub_freebsd_add_meta_module): Likewise.
9752 * include/grub/lib/arg.h (grub_arg_option): Likewise.
9753 * include/grub/net.h (grub_net_card_driver): Likewise.
9754 (grub_net_card): Likewise.
9755 (grub_net_app_protocol): Likewise.
9756 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
9757 * include/grub/serial.h (grub_serial_find): Likewise.
9758 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
9759 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
9760 (grub_xnu_create_value): Likewise.
9761 (grub_xnu_find_key): Likewise.
9762 (grub_xnu_scan_dir_for_kexts): Likewise.
9763 (grub_xnu_load_kext_from_dir): Likewise.
9764
9765 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
9766 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
9767 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
9768 Moved from here ...
9769 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
9770
97712011-11-28 Colin Watson <cjwatson@ubuntu.com>
9772
9773 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
9774
97752011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
9778 (read_device): Fix size calculation.
9779
97802011-11-25 Robert Millan <rmh@gnu.org>
9781
9782 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
9783 (find_root_device_from_libzfs): Add zpool output parser to be used
9784 as fallback when libzfs isn't available.
9785
97862011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9787
9788 * po/Makefile.in.in: Add missing escape-continuation.
9789
97902011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9793
97942011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9797
97982011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9801
98022011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9805
98062011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * grub-core/lib/adler32.c: Add missing license specification.
9809 * grub-core/lib/crc64.c: Likewise.
9810 * grub-core/loader/i386/pc/plan9.c: Likewise.
9811 * grub-core/partmap/plan.c: Likewise.
9812
98132011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
9814
9815 Add facility to debug GRUB with gdb under qemu.
9816
9817 * grub-core/gdb_grub.in: New file.
9818 * grub-core/gmodule.pl.in: Likewise.
9819 * grub-core/Makefile.core.def (gmodule.pl): New script.
9820 (gdb_grub): Likewise.
9821
98222011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * util/grub-mount.c (argp_parser): Accept relative pathes.
9825 * util/grub-fstest.c (argp_parser): Likewise.
9826
98272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 Plan9 support.
9830
9831 * Makefile.util.def (libgrubmods): Add
9832 grub-core/partmap/plan.c.
9833 * docs/grub.texi: Notice Plan9 support.
9834 * grub-core/Makefile.core.def (plan9): New module.
9835 (part_plan): Likewise.
9836 * grub-core/loader/i386/pc/plan9.c: New file.
9837 * grub-core/partmap/plan.c: Likewise.
9838 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
9839 define.
9840 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
9841 * include/grub/mm.h (grub_extend_alloc): New inline function.
9842
98432011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 Make Reed-Solomon faster by using power of generator representation of
9846 GF(256)*.
9847
9848 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
9849 (gf_double_t): Likewise.
9850 (gf_invert): Removed.
9851 (gf_powx): New array.
9852 (gf_powx_inv): Likewise.
9853 (scratch): Move higher.
9854 (gf_reduce): Removed.
9855 (gf_mul): Use powx.
9856 (gf_invert): Likewise.
9857 (init_inverts): Replaced with ...
9858 (init_powx): ...this. All users updated.
9859 (pol_evaluate): Replace multiplications with additions.
9860 (rs_encode): Likewise.
9861 (gauss_eliminate): Call gf_invert.
9862 (grub_reed_solomon_add_redundancy): Call init_powx.
9863 (grub_reed_solomon_recover): Call init_powx unconditionally.
9864
98652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9868
98692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9872 disk->partiton for safety.
9873
98742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9877 Fix a memory leak.
9878 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9879
98802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9883
98842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9887
98882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 Fix spaces handling in proc/self/mountinfo.
9891
9892 * util/getroot.c (unescape): New function.
9893 (grub_find_root_device_from_mountinfo): Use unescape.
9894
98952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 Support ZFS embedding.
9898
9899 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9900 (grub_zfs_fs): Register grub_zfs_embed.
9901
99022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 Fix MIPS compilation.
9905
9906 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9907 * include/grub/offsets.h: Rename decompressor fields from
9908 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9909 * util/grub-mkimage.c (image_targets): Use new names.
9910
99112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 Defer multiboot device parsing until we're in compressed part.
9914
9915 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9916 bsd_part. setdevice has fallen into disuse.
9917 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9918 (bsd_part): Likewise.
9919 (boot_dev): New variable.
9920 (multiboot_trampoline): Don't parse multiboot device.
9921 Pass multiboot device in %edx.
9922 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9923 grub_boot_device.
9924 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9925 Likewise.
9926 * grub-core/kern/i386/pc/startup.S: Save edx.
9927 (grub_boot_drive): Removed.
9928 (grub_install_dos_part): Likewise.
9929 (grub_install_bsd_part): Likewise.
9930 (grub_boot_device): New variable.
9931 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9932 (grub_install_bsd_part): Likewise.
9933 (grub_boot_drive): Likewise.
9934 (grub_boot_device): New variable.
9935 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9936 Removed.
9937 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9938 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9939 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9940 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9941 * util/grub-install.in: Remove redundant condition.
9942
99432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 Fix bug introduced by previous commit.
9946
9947 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9948
99492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 Use decompressors framework on i386-pc. It increases core size
9952 by 46 bytes but improves compatibility and maintainability.
9953
9954 * grub-core/Makefile.core.def (lzma_decompress): New image.
9955 (kernel): Add i386_pc_ldflags.
9956 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9957 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9958 to real_to_prot, prot_to_real and device info.
9959 * include/grub/offsets.h: Renamed decompressor offsets.
9960 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9961 (image_target_desc): Remove raw_size and rename decompressor fields.
9962 (compress_kernel): Handle lzma.
9963 (generate_image): Handle decompressors on i386-pc.
9964
99652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * configure.ac: Add -fno-asynchronous-unwind-tables.
9968
99692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 Move assembly code to C by using intwrap. It increases core size
9972 by 88 bytes but improves compatibility and maintainability.
9973
9974 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9975 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9976 ... here. Translated to C.
9977 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9978 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9979 ... here. Translated to C.
9980 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9981 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9982 ... here. Translated to C.
9983 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9984 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9985 ... here. Translated to C.
9986 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9987 * grub-core/term/i386/pc/console.c (grub_console_cls):
9988 ... here. Translated to C.
9989 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9990 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9991 ... here. Translated to C.
9992 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9993 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9994 Translated to C.
9995 * grub-core/term/i386/pc/console.c (int10_9): New function.
9996 (grub_console_putchar): Likewise.
9997 * include/grub/i386/pc/console.h: Removed the not anymore shared
9998 functions.
9999
100002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 Move grub_chainloader_real_boot out of the kernel.
10003
10004 * grub-core/Makefile.am: Remove machine/loader.h.
10005 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10006 Removed.
10007 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10008 variable.
10009 (grub_relocator16_keep_a20_enabled): Likewise.
10010 (grub_relocator16_boot): Fill new variables.
10011 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10012 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10013 relocator.
10014 (grub_chainloader_unload): Likewise.
10015 (grub_chainloader_cmd): Likewise.
10016 * include/grub/i386/pc/loader.h: Removed.
10017 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10018 and esi. All initialisers updated.
10019
100202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
100212011-11-12 Colin Watson <cjwatson@ubuntu.com>
10022
10023 * Makefile.util.def (grub-mount): New util.
10024 * .bzrignore: Add grub-mount.
10025 * configure.ac: Check for fuse and enable grub-mount if available.
10026 * docs/man/grub-mount.h2m: New file.
10027 * util/grub-mount.c: Likewise.
10028
100292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/commands/efi/fixvideo.c: Gettextize.
10032 * grub-core/commands/hashsum.c: Likewise.
10033 * grub-core/commands/i386/cmostest.c: Likewise.
10034 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10035 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10036 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10037 * grub-core/commands/lsmmap.c: Likewise.
10038 * grub-core/commands/menuentry.c: Likewise.
10039 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10040 * grub-core/commands/setpci.c: Likewise.
10041 * grub-core/loader/i386/bsd.c: Likewise.
10042 * grub-core/loader/i386/linux.c: Likewise.
10043 * util/getroot.c: Likewise.
10044 * util/grub-editenv.c: Likewise.
10045 * util/grub-fstest.c: Likewise.
10046 * util/grub-mkfont.c: Likewise.
10047 * util/grub-mkimage.c: Likewise.
10048 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10049 * util/grub-pe2elf.c: Likewise.
10050 * util/grub-probe.c: Likewise.
10051 * util/grub-setup.c: Likewise.
10052 * util/ieee1275/ofpath.c: Likewise.
10053 * util/misc.c: Likewise.
10054 * util/raid.c: Likewise.
10055
100562011-11-11 Robert Millan <rmh@gnu.org>
10057
10058 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10059 __attribute__((unused)) from `os_dev', which *is* being used.
10060
100612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10064 forgotten define.
10065 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10066 GRUB_IA64_DL_GOT_ALIGN.
10067 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10068 GRUB_IA64_DL_TRAMP_ALIGN.
10069
100702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 Replace grub_fatal with normal errors in i386 linux loader.
10073
10074 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10075 (allocate_pages): Check find_efi_mmap_size return value.
10076 (grub_e820_add_region): Return error.
10077 (grub_linux_boot): Check mmap return value.
10078
100792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/commands/acpihalt.c: Gettextized.
10082 * grub-core/commands/cacheinfo.c: Likewise.
10083 * grub-core/commands/cmp.c: Likewise.
10084 * grub-core/commands/efi/loadbios.c: Likewise.
10085 * grub-core/commands/gptsync.c: Likewise.
10086 * grub-core/commands/ieee1275/suspend.c: Likewise.
10087 * grub-core/commands/legacycfg.c: Likewise.
10088 * grub-core/commands/memrw.c: Likewise.
10089 * grub-core/commands/minicmd.c: Likewise.
10090 * grub-core/commands/parttool.c: Likewise.
10091 * grub-core/commands/time.c: Likewise.
10092 * grub-core/commands/videoinfo.c: Likewise.
10093 * grub-core/disk/geli.c: Likewise.
10094 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10095 * grub-core/disk/luks.c: Likewise.
10096 * grub-core/disk/lvm.c: Likewise.
10097 * grub-core/font/font_cmd.c: Likewise.
10098 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10099 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10100 * grub-core/gfxmenu/view.c: Likewise.
10101 * grub-core/kern/emu/hostdisk.c: Likewise.
10102 * grub-core/kern/emu/main.c: Likewise.
10103 * grub-core/kern/emu/misc.c: Likewise.
10104 * grub-core/kern/emu/mm.c: Likewise.
10105 * grub-core/kern/mips/arc/init.c: Likewise.
10106 * grub-core/kern/mips/loongson/init.c: Likewise.
10107 * grub-core/kern/partition.c: Likewise.
10108 * grub-core/lib/i386/halt.c: Likewise.
10109 * grub-core/lib/mips/arc/reboot.c: Likewise.
10110 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10111 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10112 * grub-core/loader/i386/xnu.c: Likewise.
10113 * grub-core/loader/multiboot.c: Likewise.
10114 * grub-core/net/bootp.c: Likewise.
10115 * grub-core/net/net.c: Likewise.
10116 * grub-core/normal/term.c: Likewise.
10117 * grub-core/partmap/bsdlabel.c: Likewise.
10118 * grub-core/parttool/msdospart.c: Likewise.
10119 * grub-core/term/gfxterm.c: Likewise.
10120 * grub-core/term/terminfo.c: Likewise.
10121 * grub-core/video/i386/pc/vbe.c: Likewise.
10122 * util/grub-menulst2cfg.c: Likewise.
10123 * util/grub-mkdevicemap.c: Likewise.
10124 * util/grub-mklayout.c: Likewise.
10125 * util/grub-mkrelpath.c: Likewise.
10126 * util/grub-script-check.c: Likewise.
10127 * util/ieee1275/grub-ofpathname.c: Likewise.
10128 * util/resolve.c: Likewise.
10129
101302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 Support %1$d syntax.
10133
10134 * tests/printf_unit_test.c: New file.
10135 * Makefile.util.def (printf_test): New test.
10136 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10137
101382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10141 fix.
10142
101432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10146 dprintf.
10147 * grub-core/font/font.c (grub_font_load): Likewise.
10148
101492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * util/grub-macho2img.c: Add comment concerning gettext.
10152 * grub-core/lib/legacy_parse.c: Likewise.
10153
101542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
10157 (grub_xvasprintf): Likewise.
10158
101592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 Add const keyword to grub_env_get and gettextize week days.
10162
10163 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
10164 (grub_read_hook_datetime): Return const char *.
10165 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
10166 updated.
10167 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10168 Mark for gettext.
10169 (grub_get_weekday_name): Return const char *. Call gettext.
10170 * grub-core/script/argv.c (grub_script_argv_append): Receive const
10171 char * and len as the argument. All users updated.
10172 (grub_script_argv_split_append): Receive const char *.
10173 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
10174 * include/grub/env.h (grub_env_get): Likewise.
10175 (grub_env_read_hook_t): Return const char *.
10176 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10177 (grub_script_argv_split_append): Likewise.
10178
101792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10182
101832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10186 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10187
101882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10191 Fix prototype.
10192
101932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 Fix mips compilation.
10196
10197 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10198 normal decoder.
10199 (hashes): Use in embed decoder as well (for sizes).
10200 (dec_stream_header): Fix embed decompressor logic.
10201 (dec_stream_footer): Likewise.
10202
102032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10206 an error and not a fatal on unrecognised relocation types.
10207
102082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10211 Issue error rather than printf on unknown arguments.
10212
102132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10216 Make buf a const.
10217
102182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10221 Fix module name.
10222
102232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10226 leftover debug printf.
10227
102282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10231
102322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10235 A stylistic fix.
10236
102372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
10240
102412011-11-10 Shea Levy <slevy@tieronedesign.com>
10242
10243 Allow all modules to perform serial IO
10244
10245 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
10246 * include/grub/serial.h (grub_serial_port_configure): New inline
10247 function.
10248 (grub_serial_port_fetch): Likewise.
10249 (grub_serial_port_put): Likewise.
10250 (grub_serial_port_fini): Likewise.
10251 (grub_serial_find): New proto.
10252
102532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 Put symlink at the end of the node and fix a potential
10256 memory corruption.
10257
10258 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
10259 Make symlink into an array.
10260 (set_rockridge): Set have_symlink and alloc_dirents.
10261 (grub_iso9660_read_symlink): Use new layout.
10262 (grub_iso9660_iterate_dir): Fix memory corruption.
10263 Use new layout.
10264 (grub_iso9660_dir): Set have_symlink.
10265 (grub_iso9660_open): Likewise.
10266
102672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 Remove local keyword.
10270
10271 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
10272 (version_test_gt): Likewise.
10273 (version_find_latest): Likewise.
10274 (gettext_printf): Likewise.
10275 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
10276
102772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
10280
102812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Fix ZFS memory and resource leaks.
10284
10285 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
10286 All users updated.
10287 Free type on exit.
10288 (fill_vdev_info): New parameter inserted. All users updated.
10289 (check_pool_label): Likewise.
10290 (scan_disk): Likewise.
10291 (scan_devices): Close non-inserted disks.
10292 (fzap_iterate): Free l.
10293 (unmount_device): Free children descripto memory.
10294
102952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
10298 argument (access out of bounds).
10299
103002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
10303 >= 6 drives.
10304
103052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
10308 Fix declaration.
10309
103102011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 Fix several memory leaks.
10313
10314 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
10315 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
10316 (grub_cpio_dir): Likewise.
10317 * grub-core/fs/fat.c (grub_fat_label): Likewise.
10318 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
10319 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
10320 (grub_romfs_label): Likewise.
10321 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
10322 (squash_unmount): New function.
10323 (grub_squash_dir): Fix memory leak.
10324 (grub_squash_open): Likewise.
10325 (grub_squash_read): Likewise.
10326 (grub_squash_mtime): Likewise.
10327 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
10328 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
10329 * util/grub-fstest.c (fstest): Likewise.
10330
103312011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
10334 avoid accessing beyond the array.
10335
103362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10339
103402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 Several AFFS fixes.
10343
10344 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10345 (GRUB_AFFS_FLAG_FFS): Removed.
10346 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10347 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10348 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10349 (grub_fshelp_node): Make block 32-bit.
10350 Add block_cache and last_block_cache.
10351 (grub_affs_read_block): Fill and use block cache.
10352 (grub_affs_read_file): Removed.
10353 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10354 boot block.
10355 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10356 safety.
10357 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10358 space.
10359 (grub_affs_close): Free block cache.
10360 (grub_affs_read): Use grub_fshelp_read_file directly.
10361
103622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10365 with no error set.
10366
103672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10370 used variable.
10371 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10372 Likewise.
10373
103742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10377
10378 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10379 byteswap when needed.
10380
103812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 Fix FreeBSD compilation.
10384
10385 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10386 to avoid circular dependency.
10387 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10388 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10389 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10390
103912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 Fix ZFS crypto error types.
10394
10395 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10396 (grub_gcm_decrypt): Likewise.
10397 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10398 from PBKDF2.
10399
104002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 Illumos support.
10403
10404 * Makefile.util.def (10_illumos): New script.
10405 * configure.ac: Set COND_HOST_ILLUMOS.
10406 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10407 Support Illumos calls.
10408 (find_partition_start) [__sun__]: Likewise.
10409 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10410 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10411 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10412 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10413 device.
10414 * util/grub-probe.c (probe) [__sun__]: Do character check.
10415 * util/grub.d/10_illumos.in: New file.
10416
104172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Support escaped commas in hostdisk.
10420
10421 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10422 (find_grub_drive): Use unescape_cmp.
10423 (make_device_name): Escape commas.
10424
104252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10428
104292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10432 variable.
10433
104342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 Support trampoline jumps on powerpc.
10437
10438 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10439 __ia64__ path.
10440 (grub_dl_load_segments): Set mod->sz.
10441 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10442 segments.
10443 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10444 (jump): Likewise.
10445 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10446 function.
10447 (trampoline): New struct.
10448 (trampoline_template): New const.
10449 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10450 * include/grub/dl.h (grub_dl): Add sz element.
10451 [__powerpc__]: Follow __ia64__.
10452 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10453 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10454 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10455 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10456
104572011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 ZFS crypto support.
10460
10461 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10462 * grub-core/Makefile.core.def (zfscrypt): New module.
10463 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10464 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10465 it. All users updated.
10466 (grub_zfs_decrypt): New var.
10467 (grub_zfs_load_key): Likewise.
10468 (zio_checksum_functions): Add SHA256+MAC.
10469 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10470 (zio_read): Handle encrypted blocks.
10471 (zap_verify): Remove incorrect check.
10472 (fzap_iterate): Handle non-standard fzap.
10473 (zap_iterate): Likewise.
10474 (zap_iterate_u64): New function.
10475 (dnode_get_fullpath): Load keys.
10476 * grub-core/fs/zfs/zfscrypt.c: New file.
10477 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10478 (grub_crypto_ecb_encrypt): Make input const.
10479 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10480 (grub_crypto_ecb_encrypt): Make input const.
10481 (GRUB_CIPHER_AES): New macro.
10482 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10483 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10484 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10485 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10486 prefix. All users updated.
10487 (grub_zfs_add_key): New proto.
10488 (grub_zfs_decrypt): Likewise.
10489 (grub_zfs_load_key): Likewise.
10490 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10491 * util/grub-fstest.c (options): Add -K option.
10492 (argp_parser): Likewise.
10493
104942011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 Support zle compression on ZFS.
10497
10498 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10499 (decomp_table): Add zle.
10500 * include/grub/zfs/zio.h (zio_compress): Add zle.
10501
105022011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 Support BtrFS embedding.
10505
10506 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10507 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10508 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10509 * util/grub-setup.c (setup): Use fs embedding if available.
10510 Add additional sanity check.
10511
105122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * util/grub-install.in: Fix condition for config_opt.
10515
105162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 Support third redundancy strip on raidz3.
10519
10520 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10521 Return error on singularity. All users updated.
10522 (read_device): Don't stop on 3rd failure on raidz3.
10523
105242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 Support case-insensitive ZFS subvolumes.
10527
10528 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
10529 All users updated.
10530 (zap_hash): Likewise.
10531 (name_cmp): New function.
10532 (zap_leaf_array_equal): New parameter case_insensitive.
10533 All users updated.
10534 (zap_leaf_lookup): Likewise.
10535 (fzap_lookup): Likewise.
10536 (zap_lookup): Likewise.
10537 (dnode_get_path): New parameter case_insensitive. Retrieve case
10538 sensitiviness of a volume. All users updated.
10539 (dnode_get_fullpath): New parameter case_insensitive.
10540 All users updated.
10541 (grub_zfs_dir): Set info.case_insensitiveness.
10542
105432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 Support second redundancy strip on raidz(2,3).
10546
10547 * grub-core/fs/zfs/zfs.c (powx): New array.
10548 (powx_inv): Likewise.
10549 (poly): New const.
10550 (xor_out): New function.
10551 (gf_mul): Likewise.
10552 (recovery): Likewise.
10553 (read_device): Use second redundancy strip.
10554
105552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 Use a power of generator representation of GF(256) multiplication group
10558 to save space time and complexity.
10559
10560 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
10561 (raid6_table2): Likewise.
10562 (powx): New array.
10563 (powx_inv): Likewise.
10564 (poly): New const.
10565 (grub_raid_block_mul): Replace with ...
10566 (grub_raid_block_mulx): ...this.
10567 (grub_raid6_init_table): Rewritten.
10568 (grub_raid6_recover): Use power of generator representation.
10569
105702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
10573 for the right device.
10574
105752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
10578 expected by grub-mkimage and it's more clear since there is no implicit
10579 padding.
10580
105812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
10584 disk.
10585 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10586
105872011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10588
10589 * util/grub-mkrescue.in: Fix handling xorriso option.
10590
105912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
10594 NULL.
10595
105962011-11-03 crocket <crockabiscuit@gmail.com>
10597
10598 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10599
106002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 XZ CRC64 and SHA256 support.
10603
10604 * Makefile.util.def (libgrubmods): Add crc64.c.
10605 * grub-core/Makefile.core.def (crc64): New module.
10606 * grub-core/lib/crc64.c: New file.
10607 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
10608 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
10609 Fix the type.
10610 (MAX_HASH_SIZE): New define.
10611 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
10612 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
10613 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10614 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10615 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
10616 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
10617 Handle non-crc32 hashes.
10618 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
10619 (dec_stream_header): Handle non-crc32 hashes.
10620 (dec_stream_footer): Likewise.
10621 (dec_block_header): Likewise.
10622 (dec_main): Likewise.
10623 (xz_dec_init): Likewise.
10624 (xz_dec_reset): Likewise.
10625 (xz_dec_end): Likewise.
10626 * util/import_gcry.py: Add CRC64 line.
10627
106282011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
10631 as well.
10632
106332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 Make reiserfs label retrieval similar to other *_label functions.
10636
10637 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
10638 (REISERFS_MAX_LABEL_LENGTH): Removed.
10639 (REISERFS_LABEL_OFFSET): Likewise.
10640 (grub_reiserfs_label): Rewritten.
10641
106422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
10645 field.
10646
106472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
10650
106512011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
10654 drive failure on both raidz and raidz2.
10655
106562011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 Fix RAIDZ(2) for >= 5 devices.
10659
10660 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
10661 asize argument. All users updated.
10662
106632011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 Fix RAIDZ(2).
10666
10667 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
10668 (fill_vdev_info_real): Set ashift.
10669 (read_device): Rewrite RAIDZ part based on reverse engineering.
10670
106712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
10674 don't report potentially unavialiable fields in debug output.
10675 (find_path): Fix double-free and memory leak.
10676
106772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 Read label on UFS1.
10680
10681 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
10682 (grub_ufs_fs): Always set .label.
10683
106842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 Use shifts in UFS.
10687
10688 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
10689 (grub_ufs_data): New field log2_blksz.
10690 (grub_ufs_read_file): Use shifts.
10691 (grub_ufs_mount): Check block size and logarithm it.
10692
106932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
10696 long symlinks.
10697
106982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 Handle symlinks and long names on tar and cpio.
10701
10702 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
10703 (ATTR_FILE): Likewise.
10704 (ATTR_DIR): Likewise.
10705 (ATTR_LNK): Likewise.
10706 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
10707 (grub_cpio_find_file): Fill mode, handle linkname field as well as
10708 L and K entries.
10709 (grub_cpio_mount): Zero-fill data.
10710 (handle_symlink): New function.
10711 (grub_cpio_dir): Handle symlinks.
10712 (grub_cpio_open): Likewise.
10713 (grub_cpio_close) [MODE_USTAR]: Free linkname.
10714
107152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Fix iso9660 filename limitations and fix memory leaks.
10718
10719 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
10720 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
10721
107222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 Fix JFS file name length limitations.
10725
10726 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
10727 (grub_jfs_diropen): Fix maximum filename length.
10728 (grub_jfs_getent): Fix filename length.
10729 (grub_jfs_lookup_symlink): Fix size checks.
10730
107312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
10734 string.
10735
107362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 Leverage BFS implementation to read AFS.
10739
10740 * Makefile.util.def (libgrubmods): Add afs.c.
10741 * grub-core/Makefile.core.def (afs): New module
10742 * grub-core/fs/afs.c: New file.
10743 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
10744
107452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
10748
107492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * grub-core/fs/bfs.c: Run indent.
10752
107532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 BFS implementation based on the specification.
10756
10757 * grub-core/fs/bfs.c: New file.
10758 * Makefile.util.def (libgrubmods): Add bfs.c.
10759 * grub-core/Makefile.core.def (bfs): New module.
10760
107612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * util/grub-fstest.c (cmd_cp): Clarify error message.
10764 (cmd_cmp): Likewise.
10765
107662011-10-30 Yves Blusseau <blusseau@zetam.org>
10767
10768 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
10769 and befs_be.
10770
107712011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 Remove afs and befs because of copyright problem.
10774
10775 * grub-core/fs/afs.c: Removed.
10776 * grub-core/fs/afs_be.c: Removed.
10777 * grub-core/fs/befs.c: Removed.
10778 * grub-core/fs/befs_be.c: Removed.
10779 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
10780 * grub-core/Makefile.core.def (afs): Removed.
10781 (afs_be): Likewise.
10782 (befs): Likewise.
10783 (befs_be): Likewise.
10784
107852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 Prefer rockridge over Joliet.
10788
10789 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
10790 to ...
10791 (set_rockridge): ... here.
10792 (grub_iso9660_mount): Check rockridge on the primary label when
10793 discovering. Ignore Joliet if Rockridge is present.
10794
107952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 Use shifts in nilfs2.
10798
10799 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
10800 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
10801 (grub_nilfs2_palloc_entries_per_group): Replace with ...
10802 (grub_nilfs2_log_palloc_entries_per_group): ... this.
10803 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
10804 (grub_nilfs2_entries_per_block): Replaced with ...
10805 (grub_nilfs2_log_entries_per_block_log): ... this.
10806 (grub_nilfs2_blocks_per_group): Replaced with ...
10807 (grub_nilfs2_blocks_per_group_log): ... this.
10808 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
10809 (grub_nilfs2_blocks_per_desc_block_log): ... this.
10810 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
10811 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
10812 (grub_nilfs2_palloc_entry_offset): Replaced ...
10813 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
10814 (grub_nilfs2_dat_translate): Use shifts.
10815 (grub_nilfs2_read_inode): Likewise.
10816 (GRUB_MOD_INIT): Ensure that logs are correct.
10817
108182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 Use shifts in minix filesystem.
10821
10822 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
10823 (GRUB_MINIX_ZONE2SECT): Likewise.
10824 (grub_minix_data): Replace block_size with log_block_size.
10825 (grub_minix_read_file): Use shifts.
10826 (grub_minix_mount): Check block size and take a logarithm.
10827
108282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Use shifts in squash4.
10831
10832 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
10833 (squash_mount): Check block size and take logarithm.
10834 (direct_read): Use shifts.
10835
108362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 Correct befs block counting logic.
10839
10840 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
10841 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
10842 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
10843 (grub_afs_read_inode): Use block_shift.
10844 (RANGE_SHIFT): New definition.
10845 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
10846 unexpected conditions, use shifts and appropriate types.
10847 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
10848
108492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * grub-core/disk/raid.c (scan_devices): Check partition.
10852 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10853
108542011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 Support BFS (befs) UUID.
10857
10858 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
10859 (grub_afs_small_data_element_header): New struct.
10860 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
10861 (grub_afs_read_attribute) [MODE_BFS]: New function.
10862 (grub_afs_iterate_dir): Allocate for complete inode.
10863 (grub_afs_mount): Likewise.
10864 (grub_afs_uuid) [MODE_BFS]: New function.
10865 (grub_afs_fs) [MODE_BFS]: Add .uuid.
10866
108672011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10870 (zfs_unmount): Fix memory leak.
10871
108722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 Support NTFS reparse points.
10875
10876 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10877 (symlink_descriptor): New struct.
10878 (grub_ntfs_read_symlink): New function.
10879 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10880 (grub_ntfs_open): Likewise.
10881
108822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10885
108862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 fstest xnu_uuid subcommand.
10889
10890 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10891 grub-core/commands/xnu_uuid.c.
10892 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10893 (fstest): Handle xnu_uuid.
10894 (options): Document xnu_uuid.
10895 (argp_parser): Parse xnu_uuid.
10896
108972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10900 -l argument. Add newline at the end if printing.
10901 (GRUB_MOD_INIT): Document -l.
10902
109032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10906
109072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 ZFS multi-device and version 33 support.
10910
10911 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10912 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10913 (grub_zfs_data): Add multidev-ice-related fields.
10914 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10915 (dva_get_offset): Make dva const.
10916 (zfs_fetch_nvlist): New function.
10917 (fill_vdev_info_real): Likewise.
10918 (fill_vdev_info): Likewise.
10919 (check_pool_label): Likewise.
10920 (scan_disk): Likewise.
10921 (scan_devices): Likewise.
10922 (read_device): Likewise.
10923 (read_dva): Likewise.
10924 (zio_read_gang): Use read_dva.
10925 (zio_read_data): Likewise.
10926 (zap_leaf_lookup): Add missing endian conversion.
10927 (zap_verify): Add missing endian conversion. All users updated.
10928 (fzap_lookup): Likewise.
10929 (fzap_iterate): Likewise.
10930 (dnode_get_path): Handle SA bonus.
10931 (nvlist_find_value): Make input const. All users updated.
10932 (unmount_device): New function.
10933 (zfs_unmount): Use unmount_device.
10934 (zfs_mount): Use scan_disk.
10935 (zfs_mtime): New function.
10936 (grub_zfs_open): Handle system attributes.
10937 (fill_fs_info): Likewise.
10938 (grub_zfs_dir): Likewise.
10939 (grub_zfs_fs): Add mtime.
10940 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10941 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10942 (SA_MTIME_OFFSET): Likewise.
10943 (SA_SYMLINK_OFFSET): Likewise.
10944 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10945 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10946 (fstest): Support zfsinfo.
10947 (argp_parser): Likewise.
10948
109492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10952 error.
10953
109542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 ZFS fixes.
10957
10958 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10959 sharing the same block. Iterate over correct number of indices.
10960 (dnode_get_path): Handle symlinks correctly.
10961
109622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10965
109662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 Read label on HFS+.
10969
10970 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10971 (grub_hfsplus_btree_search): Fix types.
10972 (grub_hfsplus_label): Implement.
10973
109742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10977
109782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10981
109822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 Fix symlink handling on iso9660.
10985
10986 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10987 All users updated.
10988 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10989 (grub_iso9660_read_symlink): Moved most of code ...
10990 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10991
109922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10995 Use union to avoid breaking strict-aliasing rules.
10996
109972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 Support multi-extent iso files.
11000
11001 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11002 Add node.
11003 (grub_fshelp_node): Revamp. All users updated.
11004 (FLAG_*): New enum.
11005 (read_node): New function.
11006 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11007 All users updated.
11008 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11009 (get_node_size): New function.
11010 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11011 entries.
11012 Fix memory leak on . and ..
11013 (grub_iso9660_read): Use read_node.
11014 (grub_iso9660_close): Free node.
11015
110162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 Fix tar 4G limit and handle paths containing dot.
11019
11020 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11021 (canonicalize): New function.
11022 (grub_cpio_find_file): Use canonicalize. Store offs in
11023 grub_disk_addr_t.
11024 (grub_cpio_dir): Use grub_disk_addr_t.
11025 (grub_cpio_open): Likewise.
11026
110272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11030
11031 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11032 unused flags.
11033 (grub_squash_inode): Add long_file and block_size.
11034 (grub_squash_cache_inode): New struct.
11035 (grub_squash_dirent): Make types into enum.
11036 (SQUASH_TYPE_LONG_REGULAR): New type.
11037 (grub_squash_frag_desc): Add field size.
11038 (SQUASH_BLOCK_FLAGS): New enum.
11039 (grub_squash_data): Use grub_squash_cache_inode.
11040 (grub_fshelp_node): Make ino_chunk 64-bit.
11041 (read_chunk): Minor argument change. All users updated.
11042 (squash_mount): Use correct le_to_cpu.
11043 (grub_squash_open): Handle LONG_REGULAR.
11044 (direct_read): New function.
11045 (grub_squash_read_data): Handle blocks correctly.
11046
110472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11050
110512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11054
110552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 Fix 2G limit on ZFS.
11058
11059 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11060 types.
11061 (uberblock_verify): Likewise.
11062 (dmu_read): Likewise.
11063 (grub_zfs_read): Likewise. Remove invalid cast.
11064
110652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11068 (grub_jfs_blkno): Fix incorrect shift.
11069 (grub_jfs_read_file): Use more appropriate types.
11070
110712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 Support triple indirect on minix2 and minix3.
11074
11075 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11076 Declare triple_indir_zone.
11077 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11078 indirect.
11079
110802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 Minix FS fixes.
11083
11084 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11085 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11086 Rename ctime to mtime. All users updated.
11087 (grub_minix_get_file_block): Fix types and double indirect computations.
11088
110892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11092 if no label is found.
11093 (grub_fat_iterate_dir): Fix file size type.
11094 (grub_fat_iterate_dir): Likewise.
11095
110962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11099 save some space.
11100 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11101 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11102
111032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11106
111072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * util/import_gcry.py: Accept space between # and include.
11110
111112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11114
111152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11118
11119 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11120 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11121 yylex_strncpy.
11122 * grub-core/script/yylex.l: Add fine-grained #pragma.
11123
111242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11127 New inline function.
11128 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11129 Likewise.
11130 (memset) [GRUB_UTIL]: Likewise.
11131 (memcmp) [GRUB_UTIL]: Likewise.
11132
111332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11136 inline function rather than a define.
11137
111382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * util/grub-setup.c: Add missing include.
11141
111422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * util/ieee1275/grub-ofpathname.c: Add missing include.
11145
111462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11149 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11150 Likewise.
11151
111522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
11155 grub_memcmp usage.
11156
111572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * util/grub-install.in: Add datarootdir as per automake manual
11160 suggestion.
11161 * util/grub-mknetdir.in: Likewise.
11162
111632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
11166 suggestion.
11167 * util/grub.d/10_kfreebsd.in: Likewise.
11168 * util/grub.d/10_linux.in: Likewise.
11169 * util/grub.d/10_netbsd.in: Likewise.
11170 * util/grub.d/10_windows.in: Likewise.
11171 * util/grub.d/20_linux_xen.in: Likewise.
11172
111732011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 Remove redundant grub_kernel_image_size.
11176
11177 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11178 _edata and _start.
11179 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11180 the small code. It moves it only by few bytes but simplifies the code.
11181 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11182 _start.
11183 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11184 (grub_kernel_image_size): Removed.
11185 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11186 (grub_kernel_image_size): Removed.
11187 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11188 compiled with Apple toolchain.
11189 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11190 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11191 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11192 (grub_total_module_size): Likewise.
11193 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11194 Removed.
11195 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11196 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11197 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11198 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11199 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11200 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11201 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11202 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11203 Removed.
11204 (grub_total_module_size): Removed.
11205 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11206 (image_targets): Likewise.
11207 Set .compressed_size to no field on sparc.
11208 (generate_image): Remove kernel_image_size handling.
11209
112102011-10-19 Szymon Janc <szymon@janc.net.pl>
11211
11212 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11213 NULL pointer dereference.
11214
112152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11218 done with a dedicated section.
11219
11220 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11221 Ensure the correct position of boot_path.
11222 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11223 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11224 other fields.
11225 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11226 * include/grub/boot.h: Removed. All references removed.
11227 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11228 Removed.
11229 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11230
112312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11234 name.
11235
112362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
11239
112402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11243 Don't add the bogus brackets.
11244
112452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 ExFAT support.
11248
11249 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
11250 * grub-core/Makefile.core.def (exfat): New module.
11251 * grub-core/fs/exfat.c: New file.
11252 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
11253 (GRUB_FAT_ATTR_*): Make into an enum.
11254 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11255 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
11256 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
11257 (GRUB_FAT_MAXFILE): Removed.
11258 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
11259 (grub_current_fat_bpb_t): New type.
11260 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
11261 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
11262 (grub_fat_dir_node_t): New type.
11263 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
11264 (fat_log2) [MODE_EXFAT]: Removed.
11265 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
11266 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
11267 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
11268 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
11269 (grub_fat_label) [MODE_EXFAT]: New function.
11270 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
11271 reserved_first_sector to 0.
11272
112732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 Move grub_reboot out of the kernel.
11276
11277 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
11278 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
11279 * grub-core/lib/efi/reboot.c: ... here.
11280 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
11281 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11282 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
11283 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
11284 * grub-core/lib/i386/reboot_trampoline.S: ... here.
11285 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
11286 * grub-core/lib/ieee1275/reboot.c: ... here.
11287 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
11288 * grub-core/lib/mips/arc/reboot.c: ... here.
11289 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
11290 * grub-core/lib/mips/loongson/reboot.c: ...here.
11291 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
11292 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
11293 * include/grub/emu/misc.h (grub_reboot): New function declaration.
11294 * include/grub/i386/reboot.h: New file.
11295 * include/grub/mips/loongson/ec.h: Fix includes.
11296 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
11297 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
11298 * grub-core/lib/i386/reboot.c: New file.
11299
113002011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 Make grub_prefix into module to fix the arbitrary limit and save
11303 some space.
11304
11305 * grub-core/kern/emu/main.c (grub_prefix): Removed.
11306 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
11307 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
11308 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
11309 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
11310 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
11311 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
11312 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
11313 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11314 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
11315 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
11316 * include/grub/ia64/efi/kernel.h: Removed.
11317 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
11318 (grub_prefix): Removed.
11319 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
11320 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
11321 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
11322 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
11323 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
11324 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
11325 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
11326 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
11327 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
11328 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
11329 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11330 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11331 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11332 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11333 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
11334 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
11335 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
11336 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11337 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
11338 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
11339 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
11340 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
11341 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
11342 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
11343 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
11344 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
11345 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11346 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11347 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11348 from module.
11349 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11350 prefix_end.
11351 (image_targets): Likewise.
11352 (generate_image): Put prefix as a module.
11353
113542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 Replace grub_module_iterate with FOR_MODULES.
11357
11358 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11359 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11360 (grub_efi_modules_addr): ...this.
11361 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11362 (grub_efi_init): Set grub_modbase.
11363 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11364 (grub_modbase): New variable.
11365 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11366 (grub_modbase): New variable.
11367 (grub_machine_init): Set grub_modbase.
11368 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11369 (grub_modbase): New variable.
11370 (grub_machine_init): Set grub_modbase.
11371 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11372 (grub_modbase): New variable.
11373 (grub_machine_init): Set grub_modbase.
11374 * grub-core/kern/main.c (grub_module_iterate): Remove.
11375 (grub_modules_get_end): Use grub_modbase.
11376 (grub_load_modules): Use FOR_MODULES.
11377 (grub_load_config): Likewise.
11378 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11379 (grub_modbase): New variable.
11380 (grub_machine_init): Set grub_modbase.
11381 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11382 (grub_modbase): New variable.
11383 (grub_machine_init): Set grub_modbase.
11384 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11385 Removed.
11386 (grub_modbase): New variable.
11387 (grub_machine_init): Set grub_modbase.
11388 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11389 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11390 (grub_module_iterate): Likewise.
11391 (grub_modbase): New variable declaration.
11392 (FOR_MODULES): New macro.
11393
113942011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11397 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11398
113992011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 Fix few obvious type discrepancies.
11402
11403 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11404 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11405 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11406 variable.
11407 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11408 and connected types.
11409 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11410 offset.
11411 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11412 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11413 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11414 and connected types.
11415
114162011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 Fix python 3.x incompatibilities.
11419
11420 * gentpl.py: Put brackets around print strings.
11421 * util/import_gcry.py: Open explicitly as utf-8.
11422 Use in instead of has_key.
11423
114242011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11427 (GRUB_XFS_INO_AGBITS): Make into inline function.
11428 (GRUB_XFS_INO_INOINAG): Likewise.
11429 (GRUB_XFS_INO_AG): Likewise.
11430 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11431 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11432 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11433 (GRUB_XFS_EXTENT_SIZE): Likewise.
11434 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11435 (GRUB_XFS_NEXT_DIRENT): Likewise.
11436 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11437 (grub_xfs_read_file): Fix offset type.
11438
114392011-10-15 Robert Millan <rmh@gnu.org>
11440
11441 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11442
114432011-10-15 Robert Millan <rmh@gnu.org>
11444
11445 Fix build problem on FreeBSD and GNU/kFreeBSD.
11446
11447 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11448
114492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11452
11453 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11454 types.
11455 (grub_hfsplus_btree_recoffset): Likewise.
11456 (grub_hfsplus_btree_recptr): Likewise.
11457 (grub_hfsplus_find_block): Likewise.
11458 (grub_hfsplus_btree_search): Likewise.
11459 (grub_hfsplus_read_block): Likewise.
11460 (grub_hfsplus_read_file): Likewise.
11461 (grub_hfsplus_mount): Likewise.
11462 (grub_hfsplus_btree_iterate_node): Likewise.
11463 (grub_hfsplus_btree_search): Likewise.
11464 (grub_hfsplus_iterate_dir): Likewise.
11465 (grub_hfsplus_read): A small code simplification.
11466
114672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * grub-core/kern/emu/hostdisk.c
11470 (convert_system_partition_to_system_disk): Don't assume that children
11471 of mapper nodes are mapper nodes.
11472
114732011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11476 * include/grub/misc.h (grub_isxdigit): New function.
11477 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11478 switched to grub_isxdigit.
11479 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11480 number starting with a letter.
11481
114822011-10-09 Robert Millan <rmh@gnu.org>
11483
11484 LVM support for FreeBSD and GNU/kFreeBSD.
11485
11486 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11487 GNU/kFreeBSD.
11488 (LVM_DEV_MAPPER_STRING): Move from here ...
11489 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11490 * util/getroot.c: Include `<grub/util/lvm.h>'.
11491 (grub_util_get_dev_abstraction): Enable
11492 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11493 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11494 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11495 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11496 support it.
11497 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11498 GNU/kFreeBSD.
11499 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11500 when LVM abstraction is required for ${GRUB_DEVICE}.
11501
115022011-10-06 Szymon Janc <szymon@janc.net.pl>
11503
11504 Add support for LZO compression in GRUB:
11505 - import of minilzo library,
11506 - LZO decompression for btrfs,
11507 - lzop files decompression.
11508
11509 * grub-core/io/lzopio.c: New file.
11510 * grub-core/lib/adler32.c: Likewise.
11511 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11512 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11513 * grub-core/lib/minilzo/minilzo.c: Likewise.
11514 * grub-core/lib/minilzo/minilzo.h: Likewise.
11515 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11516 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11517 grub-core/lib/minilzo/minilzo.c to common.
11518 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11519 cflags in cppflags.
11520 * grub-core/Makefile.core.def (btrfs): Likewise.
11521 * grub-core/Makefile.core.def (lzopio): New module.
11522 (adler32): Likewise.
11523 * grub-core/fs/btrfs.c: Include minilzo.h.
11524 (GRUB_BTRFS_COMPRESSION_LZO): New define.
11525 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
11526 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
11527 (grub_btrfs_lzo_decompress): New function.
11528 (grub_btrfs_extent_read): Add support for LZO compression type.
11529 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
11530 (GRUB_USHRT_MAX): Likewise.
11531 (GRUB_UINT_MAX): Likewise.
11532 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
11533 (UINT_MAX): Likewise.
11534 (CHAR_BIT): Likewise.
11535 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
11536 grub-core/lib/posix_wrap/limits.h
11537 (UCHAR_MAX): Likewise.
11538 * include/grub/file.h (grub_file_filter_id): New compression filter
11539 GRUB_FILE_FILTER_LZOPIO.
11540 * include/grub/file.h (grub_file_filter_id): Set
11541 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
11542 * include/grub/types.h (grub_get_unaligned16): New function.
11543 (grub_get_unaligned32): Likewise.
11544 (grub_get_unaligned64): Likewise.
11545 * util/import_gcry.py (cryptolist): Add adler32.
11546
115472011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
11550 in perspective decreases the complexity of build system and fixes
11551 compilation right now.
11552
115532011-10-01 Ales Nesrsta <starous@volny.cz>
11554
11555 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
11556 (fixed problem related to using UHCI with coreboot).
11557
115582011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11559
11560 * gentpl.py: Use Autogen macros so that the output template file
11561 (Makefile.tpl) size is reduced.
11562
115632011-09-29 Mads Kiilerich <mads@kiilerich.com>
11564
11565 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
11566 extra_dist.
11567
115682011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11569
11570 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
11571 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
11572
115732011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11574
11575 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
11576 _fullpath.
11577
115782011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11579
11580 Remove extra declaration of sleep for mingw32.
11581
11582 * util/misc.c (sleep) [__MINGW32__]: Removed.
11583 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
11584
115852011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
11586
11587 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11588 type and packname.
11589 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
11590 Resurrected.
11591 (NETBSD_BTINFO_BOOTWEDGE): New definition.
11592 (grub_netbsd_btinfo_bootwedge): New struct.
11593 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11594 New function.
11595 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
11596
115972011-09-28 Thomas Haller <thomas.haller@fen-net.de>
11598
11599 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
11600 loader.
11601
116022011-09-28 Andreas Born <futur.andy@googlemail.com>
11603
11604 Fix incorrect identifiers in bash-completion.
11605
11606 * util/bash-completion.d/grub-completion.bash.in
11607 (_grub_mkpasswd-pbkdf2): Rename to ...
11608 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
11609 (_grub_script-check): Rename to ...
11610 (_grub_script_check): ... this. All users updated.
11611
116122011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11615 Return 0 if disk isn't biosdisk.
11616
116172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11618
11619 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
11620 on NetBSD.
11621 * Makefile.util.def (grub-fstest): Likewise.
11622
116232011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11624
11625 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
11626 Get sector size from disk label.
11627
116282011-09-05 Colin Watson <cjwatson@ubuntu.com>
11629
11630 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
11631 */README* as well as README*.
11632 Reported by: Axel Beckert.
11633
116342011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
11637 case of less than 256 MiB of RAM.
11638
116392011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/commands/wildcard.c (make_regex): Handle @.
11642
116432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * util/grub-install.in: Move cryptodisk logic to appropriate place.
11646
116472011-08-21 Szymon Janc <szymon@janc.net.pl>
11648
11649 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
11650 AC_LANG_CONFTEST macros.
11651
116522011-08-20 Szymon Janc <szymon@janc.net.pl>
11653
11654 Add grub-fstest option to uncompress data for commands.
11655
11656 * util/grub-fstest.c (uncompress): New var.
11657 (options): New option -u.
11658
116592011-08-20 Szymon Janc <szymon@janc.net.pl>
11660
11661 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
11662 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
11663
116642011-08-20 Szymon Janc <szymon@janc.net.pl>
11665
11666 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
11667 file type was not recognized correctly (not gzip or corrupted).
11668
116692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
11672 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
11673
116742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
11677 loongson.
11678 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11679 video_radeon_fuloong2e.
11680 * grub-core/video/radeon_fuloong2e.c: New file.
11681 * include/grub/video.h (grub_video_id_t): Add new ID
11682 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
11683
116842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
11687 define.
11688 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
11689 that PRID matches the detected subplatform and reset the subplatform
11690 if it doesn't.
11691
116922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
11695
116962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 Fix PCI iterating on functions >= 4.
11699
11700 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
11701 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
11702 Removed.
11703 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
11704 (grub_pci_read): Fix bitmask.
11705 (grub_pci_read_word): Likewise.
11706 (grub_pci_read_byte): Likewise.
11707 (grub_pci_write): Likewise.
11708 (grub_pci_write_word): Likewise.
11709 (grub_pci_write_byte): Likewise.
11710
117112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
11714 can still be specified in TARGET_CFLAGS)
11715
117162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
11719
11720 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
11721 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
11722 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
11723 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
11724 (FULOONG): Rename to ...
11725 (FULOONG2F): ... this. All users updated.
11726 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
11727 (machtype_fuloong2f_str): ... this.
11728 (machtype_fuloong2e_str): New string.
11729 Check for machtype_fuloong2e_str.
11730 * grub-core/loader/mips/linux.c (loongson_machtypes)
11731 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
11732 * grub-core/term/serial.c (loongson_defserial)
11733 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
11734 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
11735 loongson_defserial.
11736 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
11737 Rename to ...
11738 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
11739 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
11740 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
11741 to IMAGE_FULOONG2F_FLASH. All users updated.
11742 (image_targets): Rename images.
11743 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
11744
117452011-08-19 Szymon Janc <szymon@janc.net.pl>
11746
11747 Make enable of disk cache statistics code configurable.
11748
11749 * configure.ac: --enable-cache-stats added.
11750 * config.h.in (DISK_CACHE_STATS): New define.
11751 * grub-core/Makefile.core.def (cacheinfo): New command.
11752 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
11753 * grub-core/commands/cacheinfo.c: New file.
11754 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
11755 moved to cacheinfo.c.
11756 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
11757 debug code.
11758 * include/grub/disk.h: Likewise.
11759
117602011-08-19 Szymon Janc <szymon@janc.net.pl>
11761
11762 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
11763 * grub-core/Makefile.am: Likewise.
11764
117652011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
11768 non-zero pull.
11769
117702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
11773 All users updated.
11774 (grub_jfs_lookup_symlink): Use correct starting inode.
11775
117762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * util/grub-setup.c (main): Add missing gcry initialisation.
11779
117802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 Don't accept text modes on EFI when booting Linux.
11783
11784 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
11785 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
11786
117872011-08-15 Mario Limonciello <mario_limonciello@dell.com>
117882011-08-15 Colin Watson <cjwatson@ubuntu.com>
11789
11790 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
11791 use of "/path/.." as in grub-install for EFI as well as handling
11792 symlinks correctly.
11793 Fixes Debian bug #637768.
11794
117952011-08-15 Colin Watson <cjwatson@ubuntu.com>
11796
11797 * util/grub-probe.c: Remove duplicate #include.
11798
117992011-08-10 Robert Millan <rmh@gnu.org>
11800
11801 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
11802
11803 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
11804 function.
11805 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
11806 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
11807
118082011-08-03 Robert Millan <rmh@gnu.org>
11809
11810 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
11811 la_array as packed.
11812 Reported by: Zachary Bedell
11813
118142011-07-26 Colin Watson <cjwatson@ubuntu.com>
11815
11816 * configure.ac: The Loongson port requires grub-mkfont due to its
11817 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
11818 be built.
11819
118202011-07-26 Colin Watson <cjwatson@ubuntu.com>
11821
11822 * util/grub-install.in: Don't source grub-mkconfig_lib until after
11823 processing arguments (otherwise help2man fails when GRUB has not yet
11824 been installed).
11825
118262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 New script grub-mkstandalone.
11829
11830 * Makefile.util.def (grub-mkstandalone): New script.
11831 * docs/man/grub-mkstandalone.h2m: New file.
11832 * util/grub-mkstandalone.in: Likewise.
11833
118342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 Support ATA disks with 4K sectors.
11837
11838 * include/grub/ata.h (grub_ata): New member log_sector_size.
11839 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
11840 (grub_ata_identify): Read sector size.
11841 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
11842
118432011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * util/grub-install.in: Don't use uhci outside of x86.
11846
118472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * util/grub-mkrescue.in: Add missing quotes.
11850
118512011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11854 dereference.
11855
118562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11859
118602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * include/grub/video.h: add missing EXPORT_FUND on
11863 grub_video_edid_checksum and grub_video_edid_preferred_mode.
11864
118652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * include/grub/mips/kernel.h: Fix define conflict.
11868
118692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11872 all four ways.
11873
118742011-07-21 Colin Watson <cjwatson@ubuntu.com>
11875
11876 Preferred resolution detection for VBE.
11877
11878 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11879 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11880 the Flat Panel extension, in line with the X.org VESA driver.
11881 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11882 New function.
11883 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11884 (grub_vbe_bios_read_edid): Likewise.
11885 (grub_vbe_get_preferred_mode): Likewise.
11886 (grub_video_vbe_setup): When the mode is "auto", try to get the
11887 preferred mode from VBE, and use the largest mode that is no larger
11888 than the preferred mode (some BIOSes expose a preferred mode that is
11889 not in their mode list!). If this fails, fall back to 640x480 as a
11890 safe conservative choice.
11891 (grub_video_vbe_get_edid): New function.
11892 (grub_video_vbe_adapter): Add get_edid.
11893 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11894 (struct grub_video_adapter): Add get_edid.
11895 (grub_video_edid_checksum): Add prototype.
11896 (grub_video_edid_preferred_mode): Likewise.
11897 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11898 structure.
11899
11900 * grub-core/commands/videoinfo.c (print_edid): New function.
11901 (grub_cmd_videoinfo): Print EDID if available.
11902
11903 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11904 is more appropriate on a wider range of platforms than 640x480.
11905 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11906 documentation.
11907
119082011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11911
119122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * po/POTFILES.in: Regenerate.
11915
119162011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11919 incorrect memory usage.
11920
119212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * util/grub-install.in: Source grub-mkconfig_lib.
11924
119252011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 Remove getroot.c from core on emu platform.
11928
11929 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11930 kern/emu/raid.c.
11931 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11932 useless.
11933 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11934 * util/getroot.c (get_win32_path): ... here.
11935 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11936 * util/getroot.c (fini_libzfs): ... here.
11937 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11938 * util/getroot.c (grub_get_libzfs_handle): ... here.
11939 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11940 Moved from here...
11941 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11942 * grub-core/kern/emu/misc.c
11943 (grub_make_system_path_relative_to_its_root): Moved from here...
11944 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11945 * grub-core/kern/emu/getroot.c: Moved from here ...
11946 * util/getroot.c: ... here. All users updated.
11947 * grub-core/kern/emu/raid.c: Moved from here ...
11948 * util/raid.c: ... here. All users updated.
11949
119502011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * po/POTFILES.in: Regenerate.
11953
119542011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 Fix compilation on GNU/Linux.
11957
11958 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11959 Disable geli.
11960 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11961 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11962 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11963
119642011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
119652011-07-07 Michael Gorven <michael@gorven.za.net>
119662011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11967
11968 LUKS and GELI support.
11969
11970 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11971 grub-core/disk/luks.c, grub-core/disk/geli.c,
11972 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11973 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11974 grub-core/lib/arg.c.
11975 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11976 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11977 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11978 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11979 (grub-bin2h): Add libgcry.a.
11980 (grub-mkimage): Likewise.
11981 (grub-mkrelpath): Likewise.
11982 (grub-script-check): Likewise.
11983 (grub-editenv): Likewise.
11984 (grub-mkpasswd-pbkdf2): Likewise.
11985 (grub-pe2elf): Likewise.
11986 (grub-fstest): Likewise.
11987 (grub-mkfont): Likewise.
11988 (grub-mkdevicemap): Likewise.
11989 (grub-probe): Likewise.
11990 (grub-ofpath): Likewise.
11991 (grub-mklayout): Likewise.
11992 (example_unit_test): Likewise.
11993 (grub-menulst2cfg): Likewise.
11994 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11995 * grub-core/Makefile.core.def (cryptodisk): New module.
11996 (luks): Likewise.
11997 (geli): Likewise.
11998 * grub-core/disk/AFSplitter.c: New file.
11999 * grub-core/disk/cryptodisk.c: Likewise.
12000 * grub-core/disk/geli.c: Likewise.
12001 * grub-core/disk/luks.c: Likewise.
12002 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12003 grub_util_is_lvm.
12004 (grub_util_get_dm_abstraction): New function.
12005 (grub_util_follow_gpart_up): Likewise.
12006 (grub_util_get_geom_abstraction): Likewise.
12007 (grub_util_get_dev_abstraction): Use new functions.
12008 (grub_util_pull_device): Pull GELI and LUKS.
12009 (grub_util_get_grub_dev): Handle LUKS and GELI.
12010 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12011 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12012 (follow_geom_up): Removed.
12013 (grub_util_fd_seek): New function.
12014 (open_device): Use grub_util_fd_seek.
12015 (nread): Rename to ..
12016 (grub_util_fd_read): ... this. All users updated.
12017 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12018 (grub_crypto_cbc_decrypt): Likewise.
12019 (grub_crypto_hmac_write): Likewise.
12020 (grub_crypto_hmac_buffer): Likewise.
12021 (grub_password_get): Extend to util.
12022 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12023 New member modname.
12024 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12025 * include/grub/cryptodisk.h: New file.
12026 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12027 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12028 LUKS and GELI.
12029 (grub_util_follow_gpart_up): New proto.
12030 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12031 (grub_util_fd_read): Likewise.
12032 (grub_cryptodisk_cheat_mount): Likewise.
12033 (grub_util_cryptodisk_print_uuid): Likewise.
12034 (grub_util_get_fd_sectors): Likewise.
12035 * util/grub-fstest.c (mount_crypt): New var.
12036 (fstest): Mount crypto if requested.
12037 (options): New option -C.
12038 (argp_parser): Parse -C.
12039 (main): Init and fini gcry.
12040 * util/grub-install.in: Support cryptodisk install.
12041 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12042 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12043 cryptodisk.
12044 (prepare_grub_to_access_device): Likewise.
12045 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12046 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12047 (probe_cryptodisk_uuid): New function.
12048 (probe_abstraction): Likewise.
12049 (probe): Use new functions.
12050 * util/import_gcry.py: Create Makefile.utilgcry.def.
12051 Add modname member.
12052
120532011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 Lazy device scanning.
12056
12057 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12058 (grub-setup): Remove util/raid.c.
12059 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12060 * grub-core/disk/lvm.c (scan_depth): New variable.
12061 (grub_lvm_iterate): Rescan if necessary.
12062 (find_lv): New function based on grub_lvm_open.
12063 (grub_lvm_open): Use find_lv. Rescan on error.
12064 (is_node_readable): New function.
12065 (is_lv_readable): Likewise.
12066 (grub_lvm_scan_device): Skip already found disks.
12067 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12068 Stop if searched device is found and readable.
12069 * grub-core/disk/raid.c (inscnt): New variable.
12070 (scan_depth): Likewise.
12071 (scan_devices): New function based on grub_raid_register. Abort if
12072 looked for device is found.
12073 (grub_raid_iterate): Rescan if needed.
12074 (find_array): NEw function based on -grub_raid_open.
12075 (grub_raid_open): Use find_array and rescan.
12076 (insert_array): Set became_readable_at.
12077 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12078 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12079 New function.
12080 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12081 (grub_util_pull_device): New function.
12082 (grub_util_get_grub_dev): Call grub_util_pull_device.
12083 * util/raid.c: Moved to ..
12084 * grub-core/kern/emu/raid.c: ... here.
12085 (grub_util_raid_getmembers): New parameter "bootable".
12086 All users updated. Support 1.x.
12087 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12088 All users updated.
12089 * include/grub/disk.h (grub_disk_pull_t): New enum.
12090 (grub_disk_dev): Change iterate prototype.
12091 All users updated.
12092 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12093 New proto.
12094 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12095 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12096 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12097 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12098 All users updated.
12099 * include/grub/util/raid.h: Removed.
12100
121012011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * po/POTFILES.in: Regenerate.
12104
121052011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 Unify sparc init with other ieee1275.
12108
12109 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12110 instead of kern/sparc64/ieee1275/init.c.
12111 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12112 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12113 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12114 grub/machine/kernel.h.
12115 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12116 (grub_claim_heap) [__sparc__]: Use sparc version.
12117 (grub_machine_init): Moved args parsing to
12118 (grub_parse_cmdline): ...this.
12119 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12120 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12121 New definition.
12122 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12123
12124 Move BOOTP to separate file.
12125
12126 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12127 * grub-core/net/net.c: Move all BOOTP functions to
12128 * grub-core/net/bootp.c: ... here.
12129
12130 Use frame interface on PXE.
12131
12132 * grub-core/Makefile.core.def (pxecmd): Removed.
12133 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12134 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12135 * grub-core/i386/pc/pxe.c: Moved from here ...
12136 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12137 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12138 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12139
12140 EFI network support.
12141
12142 * grub-core/Makefile.core.def (efinet): New module.
12143 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12144 here...
12145 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12146 All users updated.
12147 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12148 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12149 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12150 * grub-core/net/drivers/efi/efinet.c: New file.
12151 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
12152 (grub_efi_net_config): New extern var.
12153
12154 Various cleanups and bugfixes.
12155
12156 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
12157 error.
12158 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
12159 disk declared as partition.
12160 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
12161 leak on failure.
12162 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
12163 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
12164 (grub_debug_zalloc): Likewise.
12165 (grub_debug_realloc): Likewise.
12166 (grub_debug_memalign): Likewise.
12167 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
12168 Check that target is IPv4.
12169 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
12170 local-mac-address as fallback.
12171 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
12172 memory leak.
12173 * grub-core/net/ip.c (ipchksum): Rename to ...
12174 (grub_net_ip_chksum): ... this. All users updated.
12175 (grub_net_recv_ip_packets): Special handling for DHCP.
12176 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12177
12178 Unify prefix handling
12179
12180 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12181 (grub_machine_get_bootlocation): ... this.
12182 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12183 (grub_machine_get_bootlocation): ... this.
12184 (grub_prefix): New variable.
12185 (prefix): Removed.
12186 (root_dev): New variable.
12187 (dir): Likewise.
12188 (main): Use new variables.
12189 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12190 Revamped into ...
12191 (grub_machine_get_bootlocation): ... this.
12192 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12193 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12194 (grub_machine_get_bootlocation): ... this.
12195 (grub_machine_set_prefix): Removed.
12196 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12197 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12198 Revamped into ...
12199 (grub_machine_get_bootlocation): ... this.
12200 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12201 (grub_set_prefix_and_root): ... this. All users updated.
12202 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12203 Revamped into ...
12204 (grub_machine_get_bootlocation): ... this.
12205 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12206 (grub_machine_get_bootlocation): New proto.
12207 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12208
12209 Less intrusive and more reliable seek on network implementation.
12210
12211 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12212 (grub_file_seek): Don't call grub_file_net_seek.
12213 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12214 (grub_net_fs_read_real): .. this.
12215 (grub_net_seek_real): Use net->offset.
12216 (grub_net_fs_read): Seek if necessary.
12217
12218 Unify IEEE1275 netwotk config with the other platforms.
12219
12220 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12221 New variable.
12222 (grub_machine_get_bootlocation): Support network.
12223 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12224 Support type and device parsing.
12225 (grub_ieee1275_get_device_type): New function.
12226 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12227 into ...
12228 (grub_ieee1275_net_config_real): ... this.
12229 (grub_ofnet_probecards): Removed.
12230 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12231 * include/grub/ieee1275/ofnet.h: Removed.
12232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12233 extern var.
12234 (grub_ieee1275_get_device_type): New function.
12235
12236 Unify network device closing across platforms and make more robust.
12237
12238 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
12239 grub_grubnet_fini.
12240 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
12241 already.
12242 * grub-core/net/net.c (grub_net_network_level_interface_register):
12243 Update num_ifaces.
12244 (grub_net_card_unregister): Close all interfaces.
12245 (receive_packets): Don't poll if no iterfaces are registered.
12246 Open if necessary.
12247 (grub_net_fini_hw): New function.
12248 (grub_net_restore_hw): Likewise.
12249 (fini_hnd): New variable.
12250 (GRUB_MOD_INIT): Register preboot hook.
12251 (GRUB_MOD_FINI): Run and unregister preboot hook.
12252
12253 Poll network cards when idle.
12254
12255 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
12256 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
12257 * grub-core/net/net.c (receive_packets): Save last poll time.
12258 (grub_net_poll_cards_idle_real): New function.
12259 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
12260 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
12261 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
12262
12263 Rename ofnet interfaces.
12264
12265 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
12266 (grub_ofnet_findcards): Use ofnet_%s names.
12267
12268 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
12269
12270 Cleanup socket opening.
12271
12272 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
12273 (grub_net_fs_close): Likewise.
12274 (grub_net_fs_read_real): Use eof member.
12275 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
12276 (+grub_net_udp_close): New inline function.
12277
12278 * include/grub/net/tftp.h: Moved to the top of ...
12279 * grub-core/net/tftp.c: ... here.
12280 * include/grub/net/ip.h: Moved mostly to the top of ...
12281 * grub-core/net/ip.c: ... here.
12282 * include/grub/net/ethernet.h: Moved mostly to the top of ...
12283 * grub-core/net/ethernet.c: ... here.
12284
12285 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
12286
12287 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
12288 FS name.
12289
12290 * include/grub/net/ip.h (ipv4_ini): Removed.
12291 (ipv4_fini): Likewise.
12292
12293 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
12294 (grub_net_send_ip_packets): Likewise.
12295
122962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
12299 grub_read_cmos prototype.
12300
123012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 VGA text support in qemu-mips
12304
12305 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
12306 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
12307 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
12308 text.
12309 * grub-core/kern/i386/qemu/init.c: Renamed to ...
12310 * grub-core/kern/vga_init.c: ... this.
12311 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
12312 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
12313 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
12314 Adjust.
12315 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
12316 GRUB_MACHINE_PCI_IO_BASE.
12317
123182011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 MIPS qemu flash support.
12321
12322 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
12323 magic.
12324 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
12325 (grub_machine_init): Probe memory if its size isn't known.
12326 * util/grub-mkimage.c (image_targets): Add flash targets.
12327 (generate_image): Handle flash targets.
12328
123292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 MIPS qemu at_keyboard support.
12332
12333 * gentpl.py (videoinkernel): Add qemu-mips.
12334 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
12335 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
12336 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
12337 modules.
12338 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
12339 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
12340 * grub-core/term/serial.c (grub_serial_register)
12341 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
12342
123432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 CMOS support on sparc.
12346
12347 * gentpl.py (cmos): Add powerpc and sparc.
12348 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12349 powerpc and sparc.
12350 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12351 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12352 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12353 grub_set_datetime_cmos.
12354 * grub-core/lib/ieee1275/cmos.c: New file.
12355 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12356 (find_rtc): Set no_ieee1275_rtc on error.
12357 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12358 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12359 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12360 fail. Move value to argument. All users updated
12361 (grub_cmos_write): Likewise.
12362 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12363 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12364 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12365 grub_get_datetime_cmos and grub_set_datetime_cmos.
12366
123672011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12368
12369 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12370 sourcing grub-mkconfig_lib.
12371 * util/update-grub_lib.in: Likewise.
12372 * util/grub.d/00_header.in: Likewise.
12373 * util/grub.d/10_hurd.in: Likewise.
12374 * util/grub.d/10_kfreebsd.in: Likewise.
12375 * util/grub.d/10_linux.in: Likewise.
12376 * util/grub.d/10_netbsd.in: Likewise.
12377 * util/grub.d/10_windows.in: Likewise.
12378 * util/grub.d/20_linux_xen.in: Likewise.
12379 * util/grub.d/30_os-prober.in: Likewise.
12380
123812011-06-28 Colin Watson <cjwatson@ubuntu.com>
12382
12383 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12384 default_bg_color rather than black.
12385 (grub_gfxterm_fullscreen): Likewise.
12386 (grub_gfxterm_background_color_cmd): Save new background color in
12387 default_bg_color.
12388
123892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12392
123932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12396 mismerge.
12397
123982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 Chainloading on coreboot support.
12401
12402 * grub-core/Makefile.core.def (chain): Add coreboot.
12403 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12404
124052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12408 if it happens.
12409
124102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 Implement time command.
12413
12414 * grub-core/Makefile.core.def (time): New module.
12415 * grub-core/commands/time.c: New file.
12416 * grub-core/script/parser.y: Remove "time" keyword.
12417 * grub-core/script/yylex.l: Likewise.
12418
124192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12422
124232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12426 when handling leftovers.
12427
124282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12431 so that help2man doesn't fail.
12432
124332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12436 type in pointers on sparc64.
12437 (get_card_packet): Likewise.
12438
124392011-06-27 Colin Watson <cjwatson@ubuntu.com>
12440
12441 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12442 with `*'.
12443 (grub_cmd_videoinfo): Fetch current video mode.
12444
124452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12448 because of underlying system restrictions.
12449
124502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12453 necessary.
12454
124552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 Coreboot video support.
12458
12459 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12460 (vbe): Likewise.
12461 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12462 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12463 here ...
12464 * grub-core/kern/i386/int.S: ... here.
12465 * grub-core/video/i386/pc/vbe.c: Updated includes.
12466 * grub-core/video/i386/pc/vga.c: Likewise.
12467 * include/grub/i386/coreboot/memory.h
12468 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12469 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12470 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12471 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12472 Disable interrupts.
12473 * include/grub/i386/pc/vga.h: Removed. All users updated.
12474
124752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12478 definitions for dprintf.
12479 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12480
124812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12484 prototype.
12485 (get_card_packet): Likewise.
12486
124872011-06-26 Yves Blusseau <blusseau@zetam.org>
12488
12489 Display the path of the file when file is not found
12490
12491 * grub-core/fs/fat.c: Display the filename when file is not found.
12492 * grub-core/fs/fshelp.c: Likewise.
12493 * grub-core/fs/hfs.c: Likewise.
12494 * grub-core/fs/jfs.c: Likewise.
12495 * grub-core/fs/minix.c: Likewise.
12496 * grub-core/fs/ufs.c: Likewise.
12497 * grub-core/fs/btrfs.c: Likewise.
12498 * grub-core/commands/i386/pc/play.c: Likewise.
12499
125002011-06-26 Szymon Janc <szymon@janc.net.pl>
12501
12502 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12503 pointer checks before calling grub_free().
12504 * grub-core/commands/wildcard.c (match_devices): Likewise.
12505 * grub-core/commands/wildcard.c (match_files): Likewise.
12506 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12507 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12508 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12509 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12510 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12511 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12512 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12513 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12514 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12515
125162011-06-25 Patrick <p55@mailinator.com>
12517
12518 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12519
125202011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
12523 (grub_pxe_send): Likewise.
12524 (GRUB_MOD_INIT): Fix types.
12525
125262011-06-24 Szymon Janc <szymon@janc.net.pl>
12527
12528 * grub-core/io/xzio.c: Fix code style issues
12529
125302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
125312011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
12532
12533 Network infrastructure.
12534 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
12535
12536 * include/grub/net/arp.h: New file.
12537 * include/grub/net/device.h: Likewise.
12538 * include/grub/net/ethernet.h: Likewise.
12539 * include/grub/net/ip.h: Likewise.
12540 * include/grub/net/netbuff.h: Likewise.
12541 * include/grub/net/tftp.h: Likewise.
12542 * include/grub/net/udp.h: Likewise.
12543 * include/grub/ieee1275/ofnet.h: Likewise.
12544 * include/grub/emu/export.h: Likewise.
12545 * include/grub/net.h: Likewise.
12546 * grub-core/net/arp.c: Likewise.
12547 * grub-core/net/ethernet.c: Likewise.
12548 * grub-core/net/ip.c: Likewise.
12549 * grub-core/net/udp.c: Likewise.
12550 * grub-core/net/tftp.c: Likewise.
12551 * grub-core/net/netbuff.c: Likewise.
12552 * grub-core/net/net.c: Likewise.
12553 * grub-core/net/drivers/emu/emunet.c: Likewise.
12554 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
12555 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
12556 export.h.
12557 * grub-core/Makefile.core.def (net): New module.
12558 (tftp): Likewise.
12559 (ofnet): Likewise.
12560 (emunet): Likewise.
12561 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
12562 network protocols.
12563 * grub-core/kern/device.c (grub_net_open) : New variable.
12564 (grub_device_open): Handle network device.
12565 (grub_device_close): Likewise.
12566 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
12567 (grub_grubnet_fini): Likewise.
12568 (grub_file_seek): Seek in network device.
12569 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
12570 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
12571 network root.
12572 (grub_machine_fini): Call grub_grubnet_fini.
12573 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
12574 network.
12575 (grub_ieee1275_get_aliasdevname): New function.
12576 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12577 Add unofficial Solaris network info.
12578 (grub_multiboot_make_mbi): Likewise.
12579 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
12580 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
12581 * include/grub/device.h (grub_fs): Removed.
12582 * include/grub/err.h (grub_err_t): Add network-related values.
12583 * include/grub/i386/pc/pxe.h: Removed bootp parts.
12584 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
12585 (grub_ieee1275_get_aliasdevname): New proto.
12586 * include/grub/net.h: Rewritten.
12587
125882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12591 names.
12592
125932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
12596 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
12597 it truncates the output.
12598 Reported by: Ximin Luo.
12599
126002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12603
126042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12607 partmap before abstraction.
12608
126092011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12610
12611 * util/grub-mkconfig_lib.in: Add missing quotes.
12612
126132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
12616 old method if mountinfo would return /dev/root and /dev/root doesn't
12617 exist.
12618
126192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 ZFS zlib support
12622
12623 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
12624 (decomp_table): Add zlib entries.
12625 (zio_read): USe 8 bits for compression function rather than 3.
12626 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
12627
126282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/disk/ahci.c: Add missing license statements.
12631 * grub-core/fs/romfs.c: Likewise.
12632 * grub-core/lib/ia64/setjmp.S: Likewise.
12633 * grub-core/loader/i386/pc/freedos.c: Likewise.
12634 * grub-core/loader/ia64/efi/linux.c: Likewise.
12635 * grub-core/video/colors.c: Likewise.
12636 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
12637
126382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 AHCI support.
12641
12642 * grub-core/Makefile.core.def (ata_pthru): Removed.
12643 (ahci): New module.
12644 (pata): Likewise.
12645 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
12646 on unload.
12647 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
12648 readwrite.
12649 (grub_hdparm_do_check_powermode_cmd): Likewise.
12650 (grub_hdparm_do_smart_cmd): Likewise.
12651 (grub_hdparm_set_val_cmd): Likewise.
12652 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
12653 * grub-core/disk/ahci.c: New file.
12654 * grub-core/disk/ata.c: Factor out the low-level part into ...
12655 * grub-core/disk/pata.c: ... here.
12656 * grub-core/disk/ata_pthru.c: Contents moved to ...
12657 * grub-core/disk/pata.c: ... here.
12658 * grub-core/disk/scsi.c (grub_scsi_names): New array.
12659 (grub_scsi_iterate): Use grub_scsi_names.
12660 (grub_scsi_open): Likewise.
12661 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
12662 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
12663 (grub_ata_regs_t): New struct.
12664 (grub_disk_ata_pass_through_parms): Likewise.
12665 (grub_ata_device): Renamed to ...
12666 (grub_ata): ... this.
12667 (grub_ata_dev): New struct.
12668 Removed all low-level inline functions.
12669 * include/grub/scsi.h: Add PATA and AHCI subsystems.
12670 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
12671 iterate hooks and open. All users updated.
12672 * util/grub-install.in: Handle AHCI disk module.
12673
126742011-06-23 Szymon Janc <szymon@janc.net.pl>
12675
12676 Add support for DRI and RSTn markers in JPEG files.
12677
12678 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
12679 (JPEG_MARKER_RST0): Likewise.
12680 (JPEG_MARKER_RST1): Likewise.
12681 (JPEG_MARKER_RST2): Likewise.
12682 (JPEG_MARKER_RST3): Likewise.
12683 (JPEG_MARKER_RST4): Likewise.
12684 (JPEG_MARKER_RST5): Likewise.
12685 (JPEG_MARKER_RST6): Likewise.
12686 (JPEG_MARKER_RST7): Likewise.
12687 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
12688 (grub_jpeg_decode_dri): New function.
12689 (grub_jpeg_decode_sos): Move image data related part into
12690 grub_jpeg_decode_data function.
12691 (grub_jpeg_decode_data): New function.
12692 (grub_jpeg_reset): New function.
12693 (grub_jpeg_decode_jpeg): Handle new markers.
12694
126952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * util/ieee1275/ofpath.c (check_sas): Close fd.
12698 (main): Free of_path.
12699 Reported by: David Volgyes <dvolgyes>.
12700
127012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
12704 Reported by: David Volgyes <dvolgyes>.
12705
127062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
12709 file after stat.
12710 Reported by: David Volgyes <dvolgyes>.
12711
127122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
12715
12716 Reported by: David Volgyes <dvolgyes>.
12717
127182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
12721 Prevent memory leak.
12722
127232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
12726 (main): Close file.
12727 Reported by: David Volgyes <dvolgyes>.
12728
127292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
12732 to continue if allocation is failed.
12733
12734 Reported by: David Volgyes <dvolgyes>.
12735
127362011-06-23 David Volgyes <dvolgyes>
12737
12738 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
12739 dereference.
12740
127412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 Fix spurious warning.
12744
12745 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
12746 (acorn_partition_map_find): Use .bin member.
12747
127482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
12751 /dev/root as a valid device.
12752
127532011-06-23 Jim Meyering <meyering@redhat.com>
12754
12755 Avoid NULL deref in grub_device_open.
12756
12757 * grub-core/kern/device.c (grub_device_open): Don't dereference
12758 a NULL pointer upon failed grub_env_get.
12759
127602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 Support non-512B sectors and agglomerate reads.
12763
12764 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
12765 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
12766 (disk_io_guid): Removed.
12767 (make_devices): Locate solely by BlockIO.
12768 (grub_efidisk_open): Fill log_sector_size and total_sectors.
12769 (grub_efidisk_read): Use read_blocks.
12770 (grub_efidisk_write): Use write_blocks.
12771 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
12772 log_sector_size.
12773 (get_safe_sectors): Handle non-512B sectors.
12774 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
12775 sectors.
12776 (grub_biosdisk_write): Handle non-512B sectors.
12777 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
12778 (grub_scsi_read): Remove special non-512B block handling (now handled
12779 one level up).
12780 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
12781 and do sanity checks.
12782 (grub_disk_adjust_range): Handle non-512B sectors.
12783 (transform_sector): New function.
12784 (grub_disk_read_small): Likewise.
12785 (grub_disk_read): Rewritten.
12786 (grub_disk_write): Handle non-512B sectors.
12787 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
12788 log_sector_size.
12789 (open_device): Use log_sector_size.
12790 (grub_util_biosdisk_read): Likewise.
12791 (grub_util_biosdisk_write): Likewise.
12792 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
12793 non-512B sectors.
12794 (pc_partition_map_embed): Likewise.
12795 * include/grub/disk.h (grub_disk): New field log_sector_size.
12796 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
12797 (GRUB_DISK_CACHE_BITS): Increased to 6.
12798 * util/grub-fstest.c (fstest): New command testload.
12799 (argp_parser): Likewise.
12800
128012011-06-16 Robert Millan <rmh@gnu.org>
12802
12803 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
12804 `ata' driver on kernel of FreeBSD 9.
12805
12806 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
12807 (get_ataraid_disk_name): New functions.
12808 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
12809 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
12810 get_ataraid_disk_name() and get_ada_disk_name().
12811
128122011-06-13 Colin Watson <cjwatson@ubuntu.com>
12813
12814 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
12815 input format.
12816
128172011-05-29 Colin Watson <cjwatson@ubuntu.com>
12818
12819 * docs/grub.texi (Obtaining and Building GRUB): Substitute
12820 `ftp.gnu.org' for `alpha.gnu.org'.
12821
128222011-05-27 Colin Watson <cjwatson@ubuntu.com>
12823
12824 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
12825 partitions under /dev/disk/by-id/.
12826
128272011-05-27 Colin Watson <cjwatson@ubuntu.com>
12828
12829 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
12830 after ten consecutive open failures. Scanning all the way up to
12831 10000 is excessive and can cause serious performance problems in
12832 some configurations.
12833 Fixes Ubuntu bug #787461.
12834
128352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
12838 opening new one.
12839
128402011-05-21 Colin Watson <cjwatson@ubuntu.com>
128412011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 Don't stat devices unless we have to.
12844
12845 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
12846 dir == /dev/mapper.
12847 (grub_guess_root_device): Use already known os_dev if possible.
12848 * grub-core/kern/emu/hostdisk.c
12849 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
12850 if device is known to be a dm one.
12851
128522011-05-20 Colin Watson <cjwatson@ubuntu.com>
12853
12854 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
12855 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
12856 Reported by: Pawel Tecza.
12857
128582011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
12861 (lsefisystab): Likewise.
12862 (lssal): Likewise.
12863 (lsefimmap): Likewise.
12864 (hdparm): Enable on qemu-mips.
12865 (setjmp): Add ia64 nodist.
12866 (serial): Simplify tags.
12867
128682011-05-18 Colin Watson <cjwatson@ubuntu.com>
12869
12870 * Makefile.util.def (grub-ofpathname): Install manual page.
12871
128722011-05-18 Colin Watson <cjwatson@ubuntu.com>
12873
12874 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12875
128762011-05-18 Colin Watson <cjwatson@ubuntu.com>
12877
12878 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12879
128802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12883 into dprintf.
12884
128852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 Use full 64-bit division.
12888
12889 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12890 (grub_divmod64): ... this.
12891 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12892 version.
12893
128942011-05-18 Colin Watson <cjwatson@ubuntu.com>
12895
12896 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12897 `source'.
12898
128992011-05-18 Colin Watson <cjwatson@ubuntu.com>
12900
12901 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12902 to avoid accidents when debugging with 'sh -x'.
12903 * grub-core/gensyminfo.sh.in: Likewise.
12904 * tests/example_scripted_test.in: Likewise.
12905 * tests/grub_cmd_regexp.in: Likewise.
12906 * tests/grub_script_blanklines.in: Likewise.
12907 * tests/grub_script_dollar.in: Likewise.
12908 * tests/grub_script_expansion.in: Likewise.
12909 * tests/grub_script_final_semicolon.in: Likewise.
12910 * tests/partmap_test.in: Likewise.
12911 * tests/util/grub-shell-tester.in: Likewise.
12912 * tests/util/grub-shell.in: Likewise.
12913
129142011-05-18 Colin Watson <cjwatson@ubuntu.com>
12915
12916 Move gfxmenu color handling to video, so that gfxterm can use it
12917 too.
12918
12919 * grub-core/gfxmenu/named_colors.c: Move to ...
12920 * grub-core/video/colors.c: ... here. Rename
12921 grub_gui_get_named_color to grub_video_get_named_color.
12922 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12923 * grub-core/video/colors.c (my_isxdigit): ... here.
12924 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12925 Move to ...
12926 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12927 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12928 to ...
12929 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12930
12931 * include/grub/gui.h (grub_gui_color_t): Move to ...
12932 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12933 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12934 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12935 * include/grub/gui.h (grub_gui_map_color): Move to ...
12936 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12937 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12938 to ...
12939 * include/grub/video.h (grub_video_get_named_color): ... here.
12940 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12941 * include/grub/video.h (grub_video_parse_color): ... here.
12942
12943 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12944 video/colors.c.
12945 (gfxmenu): Remove gfxmenu/named_colors.c.
12946 (video) [videomodules]: Add video/colors.c.
12947
12948 Add a background_color command.
12949
12950 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12951 function.
12952 (GRUB_MOD_INIT): Register background_color command.
12953 (GRUB_MOD_FINI): Unregister background_color command.
12954 (redraw_screen_rect): Allow blend/replace of text layer to be
12955 controlled independently from whether there is a background bitmap.
12956 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12957 changing bitmap.
12958
129592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 Patch BPB in ntldr and chainloader --bpb.
12962
12963 * grub-core/fs/fat.c: Include grub/fat.h.
12964 (grub_fat_bpb): Moved to ...
12965 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12966 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12967 grub/ntfs.h.
12968 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12969 Moved from here...
12970 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12971 here.
12972 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12973 New function.
12974 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12975 (GRUB_MOD_INIT): Show --bpb.
12976 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12977 * grub-core/normal/main.c (features): New variable.
12978 (GRUB_MOD_INIT): Set feature_* variables.
12979 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12980 proto.
12981 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12982
129832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12986 for cleanness.
12987
129882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 FreeDOS direct loading support.
12991
12992 * docs/grub.texi (Supported OS): Add FreeDOS.
12993 * grub-core/Makefile.core.def (freedos): New module.
12994 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12995 variable.
12996 (grub_relocator16_boot): Handle %ebx.
12997 * grub-core/lib/i386/relocator16.S: Likewise.
12998 * grub-core/loader/i386/pc/freedos.c: New file.
12999
130002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 Long Linux command line support.
13003
13004 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13005 (maximal_cmdline_size): New variable.
13006 (allocate_pages): Use maximal_cmdline_size.
13007 (grub_cmd_linux): Set and use maximal_cmdline_size.
13008 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13009 (allocate_pages): Use maximal_cmdline_size.
13010 (grub_cmd_linux): Set and use maximal_cmdline_size.
13011 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13012 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13013 and cmdline_size.
13014
130152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
130162011-05-18 Colin Watson <cjwatson@ubuntu.com>
13017
13018 Improve devmapper support
13019
13020 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13021 (grub_util_is_lvm): New function.
13022 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13023 than lvm if not dmraid.
13024 Handle mapped md nodes.
13025 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13026 (grub_util_device_is_mapped): ... this. Make always available. All users
13027 updated.
13028 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13029 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13030 dmraid nodes.
13031 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13032
130332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13036
13037 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13038 * grub-core/modinfo.sh.in: New file.
13039 * grub-core/Makefile.core.def (modinfo.sh): New script.
13040 * util/grub-mknetdir.in: Use modinfo.sh.
13041 * util/grub-mkrescue.in: Likewise.
13042
130432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13046 Fix potential usage of Elf32 instead of Elf64 when compiling on
13047 32-bit architecture. Add endianness macros while on it.
13048
130492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 Use mipsel- rather than mips- in directories involving mipsel ports to
13052 allow both endiannesses coexist.
13053
13054 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13055 mips. All conditions adjusted.
13056 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13057 variable.
13058 * util/grub-install.in: Adjust conditions to take renaming into account.
13059 * util/grub-mkimage.c (image_targets): Likewise. New target
13060 mips-qemu_mips-elf for bigendian mips.
13061
130622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 Avoid unnecessary copying on MIPS.
13065
13066 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13067 early if src == dest.
13068 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13069 compression is none.
13070
130712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 Reduce memory footprint on SGI by putting modules before the kernel
13074 as opposed to after.
13075
13076 * grub-core/Makefile.core.def (kernel): Increase linking address.
13077 (none_decompress): Likewise.
13078 (xz_decompress): Likewise.
13079 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13080 address.
13081 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13082 layout change.
13083 (grub_arch_modules_addr): New function.
13084 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13085 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13086 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13087 here.
13088 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13089 (grub_total_modules_size): ... this. Make global.
13090 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13091 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13092 New definition.
13093 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13094 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13095 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13096 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13097 * util/grub-mkimage.c (image_target_desc): New flag
13098 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13099 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13100 (generate_image): Handle images with modules before kernel.
13101
131022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 Prevent potential loss of memory map by overwrite on qemu-mips.
13105
13106 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13107 Save ram size in $s4.
13108 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13109 All users changed to grub_arch_memsize.
13110 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13111 Loongson.
13112 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13113 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13114 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13115 external variable.
13116
131172011-05-17 Colin Watson <cjwatson@ubuntu.com>
13118
13119 * .bzrignore: Remove grub-dumpbios.
13120
131212011-05-17 Colin Watson <cjwatson@ubuntu.com>
13122
13123 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13124 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13125 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13126 existing options which append).
13127 * docs/grub.texi (Simple configuration): Document new options.
13128 Reported by: Ian Jackson. Fixes Debian bug #617538.
13129
131302011-05-17 Colin Watson <cjwatson@ubuntu.com>
13131
13132 * util/grub-fstest.c (cmd_cat): New function.
13133 (fstest): Handle CMD_CAT.
13134 (options): Add cat.
13135 (argp_parser): Handle cat.
13136
131372011-05-17 Colin Watson <cjwatson@ubuntu.com>
13138
13139 * Makefile.util.def (grub-bin2h): Don't install.
13140 * docs/man/grub-bin2h.h2m: Remove.
13141
131422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13145 place.
13146
131472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 Reenable qemu-mips port.
13150
13151 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
13152 Fix small arc bug while on it.
13153 * gentpl.py: Handle qemu_mips.
13154 * grub-core/Makefile.am: Likewise.
13155 * grub-core/Makefile.core.def: Likewise.
13156 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
13157 inappropriate includes.
13158 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
13159 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
13160 * grub-core/kern/main.c (grub_modules_get_end)
13161 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
13162 * grub-core/kern/mips/qemu-mips: Moved to ..
13163 * grub-core/kern/mips/qemu_mips: ... this.
13164 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
13165 (grub_machine_init): Call terminfo_init and serial_init.
13166 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
13167 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13168 New variable.
13169 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
13170 parameter passing.
13171 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
13172 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
13173 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
13174 * include/grub/mips/qemu_mips/cmos.h: New file.
13175 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
13176 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13177 Removed.
13178 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13179 Use correct mips-style address.
13180 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13181 (GRUB_TICKS_PER_SECOND): Removed.
13182 (grub_get_rtc): Likewise.
13183 (grub_cpu_idle): Likewise.
13184 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13185 New definition.
13186 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13187 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13188 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13189 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13190 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13191 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13192 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13193 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13194
131952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 SGI ARCS port.
13198
13199 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13200 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13201 platforms.
13202 * configure.ac: New target mips-arc.
13203 * gentpl.py: Likewise.
13204 * grub-core/Makefile.am: Likewise.
13205 * grub-core/Makefile.core.def: Likewise.
13206 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13207 (none_decompress): Likewise.
13208 (lsdev): New module.
13209 (datetime): Use lib/arc/datetime.c on ARC.
13210 (part_dvh): New module.
13211 * grub-core/commands/arc/lsdev.c: New file.
13212 * grub-core/disk/arc/arcdisk.c: Likewise.
13213 * grub-core/kern/mips/arc/init.c: Likewise.
13214 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13215 aligned addresses.
13216 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13217 support.
13218 (grub_arch_dl_relocate_symbols): Likewise.
13219 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13220 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13221 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13222 platforms.
13223 * grub-core/lib/arc/datetime.c: New file.
13224 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13225 pci.h on non-loongson.
13226 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13227 (grub_linux_boot): Set unused registers to 0.
13228 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13229 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13230 * grub-core/mmap/mips/uppermem.c: ...here.
13231 * grub-core/partmap/dvh.c: New file.
13232 * grub-core/term/arc/console.c: Likewise.
13233 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13234 (grub_terminfo_set_current): Add terminal "arc".
13235 (grub_terminfo_readkey): Support ARC sequences.
13236 * include/grub/arc/arc.h: New file.
13237 * include/grub/arc/console.h: Likewise.
13238 * include/grub/disk.h (grub_disk_dev_id): Add
13239 GRUB_DISK_DEVICE_ARCDISK_ID.
13240 * include/grub/mips/arc/kernel.h: New file.
13241 * include/grub/mips/arc/memory.h: Likewise.
13242 * include/grub/mips/arc/time.h: Likewise.
13243 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
13244 * include/grub/mips/kernel.h (grub_halt): ... here.
13245 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
13246 here...
13247 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
13248 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
13249 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
13250 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
13251 proto.
13252 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
13253 from here ...
13254 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
13255 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
13256 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
13257 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
13258 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
13259 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
13260 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
13261 (grub_phys_addr_t): Moved from here ...
13262 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
13263 (grub_vtop): Moved from here ...
13264 * include/grub/mips/memory.h (grub_vtop): ... here.
13265 (grub_map_memory): Moved from here ...
13266 * include/grub/mips/memory.h (grub_map_memory): ... here.
13267 (grub_unmap_memory): Moved from here ...
13268 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
13269 (grub_machine_mmap_iterate): Moved from here ...
13270 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
13271 (grub_mmap_get_lower): Moved from here ...
13272 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
13273 (grub_mmap_get_upper): Moved from here ...
13274 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
13275 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13276 here ...
13277 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13278 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
13279 here ...
13280 * include/grub/mips/time.h (grub_get_rtc): ... here.
13281 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13282 here ...
13283 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13284 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
13285 here ...
13286 * include/grub/mips/time.h (grub_cpu_idle): ... here.
13287 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
13288 definition.
13289 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
13290 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
13291 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
13292 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
13293 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13294 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13295 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
13296 (GRUB_MACHINE_LINK_ADDR): Likewise.
13297 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
13298 to 6.
13299 * util/grub-install.in: Run dvhtool on ARC.
13300 * util/grub-mkimage.c (image_targets): Add mips-arc.
13301 (generate_image): Handle ECOFF output for mips-arc.
13302
133032011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
13306 blocks.
13307
133082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
13311 after enabling port.
13312
133132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 Skip incorrect USB devices.
13316
13317 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
13318 configcnt == 0.
13319 * include/grub/usb.h (grub_usb_err_t): New enum value
13320 GRUB_USB_ERR_BADDEVICE.
13321
133222011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 Fuloong video init support.
13325
13326 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
13327 well.
13328 (grub_vga_read_arx): New function.
13329 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
13330 definition.
13331 (framebuffer): New members io, mmioptr and mmiobase.
13332 (read_sis_cmd): New function.
13333 (write_sis_cmd): Likewise.
13334 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
13335 rather than 640x400.
13336 * grub-core/video/sis315_init.c: New file.
13337
133382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
13341 non-loongson.
13342 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
13343 to grub_dl_register_symbol.
13344
133452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13346
13347 Fix compilation errors.
13348
13349 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13350 potentially unused.
13351 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13352 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13353 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13354 to loongson machines.
13355
133562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 Several FS mtime support.
13359
13360 * grub-core/fs/affs.c (grub_affs_time): New struct.
13361 (grub_affs_file): New field mtime.
13362 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13363 type. Removed 'size'. New field 'di'. All users updated.
13364 (grub_affs_mount): Simplify checsum checking.
13365 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13366 (grub_affs_dir): Handle mtime.
13367 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13368 (grub_cpio_dir): Likewise.
13369 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13370 (grub_hfs_filerec): New field mtime.
13371 (grub_hfs_dir): Handle mtime.
13372 (grub_hfs_mtime): New function.
13373 (grub_hfs_fs): Register grub_hfs_mtime.
13374 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13375 (grub_iso9660_dir): New field mtime.
13376 (grub_fshelp_node): New field dirent.
13377 (iso9660_to_unixtime): New function.
13378 (iso9660_to_unixtime2): Likewise.
13379 (grub_iso9660_read_symlink): Use node->dirent.
13380 (grub_iso9660_iterate_dir): Likewise.
13381 (grub_iso9660_dir): Set mtime.
13382 (grub_iso9660_mtime): New function.
13383 (grub_iso9660_fs): Register grub_iso9660_mtime.
13384 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13385 (grub_jfs_inode): New fields atime, ctime and mtime.
13386 (grub_jfs_dir): Set mtime.
13387 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13388 * grub-core/fs/ntfs.c (list_file): Set mtime.
13389 (grub_ntfs_dir): Likewise.
13390 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13391 (grub_reiserfs_iterate_dir): Set mtime.
13392 (grub_reiserfs_dir): Likewise.
13393 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13394 (grub_fshelp_node): Likewise.
13395 (grub_sfs_iterate_dir): Set mtime.
13396 (grub_sfs_dir): Likewise.
13397 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13398 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13399 (grub_xfs_inode): New fields atime, mtime, ctime.
13400 (grub_xfs_dir): Set mtime.
13401 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13402 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13403 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13404
13405 Support UDF symlinks.
13406
13407 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13408 (grub_ufs_read_symlink): New function. All users updated.
13409
13410 Check amiga partmap checksum.
13411
13412 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13413 (grub_amiga_partition): Likewise.
13414 (amiga_partition_map_checksum): New function.
13415 (amiga_partition_map_iterate): Check checksum.
13416
134172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 ROMFS support.
13420
13421 * Makefile.util.def (libgrubmods.a): Add romfs.
13422 * grub-core/Makefile.core.def (romfs): New module.
13423 * grub-core/fs/romfs.c: New file.
13424
134252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 Squashfs v4 support.
13428
13429 * Makefile.util.def (libgrubmods.a): Add squash4.
13430 * grub-core/Makefile.core.def (squash4): New module.
13431 * grub-core/fs/squash4.c: New file.
13432 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13433 disk_input_start, disk_input.
13434 (get_byte): Handle disk_input.
13435 (grub_zlib_disk_read): New function.
13436 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13437
134382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
134392011-05-15 Feiran Zheng <famcool@gmail.com>
13440
13441 * Makefile.util.def (libgrubmods.a): Add minix3.
13442 * grub-core/Makefile.core.def (minix3): New module.
13443 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13444 (GRUB_MINIX_BSIZE): Removed.
13445 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13446 (grub_minix_ino_t): New type.
13447 (grub_minix_le_to_cpu_ino): New macro.
13448 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13449 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13450 (grub_minix_data): New field block_size.
13451 (grub_minix_read_file): Handle 64-bit correctly.
13452 * grub-core/fs/minix3.c: New file.
13453
134542011-05-15 Tristan Gingold <gingold@free.fr>
134552011-05-15 Robert Millan <rmh.grub@aybabtu.com>
134562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 IA64 support.
13459
13460 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13461 * configure.ac: Add ia64-efi target.
13462 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13463 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13464 * gentpl.py: Add ia64_efi platform.
13465 Rename x86_efi to efi and Add ia64-efi. All users updated.
13466 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13467 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13468 Remove kern/generic/rtc_get_time_ms.c on EFI.
13469 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13470 kern/ia64/dl_helper.c on ia64-efi.
13471 Add kern/emu/cache.c on emu.
13472 (linux): Use on loader/ia64/efi/linux.c on ia64.
13473 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13474 whether symbol is a function.
13475 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13476 (grub_symbol): New field 'isfunc'.
13477 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13478 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13479 (grub_dl_load_segments): Place all sections into the same region.
13480 [__ia64__]: Create trampolines and got.
13481 [GRUB_MACHINE_EMU]: Call mprotect.
13482 (grub_dl_resolve_symbols): Resolve symbol type as well.
13483 [__ia64__]: Create function descriptors.
13484 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13485 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13486 (grub_get_rtc): New function.
13487 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13488 * grub-core/kern/emu/cache.S: Renamed to ...
13489 * grub-core/kern/emu/cache_s.S: ... this.
13490 [__ia64__]: Add a nop.
13491 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13492 [__ia64__]: New function.
13493 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13494 * grub-core/kern/ia64/dl.c: New file.
13495 * grub-core/kern/ia64/dl_helper.c: Likewise.
13496 * grub-core/kern/ia64/efi/init.c: New file.
13497 * grub-core/kern/ia64/efi/startup.S: Likewise.
13498 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13499 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13500 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13501 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13502 * grub-core/loader/ia64/efi/linux.c: New file.
13503 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13504 (GRUB_MOD_DEP): Likewise.
13505 (grub_dl) [__ia64__]: New fields got and tramp.
13506 (grub_dl): New field 'base'.
13507 (grub_dl_register_symbol): New argument isfunc. All users updated.
13508 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13509 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13510 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13511 (grub_ia64_dl_get_tramp_got_size): New proto.
13512 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13513 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13514 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13515 * include/grub/efi/api.h: Skip call wrappers on ia64.
13516 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13517 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13518 * include/grub/elf.h (ELF_ST_INFO): New definition.
13519 * include/grub/ia64/efi/kernel.h: New file.
13520 * include/grub/ia64/efi/memory.h: Likewise.
13521 * include/grub/ia64/efi/time.h: Likewise.
13522 * include/grub/ia64/kernel.h: Likewise.
13523 * include/grub/ia64/setjmp.h: Likewise (from glibc).
13524 * include/grub/ia64/time.h: New file.
13525 * include/grub/ia64/types.h: Likewise.
13526 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
13527 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
13528 New protos.
13529 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
13530 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13531 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
13532 * util/grub-mkimage.c (image_target_desc): New field pe_target.
13533 All users updated.
13534 (EFI64_HEADER_SIZE): New definition. All users updated.
13535 (image_targets): Add ia64-efi.
13536 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
13537 jumpers_addr. All users updated.
13538 Create function descriptors.
13539 (count_funcs): New function.
13540 (unaligned_uint32): New struct.
13541 (MASK20): New definition.
13542 (MASK19): Likewise.
13543 (MASKF21): Likewise.
13544 (add_value_to_slot_20b): New function.
13545 (add_value_to_slot_21_real): Likewise.
13546 (add_value_to_slot_21): Likewise.
13547 (ia64_kernel_trampoline): New struct.
13548 (nopm): New variable.
13549 (jump): Likewise.
13550 (make_trampoline): New function.
13551 (relocate_addresses): Handle ia64.
13552 (make_reloc_section): Likewise.
13553 (load_image): Likewise.
13554
135552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
13558 warning. Move variables before code while on it.
13559
135602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 Fuloong support.
13563
13564 * configure.ac: Rename yeeloong platform to loongson. All users updated.
13565 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
13566 * grub-core/boot/mips/loongson/fuloong.S: New file.
13567 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
13568 Explicitly init CS5536.
13569 [FULOONG]: Don't use serial until CS5536 is available.
13570 Set GPIO based on dumps.
13571 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
13572 [FULOONG]: Handle GPIO and memory controller differences.
13573 Parse machine type in $a2.
13574 * grub-core/boot/mips/startup_raw.S: Determine and save the
13575 architecture.
13576 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
13577 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
13578 init on architecture type.
13579 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13580 SIS315E. Don't init at_keyboard on fuloong.
13581 (grub_halt): Support Fuloong.
13582 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
13583 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
13584 (loongson_machtypes): New array.
13585 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
13586 type.
13587 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
13588 config. All users updated. Handle CS5536 serial.
13589 * grub-core/term/serial.c (grub_serial_register): Conditionalise
13590 default port on machine type. Register serial as inactive.
13591 * grub-core/video/sis315pro.c: New file.
13592 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
13593 definition.
13594 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
13595 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
13596 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
13597 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
13598 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
13599 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
13600 to ...
13601 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
13602 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
13603 definition.
13604 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
13605 (grub_arch_machine): New extern var.
13606 * include/grub/mips/loongson/serial.h
13607 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
13608 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
13609 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
13610 (GRUB_MACHINE_SERIAL_PORT0): ... this.
13611 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
13612 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
13613 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
13614 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
13615 * include/grub/term.h (grub_term_register_input_inactive): New inline
13616 function.
13617 (grub_term_register_output_inactive): Likewise.
13618 * include/grub/video.h (grub_video_driver_id): New value
13619 GRUB_VIDEO_DRIVER_SIS315PRO.
13620 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
13621 New field "names". All users updated.
13622 New field value IMAGE_FULOONG_FLASH.
13623 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
13624
136252011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
13626
13627 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
13628 and add some clarification.
13629
136302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
13633 platforms if kernel is compressed.
13634
136352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
13638 unused modules since currently referrence counter isn't reliable and
13639 there isn't much memory to recover there anyway.
13640
136412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
13644 rather than resetting it to allow modules to reference themselves
13645 in init.
13646
136472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
13650 counter on dependencies since grub_dl_unref already handles this.
13651
136522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
13655 on error if not already done.
13656
136572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 Fix few potential memory misusage.
13660
13661 * grub-core/font/font.c (load_font_index): Don't free char_index to
13662 avoid double free.
13663 (grub_font_load): Zero-fill font at alloc for safety.
13664 Close file on error.
13665 (free_font): Free bmp_idx.
13666
136672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * docs/grub.texi (Installation): Fix several outdated claims.
13670
136712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 Handle module_license on windows.
13674
13675 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
13676 sections shifted.
13677 (insert_string): Make argument const char * instead of char *.
13678 (write_section_data): Handle long section names.
13679 Handle module_license.
13680
136812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
13684 handle class-free menuentries.
13685 (grub_normal_add_menu_entry): Add a check to be sure.
13686
136872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
13690 PgUp and PgDown.
13691
136922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 * configure.ac: Bump version to 1.99.
13695
136962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13697
13698 Give ATA device a bit more time on first try in order to allow disks
13699 to spin up.
13700
13701 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
13702 if dev->present is 1. Reset dev->present on failure.
13703 (grub_ata_device_initialize): Set dev->present to 1.
13704 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
13705 (grub_ata_device): New member 'present'.
13706
137072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * util/grub-mkimage.c (generate_image): Update hash.
13710
137112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 Flush caches on DMA memory.
13714
13715 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
13716 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
13717 (grub_dma_free): Likewise.
13718 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
13719
137202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
13723 to avoid asm treating ld and sd as macros.
13724
137252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
13728 decompressor.
13729
137302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
13733 grub_decompress_core since later would fail if grub_decompress_core
13734 is too far.
13735
137362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
13739 R_MIPS_JALR since it's used by newer compiler.
13740
137412011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
13744
137452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
13748 file_path to 0 for surety.
13749 (grub_chainloader_boot): Set exit_data to NULL.
13750 Unset the loader once done.
13751 (grub_cmd_chainloader): Fix confusing error message if file is empty.
13752
137532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
13756 unknown key into a dprintf.
13757
137582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
13761 on first non-existant partition.
13762
137632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
13766 openning fails.
13767 Reported by: Mark Korenberg.
13768
137692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
13772 overflow.
13773
137742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * util/grub-mkimage.c (main): Explicitely flush and sync the output
13777 before closing to ensure that it will be readable by grub-setup.
13778
137792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
13782 (devpath_1): Use MAKE_PIWG_PATH.
13783 (devpath_2): Likewise.
13784 (devpath_3): Likewise.
13785 (devpath_4): Likewise.
13786 (devpath_5): Likewise.
13787 (devpath_6): Likewise.
13788
13789 The appleldr.mod was checked that to be binary identical to previous
13790 version.
13791
137922011-05-05 Zach <mikezackles>
13793
13794 Support 2010 Macbooks.
13795
13796 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
13797 (devs): Add devpath_6.
13798
137992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
13802 /dev/random. /dev/urandom is good enough for our purposes (salting).
13803
138042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13807
138082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13811 hexadecimal.
13812
138132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
13816 and not 0 on failure.
13817
138182011-05-03 Colin Watson <cjwatson@ubuntu.com>
13819
13820 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
13821 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
13822 disk; otherwise grub_fs_probe will not fall back to the next
13823 filesystem.
13824 (grub_pxefs_open): Likewise, for consistency.
13825 Reported and tested by: Ezekiel Grave.
13826
138272011-05-03 Colin Watson <cjwatson@ubuntu.com>
13828
13829 * tests/partmap_test.in: Don't hardcode path to parted.
13830 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
13831
138322011-05-01 Colin Watson <cjwatson@ubuntu.com>
13833
13834 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
13835 of `ls' to find out which devices are available.
13836
138372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
13840 than source address for efi mmap buffer.
13841
138422011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
13845 wrong action on non-detecting the magic.
13846
138472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
13850 already supplied by another part of the module (fixes compilation on
13851 FreeBSD).
13852
138532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
13856 match the one used by mdadm.
13857
138582011-04-21 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * po/README: Add instructions for creating po/LINGUAS.
13861
138622011-04-21 Colin Watson <cjwatson@ubuntu.com>
13863
13864 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
13865 #551428.
13866
13867 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13868 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13869 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13870 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13871 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13872 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13873 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13874 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13875 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13876 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13877 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13878 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13879 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13880 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13881 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13882 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13883 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13884 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13885 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13886 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13887 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13888 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13889
138902011-04-21 Colin Watson <cjwatson@ubuntu.com>
13891
13892 * grub-core/kern/emu/getroot.c
13893 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13894 test that was incorrectly reintroduced in r3214.
13895 Reported by: Ian Dall. Fixes Savannah bug #33133.
13896
138972011-04-21 Colin Watson <cjwatson@ubuntu.com>
13898
13899 Fix stack pointer handling in 16-bit relocator.
13900
13901 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13902 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13903 Fixes Ubuntu bug #683904.
13904
139052011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * configure.ac: Bump version to 1.99~rc2.
13908
139092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13912 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13913 * grub-core/lib/x86_64/setjmp.S: Likewise.
13914 * grub-core/lib/mips/setjmp.S: Likewise.
13915 * grub-core/lib/powerpc/setjmp.S: Likewise.
13916 * grub-core/lib/sparc64/setjmp.S: Likewise.
13917
139182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13921 * grub-core/lib/efi/datetime.c: Likewise.
13922
139232011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13926 New function.
13927 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13928 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13929 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13930
139312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13934 bitmap.
13935 (grub_gfxterm_term_init): Likewise.
13936
139372011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 Take into account the decorations the computing menu entry width.
13940
13941 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13942 (grub_gfxmenu_create_box): Register get_border_width.
13943 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13944 if available.
13945 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13946 get_border_width.
13947
139482011-04-18 Endres Puschner <code@e7p.de>
13949
13950 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13951 Don't skip first class.
13952
139532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13956 chunks.
13957 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13958
139592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 Complete 64-bit division support.
13962
13963 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13964 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13965 * include/grub/misc.h (grub_divmod64): Rename to ...
13966 (grub_divmod64_full): ... this.
13967 (grub_divmod64): New inline function.
13968
139692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13972
139732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13976 performing the necessary test.
13977
139782011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13981 (kfreebsd.elf): Likewise.
13982 (pc-chainloader.elf): Likewise.
13983 (ntldr.elf): Likewise.
13984
139852011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 Identify RAID by its UUID rather than (guessed) name.
13988
13989 * grub-core/disk/raid.c (ascii2hex): New function.
13990 (grub_raid_open): Accept mduuid/%s specification.
13991 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13992 (get_mdadm_uuid): ... this.
13993 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13994
139952011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13998 to negative size.
13999
140002011-04-13 Colin Watson <cjwatson@ubuntu.com>
14001
14002 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14003 btrfs subvolume.
14004 * util/grub.d/20_linux_xen.in: Likewise.
14005
140062011-04-13 Colin Watson <cjwatson@ubuntu.com>
14007
14008 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14009 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14010
14011 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14012 Build a list of relevant visible mounts using the mnt_id and
14013 parent_mnt_id fields, and then scan that list at the end.
14014
140152011-04-12 Colin Watson <cjwatson@ubuntu.com>
14016
14017 * docs/grub.texi (normal): New section.
14018 (normal_exit): New section.
14019 (Embedded configuration): Add reference to normal.
14020 (GRUB only offers a rescue shell): Likewise.
14021 * docs/grub-dev.texi (Error Handling): Fix typo.
14022
140232011-04-12 Colin Watson <cjwatson@ubuntu.com>
14024
14025 * NEWS: Drop obsolete entry about probe-only btrfs support.
14026
140272011-04-12 Colin Watson <cjwatson@ubuntu.com>
14028
14029 * util/import_gcry.py: Fix typo.
14030
140312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * NEWS: Add btrfs support.
14034
140352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
140362011-04-11 Colin Watson <cjwatson@ubuntu.com>
14037
14038 BtrFS support. Written by me (Vladimir) with important bugfixes and
14039 even more important testing by Colin.
14040
14041 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14042 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14043 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14044 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14045 mem_input_off and mem_input. All users updated to accept in-RAM input.
14046 (gzio_seek): New function.
14047 (test_zlib_header): Likewise.
14048 (grub_gzio_read): Likewise.
14049 (grub_zlib_decompress): Likewise.
14050 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14051 Accept partial and non-virtual mounts.
14052 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14053 avoid receiving /dev/dm-X as device.
14054 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14055 Handle bind and partial mounts.
14056 * grub-core/lib/crc.c: New file.
14057 * include/grub/deflate.h: Likewise.
14058 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14059 proto.
14060 * include/grub/lib/crc.h: New file.
14061
140622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 Implement automatic module license checking according to new GNU
14065 guidelines.
14066
14067 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14068 (grub_dl_load_core): Use grub_dl_check_license.
14069 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14070 (GRUB_MOD_LICENSE): Likewise.
14071 (GRUB_MOD_DUAL_LICENSE): Likewise.
14072 All modules updated.
14073
140742011-04-11 Colin Watson <cjwatson@ubuntu.com>
14075
14076 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14077 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14078 loaders.
14079 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14080
140812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14084
140852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14088 failed.
14089
140902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14093 parenthesis in the middle of the filename.
14094
140952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14098 rather than trying to put initrd way too high.
14099 Reported by: Ryan Lortie <desrt@desrt.ca>
14100
141012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14104 improperly removed string.
14105
141062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14109 is_disk.
14110 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14111 (open_device) Likewise.
14112 (grub_util_biosdisk_close): Likewise.
14113 Reported by: Mark Korenberg.
14114
141152011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14116
14117 * util/grub-mkconfig_lib.in: Add missing quotes.
14118
141192011-04-10 Colin Watson <cjwatson@ubuntu.com>
14120
14121 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14122 is NULL.
14123
141242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 Dynamically count the number of lines for the lower banner.
14127
14128 * grub-core/normal/menu_entry.c (per_term_screen): New member
14129 num_entries.
14130 (print_down): Use num_entries.
14131 (update_screen): Likewise.
14132 (grub_menu_entry_run): Set num_entries.
14133 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14134 num_entries.
14135 (grub_print_message_indented): Move real part to ...
14136 (grub_print_message_indented_real): ... here. Additional argument
14137 dry_run.
14138 (draw_border): Additional argument num_entries.
14139 (print_message): Additional argument dry_run.
14140 (print_entries): Receive menu viewer data.
14141 (grub_menu_init_page): New argment num_entries.
14142 (menu_text_set_chosen_entry): Use num_entries.
14143 (grub_menu_try_text): Likewise.
14144 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14145 All users updated.
14146 (grub_ucs4_count_lines): New function.
14147 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14148 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14149 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14150 (grub_term_border_height): Likewise.
14151 (grub_term_num_entries): Likewise.
14152
141532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
14156 Remove now unused string.
14157
141582011-04-09 Colin Watson <cjwatson@ubuntu.com>
14159
14160 * docs/grub-dev.texi (Finding your way around): Update for 1.99
14161 build system.
14162 (Getting started): GRUB is developed in Bazaar now, not Subversion.
14163
14164 (Comment): Fix typo.
14165 (Getting started): General copy-editing.
14166 (Typical Development Experience): Likewise.
14167 (Error Handling): Likewise.
14168 (Video API): Likewise.
14169
141702011-04-09 Colin Watson <cjwatson@ubuntu.com>
14171
14172 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14173 throughout.
14174
141752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14178 directory.
14179
141802011-04-08 Colin Watson <cjwatson@ubuntu.com>
14181
14182 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14183 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14184 "development".
14185
141862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14189 grub_strcpy since the lines aren't necessarily 0-terminated.
14190
141912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14194 root on legacy.
14195
141962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14199 (GRUB_MOD_INIT): DEVICE isn't optional.
14200
142012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14204 word on new line if it's too long anyway. Fixes a hang.
14205
142062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14207
14208 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14209 const.
14210 * util/grub-setup.c (main): Reuse md device name if available.
14211 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14212 not GRUB name as argument.
14213 Based on patch by: Florian Wagner <fwagner>.
14214
142152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14218 Place mbi on low memory for better compatibility.
14219
142202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14223
142242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
142252011-04-08 Colin Watson <cjwatson@ubuntu.com>
14226
14227 * autogen.sh: Ensure that collate and ctype locale is C.
14228 * conf/Makefile.common: Likewise.
14229
142302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/normal/menu.c: Add missing include.
14233
142342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
14237
142382011-04-08 Martin Zuther <mzuther@mzuther.de>
14239
14240 * util/grub-mkconfig.in: Ignore emacsen backup.
14241
142422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
14245 on open.
14246 (grub_util_biosdisk_close): Likewise.
14247
142482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
14251 const attribute and use grub_isdigit.
14252
142532011-04-06 Andrey <dev_null@ukr.net>
14254
14255 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
14256 gcc warning.
14257
142582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
14261 useful grub_dprintf's.
14262
142632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
14266
142672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
14270
142712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 Output errors if theme loading failed.
14274
14275 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
14276 grub_gfxterm_fullscreen on error paths to ...
14277 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
14278 theme loading error.
14279
142802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
14283 space for older compilers.
14284 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14285
142862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
14289 and report them as not RAID members since they are useless for GRUB.
14290 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14291
142922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 Increase LVM implementation robustness in order not to crash on
14295 configurations like pvmove. Previously code assumed that in some places
14296 only lvs or only pvs are used whereas it seems that they are used
14297 interchangeably.
14298
14299 * grub-core/disk/lvm.c (read_node): New function.
14300 (read_lv): Use read_node.
14301 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
14302 Match volumes only at the end when all lvs are found. Take both
14303 pvs (first) and lvs (second) into account.
14304 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
14305 mirror_* into node_*. All users updated.
14306 (grub_lvm_stripe): Merge this ...
14307 (grub_lvm_mirror): ... and this ...
14308 (grub_lvm_node): ... into this. All users updated.
14309
143102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14311
14312 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
14313 of function to allow further scanning for LVMs.
14314
143152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
14318 on failed seek as it breaks open fd reusage.
14319
143202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * util/grub-install.in: Add a recommendation to use --recheck before
14323 reporting bugs.
14324
143252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14326
14327 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
14328 are obtained.
14329
143302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 GRUB developper manual based on existing Internals section and
14333 contributions by the various authors with active copyright assignment.
14334
14335 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
14336 * docs/font_char_metrics.png: New file.
14337 * docs/font_char_metrics.txt: Likewise.
14338 * docs/grub-dev.texi: Likewise.
14339 * docs/grub.texi (Internals): Move from here ...
14340 * docs/grub-dev.texi: ... here.
14341
143422011-04-01 Colin Watson <cjwatson@ubuntu.com>
14343
14344 Store the loopback device as data on loopback grub_disk structures,
14345 rather than the file it points to. This fixes use of freed memory
14346 if an existing loopback device is replaced.
14347
14348 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14349 disk->data, not dev->file.
14350 (grub_loopback_read): Adjust file assignment to match.
14351 Fixes Ubuntu bug #742967.
14352
143532011-04-01 Colin Watson <cjwatson@ubuntu.com>
14354
14355 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14356 when replacing an existing device.
14357
143582011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14361 memory corruptions.
14362
14363 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14364 unsigned.
14365 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14366 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14367 (grub_jfs_read_inode): Likewise.
14368 (grub_jfs_opendir): Likewise. Remove now useless casts.
14369 (grub_jfs_getent): Likewise.
14370 Make ino a grub_uint32_t rather than int.
14371 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14372 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14373 division and module with bit operations.
14374 (grub_jfs_find_file): Make ino a grub_uint32_t.
14375 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14376
143772011-04-01 Colin Watson <cjwatson@ubuntu.com>
14378
14379 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14380 warning. (This was in fact always initialised before use, but GCC
14381 wasn't smart enough to prove that.)
14382 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14383
143842011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14387 stack alignment.
14388 (efi_wrap_1): Likewise.
14389 (efi_wrap_2): Likewise.
14390 (efi_wrap_3): Likewise.
14391 (efi_wrap_4): Likewise.
14392 (efi_wrap_5): Likewise.
14393 (efi_wrap_6): Likewise.
14394 (efi_wrap_10): Likewise.
14395 Based on information by: Red Hat/Peter Jones.
14396
143972011-03-31 Colin Watson <cjwatson@ubuntu.com>
14398
14399 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14400 set-but-not-used variable.
14401
144022011-03-31 Colin Watson <cjwatson@ubuntu.com>
14403
14404 * docs/grub.texi (Simple configuration): Be more explicit about
14405 GRUB_DEFAULT, and add an example.
14406 Reported by: Leslie Rhorer.
14407
144082011-03-30 Colin Watson <cjwatson@ubuntu.com>
14409
14410 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14411 shell".
14412
144132011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14414
14415 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14416 * util/grub.d/20_linux_xen.in: Likewise.
14417
144182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * util/grub.d/10_linux.in: Try alternative config filenames where
14421 we parse config file.
14422 * util/grub.d/20_linux_xen.in: Likewise.
14423
144242011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14425
14426 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14427 * util/grub.d/20_linux_xen.in: Likewise.
14428
144292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * grub-core/disk/raid.c (insert_array): Add few potentially
14432 useful grub_util_info.
14433 (grub_raid_register): Likewise.
14434
144352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14438 Preserve partition number in mdadm code path.
14439
144402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14443 few potentially useful grub_util_info.
14444
144452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14448
144492011-03-30 Colin Watson <cjwatson@ubuntu.com>
14450
14451 * docs/grub.texi (default): Use @example rather than nested
14452 itemized lists to avoid breaking gendocs.
14453
144542011-03-30 Colin Watson <cjwatson@ubuntu.com>
14455
14456 * docs/grub.texi (Future): Update.
14457
144582011-03-30 Colin Watson <cjwatson@ubuntu.com>
14459
14460 * docs/grub.texi (Environment): New chapter.
14461 (Changes from GRUB Legacy): Link to "Environment block" section for
14462 details of limitations.
14463 (Simple configuration): Likewise. Link to documentation of gfxmode
14464 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14465 respectively.
14466 (Shell-like scripting): Note that normal variables are stored in the
14467 environment.
14468 (gettext): Link to documentation of lang and locale_dir.
14469 (list_env): New section.
14470 (load_env): New section.
14471 (save_env): New section.
14472
14473 (Reporting bugs): Fix typo.
14474
144752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14478 the example.
14479
144802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 * grub-core/term/at_keyboard.c (set_scancodes)
14483 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14484
144852011-03-30 Colin Watson <cjwatson@ubuntu.com>
14486
14487 * docs/grub.texi (Menu-specific commands): Remove some semantics
14488 that were true in GRUB Legacy but not in GRUB 2.
14489 (submenu): New section.
14490 (false): New section.
14491 (read): New section.
14492 (true): New section.
14493
144942011-03-30 Colin Watson <cjwatson@ubuntu.com>
14495
14496 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14497
144982011-03-30 Colin Watson <cjwatson@ubuntu.com>
14499
14500 * docs/grub.texi (Simple configuration): Explain some of the
14501 current limitations of grub-mkconfig.
14502 Reported by: Leslie Rhorer.
14503
145042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 Old macs search for boot.efi rather than for bootia32.efi.
14507
14508 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14509 * util/grub-mkrescue.in: Likewise.
14510 Suggested by: Peter Jones.
14511
145122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14515
145162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14519 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14520 (grub_lvm_mirror): New struct.
14521 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
14522 (grub_lvm_iterate): Iterate only visible volumes.
14523 (grub_lvm_read): Factor out to ..
14524 (read_lv): ... this. Support mirrors.
14525 (grub_lvm_read): New wrapper function.
14526 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
14527 stripped or mirrored.
14528
145292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14532
145332011-03-29 Colin Watson <cjwatson@ubuntu.com>
14534
14535 * docs/grub.texi (loopback): New section.
14536
145372011-03-29 Colin Watson <cjwatson@ubuntu.com>
14538
14539 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
14540 removed -p option.
14541
145422011-03-29 Colin Watson <cjwatson@ubuntu.com>
14543
14544 * docs/grub.texi (BIOS installation): New section, partly based on
14545 previous text in other sections.
14546 (Installing GRUB using grub-install): Replace BIOS discussion with a
14547 cross-reference.
14548 (Images): Likewise.
14549
145502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 * grub-core/kern/emu/hostdisk.c (find_partition_start)
14553 [HAVE_DIOCGDINFO]: Add safety checks.
14554
145552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
14558 per default compiled in kernel and prior to 8.0 isn't shipped at all.
14559
145602011-03-29 Colin Watson <cjwatson@ubuntu.com>
14561
14562 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
14563 real_sb->size is zero (e.g. RAID-0), get the disk size from
14564 real_sb->data_size instead.
14565 Fixes Ubuntu bug #743136.
14566
145672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
14570 printf clauses for printing size and start.
14571
145722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14573
14574 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
14575 Reported and tested by: Timothy Nikkel.
14576
145772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
14580 (dirty_region_add_real): ... this.
14581 (dirty_region_add): Don't discard margin refresh when performing
14582 scheduled repaint.
14583
145842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/lib/relocator.c (allocate_regstart)
14587 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
14588 terminals are capabple of malloc-free operation.
14589 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14590 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14591
145922011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
14593
14594 * util/grub-setup.c: Copy the partition table zone if floppy support
14595 is disabled, even if no partition table is found.
14596
14597 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
14598 during POST if an invalid partition table is contained in the PBR
14599 of the active partition when GRUB is installed to a partition.
14600
146012011-03-28 Colin Watson <cjwatson@debian.org>
14602
14603 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14604 comment.
14605
146062011-03-28 Colin Watson <cjwatson@debian.org>
14607
14608 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
14609 to be specific about what kind of RAID device we're scanning for.
14610
146112011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
14612
14613 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
14614 return freed string.
14615
146162011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
14619
146202011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 Use libgeom on FreeBSD to detect partitions.
14623
14624 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
14625 (grub-mkrelpath): Likewise.
14626 (grub-script-check): Likewise.
14627 (grub-editenv): Likewise.
14628 (grub-mkpasswd-pbkdf2): Likewise.
14629 (grub-fstest): Likewise.
14630 (grub-mkfont): Likewise.
14631 (grub-mkdevicemap): Likewise.
14632 (grub-probe): Likewise.
14633 (grub-setup): Likewise.
14634 (grub-ofpathname): Likewise.
14635 (grub-mklayout): Likewise.
14636 (example_unit_test): Likewise.
14637 (grub-menulst2cfg): Likewise.
14638 * grub-core/Makefile.core.def (grub-emu): Likewise.
14639 (grub-emu-lite): Likewise.
14640 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
14641 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
14642 define HAVE_DIOCGDINFO.
14643 (follow_geom_up) [FreeBSD]: New function.
14644 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
14645 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
14646 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
14647 unconditionally of HAVE_DIOCGDINFO.
14648
146492011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 Fix FreeBSD compilation problem.
14652
14653 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
14654 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
14655
146562011-03-24 Colin Watson <cjwatson@ubuntu.com>
14657
14658 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
14659 Switch back to page zero before loading a kernel, since some kernel
14660 drivers expect that.
14661 Thanks to: Felix Kuehling.
14662
146632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
14666 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
14667 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
14668
146692011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
14672 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
14673
146742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
14677 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
14678 malloc is disabled.
14679
146802011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
14683 for modules headers when counting the needed allocation size.
14684
146852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
14688 if no ASCII character is found to prevent crash.
14689
146902011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
14691
14692 * grub-core/video/bitmap.c (match_extension): Ignore case.
14693
146942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
14697
146982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * grub-core/script/parser.y: Declare "time" as valid argument.
14701
147022011-03-23 Peter Jones <pjones@redhat.com>
14703
14704 Fix incorrect assert failure reporting.
14705
14706 * grub-core/tests/example_functional_test.c (example_test): Add
14707 a failure comment.
14708 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
14709 (failure_start): ...this. Check that malloc succeeded.
14710 Don't call xvasprintf. Return failure struct.
14711 (failure_append_vtext): New function.
14712 (failure_append_text): Likewise.
14713 (add_failure): Likewise.
14714 (grub_test_assert_helper): Likewise.
14715 * include/grub/test.h (grub_test_assert_helper): New declaration.
14716 (grub_test_assert): Macro rewritten.
14717
147182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
14721
147222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
14725
147262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
14729 into GRUB-style one.
14730
147312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
14734 error and not grub_errno.
14735 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
14736
147372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
14740 GRUB_USB_SPEED_NONE in case of failure and not the error code.
14741
147422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * grub-core/efiemu/i386/pc/cfgtables.c
14745 (grub_machine_efiemu_init_tables): Make declaration a prototype.
14746 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
14747 (grub_xnu_unlock): Likewise.
14748 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
14749
147502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
14753 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
14754 * grub-core/commands/hashsum.c (aliases): Likewise.
14755 * grub-core/commands/setpci.c (pci_registers): Likewise.
14756 * grub-core/disk/usbms.c (attach_hook): Likewise.
14757 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
14758 (zio_checksum_table): Likewise.
14759 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
14760 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
14761 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
14762 * grub-core/lib/relocator.c (leftovers): Likewise.
14763 (extra_blocks): Likewise.
14764 * grub-core/loader/i386/bsd.c (relocator): Likewise.
14765 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
14766 (modules_last): Likewise.
14767 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
14768 (devices): Likewise.
14769 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
14770 (modules_last): Likewise.
14771 * grub-core/normal/auth.c (users): Likewise.
14772 * grub-core/normal/context.c (initial_menu): Likewise.
14773 (current_menu): Likewise.
14774 * grub-core/normal/crypto.c (crypto_specs): Likewise.
14775 * grub-core/term/serial.c (grub_serial_ports): Likewise.
14776 (grub_serial_terminfo_input_template): Likewise.
14777 (grub_serial_terminfo_output_template): Likewise.
14778 (grub_serial_terminfo_input): Likewise.
14779 (grub_serial_terminfo_output): Likewise.
14780 (registered): Likewise.
14781 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
14782
147832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
14786 grub_video_mode_type_t.
14787 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
14788 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
14789 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
14790
147912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * util/grub-install.in: Correct the x86-64 name as x86_64.
14794
147952011-03-11 Colin Watson <cjwatson@ubuntu.com>
14796
14797 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
14798 initial chunk read from the kernel always includes GRUB's multiboot
14799 header, which is now outside the first sector.
14800
148012011-03-09 Colin Watson <cjwatson@ubuntu.com>
14802
14803 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
14804 cached mmap_size, so that this works correctly when called multiple
14805 times.
14806 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
14807
148082011-03-09 Colin Watson <cjwatson@ubuntu.com>
14809
14810 * docs/grub.texi (Simple configuration): Tidy up formatting.
14811
148122011-03-07 Szymon Janc <szymon@janc.net.pl>
14813
14814 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
14815 Set-but-not-used variable removed.
14816
148172011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 Workaround yet another IEEE1275 bug.
14820
14821 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
14822 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
14823 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
14824 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
14825 is set.
14826 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14827 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
14828
148292011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
14832 error.
14833
148342011-02-11 Colin Watson <cjwatson@ubuntu.com>
14835
14836 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
14837 empty, since in that case we can only generate either nothing or a
14838 syntactically invalid configuration file.
14839 Reported by: Michal Suchanek. Fixes Debian bug #612898.
14840
148412011-02-09 Colin Watson <cjwatson@ubuntu.com>
14842
14843 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
14844 (Making a GRUB bootable CD-ROM): Likewise.
14845 (Invoking grub-mkrescue): New section.
14846 Reported by: Yann Dirson. Fixes Debian bug #612585.
14847
148482011-02-09 Colin Watson <cjwatson@ubuntu.com>
14849
14850 * util/grub-install.in: Remove unnecessary brackets from tr
14851 arguments.
14852 * util/grub.d/10_hurd.in: Likewise.
14853 * util/grub.d/10_kfreebsd.in: Likewise.
14854 * util/grub.d/10_linux.in: Likewise.
14855 * util/grub.d/20_linux_xen.in: Likewise.
14856 Reported by: Jamie Heilman. Fixes Debian bug #612564.
14857
148582011-02-08 Colin Watson <cjwatson@ubuntu.com>
14859
14860 * include/grub/file.h (not_easly_seekable): Rename to ...
14861 (not_easily_seekable): ... this. Update all users.
14862
148632011-01-28 Colin Watson <cjwatson@ubuntu.com>
14864
14865 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
14866 grub-mkrescue.
14867
148682011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14869
14870 * util/grub-mkimage.c (generate_image): Refuse to create the images
14871 bigger than the actual flash (512K) in Loongson machines. 512K is also
14872 the biggest chip supported by them.
14873
148742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14877
148782011-01-22 Anthony DeRobertis <anthony@derobert.net>
14879
14880 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14881 super_offset field.
14882
148832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * util/grub-install.in: Ignore install device on platforms
14886 where it doesn't make sense. Always use UUIDs except on pc, efi and
14887 sparc64.
14888 Reported by: Daniel Kahn Gillmor.
14889
148902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14893
148942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14897 (iterate_real): Don't rely on partition being non-NULL.
14898
148992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14902 supported platforms. Put a compile time assert for this rather than
14903 generate a warning with 32-bit shift.
14904
149052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14908 logical expression more readable.
14909
149102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14913 even if some elements have a name.
14914 Reported by: Alexander GQ Gerasiov.
14915
149162011-01-22 Colin Watson <cjwatson@ubuntu.com>
14917
14918 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14919 path unreadable if `grub-probe -t abstraction' fails, for example if
14920 memberlist fails on an LVM volume group.
14921 Reported by: Darius Jahandarie.
14922
149232011-01-22 Colin Watson <cjwatson@ubuntu.com>
14924
14925 * docs/grub.texi (Simple configuration): Document
14926 GRUB_PRELOAD_MODULES.
14927
149282011-01-17 Colin Watson <cjwatson@ubuntu.com>
14929
14930 * .bzrignore: Remove nonexistent grub-pbkdf2.
14931
149322011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * configure.ac: Bump version to 1.99~rc1.
14935
149362011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14939 for safety.
14940
149412011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14944 module.
14945
149462011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14949
149502011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14953 diskdevid.
14954
149552011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 Fix compilation on cygwin.
14958
14959 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14960 -R .drectve on cygwin.
14961 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14962 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14963 (COND_CYGWIN): New condition.
14964 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14965 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14966 not @TARGET_OBJ2ELF@.
14967 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14968 type to determine whether aux is to be used.
14969
149702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14973 realpath'ed device string.
14974 Handle floppy (somewhat).
14975 Issue error in unknown case rather than garbage.
14976 Reported by: Axel Beckert.
14977
149782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * util/grub.d/00_header.in (load_video): Handle the case when no video
14981 drivers available.
14982 Thanks to: Axel Beckert.
14983
149842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14987 variable. Fixes problem on big endian platforms.
14988
149892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14992 It doesn't work well there.
14993
149942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14997 warning.
14998 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14999 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15000 counter.
15001
150022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Use alias->path rather than buggy "canon".
15005
15006 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15007 (ofdisk_hash_add): New argument curcan. All users updated.
15008
150092011-01-11 Colin Watson <cjwatson@ubuntu.com>
15010
15011 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15012
150132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15016 loadmask before doing any calculations. Use correct type for offset.
15017 (grub_linux_load64): Likewise.
15018
150192011-01-11 Colin Watson <cjwatson@ubuntu.com>
15020
15021 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15022 with NULL.
15023 (console_grub_equivalences_unshift): Likewise.
15024 Reported by: Daniel Dehennin.
15025
150262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15029 (set_env_limn_ro): Likewise.
15030 (GRUB_MOD_INIT): Likewise.
15031 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15032 ARRAY_SIZE while on it.
15033 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15034 * grub-core/normal/context.c (grub_env_export): Move from here ...
15035 * grub-core/kern/env.c (grub_env_export): ... here.
15036 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15037 prefix.
15038 * grub-core/kern/main.c (grub_main): Export root and prefix.
15039 * include/grub/env.h (grub_env_export): Export.
15040 Reported by: Seth Goldberg.
15041
150422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15045 Take into account space used by ELF sections and multiboot palette.
15046 Reported by: Grégoire Sutre.
15047
150482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * BUGS: New file.
15051
150522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 Pass more appropriate video id to Linux.
15055
15056 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15057 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15058 fill have_vga.
15059 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15060 shift params->lfb_size.
15061 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15062
150632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15066
150672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15070 separator and pass bootpath/devid even if only one of them is available.
15071 Reported by: Seth Goldberg.
15072
150732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15076 implementations bug on them.
15077
15078 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15079 memory.
15080 (filter_memory_map): Likewise.
15081
150822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15085 Reported by: nebuchadnezzar.
15086
150872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15090 Reported by: nebuchadnezzar.
15091
150922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 Submenu default support.
15095
15096 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15097 auto_boot. All users updated.
15098 Declared static.
15099 Handle chosen and default with submenus.
15100 (grub_menu_execute_with_fallback): Declared static.
15101 Don't notify failure if autobooted. Upper level does it.
15102 (menuentry_eq): New function.
15103 (get_entry_number): Use menuentry_eq.
15104 (show_menu): New parameter "autobooted". All users updated.
15105 (grub_show_menu): Likewise.
15106 * include/grub/normal.h (grub_show_menu): Likewise.
15107 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15108 (grub_menu_execute_with_fallback): Likewise.
15109
151102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * util/grub-mklayout.c (usage): Update help text.
15113
151142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15117
151182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * util/grub-menulst2cfg.c (main): Trim the line.
15121
151222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15125 (grub_machine_init): Don't check amount of low memory as reportedly
15126 INT 12h can be broken and if low memory is too low we wouldn't have
15127 gotten into grub_machine_init anyway.
15128
151292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15132 (grub_machine_mmap_iterate): Take low memory into account
15133
151342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15137 badfs.
15138 Reported by: TiCPU.
15139
151402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15143 members errors.
15144
151452011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15146
15147 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15148 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15149
151502011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15151
15152 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
15153 openbsd and netbsd types being in part_bsd module.
15154
151552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
15158 (_FILE_OFFSET_BITS): Likewise.
15159 Reported by: Seth Goldberg.
15160
151612011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15162
15163 * configure.ac: Check for libdevmapper header.
15164
151652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
15168 avoid aliasing.
15169 (fzap_lookup): Likewise.
15170 (dnode_get): Likewise.
15171 (make_mdn): Likewise.
15172 (zfs_mount): Likewise.
15173 (fzap_iterate): Use temporary pointer to avoid aliasing.
15174 (grub_zfs_read): Likewise.
15175 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
15176 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15177 pointers to avoid aliasing.
15178 (grub_cmd_xnu_kernel64): Likewise.
15179 (grub_xnu_load_driver): Likewise.
15180
151812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15184 aliasing warning.
15185 (grub_cmd_terminal_output): Likewise.
15186 Reported and tested by: Grégoire Sutre.
15187
151882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15191 warning.
15192 Reported and tested by: Grégoire Sutre.
15193
151942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * configure.ac: Do CPU substitution even if it's specified explicitly.
15197 Reported and tested by: Alain Greppin.
15198
151992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15202 Reported and tested by: Alain Greppin.
15203
152042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 Satisfy some bison versions need for inttypes.h.
15207
15208 * grub-core/lib/posix_wrap/inttypes.h: New file.
15209 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15210 (int16_t): Likewise.
15211 (int32_t): Likewise.
15212 (int64_t): Likewise.
15213 Reported and tested by: Alain Greppin.
15214
152152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15218 Silence spurious warning.
15219 Reported and tested by: Alain Greppin.
15220
152212011-01-07 Szymon Janc <szymon@janc.net.pl>
15222
15223 * docs/grub.texi (Support automatic decompression): Update with xz
15224 decompression support.
15225
152262011-01-07 Szymon Janc <szymon@janc.net.pl>
15227
15228 Improve loaders' kernel command line handling.
15229
15230 * grub-core/lib/cmdline.c: New file.
15231 * include/grub/lib/cmdline.h: Likewise.
15232 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15233 grub_create_loader_cmdline to create kernel command line.
15234 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15235 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15236 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15237 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
15238 (linux): Add lib/cmdline.c on common.
15239
152402011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
15243 inopos might be unaligned.
15244
152452011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
15248 endian transformations.
15249 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15250 Based on report by: Doug Nazar.
15251
152522011-01-07 Doug Nazar <nazard.michi@gmail.com>
15253
15254 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
15255 array->members[i].start_sector.
15256 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
15257
152582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
15261 Reported and tested by: Grégoire Sutre.
15262
152632011-01-06 Colin Watson <cjwatson@ubuntu.com>
15264
15265 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
15266 avoid causing test failures by clearing the screen.
15267
152682011-01-06 Colin Watson <cjwatson@ubuntu.com>
15269
15270 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15271 Fix prefix check to handle the case where dir ends with a slash
15272 (most significantly, "/" itself).
15273 Reported by: Michael Vogt.
15274
152752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 Run terminfo_cls on initing terminfo output to clear the screen and
15278 move the cursor to (0,0).
15279
15280 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
15281 Call grub_terminfo_output_init.
15282 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
15283 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
15284 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
15285
152862011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
15289 only when needed.
15290
152912011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
15294 CTRL.
15295
152962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 The E820 type 5 is BADRAM, not EXEC_CODE.
15299
15300 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15301 (GRUB_E820_BADRAM): New define.
15302 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
15303 into reserved. Propagate BADRAM.
15304 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15305 (GRUB_E820_BADRAM): New define.
15306
153072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
15310 Ignore the memory post-4G.
15311 (grub_relocator_firmware_alloc_region): Additional debug statement.
15312
153132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
15316 names.
15317 Reported by: David Pravec.
15318
153192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15320
15321 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
15322 BIOSes.
15323
153242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
15327 Prevent overflow.
15328 (grub_reed_solomon_recover): Likewise.
15329
153302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
15333
153342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15337 variable.
15338
153392011-01-04 Colin Watson <cjwatson@ubuntu.com>
15340
15341 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
15342 descriptions of extract_legacy_entries_source and
15343 extract_legacy_entries_configfile.
15344 Reported by: Seung Soo, Ha.
15345
153462011-01-03 Colin Watson <cjwatson@ubuntu.com>
15347
15348 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15349 on devices that do not implement function 0.
15350
153512011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15352
15353 * grub-core/fs/hfsplus.c: Make parent unsigned.
15354 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15355 overflows.
15356 (grub_hfsplus_cmp_extkey): Likewise
15357
153582011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * util/grub-install.in: Correctly use bootloader_id and not
15361 GRUB_DISTRIBUTOR on efibootmgr line.
15362
153632011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15366
153672010-12-31 Ian Campbell <ijc@hellion.org.uk>
15368
15369 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15370 Xen and reorder menu item wording to make it clearer that this entry
15371 will launch Xen. Print separate messages when loading Xen and
15372 Linux.
15373
153742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15377 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15378 loop in case of incorrect amiga partmap.
15379
153802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15383 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15384 Reported by:EHeM.
15385
153862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15389 spurious warning.
15390 Reported by: crocket
15391
153922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15395 Preload EFIemu.
15396 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15397
153982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15401 is loaded
15402 (grub_cmd_xnu_kextdir): Likewise.
15403 (grub_cmd_xnu_splash): Likewise.
15404
154052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Avoid using Reed-Solomon with 0 redundancy.
15408
15409 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15410 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15411 or 0 redundancy.
15412 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15413 (grub_reed_solomon_recover): Likewise.
15414
154152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 Don't use disk subsystem in freebsd_boot.
15418
15419 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15420 (freebsd_biosdev): Likewise.
15421 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15422 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15423
154242010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 Handling of files of unknown size is currently limited. They can't be
15427 used e.g. for initrd or modules. Moreover gzip handling of not
15428 easily seekable files is buggy. Disable unknown file size for now. May
15429 be inefficient but works.
15430
15431 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15432 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15433
154342010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15435
15436 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15437 floppy probe.
15438
154392010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15440
15441 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15442
154432010-12-25 Shea Levy <shlevy>
15444
15445 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15446
154472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15450 Windows Server 2008.
15451 Reported by: Devin Giddings.
15452
154532010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15456 writing an error message because of async power management.
15457 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15458 (grub_reboot): Likewise.
15459
154602010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15461
15462 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15463 keep unit tests from failing when they shouldn't.
15464
154652010-12-21 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15468 previous patch increased the size of the RS code by 20 bytes (at
15469 least with gcc-4.4), so increase this by 20 bytes to match.
15470 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15471
154722010-12-21 Colin Watson <cjwatson@ubuntu.com>
15473
15474 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15475 scratch area. Make sure to initialise chosen in standalone mode as
15476 well as non-standalone.
15477 Reported by: Robert Hooker and Andy Whitcroft.
15478 Tested by: Andy Whitcroft.
15479
154802010-12-21 Colin Watson <cjwatson@ubuntu.com>
15481
15482 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15483 constructing a new unescaped string and passing it to grub_xputs in
15484 one go, rather than passing characters to grub_printf one at a time.
15485
154862010-12-21 Colin Watson <cjwatson@ubuntu.com>
15487
15488 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15489 initialising utf16.
15490
154912010-12-21 Colin Watson <cjwatson@ubuntu.com>
15492
15493 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15494 comment. Add an extra layer of quotation, requiring the output of
15495 this function to be used in a printf format string.
15496 (gettext_printf): New function.
15497 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15498 Extract translatable strings from here-documents and use a temporary
15499 variable instead, so that xgettext can find them.
15500 * util/grub.d/10_kfreebsd.in: Likewise.
15501 * util/grub.d/10_linux.in: Likewise.
15502 * util/grub.d/20_linux_xen.in: Likewise.
15503
15504 * po/grub.d.sed: New file.
15505 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15506 arguments. Set c-format flags on all strings extracted from
15507 util/grub.d/ (xgettext refuses to include these itself for strings
15508 it extracted from a shell file, but these really are c-format).
15509
155102010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15513 Avoid next pointing to nowhere.
15514
155152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15518 rather than assuming than rootblock is exactly in the middle.
15519 (grub_affs_label): Likewise.
15520
155212010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15524 reserved_first_sector to 0.
15525 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
15526 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
15527 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
15528
155292010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15530
15531 Fix handling of UTF-16 UDF labels.
15532
15533 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
15534 (read_string): .. here.
15535 (grub_udf_label): Use read_string.
15536
155372010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
15538
15539 * grub-core/normal/menu_entry.c (run): Execute commands from menu
15540 editor under argument scope.
15541 Reported by: Jordan Uggla
15542
155432010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15546
155472010-12-18 Colin Watson <cjwatson@ubuntu.com>
15548
15549 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
15550 line, and other keys scroll an entire page (previous handling was
15551 for \r and \n to scroll a page and other keys to scroll two lines).
15552
155532010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15556 Set ptrdest to correct get_physical_target_address rather than
15557 incorrect get_virtual_current_address.
15558
155592010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
15560
15561 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
15562 correct cat to grub_uint8_t * rather than grub_uint32_t *.
15563
155642010-12-10 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * .bzrignore: Ignore grub-core/rs_decoder.S.
15567
155682010-12-10 Colin Watson <cjwatson@ubuntu.com>
15569
15570 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
15571 .mo/.mo.gz opening sequence to ...
15572 (grub_mofile_open_lang): ... here.
15573 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
15574 * util/grub.d/00_header.in (grub_lang): Include country part of
15575 locale.
15576 Reported by: Mario Limonciello.
15577
155782010-12-09 Robert Millan <rmh@gnu.org>
15579
15580 * NEWS: Document addition of ZFS support.
15581
155822010-12-04 Colin Watson <cjwatson@ubuntu.com>
15583
15584 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
15585 rather than `/ 2', as the latter requires -Wa,--divide which would
15586 require bumping our minimum binutils version.
15587
155882010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
15589
15590 * util/grub-script-check.c (main): Print script line number on
15591 error.
15592
155932010-12-01 Robert Millan <rmh@gnu.org>
15594
15595 * grub-core/fs/zfs/zfs.c: New file.
15596 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
15597 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
15598 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
15599 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15600
15601 * include/grub/zfs/dmu.h: Likewise.
15602 * include/grub/zfs/dmu_objset.h: Likewise.
15603 * include/grub/zfs/dnode.h: Likewise.
15604 * include/grub/zfs/dsl_dataset.h: Likewise.
15605 * include/grub/zfs/dsl_dir.h: Likewise.
15606 * include/grub/zfs/sa_impl.h: Likewise.
15607 * include/grub/zfs/spa.h: Likewise.
15608 * include/grub/zfs/uberblock_impl.h: Likewise.
15609 * include/grub/zfs/vdev_impl.h: Likewise.
15610 * include/grub/zfs/zap_impl.h: Likewise.
15611 * include/grub/zfs/zap_leaf.h: Likewise.
15612 * include/grub/zfs/zfs.h: Likewise.
15613 * include/grub/zfs/zfs_acl.h: Likewise.
15614 * include/grub/zfs/zfs_znode.h: Likewise.
15615 * include/grub/zfs/zil.h: Likewise.
15616 * include/grub/zfs/zio.h: Likewise.
15617 * include/grub/zfs/zio_checksum.h: Likewise.
15618
15619 * Makefile.util.def: Build ZFS into libgrubmods.
15620 * grub-core/Makefile.core.def: Build zfs.mod.
15621
156222010-11-30 Szymon Janc <szymon@janc.net.pl>
15623
15624 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
15625 variable.
15626 * grub-core/commands/wildcard.c (match_files): Likewise.
15627
156282010-11-30 Robert Millan <rmh@gnu.org>
15629
15630 * grub-core/loader/i386/bsd.c
15631 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
15632 whether kernel is loaded using grub_loader_is_loaded(), rather
15633 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
15634 certain error conditions.
15635
156362010-11-30 Robert Millan <rmh@gnu.org>
15637
15638 * grub-core/commands/echo.c: Include `<grub/term.h>'.
15639 (grub_cmd_echo): Call grub_refresh() after printing a message.
15640
156412010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 Avoid using tricks for initialising endian variables.
15644
15645 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
15646 Make const.
15647 (GRUB_MOD_INIT): Don't byte-swap.
15648 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15649 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
15650 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
15651 (grub_swap_bytes32_compile_time): Likewise.
15652 (grub_cpu_to_le32_compile_time): Likewise.
15653 (grub_cpu_to_le16_compile_time): Likewise.
15654
156552010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 * util/grub-setup.c (setup): Stop recommending --force. People who
15658 understand the dangers of blocklists are able to find this option
15659 anyway and the ones who don't shouldn't use it anyway.
15660
156612010-11-26 Robert Millan <rmh@gnu.org>
15662
15663 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
15664 Update all users.
15665
156662010-11-26 Colin Watson <cjwatson@ubuntu.com>
15667
15668 Fix LVM-on-RAID probing.
15669
15670 * util/grub-probe.c (probe): Remember which disk was detected as
15671 RAID (perhaps an LVM physical volume). Use that disk's raidname
15672 rather than that of the top-level disk.
15673
156742010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
15675
15676 Fix cmdline argument quotes for setparams command of menuentry
15677 definitions.
15678
15679 * grub-core/commands/menuentry.c (setparams_prefix): Use single
15680 quotes for arguments.
15681 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
15682 grub_strchrsub function instead.
15683
15684 * include/grub/misc.h (grub_strchrsub): New function.
15685
156862010-11-24 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
15689 effort by skipping "." and ".." entries up-front.
15690 Suggested by: Michael Lazarev.
15691
156922010-11-24 Colin Watson <cjwatson@ubuntu.com>
15693
15694 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
15695 ldflags to ldadd, to fix link line ordering.
15696 (none_decompress): Likewise.
15697
156982010-11-24 Colin Watson <cjwatson@ubuntu.com>
15699
15700 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
15701 platforms.
15702 (grub-emu-lite): Remove kern/emu/cache.S.
15703
157042010-11-23 Colin Watson <cjwatson@ubuntu.com>
15705
15706 * util/deviceiter.c (compare_devices): If the by-id link for a
15707 device couldn't be resolved, fall back to sorting by the by-id link
15708 rather than segfaulting.
15709 Reported and tested by: Daniel Mierswa.
15710
157112010-11-23 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
15714 ldflags, to fix link line ordering.
15715
157162010-11-23 Colin Watson <cjwatson@ubuntu.com>
15717
15718 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
15719 linkers are picky about this.
15720
157212010-11-23 Colin Watson <cjwatson@ubuntu.com>
15722
15723 * grub-core/Makefile.am (command.lst): Adjust sed expression
15724 ordering so that extended and priority commands aren't treated as
15725 ordinary commands.
15726
157272010-11-23 Colin Watson <cjwatson@ubuntu.com>
15728
15729 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15730 Remove byte-swapping function calls, which are not valid in
15731 structure initialisers.
15732 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
15733 non-const.
15734 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
15735 grub_gpt_partition_type_bios_boot.
15736
157372010-11-22 Colin Watson <cjwatson@ubuntu.com>
15738
15739 Fix test program build on GNU/kFreeBSD.
15740
15741 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
15742 $(LIBNVPAIR)' library dependencies.
15743
157442010-11-22 Colin Watson <cjwatson@ubuntu.com>
15745
15746 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
15747
157482010-11-22 Colin Watson <cjwatson@ubuntu.com>
15749
15750 * util/grub-install.in: Remove excessive quoting that broke
15751 installations to RAID devices.
15752
157532010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
15756 bootloader version instead of 0.
15757
157582010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
15761 warning.
15762
157632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
15766 retrieve the metadat sector if size isn't known.
15767 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15768
157692010-11-18 Robert Millan <rmh@gnu.org>
15770
15771 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
15772 with grub_memcmp().
15773
157742010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
15777 arrow.
15778 Reported by: Jordan Uggla.
15779
157802010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 Make better UTF compliant.
15783
15784 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
15785 sequences as incorrect.
15786 (grub_is_valid_utf8): Likewise.
15787 (grub_utf8_to_ucs4): Likewise.
15788 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
15789 (grub_ucs4_to_utf8_alloc): Likewise.
15790 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
15791
157922010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 Make legacy_source behave like source.
15795
15796 * grub-core/commands/legacycfg.c (legacy_file): Don't call
15797 grub_show_menu.
15798 (grub_cmd_legacy_source): Call grub_show_menu if needed.
15799
158002010-11-16 Colin Watson <cjwatson@debian.org>
15801
15802 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
15803 (-Wunused implies -Wunused-parameter, but not vice versa).
15804
158052010-11-16 Colin Watson <cjwatson@ubuntu.com>
15806
15807 * configure.ac: Make error messages less confusing by testing for
15808 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
15809 accepted, but produces a diagnostic if something else is wrong).
15810
158112010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
15814 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
15815 (now unused).
15816 (grub_keyboard_controller_init)
15817 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
15818 read the initial state since controller isn't inited yet.
15819
158202010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
15823 allocate_regbeg may need to create new chunk header.
15824
158252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 Fix quoting in legacy parser.
15828
15829 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
15830 single quotes.
15831 (grub_legacy_parse): Likewise.
15832 Reported by: Jordan Uggla.
15833 Tested by: Jordan Uggla.
15834
158352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 Don't add -lgcc on i386 and x86_64.
15838
15839 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
15840 * conf/Makefile.common (LDADD_KERNEL): Likewise.
15841 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
15842
158432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 * configure.ac: Add -Wno-trampolines when supported.
15846
158472010-11-14 Modestas Vainius <modax@debian.org>
15848
15849 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
15850 fakeraid.
15851
158522010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15853
15854 Add generic logical block size support for UDF.
15855
15856 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
15857 (GRUB_UDF_BLKSZ): Removed.
15858 (struct grub_udf_data): New field "lbshift" to hold the logical block
15859 size of the file system in log2 format. All users updated.
15860 (sblocklist): Change type to unsigned.
15861 (grub_udf_mount): Change type of "sblklist" to unsigned.
15862 Move AVDP search before VRS recognition, because the latter requires
15863 knowledge of the logical block size, which is detected during the
15864 former.
15865 Detect and validate logical block size during AVDP search, adding
15866 support for block sizes 512, 1024 and 4096.
15867 Make VRS recognition independent of block size.
15868
158692010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15870
15871 Properly handle deleted files on UDF.
15872
15873 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15874 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15875 set.
15876
158772010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15878
15879 Support reading files larger than 2 GiB.
15880
15881 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15882 "offset" to grub_off_t.
15883 (grub_udf_read_file): Likewise for parameter "pos".
15884
158852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15888 unavailable.
15889 (Simple configuration): Refer to Changes from GRUB Legacy about
15890 save_env availability.
15891
158922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * util/grub-install.in: Ignore empty partition table detection
15895 instead of trying to include part_ module.
15896
158972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15900 LVM on RAID support.
15901
159022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Properly define WORDS_BIGENDIAN in wrapped environments.
15905
15906 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15907 definition.
15908 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15909
15910 Reported by: Manoel Rebelo Abranches.
15911 Tested by: Manoel Rebelo Abranches.
15912
159132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * util/grub-mkconfig.in: Fix quoting.
15916
159172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Support big ext2 files.
15920
15921 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15922 (grub_ext2_read_block): Support triple indirect blocks.
15923 (grub_ext2_read_file): Use 64-bit types and read size_high.
15924 (grub_ext2_open): Read size_high.
15925 Reported by: Ximin Luo.
15926 Tested by: Manoel Rebelo Abranches.
15927
159282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * util/grub-install.in: Handle filenames containing spaces.
15931 Reported by: Jordan Uggla.
15932 Tested by: Jordan Uggla.
15933
159342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * util/grub-mkconfig.in (grub_script_check): New variable.
15937 Use grub_script_check instead of grub-script-check.
15938 Reported by: Barry Jackson.
15939
159402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * docs/grub.texi (menu): Correct the order.
15943 Reported by: D. Hugh Redelmeier.
15944
159452010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15948 jump.
15949
159502010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15951
15952 * include/grub/elfload.h (grub_elf32_size): New parameter.
15953 All users updated.
15954 Return maximum segments alignment.
15955 (grub_elf64_size): Likewise.
15956 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15957 Return maximum segments alignment.
15958 (grub_elf64_size): Likewise.
15959 * grub-core/loader/powerpc/ieee1275/linux.c:
15960 (grub_linux_claimmap_iterate): New function. Uses the
15961 "available" property in the "memory" node for memory allocation
15962 for kernel in the PowerPC loader.
15963 (grub_linux_load32): Correctly find linux entry point offset.
15964 (grub_linux_load64): Likewise.
15965
159662010-11-07 Robert Millan <rmh@gnu.org>
15967
15968 On mips-yeeloong, build with -march=loongson2f when this flag is
15969 available (GCC >= 4.4).
15970 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15971 `-march=mips3'.
15972 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15973 or otherwise add -march=mips3.
15974
159752010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15976
15977 Suppress shell expansion on echo '*' and echo "*" like cases.
15978 Reported by: Jordan Uggla.
15979
15980 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15981 string arguments before shell expansion.
15982 * tests/grub_cmd_echo.in: New testcases.
15983
159842010-11-07 Robert Millan <rmh@gnu.org>
15985
15986 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15987 transition.
15988
159892010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * grub-core/kern/emu/hostdisk.c
15992 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15993
159942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15997 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15998 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15999
160002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16003
160042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * util/grub-install.in: Replace useless recomendation to pass
16007 --modules with a recomendation to report a bug.
16008
160092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 Properly register serial terminfo.
16012 Reported by: Jordan Uggla
16013
16014 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16015 const.
16016 (grub_serial_terminfo_output_template): Likewise.
16017 (grub_cmd_serial): Register "serial" with terminfo.
16018 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16019 grub_serial_terminfo_output.
16020
160212010-11-05 Robert Millan <rmh@gnu.org>
16022
16023 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16024 needed).
16025
160262010-11-05 Robert Millan <rmh@gnu.org>
16027
16028 On Yeeloong, pass machine type information to Linux.
16029
16030 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16031 (LOONGSON_MACHTYPE): New macro, set to
16032 "machtype=lemote-yeeloong-2f-8.9inches".
16033 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16034 additional argument to Linux.
16035
160362010-11-04 Robert Millan <rmh@gnu.org>
16037
16038 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16039 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16040 (its SATA disks are detected as slaveless IDE master drives on
16041 kFreeBSD).
16042 Reported by Carsten Aulbert.
16043
160442010-11-02 Colin Watson <cjwatson@ubuntu.com>
16045
16046 * util/bin2h.c (main): Fix spelling error in generated output.
16047
160482010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16049
16050 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16051
160522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16055 vga= option is supplied.
16056
160572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16060 * util/grub.d/10_kfreebsd.in: Likewise.
16061 * util/grub.d/10_linux.in: Likewise.
16062 * util/grub.d/20_linux_xen.in: Likewise.
16063
160642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16067 argument as an argument to no-argument option.
16068
160692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * util/grub.d/10_linux.in: Add missing load_video with explicit
16072 GRUB_GFXPAYLOAD_LINUX.
16073
160742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16077
160782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16081 elements with invlid index.
16082 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16083 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16084 members.
16085 * include/grub/raid.h (grub_raid_member): New struct.
16086 (grub_raid_array): Transform devices and start_sector into usage of
16087 grub_raid_member. All users updated
16088 (allocated_devs): New member.
16089
160902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16093 is modified
16094
160952010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16096
16097 NetBSD build fix for getline function conflict from gnulib.
16098
16099 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16100 components that depend on gnulib headers.
16101 (libgrubmods.a): Renamed from earlier libgrub.a.
16102 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16103
161042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16107 install rather than creating a broken install.
16108
161092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 * util/grub-setup.c (argp): Remove misleading example of installing to
16112 a partition.
16113
161142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * util/grub-setup.c (setup): Clarify the error message.
16117
161182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16121
161222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * grub-core/kern/emu/misc.c
16125 (grub_make_system_path_relative_to_its_root)
16126 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16127
161282010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 * grub-core/kern/emu/misc.c
16131 (grub_make_system_path_relative_to_its_root): Revert r2882.
16132
161332010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16136 useless field head. All users updated.
16137 (free_subchunk): Correct handling of IN_REGION subchunk.
16138
161392010-10-22 Colin Watson <cjwatson@ubuntu.com>
16140
16141 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16142 (Supported kernels): Likewise.
16143
161442010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16145
16146 Make mktemp invocations portable.
16147
16148 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16149 exit if mktemp fails.
16150 * tests/grub_script_blockarg.in: Likewise.
16151 * tests/partmap_test.in: Likewise.
16152 * tests/util/grub-shell-tester.in: Likewise.
16153 * tests/util/grub-shell.in: Likewise.
16154 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16155 * Makefile.am: Likewise, and chain shell commands with `&&'
16156 instead of ';'.
16157 * util/grub-mkrescue.in: Use the same explicit template as above, and
16158 exit if mktemp fails.
16159
161602010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
16161
16162 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
16163 Linux kernel, reported by Dennis Schridde.
16164
161652010-10-17 Szymon Janc <szymon@janc.net.pl>
16166
16167 * grub-core/normal/auth.c (grub_auth_check_authentication):
16168 Set-but-not-used variable removed.
16169
161702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * docs/grub.texi (GNU/Linux): Document APM unavailability with
16173 32-bit linux protocol.
16174
161752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16178 cursor shape for sanity.
16179
161802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 * docs/grub.texi (Installation): Document buggy BIOS install.
16183
161842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * docs/grub.texi (Installation): Indent.
16187
161882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * util/grub-setup.c (setup): New parameter allow_floppy.
16191 (arguments): New member allow_floppy.
16192 (argp_parser): Handle --allow-floppy.
16193 (main): Pass allow_floppy.
16194 * util/grub-install.in: New option --allow-floppy passed though to
16195 grub-setup.
16196
161972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * util/grub-install.in: Handle partitionless disks.
16200
162012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * util/grub-setup.c (setup): Don't clean blocklists before readability
16204 verfification.
16205
162062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * docs/grub.texi (Installation): Document embedding zone. Remove
16209 obsolete grub-install example.
16210
162112010-10-16 Szymon Janc <szymon@janc.net.pl>
16212
16213 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16214 Set-but-not-used variable ifdef'ed.
16215 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16216 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16217 variable removed.
16218 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16219 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16220 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16221 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16222 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16223 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16224 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16225 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16226 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16227 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16228 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16229 Likewise.
16230
162312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16234 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16235 enum value.
16236
162372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
16240 synonym to _S5_. Needed for some DSDTs.
16241
162422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 Userspace ACPI parser debugging.
16245
16246 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
16247 headers and add relevant defines. Don't include standard headers.
16248 (main) [GRUB_DSDT_TEST]: New function.
16249 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
16250 Don't declare functions.
16251
162522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 Remove dead grub_efi_mm_fini.
16255
16256 * grub-core/kern/efi/mm.c (allocated_page): Removed.
16257 (ALLOCATED_PAGES_SIZE): Likewise.
16258 (MAX_ALLOCATED_PAGES): Likewise.
16259 (allocated_pages): Likewise.
16260 (grub_efi_allocate_pages): Don't record allocated pages.
16261 (grub_efi_free_pages): Likewise.
16262 (grub_efi_mm_init): Likewise.
16263 (grub_efi_mm_fini): Removed.
16264
162652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
16268 (grub_efi_mm_init): Take into account the memory map size increase.
16269
162702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
16273 (serial_hw_put): Wait based on real time rather than port reads. Don't
16274 roken ports.
16275 * include/grub/serial.h (grub_serial_port): New field broken.
16276
162772010-10-16 Robert Millan <rmh@gnu.org>
16278
16279 * grub-core/kern/emu/misc.c
16280 (grub_make_system_path_relative_to_its_root): Fix premature return
16281 when processing non-root ZFS filesystems.
16282 Reported by Sergio Talens-Oliag.
16283
162842010-10-15 Robert Millan <rmh@gnu.org>
16285
16286 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
16287 guarantee compressed ones are processed first.
16288
162892010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
16292 grub_efiemu_autocore.
16293
162942010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
16297 rather than 0x1b.
16298 (grub_console_getkey): Use correct jae opcode rather than ja.
16299
163002010-10-12 Robert Millan <rmh@gnu.org>
16301
16302 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
16303 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
16304 variable. All references updated.
16305
16306 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
16307
163082010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 Correctly distinguish mdraid flavours.
16311
16312 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
16313 (insert_array): New argument raid.
16314 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
16315 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
16316 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
16317
163182010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
16321 handling of special keys.
16322
163232010-10-02 Aleš Nesrsta <starous@volny.cz>
16324
16325 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
16326 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
16327
163282010-10-02 Aleš Nesrsta <starous@volny.cz>
16329
16330 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
16331 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
16332 users updated.
16333 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
16334 Use right endpoint when querying descriptor.
16335
163362010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 Clear out 0x80 color bit on EFI.
16339 Tested by: decoder
16340 Reported by: decoder and meta tech.
16341
16342 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
16343 (grub_console_setcolorstate): Clear out 0x80 bit.
16344 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
16345 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16346 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16347
163482010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16349
16350 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16351 Set to "auto".
16352
163532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16356 mo_file after freeing.
16357
163582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16361
163622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16365 flags.
16366
163672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16370 usage.
16371
163722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16373
16374 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16375
16376 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16377 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16378 and terminfo.h when needed.
16379 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16380 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16381 (terminfo): Enable only on terminfokernel.
16382 (extcmd): Likewise.
16383 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16384 * include/grub/lib/arg.h: Likewise.
16385 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16386 incorrect usage of ->.
16387
163882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16391 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16392
163932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 Fix coreboot compilation.
16396
16397 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16398 Take VBE info into account even if only text is supported.
16399 (fill_vbe_info): Take into account the case when only VGA text
16400 is supported.
16401 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16402 on coreboot, multiboot and qemu.
16403
164042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16405
16406 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16407 debug messages.
16408 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16409
164102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16413 parameters.
16414
164152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16418 if they were BSD-style.
16419
164202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * grub-core/boot/i386/pc/lnxboot.S: Replace
16423 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16424 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16425
164262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 Write embedding zone using Reed-Solomon.
16429
16430 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16431 * grub-core/Makefile.am (rs_decoder.S): New target.
16432 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16433 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16434 (multiboot): Move to RS part.
16435 (post_reed_solomon): New label.
16436 (grub_boot_drive): Move to non-RS part since it's modified in memory
16437 on boot.
16438 Include rs_decoder.S.
16439 * grub-core/lib/reed_solomon.c: New file.
16440 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16441 New definition.
16442 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16443 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16444 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16445 * include/grub/partition.h (grub_partition_map): Change prototype of
16446 embed to allow returning additional sectors.
16447 * include/grub/reed_solomon.h: New file.
16448 * util/grub-setup.c (setup): Handle Reed-Solomon.
16449
164502010-09-28 Colin Watson <cjwatson@ubuntu.com>
16451
16452 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16453 i386 and x86-64 definedness tests.
16454
164552010-09-27 Yves Blusseau <blusseau@zetam.org>
16456
16457 Fix generation of kernel_syms.lst
16458
16459 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16460 ASM_PREFIX
16461
164622010-09-26 Robert Millan <rmh@gnu.org>
16463
16464 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16465
16466 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16467 the pool is an array of devices, iterate through it and return the
16468 first device that passes a stat() test (instead of blindly returning
16469 the first one).
16470
164712010-09-26 Robert Millan <rmh@gnu.org>
16472
16473 Build fixes for GNU/kFreeBSD.
16474
16475 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16476 to programs that require ZFS conversion.
16477 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16478 kernels that don't have FLOPPY_MAJOR.
16479
164802010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16481
16482 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16483
164842010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16485
16486 Fix grub-emu build.
16487
16488 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16489 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16490 mdraid09 and mdraid1x.
16491
164922010-09-24 Colin Watson <cjwatson@ubuntu.com>
16493
16494 Re-enable grub-extras.
16495
16496 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16497 avoid confusing Automake. Run autogen only twice, once for the top
16498 level and once for grub-core. Add Makefile.util.def and
16499 Makefile.core.def from extra modules to the appropriate autogen
16500 invocations. If Makefile.common exists in an extra module, include
16501 it in both Makefile.util.am and grub-core/Makefile.core.am;
16502 similarly, include any Makefile.util.common file in Makefile.util.am
16503 and any Makefile.core.common file in grub-core/Makefile.core.am.
16504 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16505 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16506 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16507 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16508
16509 * gentpl.py (gvar_add): Turn GVARS into a set.
16510 (global_variable_initializers): Sort global variables on output.
16511 (vars_init): New function.
16512 (first_time): Likewise.
16513 (library): Ensure that non-global variable initialisations are
16514 emitted before the first time we emit code for a library block.
16515 Append to variables rather than setting them. Only emit
16516 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16517 each conditional path.
16518 (program): installdir() emits an Autogen macro, so must be passed to
16519 var_add rather than gvar_add.
16520 (data): Likewise.
16521 (script): Likewise.
16522 (rules): New function, centralising handling for different target
16523 types. Set up Guile association lists for first_time and vars_init,
16524 and send most output to a diversion so that variable initialisations
16525 can be emitted first.
16526 (module_rules): Use new rules function.
16527 (kernel_rules): Likewise.
16528 (image_rules): Likewise.
16529 (library_rules): Likewise.
16530 (program_rules): Likewise.
16531 (script_rules): Likewise.
16532 (data_rules): Likewise.
16533
16534 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
16535
16536 * .bzrignore: Add contrib and grub-core/contrib. Remove
16537 grub-core/Makefile.gcry.am.
16538
165392010-09-24 Yves Blusseau <blusseau@zetam.org>
16540
16541 * grub-core/lib/LzFind.c: Add missing include.
16542 * grub-core/lib/LzmaEnc.c: Likewise.
16543 * grub-core/script/lexer.c: Likewise.
16544 * grub-core/script/yylex.l: Likewise.
16545 * util/grub-macho2img.c: Likewise.
16546 * util/grub-menulst2cfg.c: Likewise.
16547 * util/grub-mklayout.c: Likewise.
16548 * util/grub-mkpasswd-pbkdf2.c
16549 * util/grub-mkrelpath.c: Likewise.
16550 * util/resolve.c: Likewise.
16551
165522010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
16553
16554 * Makefile.util.def (example_unit_test): Add
16555 grub-core/gnulib/libgnu.a.
16556
165572010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16558
16559 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16560
165612010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 Support xz compression on yeeloong.
16564
16565 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
16566 * configure.ac: Check for LZMA.
16567 * grub-core/Makefile.core.def (xz_decompress): New target.
16568 (none_decompress): Likewise.
16569 * grub-core/boot/decompressor/minilib.c: New file.
16570 * grub-core/boot/decompressor/none.c: Likewise.
16571 * grub-core/boot/decompressor/xz.c: Likewise.
16572 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
16573 * grub-core/kern/mips/cache_flush.S: Likewise.
16574 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
16575 * grub-core/kern/mips/startup.S: Move first stage to ...
16576 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
16577 nomacro.
16578 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
16579 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
16580 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
16581 Allocate statically.
16582 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
16583 Allocate statically or use scratch. Don't check CRC32.
16584 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
16585 Allocate statically. Don't check CRC32.
16586 * include/grub/decompressor.h: New file.
16587 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
16588 Removed.
16589 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
16590 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
16591 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
16592 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
16593 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
16594 * util/grub-mkimage.c (grub_compression_t): New type.
16595 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
16596 (image_target_desc): New field default_compression.
16597 (image_targets): Adjust yeeloong targets.
16598 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
16599 (compress_kernel): New parameter comp.
16600 (generate_image): Likewise. Handle new compression case.
16601 (options): New option --compression
16602 (help): Likewise.
16603 (main): Handle new option.
16604
166052010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16606
16607 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16608
166092010-09-22 Colin Watson <cjwatson@ubuntu.com>
16610
16611 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16612 typo in __i386__ conditional.
16613
166142010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
16617 include.
16618
166192010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 Implement EFI and ACPI multiboot2 extensions.
16622
16623 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
16624 new tags as supported.
16625 (acpiv2_size): New function.
16626 (grub_multiboot_get_mbi_size): Take new tags into account.
16627 (grub_multiboot_make_mbi): Add new tags.
16628 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
16629
166302010-09-21 Aleš Nesrsta <starous@volny.cz>
16631
16632 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
16633 Added missing configuration of USB device.
16634
166352010-09-21 Colin Watson <cjwatson@ubuntu.com>
16636
16637 * grub-core/normal/menu_entry.c (run): Make sure we always return
16638 a value.
16639
166402010-09-21 Colin Watson <cjwatson@ubuntu.com>
16641
16642 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
16643 NumberOfPages is UINT64 according to the UEFI specification, not
16644 UINTN. Fix printf format.
16645
166462010-09-21 Colin Watson <cjwatson@ubuntu.com>
16647
16648 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
16649 `err' to grub_usb_err_t.
16650 Reported and tested by: KESHAV P.R.
16651
166522010-09-21 Colin Watson <cjwatson@ubuntu.com>
16653
16654 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
16655 tpart non-const, so that we can assign to it. (Since this is a
16656 typedef, the constness refers to the pointer rather than what it
16657 points to.)
16658
166592010-09-21 Colin Watson <cjwatson@ubuntu.com>
16660
16661 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
16662 $(top_srcdir)/grub-core/gnulib as well as
16663 $(top_builddir)/grub-core/gnulib.
16664 Reported by: KESHAV P.R.
16665
166662010-09-21 Colin Watson <cjwatson@ubuntu.com>
16667
16668 * util/grub-install.in: Fix the bootloader ID option to be
16669 consistently --bootloader-id, not --bootloader_id.
16670 Reported by: KESHAV P.R.
16671
166722010-09-21 Colin Watson <cjwatson@ubuntu.com>
16673
16674 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
16675 check hash checksum." consistently translatable.
16676
166772010-09-21 Yves Blusseau <blusseau@zetam.org>
16678
16679 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
16680 $(top_builddir).
16681
166822010-09-21 Colin Watson <cjwatson@ubuntu.com>
16683
16684 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
16685 (GRUB_MOD_INIT): Register sha1sum command.
16686 (GRUB_MOD_FINI): Unregister sha1sum command.
16687
166882010-09-21 Yves Blusseau <blusseau@zetam.org>
16689
16690 Keep boot and grub directory names in sync with utils scripts
16691
16692 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
16693 * config.h.in: Add previous macros.
16694 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
16695 * util/grub-install.in: Use $bootdir and $grubdir variables.
16696
166972010-09-21 Colin Watson <cjwatson@ubuntu.com>
16698
16699 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
16700 convert partition names to disk names if the new `convert' parameter
16701 is set.
16702 (grub_util_biosdisk_get_grub_dev): If opening the disk device
16703 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
16704 disk in its own right. This can happen with Xen disk images.
16705
167062010-09-21 Yves Blusseau <blusseau@zetam.org>
16707
16708 * util/grub-editenv.c: Update strings to avoid warnings when generating
16709 grub.pot file.
16710 * util/grub-setup.c: Likewise.
16711
167122010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 * configure.ac: Change version to 1.99~beta0.
16715
167162010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16719 Add BADRAM.
16720 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
16721 Likewise.
16722 * include/multiboot.h: Resynced with specification.
16723 * include/multiboot2.h: Likewise.
16724
167252010-09-21 Colin Watson <cjwatson@ubuntu.com>
16726
16727 Fix po directory handling.
16728
16729 * configure.ac: Create po/Makefile.in rather than po/Makefile.
16730 * grub-core/gnulib/Makefile.am: Import gettext module.
16731 * m4/gnulib-cache.m4: Likewise.
16732 * m4/gnulib-comp.m4: Likewise.
16733 * m4/gettext.m4: New file, from gnulib.
16734 * m4/glibc2.m4: Likewise.
16735 * m4/iconv.m4: Likewise.
16736 * m4/intdiv0.m4: Likewise.
16737 * m4/intl.m4: Likewise.
16738 * m4/intldir.m4: Likewise.
16739 * m4/intlmacosx.m4: Likewise.
16740 * m4/intmax.m4: Likewise.
16741 * m4/inttypes-pri.m4: Likewise.
16742 * m4/lcmessage.m4: Likewise.
16743 * m4/lib-ld.m4: Likewise.
16744 * m4/lib-link.m4: Likewise.
16745 * m4/lib-prefix.m4: Likewise.
16746 * m4/lock.m4: Likewise.
16747 * m4/nls.m4: Likewise.
16748 * m4/po.m4: Likewise.
16749 * m4/printf-posix.m4: Likewise.
16750 * m4/progtest.m4: Likewise.
16751 * m4/threadlib.m4: Likewise.
16752 * m4/uintmax_t.m4: Likewise.
16753 * m4/visibility.m4: Likewise.
16754 * po/Makefile.am: Remove.
16755 * po/Makefile.in.in: New file, from gettext.
16756 ($(DOMAIN).pot-update): Support POTFILES-shell.
16757 * po/Makevars: New file.
16758 * po/POTFILES-shell: Rename to ...
16759 * po/POTFILES-shell.in: ... this. Update.
16760 * po/POTFILES: Rename to ...
16761 * po/POTFILES.in: ... this. Update.
16762 * po/Rules-quot: New file, from gettext.
16763 * po/boldquot.sed: Likewise.
16764 * po/en@boldquot.header: Likewise.
16765 * po/en@quot.header: Likewise.
16766 * po/insert-header.sin: Likewise.
16767 * po/quot.sed: Likewise.
16768 * po/remove-potcdate.sin: Likewise.
16769
167702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16771
16772 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
16773
167742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * util/grub.d/20_linux_xen.in: Use submenus.
16777
167782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 Support submenus.
16781
16782 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
16783 parameter submenu. All users updated.
16784 * grub-core/normal/main.c (free_menu): Rename to ...
16785 (grub_normal_free_menu): ... this. Made global.
16786 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
16787 if requested.
16788 * grub-core/normal/menu_entry.c (screen): New field submenu.
16789 (make_screen): Set submenu.
16790 (run): Open new context if requested.
16791 * include/grub/menu.h (grub_menu_entry): New field submenu.
16792 * include/grub/normal.h (grub_normal_free_menu): New proto.
16793
167942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 Menu entries extractor.
16797
16798 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
16799 variants.
16800 (GRUB_MOD_INIT): Register new variants.
16801 (GRUB_MOD_FINI): Unregister new variants.
16802 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
16803 into grub_cmd_legacy_source.
16804 (grub_cmd_legacy_source): Implement extractor variants.
16805 (GRUB_MOD_INIT): Register new variants.
16806 (GRUB_MOD_FINI): Unregister new variants.
16807 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
16808 as an extractor.
16809 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
16810 search as an extractor.
16811 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
16812 test as an extractor.
16813 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
16814 as an extractor.
16815 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
16816 (grub_env_new_context): New function.
16817 (grub_env_context_open): Likewise.
16818 (grub_env_extractor_open): Likewise.
16819 (grub_env_extractor_close): Likewise.
16820 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16821 grub_extractor_level.
16822 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
16823 * include/grub/env.h (grub_env_extractor_open): New proto.
16824 (grub_env_extractor_close): Likewise.
16825 * include/grub/normal.h (grub_extractor_level): New external variable.
16826
168272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 Make cutmem accept a region specification.
16830 Suggested by: Samuel Thibault
16831
16832 * grub-core/mmap/mmap.c (parsemem): New function.
16833 (grub_cmd_cutmem): Handle new arguments.
16834
168352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16836
16837 New command cutmem.
16838
16839 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
16840 (GRUB_MOD_INIT): Register new command.
16841 (GRUB_MOD_FINI): Unregister new command.
16842
168432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 Support some annoying BSD and Minix subpartitions.
16846
16847 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
16848 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
16849 Properly handle concatenation.
16850 * grub-core/kern/device.c (grub_device_iterate): Likewise.
16851 * grub-core/normal/completion.c (iterate_partition): Likewise.
16852 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
16853 contain partition. All users updated.
16854 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
16855 struct.
16856 (grub_openbsdlabel_partition_map): Likewise.
16857 (bsdlabel_partition_map_iterate): Rename to ..
16858 (iterate_real): ... this. New arguments sector, freebsd and pmap.
16859 (bsdlabel_partition_map_iterate): New function.
16860 (netopenbsdlabel_partition_map_iterate): Likewise.
16861 (netbsdlabel_partition_map_iterate): Likewise.
16862 (openbsdlabel_partition_map_iterate): Likewise.
16863 (GRUB_MOD_INIT): Register new partmaps.
16864 (GRUB_MOD_FINI): Unregister new partmaps.
16865 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
16866 (grub_partition_msdos_iterate): ... this. All users updated.
16867 Don't support embedding other than in a minix partition.
16868 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16869 proto.
16870 * include/grub/partition.h (grub_partition): New field msdostype.
16871 * util/grub-install.in: Handle openbsd and netbsd types being in
16872 part_bsd module.
16873
168742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16877
16878 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16879 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16880 (mdraid09): ... this.
16881 (mdraid1x): New module.
16882 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16883 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16884
168852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16888 vsprintf.
16889
168902010-09-20 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * grub-core/commands/efi/lsefimmap.c: Correct header.
16893 * NEWS: Update.
16894
168952010-09-20 Colin Watson <cjwatson@ubuntu.com>
16896
16897 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16898 as printf format strings; the translations might contain '%' which
16899 could cause a crash.
16900 (main): Likewise.
16901 * util/grub-fstest.c (argp_parser): Likewise.
16902 * util/grub-setup.c (argp_parser): Likewise.
16903 (main): Likewise.
16904
169052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 Use argp in grub-fstest.
16908
16909 * util/grub-fstest.c: Don't include getopt.h.
16910 Include argp.h.
16911 (root): New variable.
16912 (args_count): Likewise.
16913 (nparm): Likewise.
16914 (num_disks): Likewise.
16915 (images): Likewise.
16916 (cmd): Likewise.
16917 (debug_str): Likewise.
16918 (args): Likewise.
16919 (options): Transformed to argp.
16920 (usage): Removed.
16921 (main): Split argument parsing into ...
16922 (argp_parser): ... this. Changed to argp format.
16923 (argp): New variable.
16924 (main): Use argp_parse.
16925
169262010-09-20 Tristan Gingold <gingold@free.fr>
169272010-09-20 Robert Millan <rmh.grub@aybabtu.com>
169282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/commands/efi/lsefimmap.c: New file.
16931 * grub-core/Makefile.core.def (lsefimmap): New module.
16932 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16933
169342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 Pause the execution (10s max) if any errors are displayed so the user
16937 has a chance to see them.
16938
16939 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16940 (grub_print_error): Increment grub_err_printed_errors.
16941 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16942 execution if any errors were displayed.
16943 (show_menu): Remove old code for pause.
16944 * grub-core/normal/menu_entry.c (run): Likewise.
16945 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16946 users updated.
16947 (grub_normal_get_char_counter): Likewise.
16948 * include/grub/err.h (grub_err_printed_errors): New external variable.
16949 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16950
169512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 Support multiboot VBE info.
16954
16955 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16956 Take VBE info into account.
16957 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16958 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16959 Call fill_vbe_info when appropriate.
16960 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16961 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16962 as supported.
16963 (grub_multiboot_get_mbi_size): Take new tags into account.
16964 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16965 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16966 Call fill_vbe_tag when appropriate.
16967 (grub_multiboot_make_mbi): Properly align tags.
16968 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16969 function.
16970 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16971 proto.
16972 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16973
169742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 Suport manual terminal geometry specification.
16977
16978 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16979 Save state in grub_ofconsole_terminfo_output.
16980 (grub_ofconsole_term): Use grub_terminfo_getwh.
16981 (grub_ofconsole_getwh): Removed.
16982 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16983 (grub_serial_term): Use grub_terminfo_getwh.
16984 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16985 (options): New struct.
16986 (OPTION_*): New enum.
16987 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16988 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16989 width and height.
16990 (grub_terminfo_getwh): New proto.
16991 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16992
169932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 Handle legacy "terminal" command.
16996
16997 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16998 and FLAG_TERMINAL.
16999 (legacy_commands): Add terminal and title.
17000 (grub_legacy_parse): Handle terminal. Simplify title handling.
17001
170022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17003
17004 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17005 parameters overflow.
17006
170072010-09-20 Colin Watson <cjwatson@ubuntu.com>
17008
17009 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17010 widthspec.h.
17011
17012 * docs/grub.texi (Shell-like scripting): Document `!'.
17013 (Network): Simplify using new i386-pc-pxe format. Mention
17014 grub-mknetdir.
17015
17016 * NEWS: Update.
17017
170182010-09-20 Colin Watson <cjwatson@ubuntu.com>
17019
17020 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17021 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17022 when needed.
17023
170242010-09-20 Colin Watson <cjwatson@ubuntu.com>
17025
17026 * grub-core/commands/efi/lsefisystab.c: Correct header.
17027 * grub-core/commands/efi/lssal.c: Likewise.
17028 * grub-core/commands/testload.c: Likewise.
17029
170302010-09-20 Colin Watson <cjwatson@ubuntu.com>
17031
17032 * util/grub-mkrescue.in: Add explicit root argument to --set to
17033 prevent the UUID being interpreted as an argument to --set (matches
17034 previous change to prepare_grub_to_access_device).
17035
170362010-09-20 Colin Watson <cjwatson@ubuntu.com>
17037
17038 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17039 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17040 the verbosity of later #ifs.
17041 (find_partition_start): Define this function on FreeBSD too.
17042 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17043 function.
17044 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17045 on FreeBSD.
17046
170472010-09-20 Yves Blusseau <blusseau@zetam.org>
17048
17049 * util/grub-editenv.c: Use argp instead of getopt.
17050
170512010-09-20 Yves Blusseau <blusseau@zetam.org>
17052
17053 * util/grub-setup.c: Use argp instead of getopt.
17054
170552010-09-20 Yves Blusseau <blusseau@zetam.org>
17056
17057 Use gnulib-tool to create gnulib source files.
17058
17059 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17060 grub-core/gnulib directories
17061 * .bzignore: Add **/.deps and autogenerated gnulib files
17062 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17063 of gnulib macros, add grub-core/gnulib/Makefile
17064 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17065 include m4 directory to aclocal.
17066 * Makefile.util.def: Remove direct compilation of gnulib source files
17067 and use the new grub-core/gnulib/libgnu.a.
17068 * build-aux/config.rpath: move config.rpath from top directory to
17069 build-aux
17070 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17071 in gnulib headers
17072 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17073 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17074 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17075 header.
17076 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17077 string.
17078
170792010-09-20 Yves Blusseau <blusseau@zetam.org>
17080
17081 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17082 grub-core/genmod.sh and grub-core/gensyminfo.sh
17083
170842010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17085
17086 Add a test for echo command options.
17087
17088 * tests/grub_cmd_echo.in: New test.
17089 * Makefile.util.def: Rules for new test.
17090
170912010-09-20 Szymon Janc <szymon@janc.net.pl>
17092
17093 Remove crc.mod and move crc command to hashsum.mod.
17094 Remove lib/crc.c - users updated to use gcrypt implementation.
17095
17096 * grub-core/commands/crc.c: Removed.
17097 * grub-core/Makefile.core.def (crc): Module removed.
17098 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17099 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17100 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17101 * grub-core/lib/crc.c: Removed.
17102 * include/grub/lib/crc.h: Removed.
17103 * Makefile.util.def (crc): Remove lib/crc.c
17104 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17105 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17106 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17107 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17108 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17109 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17110
171112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17114
171152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 Split config.h for util and core.
17118
17119 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17120 (ADDR32): Likewise.
17121 (DATA32): Likewise.
17122 (BSS_START_SYMBOL): Likewise.
17123 (END_SYMBOL): Likewise.
17124 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17125 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17126 * config.h.in: New file.
17127 * configure.ac: Use config-util.h as config define file.
17128 Rename MACHINE into GRUB_MACHINE. All users updated.
17129 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17130 updated.
17131 (NESTED_FUNC_ATTR): Likewise.
17132 Substitue new variables.
17133 (COND_HAVE_ASM_USCORE): New conditional.
17134 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17135 (kernel_syms.lst): Use ASM_PREFIX.
17136 * grub-core/kern/emu/console.c: Include config-util.h.
17137 * grub-core/kern/emu/misc.c: Likewise.
17138 * grub-core/kern/emu/mm.c: Likewise.
17139 * include/grub/emu/misc.h: Likewise.
17140 * include/grub/libgcc.h: Likewise.
17141
171422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17145 constants usage.
17146 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17147 Fix GRUB_TERM_KEY_* constants usage.
17148 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17149
171502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
17153 print pointer.
17154 * grub-core/bus/usb/uhci.c: Remove empty define.
17155 (grub_uhci_check_transfer): Add missing cast.
17156 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
17157 print pointer.
17158 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
17159 PRIuGRUB_SIZE.
17160 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
17161
171622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 * grub-core/Makefile.core.def (legacycfg): Add
17165 lib/i386/pc/vesa_modes_table.c on emu.
17166
171672010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17168
17169 Reduce number of temporary files generated by build system.
17170
17171 * grub-core/gencmdlist.sh: Removed.
17172 * grub-core/genfslist.sh: Removed.
17173 * grub-core/genhandlerlist.sh: Removed.
17174 * grub-core/genmodsrc.sh: Removed.
17175 * grub-core/genpartmaplist.sh: Removed.
17176 * grub-core/genparttoollist.sh: Removed.
17177 * grub-core/gentermiinallist.sh: Removed.
17178 * grub-core/genvideolist.sh: Removed.
17179
17180 * grub-core/genmod.sh.in: New file.
17181 * grub-core/gensyminfo.sh.in: New file.
17182
17183 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17184 * conf/Makefile.extra-dist: Update with new files.
17185 * gentpl.py: Remove rules related to unnecessary temporary files.
17186 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17187 and und-* files.
17188 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17189 genmod.sh scripts.
17190 * grub-core/bus/usb/uhci.c: Remove empty #define.
17191 * grub-core/genmoddep.awk: Updated with new syminfo format.
17192 * util/bash-completion.d/Makefile.am: Add config.log to
17193 CLEANFILES.
17194
171952010-09-19 Yves Blusseau <blusseau@zetam.org>
17196
17197 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17198
171992010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17200
17201 * util/grub-mkconfig.in: Check the config script for syntax errors
17202 before saving.
17203
172042010-09-19 Colin Watson <cjwatson@ubuntu.com>
172052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17208 platforms.
17209 * util/grub-install.in: Add EFI and IEEE1275 support.
17210 * util/i386/efi/grub-install.in: Removed.
17211 * util/ieee1275/grub-install.in: Likewise.
17212
172132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17216 (grub_cmd_cmosclean): Likewise.
17217 (GRUB_MOD_INIT): Register command cmosclean.
17218 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17219 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17220
172212010-09-18 Carles Pina i Estany <carles@pina.cat>
172222010-09-18 Aleš Nesrsta <starous@volny.cz>
172232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 Add keyboard layouts support.
17226
17227 * Makefile.util.def (grub-mklayout): New file.
17228 (grub-kbdcomp): New script.
17229 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17230 Add keyboard_layouts.h.
17231 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17232 commands/boot.c on yeeloong.
17233 (keylayouts): New module.
17234 * grub-core/bus/usb/ohci.c
17235 * grub-core/bus/usb/uhci.c
17236 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17237 (grub_usb_add_hub): Poll interrupt pipe for device handling.
17238 (attach_root_port): Likewise.
17239 (poll_nonroot_hub): Likewise.
17240 (grub_usb_poll_devices): Likewise.
17241 (detach_device): Close transfer.
17242 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
17243 function.
17244 (grub_usb_bulk_setup_readwrite): Likewise.
17245 (grub_usb_bulk_finish_readwrite): Likewise.
17246 * grub-core/commands/keylayouts.c: New file.
17247 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
17248 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
17249 aliases.
17250 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
17251 support scancode 2.
17252 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
17253 * include/grub/keyboard_layouts.h: New file.
17254 * util/grub-mklayout.c: New file.
17255 * util/grub-kbdcomp.in: Likewise.
17256
172572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 Unify memory types.
17260
17261 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
17262 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
17263 types.
17264 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
17265 (grub_upper_mem): Likewise.
17266 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
17267 * include/grub/memory.h (grub_memory_type_t): New enum.
17268 All users updated.
17269
172702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * grub-core/Makefile.core.def (lsapm): New module.
17273 * grub-core/commands/i386/pc/lsapm.c: New file.
17274 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
17275 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
17276 Likewise.
17277 * include/grub/i386/pc/apm.h: New file.
17278 * include/multiboot.h (multiboot_apm_info): New struct.
17279
172802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 GRUB-legacy configuration file support.
17283
17284 * Makefile.util.def (grub-menulst2cfg): New util.
17285 * docs/man/grub-menulst2cfg.h2m: New file.
17286 * grub-core/Makefile.core.def (legacycfg): New module.
17287 * grub-core/commands/legacycfg.c: New file.
17288 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
17289 (grub_normal_add_menu_entry): ... this.
17290 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
17291 (grub_normal_set_password): ...this.
17292 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
17293 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
17294 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
17295 * grub-core/lib/legacy_parse.c: New file.
17296 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
17297 * include/grub/i386/pc/vesa_modes_table.h: New file.
17298 * include/grub/legacy_parse.h: Likewise.
17299 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
17300 * util/grub-menulst2cfg.c: New file.
17301
173022010-09-17 Colin Watson <cjwatson@ubuntu.com>
17303
17304 * grub-core/kern/emu/hostdisk.c
17305 (convert_system_partition_to_system_disk): Initialise node.
17306
173072010-09-17 Colin Watson <cjwatson@ubuntu.com>
17308
17309 * grub-core/kern/emu/hostdisk.c
17310 (convert_system_partition_to_system_disk): Fix devmapper memory pool
17311 leak.
17312 Reported and based on patch by: Modestas Vainius.
17313
173142010-09-17 Colin Watson <cjwatson@ubuntu.com>
17315
17316 Fix DM-RAID probing with recent versions of device-mapper udev
17317 rules.
17318
17319 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
17320 canonicalise device paths under /dev/mapper/.
17321 (convert_system_partition_to_system_disk): Compare the
17322 uncanonicalised path to /dev/mapper/ rather than the canonicalised
17323 path, since device nodes under /dev/mapper/ are often symlinks.
17324
173252010-09-17 Yves Blusseau <blusseau@zetam.org>
17326
17327 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17328
173292010-09-16 Yves Blusseau <blusseau@zetam.org>
17330
17331 * configure.ac: Avoid some annoying error messages if freetype-config
17332 program is not found.
17333
173342010-09-16 Colin Watson <cjwatson@ubuntu.com>
17335
17336 Support RAID on virtio devices, and others.
17337
17338 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
17339 Rename to ...
17340 [__MINGW32__] (grub_find_device): ... this.
17341 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
17342 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
17343 reasonable default if dir is NULL.
17344 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
17345 ...
17346 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17347 (grub_guess_root_device): Update callers.
17348 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17349
17350 * util/raid.c (grub_util_getdiskname): Remove.
17351 (grub_util_raid_getmembers): Use grub_find_device rather than
17352 grub_util_getdiskname.
17353
173542010-09-16 Colin Watson <cjwatson@ubuntu.com>
17355
17356 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17357 needing to be compiled with serial support.
17358 (ls): Indicate that multiple files are accepted.
17359 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17360 indicate that multiple files are accepted.
17361
173622010-09-16 Colin Watson <cjwatson@ubuntu.com>
17363
17364 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17365 libgrub_a_init.c, and util/bash-completion.d/grub.
17366
173672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 * util/grub-setup.c (setup): Fix incorrect container semantics.
17370
173712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17374 misusage.
17375 Reported by: J. Nick Terry
17376
173772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 Move embedding routines to partmap sources files.
17380
17381 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17382 [GRUB_UTIL]: New variable.
17383 (gpt_partition_map_iterate): Set part.parent.
17384 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17385 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17386 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17387 New function.
17388 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17389 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17390 (grub_partition_map) [GRUB_UTIL]: New field embed.
17391 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17392 (setup): Use ->embed.
17393
173942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17397 function.
17398 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17399 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17400
174012010-09-15 Yves Blusseau <blusseau@zetam.org>
17402
17403 Add function to get completions from usage.
17404
17405 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17406 completions from usage. Use LC_ALL=C to get options properly.
17407
174082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 * grub-core/gnulib/basename-lgpl.c: Imported.
17411 * grub-core/gnulib/basename.c: Likewise.
17412 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17413 * grub-core/gnulib/dirname.c: Likewise.
17414 * grub-core/gnulib/dirname.h: Likewise.
17415 * grub-core/gnulib/stripslash.c: Likewise.
17416
174172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * grub-core/gnulib/error.c: Resynced.
17420 * grub-core/gnulib/getopt.c: Likewise.
17421 * grub-core/gnulib/getopt_int.h: Likewise.
17422 * grub-core/gnulib/regex.h: Likewise.
17423 * grub-core/gnulib/regex_internal.c: Likewise.
17424 * grub-core/gnulib/regex_internal.h: Likewise.
17425
174262010-09-15 Szymon Janc <szymon@janc.net.pl>
17427
17428 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17429 CRC calculations and validity checks.
17430 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17431 calculations.
17432
174332010-09-15 Szymon Janc <szymon@janc.net.pl>
17434
17435 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17436
174372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 Fix incorrect echo options handling.
17440 Reported by: Yves Blusseau.
17441
17442 * include/grub/command.h (grub_command_flags_t): New flags
17443 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17444 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17445 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17446
174472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17450 users updated.
17451 (GRUB_COMMAND_FLAG_MENU): Likewise.
17452 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17453 (GRUB_COMMAND_FLAG_TITLE): Removed.
17454 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17455 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17456 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17457 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17458 (grub_command_flags_t): New enum. All users updated.
17459
174602010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17461
17462 Fix solaris compilation.
17463
17464 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17465 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17466 (grub-emu-list): Likewise.
17467
174682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17469
17470 Remove deprecated root command.
17471
17472 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17473 updated.
17474
174752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17476
17477 * util/i386/pc/grub-setup.c: Merge this ...
17478 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17479 * util/grub-setup.c: ... into this.
17480 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17481 New struct.
17482
174832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17486 possible.
17487
174882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17491 allocate p.
17492
174932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17496 explicit root argument to set to prevent UUID to be interpreted as
17497 argument to set.
17498
174992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17502
175032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 Don't export grub_gate_a20.
17506
17507 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17508 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17509 to ...
17510 (grub_gate_a20): ... this. All users updated.
17511 * include/grub/i386/pc/init.h: Removed. All users updated.
17512
175132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 Create euro.pf2 which supports most European languages.
17516
17517 * Makefile.am (grubdata_DATA): Add euro.pf2.
17518 (euro.pf2): New target.
17519 (CLEANFILES): Add euro.pf2.
17520
175212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * configure.ac: Disable emu-usb by default to prevent inadvertent
17524 device takeover.
17525
175262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 Disable usbserial on grub-emu since our libusb code isn't good enough
17529 yet.
17530
17531 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
17532 (usbserial_pl2303): Likewise.
17533 (usbserial_ftdi): Likewise.
17534
175352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 * include/grub/disk.h (grub_disk): Remove has_partitions.
17538 All users updated.
17539 * disk/loopback.c (grub_loopback): Remove has_partitions.
17540 All users updated.
17541 (options): Remove partitions. All users updated.
17542 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
17543 * util/i386/pc/grub-setup.c (setup): copy partition table only when
17544 actual partition table is found.
17545
175462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 Remove readability checks (too many false negatives).
17549
17550 * util/grub-install.in: Remove readability checks.
17551 * util/grub-mkconfig.in: Likewise.
17552 * util/grub.d/10_hurd.in: Likewise.
17553 * util/grub.d/10_kfreebsd.in: Likewise.
17554 * util/grub.d/10_linux.in: Likewise.
17555 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
17556 way.
17557
175582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 Enable acpi shutdown on all ACPI platforms.
17561
17562 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
17563 on coreboo, multiboot and EFI.
17564 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
17565 (grub_acpi_halt): Likewise.
17566 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
17567 (grub_cmd_halt): Don't call grub_acpi_halt directly.
17568 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
17569 * grub-core/lib/i386/halt.c (grub_halt)
17570 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
17571
175722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
17575 context.
17576
175772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 * grub-core/video/efi_gop.c: Fix over-80-chars line.
17580 * grub-core/video/efi_uga.c: Likewise.
17581
175822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 Filter devaliases and never open same device twice.
17585
17586 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
17587 (last_ihandle): Likewise.
17588 (ofdisk_hash_ent): New member shortest.
17589 (ofdisk_hash_add): Add canonical path too.
17590 (scan): New function.
17591 (grub_ofdisk_iterate): Iterate over hashed entries.
17592 (compute_dev_path): Don't add :0.
17593 (grub_ofdisk_open): Don't really open the disk.
17594 (grub_ofdisk_close): Avoid closing unrelated disk.
17595 (grub_ofdisk_read): Implement reopen logic.
17596 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
17597 New function.
17598 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
17599 New proto.
17600
176012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17602
17603 Fix sparc64.
17604
17605 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
17606 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
17607 right address. Add sparc64_ieee1275_ldflags.
17608 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
17609 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
17610 to grub_host_to_target_addr
17611 (load_image): Likewise.
17612
176132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 * grub-core/normal/completion.c (complete_file): Handle device
17616 containing slash.
17617 Fix based on patch by Doug Nazar.
17618
176192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 grub-mknetdir script.
17622
17623 * Makefile.util.def (grub-mknetdir): New module.
17624 * tests/util/grub-shell.in: Support boot=net
17625 * util/grub-mknetdir.in: New file.
17626
176272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 videoinfo on non-vbe.
17630
17631 * grub-core/Makefile.core.def (vbeinfo): Removed.
17632 (vbetest): Removed.
17633 (videoinfo): New module.
17634 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
17635 * grub-core/commands/i386/pc/vbetest.c: Removed.
17636 * grub-core/commands/videoinfo.c: New file.
17637 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
17638 specification.
17639 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
17640 as vbetest.
17641 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
17642 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
17643 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
17644 mode_number. New parameter mode. All users updated.
17645 (grub_video_gop_iterate): New function.
17646 (grub_video_efi_gop): New member iterate.
17647 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
17648 (grub_vbe_set_video_mode): Remove setting useless fields.
17649 (vbe2videoinfo): New function.
17650 (grub_video_vbe_iterate): Likewise.
17651 (grub_video_vbe_setup): Use vbe2videoinfo.
17652 (grub_video_vbe_print_adapter_specific_info): New function.
17653 (grub_video_vbe_adapter): New fields iterate and
17654 print_adapter_specific_info.
17655 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
17656 All users updated.
17657 (grub_video_mode_info): New field mode_number.
17658 (grub_video_adapter): New fields iterate and
17659 print_adapter_specific_info.
17660
176612010-09-13 Tristan Gingold <gingold@free.fr>
176622010-09-13 Robert Millan <rmh.grub@aybabtu.com>
176632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17664
17665 * grub-core/commands/efi/lsefisystab.c: New file.
17666 * grub-core/commands/efi/lssal.c: Likewise.
17667 * grub-core/Makefile.core.def (lsacpi): New module.
17668 (lsefisystab): Likewise.
17669 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
17670 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
17671 (grub_efi_sal_system_table): New struct.
17672 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
17673 (grub_efi_sal_system_table_memory_descriptor): Likewise.
17674 (grub_efi_sal_system_table_platform_features): Likewise.
17675 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
17676 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
17677 (grub_efi_sal_system_table_ap_wakeup): Likewise.
17678 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
17679
176802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 Support explicit user claim that a device is BIOS-visible.
17683
17684 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
17685 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
17686 * grub-core/kern/emu/hostdisk.c
17687 (convert_system_partition_to_system_disk): Support mdX.
17688 (find_system_device): New parameter add. All users updated.
17689 (grub_util_biosdisk_is_present): New function.
17690 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
17691 proto.
17692
176932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 Search hints support.
17696
17697 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
17698 All users updated.
17699
177002010-09-13 Yves Blusseau <blusseau@zetam.org>
17701
17702 Bash completion script for util commands
17703
17704 * Makefile.am: Add util/bash-completion.d directory
17705 * configure.ac: Likewise.
17706 * util/bash-completion.d/Makefile.am: New file.
17707 * util/bash-completion.d/grub-completion.bash.in: Likewise.
17708
177092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
17712 (print_backlog): set backlog_ucs4 and backlog_glyphs.
17713 Reported by: Yves Blusseau.
17714
177152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
17718 partition size and offset.
17719
177202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
17723
177242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
17727
177282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
17731 (grub_xvasprintf): Likewise.
17732
177332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
17736
177372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
17740 args ending with NULL.
17741
177422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17743
17744 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
17745 pointer.
17746
177472010-09-11 Szymon Janc <szymon@janc.net.pl>
17748
17749 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
17750
177512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 Shutdown using ACPI.
17754
17755 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
17756 * grub-core/commands/acpihalt.c: New file.
17757 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
17758 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
17759 (grub_acpi_halt): New proto.
17760 (GRUB_ACPI_SLP_EN): New const.
17761 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
17762 (GRUB_ACPI_OPCODE_*): New enum.
17763 (GRUB_ACPI_EXTOPCODE_*): Likewise.
17764
177652010-09-11 Tristan Gingold <gingold@free.fr>
177662010-09-11 Robert Millan <rmh.grub@aybabtu.com>
177672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * commands/lsacpi.c: New file.
17770 * grub-core/Makefile.core.def (lsacpi): New module.
17771 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
17772 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
17773 (grub_acpi_madt_entry_header): New struct.
17774 (grub_acpi_madt): Likewise.
17775 (grub_acpi_madt_entry_interrupt_override): Likewise.
17776 (grub_acpi_madt_entry_sapic): Likewise.
17777 (grub_acpi_madt_entry_lsapic): Likewise.
17778 (grub_acpi_madt_entry_platform_int_source): Likewise.
17779 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
17780 (PRIuGRUB_UINT32_T): Likewise.
17781 (PRIxGRUB_UINT64_T): Likewise.
17782
177832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 Implement loading palette on ieee1275_fb.
17786
17787 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
17788 (have_setcolors): Likewise.
17789 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
17790 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
17791 (grub_video_ieee1275_set_palette): Implement.
17792
177932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
177942010-09-11 Colin Watson <cjwatson@ubuntu.com>
17795
17796 * util/grub-install.in (grub_partition): New variable.
17797 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
17798 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
17799 Fixes a bug reported by Yves Blusseau.
17800
178012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 Fix emu on mipsel.
17804
17805 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
17806 =grub_cpu_flush_cache on all mips and not only yeeloong.
17807 * configure.ac (COND_mips): New conditional.
17808 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
17809 platforms.
17810 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
17811 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
17812 [GRUB_LINKER_HAVE_INIT]: New function.
17813 (grub_emu_post_init): Likewise.
17814 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
17815 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
17816 * include/grub/cache.h (_mips): Include mips/cache.h.
17817 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
17818 LVM and RAID prototypes.
17819 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
17820 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
17821 function.
17822
178232010-09-10 Colin Watson <cjwatson@ubuntu.com>
17824
17825 * util/grub-install.in: Don't try to verify core.img until after
17826 running grub-mkimage to create it.
17827
178282010-09-10 Robert Millan <rmh@gnu.org>
17829
17830 * util/grub.d/10_hurd.in: Add misc readability checks.
17831 * util/grub.d/10_kfreebsd.in: Likewise.
17832 * util/grub.d/10_linux.in: Likewise.
17833
178342010-09-10 Colin Watson <cjwatson@ubuntu.com>
17835
17836 * util/grub-install.in: ${imgext} won't be defined here until the
17837 install branch is merged. For the meantime, only verify core.img on
17838 i386-pc and sparc64-ieee1275 platforms.
17839
178402010-09-10 Robert Millan <rmh@gnu.org>
17841
17842 Solaris support in grub_find_zpool_from_dir(). Thanks
17843 Seth Goldberg for referring to getextmntent() facility.
17844
17845 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
17846 `sys/mkdev.h'.
17847 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
17848 `<sys/mnttab.h>'.
17849 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
17850 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
17851 method for finding zpool name.
17852
178532010-09-10 Colin Watson <cjwatson@ubuntu.com>
17854
17855 grub-fstest needs the host and hostfs modules while other utilities
17856 actively require those modules to be absent, so grub-fstest needs
17857 its own initialisation and finalisation code.
17858
17859 * Makefile.am (grub_fstest.pp): New target.
17860 (grub_fstest_init.lst): Likewise.
17861 (grub_fstest_init.c): Likewise.
17862 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
17863
178642010-09-10 Robert Millan <rmh@gnu.org>
17865
17866 * configure.ac: Check for `struct statfs.f_fstypename' and
17867 `struct statfs.f_mntfromname'.
17868
17869 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17870 kFreeBSD-specific code.
17871
178722010-09-10 Robert Millan <rmh@gnu.org>
17873
17874 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17875 on ZFS. Now non-main filesystems are supported as / too.
17876
178772010-09-09 Colin Watson <cjwatson@ubuntu.com>
17878
17879 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17880 and grub-core/disk/host.c to ...
17881 (grub-fstest): ... here. Having the host disk implementation
17882 present confuses grub-probe and other utility programs.
17883
17884 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17885 when writing to a file, not when writing to stdout.
17886
178872010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17888
17889 * tests/partmap_test.in: New test for partitions.
17890 * Makefile.util.def: Rules for new test.
17891
178922010-09-09 Robert Millan <rmh@gnu.org>
17893
17894 * util/grub-probe.c (probe): Fix a pair of unhandled error
17895 conditions.
17896
178972010-09-09 Robert Millan <rmh@gnu.org>
17898
17899 Basic Btrfs support (detection and UUID).
17900
17901 * grub-core/fs/btrfs.c: New file.
17902 * Makefile.util.def (library): Register btrfs.c.
17903 * grub-core/Makefile.core.def: Likewise.
17904
179052010-09-08 Robert Millan <rmh@gnu.org>
17906
17907 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17908 with (optional) parameters to specify device and relative path.
17909 * util/grub-install.in: Use is_path_readable_by_grub() to
17910 verify readability of a few critical files.
17911 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17912 verify readability of grub.cfg.new.
17913
179142010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 Split minix.mod into minix.mod and minix2.mod.
17917
17918 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17919 * grub-core/Makefile.core.def (minix2): New module.
17920 * grub-core/fs/minix.c: Use definitions instead of runtime version
17921 checking.
17922 * grub-core/fs/minix2.c: New file.
17923
179242010-09-08 Yves Blusseau <blusseau@zetam.org>
17925
17926 Add new --boot-directory option to replace --root-directory
17927
17928 * util/grub-install.in: Add new --boot-directory option
17929 * util/grub-reboot.in: Likewise.
17930 * util/grub-set-default.in: Likewise.
17931
179322010-09-08 Yves Blusseau <blusseau@zetam.org>
17933
17934 * util/grub-mkconfig.in: Use new variable.
17935
179362010-09-08 Yves Blusseau <blusseau@zetam.org>
17937
17938 * configure.ac: Define some useful variables.
17939
179402010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17943 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17944 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17945 Use terminfo and don't use cursor-on/cursor-off unless it's known
17946 to work.
17947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17948 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17949
179502010-09-08 Colin Watson <cjwatson@ubuntu.com>
17951
17952 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17953 starts with "(,", fill the drive containing the loaded image in
17954 between those two characters, but expect that a full partition
17955 specification including partition map names will follow.
17956
179572010-09-08 Robert Millan <rmh@gnu.org>
17958
17959 * configure.ac: Remove `--enable-grub-fstest' option.
17960 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17961
17962 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17963 `grub-fstest' instead of `grub-probe' for readability verification.
17964 * util/grub-probe.c (probe): Remove readability verification kludge.
17965
179662010-09-08 Robert Millan <rmh@gnu.org>
17967
17968 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17969 initializing `GRUB_FS'.
17970
179712010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17972
17973 Not command (!) support to GRUB script.
17974
17975 * tests/grub_script_not.in: New test.
17976 * Makefile.util.def: Rules for new test.
17977
17978 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17979 ! command as a special case.
17980 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17981
179822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17983
17984 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17985 grub_free.
17986
179872010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17988
17989 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17990
179912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17992
17993 * docs/grub.texi (Shell-like scripting): Documentation for break,
17994 continue, shift and return commands.
17995
179962010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 Rename CD-ROM to cd on BIOS.
17999
18000 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18001 "cd".
18002 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18003
180042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18007 * util/grub-probe.c (main): Likewise.
18008 * util/i386/pc/grub-setup.c (main): Likewise.
18009 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18010 Reported and debugged by: alexxy
18011
180122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18015 diagnostic info.
18016
180172010-09-05 Jo Shields <directhex@apebox.org>
18018
18019 * util/grub.d/30_os-prober.in: Add missing classes.
18020
180212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * docs/grub.texi (Theme file format): Document new position format.
18024
180252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18028 a table. Use @code instead of @verbatim.
18029
180302010-09-05 Colin D Bennett <colin@gibibit.com>
18031
18032 Gfxmenu documentation.
18033
18034 * docs/grub.texi (Theme file format): New chapter.
18035
180362010-09-05 Szymon Janc <szymon@janc.net.pl>
18037
18038 * grub-core/Makefile.core.def (xzio): New module.
18039 * grub-core/io/xzio.c: New file.
18040 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18041 * grub-core/lib/xzembed/xz_config.h: Likewise.
18042 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18043 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18044 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18045 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18046 * grub-core/lib/xzembed/xz_private.h: Likewise.
18047 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18048 * include/grub/file.h (grub_file_filter_id): New compression filter
18049 GRUB_FILE_FILTER_XZIO.
18050
180512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18054 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18055 size.
18056
180572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18060 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18061
180622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 Uncompressed checksum support.
18065
18066 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18067 (check_list): New parameter uncompress.
18068 (grub_cmd_hashsum): Handle --uncompress.
18069
180702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 Reintroduce testload.
18073
18074 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18075 from here ...
18076 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18077 (GRUB_MOD_INIT): New function.
18078 (GRUB_MOD_FINI): Likewise.
18079 * grub-core/Makefile.core.def (testload): New module.
18080
180812010-09-05 Szymon Janc <szymon@janc.net.pl>
18082
18083 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18084 (uint8_t): New type.
18085 (uint16_t): Likewise.
18086 (uint32_t): Likewise.
18087 (uint64_t): Likewise.
18088
180892010-09-05 Szymon Janc <szymon@janc.net.pl>
18090
18091 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18092
180932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18096 Made static.
18097 (grub_gzfile_open): Removed. All users updated.
18098 (GRUB_MOD_INIT): New function.
18099 (GRUB_MOD_FINI): Likewise.
18100 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18101 (grub_file_filters_enabled): Likewise.
18102 (grub_file_open): Handle filters.
18103 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18104 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18105 * include/grub/file.h (grub_file_filter_id_t): New type.
18106 (grub_file_filter_t): Likewise.
18107 (grub_file_filters_all): New extern variable.
18108 (grub_file_filters_enabled): Likewise.
18109 (grub_file_filter_register): New inline function.
18110 (grub_file_filter_unregister): Likewise.
18111 (grub_file_filter_disable): Likewise.
18112 (grub_file_filter_disable_compression): Likewise.
18113 * include/grub/gzio.h: Removed.
18114
181152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18116
18117 Filename expansion support for wildcards in GRUB script.
18118
18119 * tests/grub_script_expansion.in: New test.
18120 * Makefile.util.def: Rule for new test.
18121
18122 * grub-core/commands/wildcard.c: New file, implements filename
18123 expansion support for GRUB script.
18124 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18125 * grub-core/script/argv.c: Cosmetic changes.
18126 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18127 Refactored to perform wildcard expansion on arguments.
18128 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18129 struct.
18130
18131 * tests/util/grub-shell.in: Fix quoting for read input.
18132
181332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18134
18135 Support for updating environment variables with matched substrings
18136 of regexp.
18137
18138 * tests/grub_cmd_regexp.in: New test.
18139 * Makefile.util.def: Rule for new test.
18140
18141 * grub-core/commands/regexp.c: New option -s to update environment
18142 variables with regexp matches.
18143
181442010-09-04 Szymon Janc <szymon@janc.net.pl>
18145
18146 * include/grub/file.h (grub_file): New member not_easly_seekable.
18147 (grub_file_seekable): New inline function.
18148 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18149 easily seekable.
18150 (grub_gzio_open): Set not_easly_seekable.
18151 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
18152 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
18153
181542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18155
18156 Support for options to appear multiple times on cmdline.
18157
18158 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
18159 * grub-core/commands/extcmd.c: Support for repeatable option.
18160 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
18161 repeatable option support.
18162
18163 Refactor menuentry into a regular command.
18164
18165 * grub-core/commands/menuentry.c: New file, menuentry command
18166 implementation.
18167 * grub-core/Makefile.core.def: Rule update for normal.mod.
18168 * grub-core/normal/main.c: Moved menuentry creation to
18169 grub-core/commands/menuentry.c.
18170 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
18171 (grub_menu_execute_entry_real): Removed.
18172 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
18173 function.
18174 (grub_script_execute_menuentry): Removed.
18175 * grub-core/script/parser.y (menuentry): Removed.
18176 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18177 * grub-core/script/yylex.l (menuentry): Removed.
18178 * include/grub/menu.h (grub_menu_init): New prototype.
18179 (grub_menu_fini): New prototype.
18180 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18181 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18182 (grub_script_execute_sourcecode): New prototype.
18183
181842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18185
18186 "return" command for GRUB script functions.
18187
18188 * tests/grub_script_return.in: New test.
18189 * Makefile.util.def: Rules for new test.
18190
18191 * grub-core/script/execute.c (grub_script_return): New function.
18192 * grub-core/script/main.c: Register/unregister return commaond.
18193 * include/grub/script_sh.h (grub_script_return): New prototype.
18194
181952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18196
18197 "setparams" command to update positional parameters.
18198
18199 * tests/grub_script_setparams.in: New test.
18200 * Makefile.util.def: Rules for new test.
18201
18202 * grub-core/script/argv.c (grub_script_argv_make): New function.
18203 * grub-core/script/execute.c (replace_scope): New function.
18204 (grub_script_setparams): New function.
18205 * grub-core/script/lexer.c: Remove unused variables.
18206 * grub-core/script/main.c: Register/unregister setparams command.
18207 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18208 (grub_script_setparams): New prototype.
18209
182102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18211
18212 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18213 grub_free order.
18214
182152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18216
18217 Support for passing block of commands as an argument to extcmds.
18218
18219 * Makefile.util.def: Rules for new test.
18220 * tests/grub_script_blockarg.in: New test.
18221 * grub-core/tests/test_blockarg.c: New file, block argument
18222 command used in the test.
18223
18224 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18225 (grub_register_extcmd_prio): New function prototype.
18226 (grub_extcmd_dispatcher): New function prototype.
18227 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18228 type.
18229 * include/grub/script_sh.h (struct grub_script): New members
18230 `children', `next_siblings' and `refcnt' for block arguments and
18231 reference counting.
18232 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18233 (grub_script_arg): New member `script' for block argument.
18234 (grub_script_argv): New member `script' for block argument.
18235 (grub_parser_param): New member `scripts' for block argument.
18236 (grub_script_mem_free): New extern function prototype.
18237 (grub_script_ref): New function prototype.
18238 (grub_script_unref): New function prototype.
18239
18240 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
18241 extcmd form to support block arguments.
18242 * grub-core/script/argv.c: Block arguments support.
18243 * grub-core/script/execute.c: Likewise.
18244 * grub-core/script/lexer.c: Likewise.
18245 * grub-core/script/main.c: Likewise.
18246 * grub-core/script/script.c: Likewise.
18247 * grub-core/script/parser.y: Likewise. New `block' and `block0'
18248 non-terminals.
18249
18250 * grub-core/commands/acpi.c: Update extcmd implementations with
18251 grub_extcmd_context_t.
18252 * grub-core/commands/cat.c: Likewise.
18253 * grub-core/commands/echo.c: Likewise.
18254 * grub-core/commands/extcmd.c: Likewise.
18255 * grub-core/commands/hashsum.c: Likewise.
18256 * grub-core/commands/hdparm.c: Likewise.
18257 * grub-core/commands/help.c: Likewise.
18258 * grub-core/commands/hexdump.c: Likewise.
18259 * grub-core/commands/i386/cpuid.c: Likewise.
18260 * grub-core/commands/i386/pc/drivemap.c: Likewise.
18261 * grub-core/commands/i386/pc/halt.c: Likewise.
18262 * grub-core/commands/i386/pc/sendkey.c: Likewise.
18263 * grub-core/commands/iorw.c: Likewise.
18264 * grub-core/commands/keystatus.c: Likewise.
18265 * grub-core/commands/loadenv.c: Likewise.
18266 * grub-core/commands/ls.c: Likewise.
18267 * grub-core/commands/lspci.c: Likewise.
18268 * grub-core/commands/memrw.c: Likewise.
18269 * grub-core/commands/probe.c: Likewise.
18270 * grub-core/commands/search_wrap.c: Likewise.
18271 * grub-core/commands/setpci.c: Likewise.
18272 * grub-core/commands/sleep.c: Likewise.
18273 * grub-core/disk/loopback.c: Likewise.
18274 * grub-core/hello/hello.c: Likewise.
18275 * grub-core/loader/i386/bsd.c: Likewise.
18276 * grub-core/loader/xnu.c: Likewise.
18277 * grub-core/term/gfxterm.c: Likewise.
18278 * grub-core/term/serial.c: Likewise.
18279 * grub-core/tests/lib/functional_test.c: Likewise.
18280
182812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18282
18283 Multi-line quoted strings support.
18284
18285 * grub-core/script/lexer.c (append_newline): Removed.
18286 (grub_script_lexer_yywrap): Refactored.
18287 (grub_script_lexer_init): Refactored.
18288 * grub-core/script/yylex.l (yywrap): New function.
18289 (grub_lexer_resplit): New function.
18290 (grub_lexer_unput): New function.
18291 * include/grub/script_sh.h (grub_lexer_param): New members, unput
18292 and resplit.
18293 * tests/grub_script_echo1.in: Added few more testcases.
18294
182952010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * grub-core/kern/misc.c: Don't add abort alias in utils.
18298 Reported by: echoline.
18299
183002010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
18301
18302 Add missing files into "make dist" tarball for other platforms.
18303
18304 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
18305 * conf/Makefile.common (dist_noinst_DATA): New variable.
18306 * conf/Makefile.extra-dist: Added missing make dist files.
18307 * grub-core/Makefile.core.def: Likewise.
18308
183092010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 Compress grub_prefix.
18312
18313 * grub-core/boot/i386/pc/lnxboot.S: Use
18314 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
18315 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
18316 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
18317 GRUB_MACHINE_PREFIX_END. All users updated.
18318 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
18319 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
18320 + 0x40.
18321 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
18322 * util/grub-mkimage.c (image_target_desc): Change data_end to
18323 prefix_end. All users updated.
18324
183252010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
18328 value.
18329 (grub_openbsd_boot): Likewise.
18330 (grub_netbsd_boot): Likewise.
18331 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
18332 (grub_xnu_boot): Likewise.
18333
183342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * configure.ac: Clean LIBS variable after tests.
18337
183382010-09-02 Colin Watson <cjwatson@ubuntu.com>
18339
18340 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18341
183422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
18345 echo if libdevmapper will be used.
18346
183472010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18348
18349 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18350 constant for the same file.
18351
183522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18353
18354 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18355
183562010-09-02 Colin Watson <cjwatson@ubuntu.com>
18357
18358 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18359 grub-core/*.pp.
18360
183612010-09-02 Colin Watson <cjwatson@ubuntu.com>
18362
18363 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18364 required by the boot protocol.
18365
18366 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18367 ebp and edi members.
18368 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18369 state.ebp and state.edi.
18370 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18371 %ebp and %edi according to grub_relocator32_ebp and
18372 grub_relocator32_edi respectively.
18373 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18374 and state.edi.
18375
183762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18377
18378 Add i386-pc-pxe image target.
18379
18380 * util/grub-mkimage.c (image_target_desc): New enum value
18381 IMAGE_I386_PC_PXE.
18382 (image_targets): New target i386-pc-pxe.
18383 (generate_image): Handle i386-pc-pxe image.
18384
183852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 Fix grub_pxe_scan.
18388
18389 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18390 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18391 All users updated.
18392 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18393 (grub_pxe_pxenv): Correct type.
18394
183952010-09-01 Colin Watson <cjwatson@ubuntu.com>
18396
18397 * NEWS: Document most of the important changes since 1.98.
18398
183992010-09-01 Colin Watson <cjwatson@ubuntu.com>
18400
18401 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18402 generated manual page) a little.
18403
184042010-09-01 Colin Watson <cjwatson@ubuntu.com>
18405
18406 * docs/grub.texi: Add myself as an author.
18407
184082010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 * Makefile.util.def (libgrub.a): Add missing sunpc.
18411 Reported by: Seth Goldberg.
18412
184132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 Interrupt wrapping and code simplifications.
18416
18417 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18418 x86_noieee1275 which are functionaly equivalent in this case.
18419 (grub-install): Make source on each platform explicit. Enable on
18420 all noemu.
18421 * gentpl.py (x86_efi_pc): Removed group.
18422 (x86_noefi): Likewise.
18423 (i386_noefi): Likewise.
18424 (x86_noieee1275): Likewise.
18425 (i386_noieee1275): Likewise.
18426 (i386_noefi_noieee1275): Likewise.
18427 (i386_pc_qemu_coreboot): Likewise.
18428 (i386_coreboot_multiboot): Likewise.
18429 (i386_pc_coreboot_multiboot_qemu): Likewise.
18430 (x86_noefi_mips): Likewise.
18431 (noieee1275): Likewise.
18432 (ieee1275_mips): Likewise.
18433 (noemu_noieee1275): Likewise.
18434 (cmos): New group.
18435 (usb): Likewise.
18436 (videoinkernel): Likewise.
18437 (videomodules): Likewise.
18438 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
18439 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18440 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18441 include/grub/loader.h, include/grub/msdos_partition.h,
18442 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18443 include/grub/machine/console.h, include/grub/machine/vga.h,
18444 include/grub/machine/vbe.h, include/grub/machine/init.h,
18445 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18446 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
18447 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
18448 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18449 * grub-core/Makefile.core.def (kernel): Explicit the source for
18450 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18451 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18452 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18453 Use videoinkernel tag.
18454 (usb): Enable on all usb.
18455 (usbserial_common): Likewise.
18456 (usbserial_pl2303): Likewise.
18457 (usbserial_ftdi): Likewise.
18458 (uhci): Enable on all x86.
18459 (ohci): Enable on all pci.
18460 (cmostest): Enable on all CMOS.
18461 (acpi): Include commands/acpi.c on all platforms.
18462 (halt): Add relevant lib/*/halt.c.
18463 (hdparm): Enable on all pci.
18464 (lspci): Likewise.
18465 (usbtest): Enable on all usb.
18466 (ata): Enable on all pci.
18467 (ata_pthru): Likewise.
18468 (usbms): Enable on all usb.
18469 (usb_keyboard): Likewise.
18470 (font): Use tag videomodules.
18471 (bufio): Likewise.
18472 (datetime): Use tag cmos. Enable on all noemu.
18473 (mmap): Use tags common and x86.
18474 (gfxterm): Use tag videomodules.
18475 (bitmap): Likewise.
18476 (bitmap_scale): Likewise.
18477 (video_fb): Likewise.
18478 (video): Likewise.
18479 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18480 adjust padding accordingly. All users updated.
18481 (grub_ohci_transaction): Fix bad format specification.
18482 (GRUB_MOD_INIT): Add asserts for struct size.
18483 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18484 (grub_alloc_td): Likewise.
18485 (grub_free_queue): Likewise.
18486 (grub_uhci_transfer): Likewise.
18487 (grub_uhci_transaction): Fix bad format specification.
18488 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18489 (grub_usb_bulk_readwrite): Likewise.
18490 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18491 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18492 Made static.
18493 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18494 Made static.
18495 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18496 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18497 Transformed into C.
18498 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18499 Moved from here ...
18500 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18501 ... here. Transformed into C. Made static.
18502 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18503 Moved from here ...
18504 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18505 ... here. Transformed into C. Made static.
18506 * grub-core/kern/i386/pc/startup.S
18507 (grub_biosdisk_check_int13_extensions): Moved from here ...
18508 * grub-core/disk/i386/pc/biosdisk.c
18509 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18510 Made static.
18511 * grub-core/kern/i386/pc/startup.S
18512 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18513 * grub-core/disk/i386/pc/biosdisk.c
18514 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18515 Transformed into C. Made static.
18516 * grub-core/kern/i386/pc/startup.S
18517 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18518 * grub-core/disk/i386/pc/biosdisk.c
18519 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18520 Transformed into C. Made static.
18521 * grub-core/kern/i386/pc/startup.S
18522 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
18523 * grub-core/disk/i386/pc/biosdisk.c
18524 (grub_biosdisk_get_diskinfo_standard): ... here.
18525 Transformed into C. Made static.
18526 * grub-core/kern/i386/pc/startup.S
18527 (grub_biosdisk_get_num_floppies): Moved from here ...
18528 * grub-core/disk/i386/pc/biosdisk.c
18529 (grub_biosdisk_get_num_floppies): ... here.
18530 Transformed into C. Made static.
18531 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
18532 New function.
18533 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
18534 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
18535 Transformed into C. Made static.
18536 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
18537 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
18538 Transformed into C. Made static.
18539 * grub-core/kern/i386/ieee1275/init.c: Removed.
18540 * grub-core/kern/i386/misc.S: Likewise.
18541 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
18542 Splitted from here ...
18543 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
18544 Transformed into C. Made static. All users updated.
18545 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
18546 Transformed into C. Made static. All users updated.
18547 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
18548 Moved from here...
18549 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
18550 Transformed into C. Made static. All users updated.
18551 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
18552 Moved from here...
18553 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
18554 Transformed into C. Made static. All users updated.
18555 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
18556 Removed (replaced by C version).
18557 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
18558 Moved from here...
18559 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
18560 Transformed into C. Made static.
18561 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
18562 Moved from here...
18563 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
18564 ... here. Transformed into C.
18565 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
18566 Moved from here...
18567 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
18568 ... here. Transformed into C.
18569 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
18570 Moved from here...
18571 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
18572 ... here. Transformed into C. Made static.
18573 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
18574 Moved from here...
18575 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
18576 ... here. Transformed into C.
18577 * grub-core/kern/i386/pc/startup.S
18578 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
18579 * grub-core/video/i386/pc/vbe.c
18580 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
18581 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
18582 Moved from here...
18583 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
18584 ... here. Transformed into C.
18585 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
18586 Moved from here...
18587 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
18588 ... here. Transformed into C.
18589 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
18590 Moved from here...
18591 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
18592 ... here. Transformed into C.
18593 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
18594 Moved from here...
18595 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
18596 ... here. Transformed into C.
18597 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
18598 Moved from here...
18599 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
18600 ... here. Transformed into C. Made static.
18601 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
18602 Moved from here...
18603 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
18604 ... here. Transformed into C. Made static.
18605 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
18606 Moved from here...
18607 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
18608 ... here. Transformed into C. Made static.
18609 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
18610 pxe_rm_entry as third argument.
18611 (grub_bios_interrupt): New function.
18612 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
18613 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
18614 of calling grub_stop.
18615 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
18616 * grub-core/lib/efi/halt.c (grub_halt): ...here.
18617 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
18618 * grub-core/lib/emu/halt.c (grub_halt): ... here.
18619 * grub-core/lib/i386/halt.c: Moved from here ...
18620 * grub-core/lib/i386/halt.c: ... here.
18621 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
18622 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
18623 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
18624 grub_stop_floppy.
18625 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
18626 * include/grub/i386/coreboot/init.h: Removed.
18627 * include/grub/i386/multiboot/init.h: Likewise.
18628 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
18629 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
18630 * include/grub/i386/pc/int.h: New file.
18631 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
18632 (grub_pxe_scan): Removed.
18633 (grub_pxe_call): Update prototype.
18634 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
18635 prototypes.
18636 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
18637 * include/grub/i386/qemu/init.h: Removed.
18638 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
18639 noreturn.
18640 (grub_halt): Likewise.
18641 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
18642 (grub_reboot): Likewise.
18643 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
18644 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
18645 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
18646
186472010-08-30 Robert Millan <rmh@gnu.org>
18648
18649 * NEWS: Document addition of ZFS support in `grub-install' and
18650 `grub-mkconfig'.
18651
186522010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
18653
18654 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
18655 dprintf output.
18656
186572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18658
18659 Remove leftover embedding of font objects.
18660
18661 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18662 * util/grub-install.in (font): Removed.
18663 * util/grub-mkimage.c (generate_image): Remove font support. All users
18664 updated.
18665
186662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18667
18668 Remove leftover embedding of font objects.
18669
18670 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18671 * util/grub-install.in (font): Removed.
18672 * util/grub-mkimage.c (generate_image): Remove font support. All users
18673 updated.
18674
186752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18676
18677 * docs/grub.texi (Network): Fix reference to pxe_blksize.
18678 Reported by: Ian Turner
18679
186802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18681
18682 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
18683 timeout to avoid indefinite boot stalling.
18684
186852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
18688 (grub_env_write_color_highlight): Likewise.
18689
186902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 * grub-core/normal/term.c (print_more): Return to normal and not
18693 to standard state after printing "---MORE---".
18694
186952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18696
18697 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
18698 Mask out the bit 0x80 since it has other meaning that specifiing color.
18699
187002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 New relocator. Allows for more kernel support and more straightforward
18703 loader writing.
18704
18705 * Makefile.am (BOOTTARGET): New variable.
18706 (QEMU32): Likewise.
18707 (linux.init.x86_64): New target.
18708 (linux.init.i386): Likewise.
18709 (multiboot.elf): Likewise.
18710 (kfreebsd.elf): Likewise.
18711 (kfreebsd.aout): Likewise.
18712 (pc-chainloader.elf): Likewise.
18713 (pc-chainloader.bin): Likewise.
18714 (ntldr.elf): Likewise.
18715 (ntldr.bin): Likewise.
18716 (multiboot2.elf): Likewise.
18717 (kfreebsd.init.x86_64): Likewise.
18718 (kfreebsd.init.i386): Likewise.
18719 (knetbsd.init.i386): Likewise.
18720 (kopenbsd.init.i386): Likewise.
18721 (knetbsd.init.x86_64): Likewise.
18722 (kopenbsd.init.x86_64): Likewise.
18723 (linux-initramfs.i386): Likewise.
18724 (linux-initramfs.x86_64): Likewise.
18725 (kfreebsd-mfsroot.i386.img): Likewise.
18726 (knetbsd.image.i386): Likewise.
18727 (kopenbsd.image.i386): Likewise.
18728 (kopenbsd.image.x86_64): Likewise.
18729 (knetbsd.miniroot-image.i386.img): Likewise.
18730 (kfreebsd-mfsroot.x86_64.img): Likewise.
18731 (knetbsd.image.x86_64): Likewise.
18732 (knetbsd.miniroot-image.x86_64.img): Likewise.
18733 (kfreebsd-mfsroot.i386.gz): Likewise.
18734 (bootcheck-kfreebsd-i386): Likewise.
18735 (kfreebsd-mfsroot.x86_64.gz): Likewise.
18736 (bootcheck-kfreebsd-x86_64): Likewise.
18737 (knetbsd.miniroot-image.i386.gz): Likewise.
18738 (bootcheck-knetbsd-i386): Likewise.
18739 (bootcheck-kopenbsd-i386): Likewise.
18740 (bootcheck-kopenbsd-x86_64): Likewise.
18741 (knetbsd.miniroot-image.x86_64.gz): Likewise.
18742 (bootcheck-knetbsd-x86_64): Likewise.
18743 (bootcheck-linux-i386): Likewise.
18744 (bootcheck-linux-x86_64): Likewise.
18745 (bootcheck-linux16-i386): Likewise.
18746 (bootcheck-linux16-x86_64): Likewise.
18747 (bootcheck-multiboot): Likewise.
18748 (bootcheck-multiboot2): Likewise.
18749 (bootcheck-kfreebsd-aout): Likewise.
18750 (bootcheck-pc-chainloader): Likewise.
18751 (bootcheck-ntldr): Likewise.
18752 (CLEANFILES): Add new targets.
18753 (BOOTCHECKS): New variable.
18754 (.PHONY): Add bootchecks.
18755 (SUCCESSFUL_BOOT_STRING): New variable.
18756 (BOOTCHECK_TIMEOUT): Likewise.
18757 (bootcheck): New target
18758 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
18759 * configure.ac: Correct efiemu excuse.
18760 * docs/grub.texi (Supported kernels): New chapter.
18761 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
18762 include/grub/mm_private.h. Simplify inclusion of
18763 include/grub/boot.h, include/grub/loader.h
18764 and include/grub/msdos_partition.h
18765 (KERNEL_HEADER_FILES) [i386_coreboot]:
18766 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
18767 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
18768 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
18769 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
18770 include/grub/machine/loader.h.
18771 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
18772 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
18773 extra_dist.
18774 (pci.mod): Enable on i386-multiboot.
18775 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
18776 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
18777 i386-qemu.
18778 (relocator.mod): Rewritten.
18779 (aout.mod): Enable on all x86.
18780 (bsd.mod): Likewise.
18781 (ntldr.mod): New module.
18782 (linux.mod): Use loader/i386/linux.c on all x86.
18783 (xnu.mod): Enable on all x86.
18784 (vga_text.mod): disable on EFI and QEMU.
18785 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
18786 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
18787 * grub-core/efiemu/loadcore.c: Likewise.
18788 * grub-core/efiemu/main.c: Likewise.
18789 (grub_efiemu_exit_boot_services): Removed.
18790 (grub_efiemu_finish_boot_services): Likewise.
18791 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
18792 function.
18793 * grub-core/efiemu/i386/nocfgtables.c: New file.
18794 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
18795 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
18796 (grub_efi_finish_boot_services): Moved from here ...
18797 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
18798 Fille finish memory map and related data.
18799 (finish_mmap_buf): New variable.
18800 (grub_efi_uintn_t finish_mmap_size): Likewise.
18801 (grub_efi_uintn_t finish_key): Likewise.
18802 (grub_efi_uintn_t finish_desc_size): Likewise.
18803 (grub_efi_uint32_t finish_desc_version): Likewise.
18804 (grub_efi_is_finished): Likewise.
18805 (grub_efi_get_memory_map): Use saved memory map if EFI is already
18806 finished.
18807 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
18808 (grub_elf64_phdr_iterate): Likewise.
18809 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
18810 (grub_os_area_size): Likewise.
18811 (grub_machine_init): Don't reserve os area.
18812 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
18813 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
18814 * grub-core/kern/i386/loader.S: Removed.
18815 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
18816 (grub_os_area_size): Likewise.
18817 (grub_machine_init): Don't reserve os area.
18818 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
18819 Don't call grub_dl_unload_all.
18820 Don't include loader.S.
18821 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
18822 Declare the memory after _end as available.
18823 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
18824 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
18825 (GRUB_MM_ALLOC_MAGIC): Moved from here...
18826 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
18827 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
18828 * include/grub/mm_private.h (grub_mm_header): ... here.
18829 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
18830 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
18831 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
18832 (grub_mm_region): ..here. Removed addr. Added pre_size.
18833 All users updated.
18834 * grub-core/kern/mm.c (base): Renamed to ...
18835 (grub_mm_base): ... this. Made global.
18836 (grub_real_malloc): Alloc from end of region.
18837 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
18838 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
18839 * grub-core/kern/powerpc/cache_flush.S: ... here.
18840 * grub-core/lib/efi/relocator.c: New file.
18841 * grub-core/lib/i386/relocator.c: Rewritten.
18842 * grub-core/lib/i386/relocator16.S: New file.
18843 * grub-core/lib/i386/relocator32.S: Likewise.
18844 * grub-core/lib/i386/relocator64.S: Likewise.
18845 * grub-core/lib/i386/relocator_asm.S: Rewritten.
18846 * grub-core/lib/i386/relocator_common.S: New file.
18847 * grub-core/lib/ieee1275/relocator.c: Likewise.
18848 * grub-core/lib/mips/relocator.c: Rewritten.
18849 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
18850 stylistic adjustments.
18851 * grub-core/lib/powerpc/relocator.c: New file.
18852 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
18853 * grub-core/lib/relocator.c: Rewritten.
18854 * grub-core/lib/x86_64/relocator_asm.S: New file.
18855 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
18856 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
18857 (bsd_tag): New struct.
18858 (tags): New variable.
18859 (tags_last): Likewise.
18860 (netbsd_module): New struct.
18861 (netbsd_mods): New variable.
18862 (netbsd_mods_last): Likewise.
18863 (openbsd_opts): New parameter "serial".
18864 (OPENBSD_SERIAL_ARG): New definition.
18865 (netbsd_opts): New parameter "serial".
18866 (NETBSD_SERIAL_ARG): New definition.
18867 (grub_freebsd_add_meta): Reorganised into ...
18868 (grub_bsd_add_meta): ...this. All users updated.
18869 (grub_freebsd_add_mmap): Reorganised into ...
18870 (generate_e820_mmap): ...this...
18871 (grub_bsd_add_mmap): ...and this. All users updated.
18872 (grub_freebsd_list_modules): Use tags.
18873 (grub_netbsd_add_meta_module): New function.
18874 (grub_netbsd_list_modules): Likewise.
18875 (grub_freebsd_boot): Use relocator and finish EFI.
18876 (grub_openbsd_boot): Likewise.
18877 (grub_netbsd_setup_video): New function.
18878 (grub_netbsd_add_modules): Likewise.
18879 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18880 and finish EFI.
18881 (grub_bsd_unload): Unload tags.
18882 (grub_bsd_load_aout): Use relocator.
18883 (grub_bsd_elf32_size_hook): New function.
18884 (grub_bsd_elf32_hook): Use relocator.
18885 (grub_bsd_elf64_size_hook): New function.
18886 (grub_bsd_elf64_hook): Use relocator.
18887 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18888 (grub_bsd_load): Zero-out openbsd_ramdisk.
18889 (grub_bsd_load): Use relocator.
18890 (grub_cmd_openbsd): Support serial.
18891 (grub_cmd_netbsd): Support modules.
18892 (grub_cmd_freebsd_module): Use relocator.
18893 (grub_netbsd_module_load): New function.
18894 (grub_cmd_netbsd_module): Likewise.
18895 (grub_cmd_openbsd_ramdisk): Likewise.
18896 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18897 kopenbsd_ramdisk.
18898 (GRUB_MOD_FINI): Unregister new commands.
18899 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18900 (grub_freebsd_load_elfmodule_obj): Use relocator.
18901 (grub_freebsd_load_elfmodule): Likewise.
18902 (grub_freebsd_load_elf_meta): Likewise.
18903 (grub_netbsd_load_elf_meta): New function.
18904 (grub_openbsd_find_ramdisk): Likewise.
18905 * grub-core/loader/i386/bsd_helper.S: Removed.
18906 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18907 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18908 * grub-core/loader/i386/efi/linux.c: Likewise.
18909 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18910 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18911 (DEFAULT_VIDEO_MODE): Likewise.
18912 (real_mode_target): New variable.
18913 (prot_mode_target): Likewise.
18914 (initrd_mem_target): Likewise.
18915 (relocator): Likewise.
18916 (efi_mmap_buf): Likewise.
18917 (efi_mmap_size): Likewise.
18918 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18919 (free_pages): Use relocator.
18920 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18921 (grub_linux_setup_video): Return error.
18922 (grub_linux_trampoline_start): Removed.
18923 (grub_linux_trampoline_end): Likewise.
18924 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18925 andd video parameters depending on firmware.
18926 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18927 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18928 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18929 (grub_cmd_initrd): Use relocator.
18930 * grub-core/loader/i386/linux_trampoline.S: Removed.
18931 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18932 (elf_sec_entsize): Likewise.
18933 (elf_sec_shstrndx): Likewise.
18934 (elf_sections): Likewise.
18935 (grub_multiboot_load): Use relocator.
18936 (grub_multiboot_get_mbi_size): Account for sections.
18937 (grub_multiboot_make_mbi): Use relocator and support sections.
18938 (grub_multiboot_add_elfsyms): New function.
18939 (grub_multiboot_free_mbi): Free sections.
18940 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18941 (grub_linux_real_target): Likewise.
18942 (grub_linux_real_chunk): Likewise.
18943 (grub_linux16_prot_size): Likewise.
18944 (grub_linux16_boot): Use relocator.
18945 (grub_linux_unload): Unload relocator.
18946 (grub_cmd_linux): Use relocator.
18947 (grub_cmd_initrd): Likewise.
18948 * grub-core/loader/i386/pc/ntldr.c: New file.
18949 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18950 Don't try to guess CPU frequency.
18951 (grub_xnu_set_video): Stretch bitmap.
18952 (grub_xnu_boot): Use relocator.
18953 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18954 (grub_linux_unload): Free relocator.
18955 (grub_linux_load32): Use relocator.
18956 (grub_linux_load64): Likewise.
18957 (grub_cmd_initrd): Likewise.
18958 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18959 (grub_multiboot_unload): Unload relocator.
18960 (grub_cmd_multiboot): Use relocator.
18961 (grub_cmd_module): Likewise.
18962 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18963 Use relocator and support sections.
18964 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18965 (elf_sec_entsize): Likewise.
18966 (elf_sec_shstrndx): Likewise.
18967 (elf_sections): Likewise.
18968 (grub_multiboot_load): Use relocator.
18969 (grub_multiboot_get_mbi_size): Account for sections.
18970 (grub_multiboot_make_mbi): Use relocator and support sections.
18971 (grub_multiboot_add_elfsyms): New function.
18972 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18973 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18974 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18975 Prototype changed. All users updated.
18976 (grub_xnu_align_heap): Simplified.
18977 (grub_xnu_writetree_toheap): Likewise.
18978 (grub_xnu_unload): Unload relocator.
18979 (grub_cmd_xnu_kernel): Use relocator.
18980 (grub_cmd_xnu_kernel64): Likewise.
18981 (grub_xnu_register_memory): Simplified.
18982 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
18983 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18984 EFI is finished.
18985 (grub_console_checkkey): Likewise.
18986 (grub_console_getkey): Likewise.
18987 (grub_console_getwh): Likewise.
18988 (grub_console_getxy): Likewise.
18989 (grub_console_gotoxy): Likewise.
18990 (grub_console_cls): Likewise.
18991 (grub_console_setcolorstate): Likewise.
18992 (grub_console_setcursor): Likewise.
18993 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18994 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18995 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18996 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18997 * grub-core/tests/boot/kernel-8086.S: Likewise.
18998 * grub-core/tests/boot/kernel-i386.S: Likewise.
18999 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19000 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19001 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19002 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19003 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19004 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19005 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19006 * grub-core/tests/boot/linux.cfg: Likewise.
19007 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19008 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19009 * grub-core/tests/boot/linux16.cfg: Likewise.
19010 * grub-core/tests/boot/multiboot.cfg: Likewise.
19011 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19012 * grub-core/tests/boot/ntldr.cfg: Likewise.
19013 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19014 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19015 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19016 New definition.
19017 * include/grub/dl.h (grub_dl_unload_all): Removed.
19018 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19019 (grub_efi_finish_boot_services): Change prototype.
19020 (grub_efi_is_finished): New variable.
19021 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19022 Changed prototype.
19023 (grub_efiemu_finish_boot_services): Removed.
19024 (grub_machine_efiemu_init_tables): New prototype.
19025 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19026 (grub_elf64_phdr_iterate): Likewise.
19027 * include/grub/i386/bsd.h: Include relocator.h.
19028 (freebsd_tag_header): New struct.
19029 (grub_openbsd_bios_mmap): Removed.
19030 (grub_unix_real_boot): Removed.
19031 (grub_freebsd_load_elfmodule32): Changed prototype.
19032 (grub_freebsd_load_elfmodule_obj64): Likewise.
19033 (grub_freebsd_load_elf_meta32): Likewise.
19034 (grub_freebsd_load_elf_meta64): Likewise.
19035 (grub_freebsd_add_meta): Removed.
19036 (grub_netbsd_load_elf_meta32): New prototype.
19037 (grub_netbsd_load_elf_meta64): Likewise.
19038 (grub_bsd_add_meta): Likewise.
19039 (grub_openbsd_ramdisk_descriptor): New struct.
19040 (grub_openbsd_find_ramdisk32): New prototype.
19041 (grub_openbsd_find_ramdisk64): Likewise.
19042 * include/grub/i386/coreboot/loader.h: Removed.
19043 * include/grub/i386/efi/loader.h: Likewise.
19044 * include/grub/i386/ieee1275/loader.h: Likewise.
19045 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19046 to grub_uint32_t.
19047 * include/grub/i386/loader.h: Removed.
19048 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19049 value.
19050 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19051 (grub_phys_addr_t): New type.
19052 (grub_vtop): New inline function.
19053 (grub_map_memory): Likewise.
19054 (grub_unmap_memory): Likewise.
19055 * include/grub/i386/multiboot/loader.h: Removed.
19056 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19057 (NETBSD_BTINFO_CONSOLE): New definition.
19058 (NETBSD_BTINFO_SYMTAB): Likewise.
19059 (NETBSD_BTINFO_MODULES): Likewise.
19060 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19061 (grub_netbsd_bootinfo): New struct.
19062 (grub_netbsd_btinfo_common): Use explicit bitsize.
19063 (grub_netbsd_btinfo_mmap_entry): Removed.
19064 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19065 (grub_netbsd_btinfo_bootdisk): New struct.
19066 (grub_netbsd_btinfo_symtab): Likewise.
19067 (grub_netbsd_btinfo_serial): Likewise.
19068 (grub_netbsd_btinfo_modules): Likewise.
19069 (grub_netbsd_btinfo_framebuf): Likewise.
19070 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19071 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19072 Likewise.
19073 (grub_openbsd_bootargs): Use explicit bitsize.
19074 (grub_openbsd_bootarg_console): New struct.
19075 (GRUB_OPENBSD_COM_MAJOR): New definition.
19076 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19077 * include/grub/i386/pc/efiemu.h: Removed.
19078 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19079 * include/grub/i386/qemu/loader.h: Removed.
19080 * include/grub/i386/relocator.h: Rewritten.
19081 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19082 * include/grub/mips/memory.h: New file.
19083 * include/grub/mips/multiboot.h: Rewritten.
19084 * include/grub/mips/relocator.h: Rewritten.
19085 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19086 (grub_vtop): New function.
19087 (grub_map_memory): Likewise.
19088 (grub_unmap_memory): Likewise.
19089 * include/grub/misc.h (ALIGN_DOWN): New definition.
19090 * include/grub/mm.h (grub_mm_check_real): New proto.
19091 (GRUB_MM_CHECK): New definition.
19092 * include/grub/mm_private.h: New file.
19093 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19094 (grub_multiboot_get_mbi_size): Removed.
19095 (grub_multiboot_make_mbi): Change prottype.
19096 (grub_multiboot_set_accepts_video): New proto.
19097 (grub_multiboot_add_elfsyms): Likewise.
19098 (grub_multiboot_payload_eip): New variable.
19099 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19100 New prototype.
19101 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19102 New definition.
19103 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19104 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19105 * include/grub/powerpc/ieee1275/loader.h: Removed.
19106 * include/grub/powerpc/memory.h: New file.
19107 * include/grub/powerpc/relocator.h: Likewise.
19108 * include/grub/relocator.h: Likewise.
19109 * include/grub/relocator_private.h: Likewise.
19110 * include/grub/sparc64/ieee1275/loader.h: Removed.
19111 * include/grub/x86_64/memory.h: New file.
19112 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19113 (grub_xnu_heap_malloc): Likewise.
19114 (grub_xnu_heap_real_start): Removed.
19115 (grub_xnu_heap_start): Likewise.
19116 (grub_xnu_relocator): New variable.
19117 (grub_xnu_heap_target_start): Likewise.
19118 * tests/util/grub-shell.in: Support non-pc.
19119 * util/grub-mkimage.c (image_targets): Fix multiboot target.
19120
191212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19124 on malloc error.
19125 (grub_bidi_logical_to_visual): Check that malloc succeded.
19126 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19127 puts.
19128 (grub_xputs_normal): Likewise.
19129
191302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19131
19132 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19133 extra_dist.
19134
191352010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19138
191392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19142
191432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19146 dprintf.
19147
191482010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19149
19150 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19151
191522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 * grub-core/normal/term.c (print_more): Fix a memory leak.
19155 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
19156 (grub_xputs_normal): Likewise.
19157
191582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
19161 the begining of the string
19162
191632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 * grub-core/script/script.c (grub_script_parse): Free parsed on
19166 failure.
19167
191682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
19171 on failure.
19172
191732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
19176 return.
19177
191782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19181 (scroll_up): Fix a memory leak.
19182
191832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19186 errors.
19187
191882010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 Handle USB pendrives exposed as floppies.
19191
19192 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19193 floppy.
19194 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19195 Check for partitions on all devices.
19196
191972010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19200 (readkey): Likewise.
19201
192022010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19203
19204 Multiple variable names support to "export" command.
19205
19206 * normal/context.c (grub_cmd_export): "export" command supports
19207 multiple variable names.
19208
192092010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19210
19211 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19212 --target=drive output to Mach device name.
19213
192142010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19215
19216 New Automake based build system for GRUB.
19217
19218 * ABOUT-NLS: New file.
19219 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19220 in Makefile.util.def file.
19221 * Makefile.util.def: New file. Autogen build definitions file for
19222 GRUB host utils.
19223 * conf/Makefile.common: New file. Common variables for GRUB host
19224 utils and target modules.
19225 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19226 * docs/Makefile.am: New file. Automake file for docs.
19227 * gentpl.py: New file. Python script to generate Autogen
19228 template.
19229 * grub-core/Makefile.am: New file. GRUB target modules' rules
19230 that doesn't fit in Makefile.core.def file.
19231 * grub-core/Makefile.core.def: New file. Autogen build
19232 definitions file for GRUB target modules.
19233 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19234 specific setjmp.S file.
19235 * po/Makefile.am: New file.
19236
19237 * .bzrignore: New ignores.
19238 * INSTALL: New requirements, without Ruby.
19239 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
19240 * autogen.sh: Updated to invoke autogen as necessary.
19241 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
19242 and defines for Automake conditionals.
19243 * geninit.sh: Refactoring.
19244
19245 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
19246 necessary.
19247 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
19248 New prototype.
19249
19250 * include/grub/test.h: Fix functional test modules' naming.
19251 * grub-core/tests/example_functional_test.c: Fix test module name.
19252
19253 * util/misc.c: Hosted versions' of grub functions for libgrub.a
19254 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
19255 * util/grub-editenv.c: Likewise.
19256 * util/grub-fstest.c: Likewise.
19257 * util/grub-mkdevicemap.c: Likewise.
19258 * util/grub-mkfont.c: Likewise.
19259 * util/grub-mkimage.c: Likewise.
19260 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19261 * util/grub-probe.c: Likewise.
19262 * util/grub-script-check.c: Likewise.
19263 * util/i386/pc/grub-setup.c: Likewise.
19264 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19265
19266 * tests/util/grub-shell.in: Fix override directory path.
19267 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
19268 * util/import_gcry.py: Create Makefile.gcry.def file instead.
19269
19270 * util/lvm.c: Update #includes.
19271 * util/raid.c: Likewise.
19272 * util/resolve.c: Likewise.
19273 * grub-core/bus/emu/pci.c: Likewise.
19274 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
19275 * grub-core/lib/posix_wrap/string.h: Likewise.
19276 * grub-core/kern/emu/main.c: Likewise.
19277
19278 * grub-core/gensymlist.sh: New file. Script for generating kernel
19279 symbols file.
19280 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
19281
19282 * grub-core/gentrigtables.c: Fix unused variable warnings.
19283
19284 * Makefile.in: Removed.
19285 * conf/any-emu.rmk: Removed.
19286 * conf/common.rmk: Removed.
19287 * conf/i386-coreboot.rmk: Removed.
19288 * conf/i386-efi.rmk: Removed.
19289 * conf/i386-ieee1275.rmk: Removed.
19290 * conf/i386-multiboot.rmk: Removed.
19291 * conf/i386-pc.rmk: Removed.
19292 * conf/i386-qemu.rmk: Removed.
19293 * conf/i386.rmk: Removed.
19294 * conf/mips-yeeloong.rmk: Removed.
19295 * conf/mips.rmk: Removed.
19296 * conf/powerpc-ieee1275.rmk: Removed.
19297 * conf/sparc64-ieee1275.rmk: Removed.
19298 * conf/tests.rmk: Removed.
19299 * conf/x86-efi.rmk: Removed.
19300 * conf/x86_64-efi.rmk: Removed.
19301 * gendistlist.sh: Removed.
19302 * geninitheader.sh: Removed.
19303 * genkernsyms.sh.in: Removed.
19304 * genmk.rb: Removed.
19305 * gensymlist.sh.in: Removed.
19306 * mkinstalldirs: Removed.
19307 * boot: Moved ...
19308 * grub-core/boot: ... to here.
19309 * bus: Moved ...
19310 * grub-core/bus: ... to here.
19311 * commands: Moved ...
19312 * grub-core/commands: ... to here.
19313 * disk: Moved ...
19314 * grub-core/disk: ... to here.
19315 * efiemu: Moved ...
19316 * grub-core/efiemu: ... to here.
19317 * font: Moved ...
19318 * grub-core/font: ... to here.
19319 * fs: Moved ...
19320 * grub-core/fs: ... to here.
19321 * gencmdlist.sh: Moved ...
19322 * grub-core/gencmdlist.sh: ... to here.
19323 * genemuinit.sh: Moved ...
19324 * grub-core/genemuinit.sh: ... to here.
19325 * genemuinitheader.sh: Moved ...
19326 * grub-core/genemuinitheader.sh: ... to here.
19327 * genfslist.sh: Moved ...
19328 * grub-core/genfslist.sh: ... to here.
19329 * genhandlerlist.sh: Moved ...
19330 * grub-core/genhandlerlist.sh: ... to here.
19331 * genmoddep.awk: Moved ...
19332 * grub-core/genmoddep.awk: ... to here.
19333 * genmodsrc.sh: Moved ...
19334 * grub-core/genmodsrc.sh: ... to here.
19335 * genpartmaplist.sh: Moved ...
19336 * grub-core/genpartmaplist.sh: ... to here.
19337 * genparttoollist.sh: Moved ...
19338 * grub-core/genparttoollist.sh: ... to here.
19339 * genterminallist.sh: Moved ...
19340 * grub-core/genterminallist.sh: ... to here.
19341 * gentrigtables.c: Moved ...
19342 * grub-core/gentrigtables.c: ... to here.
19343 * genvideolist.sh: Moved ...
19344 * grub-core/genvideolist.sh: ... to here.
19345 * gettext: Moved ...
19346 * grub-core/gettext: ... to here.
19347 * gfxmenu: Moved ...
19348 * grub-core/gfxmenu: ... to here.
19349 * gnulib: Moved ...
19350 * grub-core/gnulib: ... to here.
19351 * hello: Moved ...
19352 * grub-core/hello: ... to here.
19353 * hook: Moved ...
19354 * grub-core/hook: ... to here.
19355 * io: Moved ...
19356 * grub-core/io: ... to here.
19357 * kern: Moved ...
19358 * grub-core/kern: ... to here.
19359 * lib: Moved ...
19360 * grub-core/lib: ... to here.
19361 * loader: Moved ...
19362 * grub-core/loader: ... to here.
19363 * mmap: Moved ...
19364 * grub-core/mmap: ... to here.
19365 * normal: Moved ...
19366 * grub-core/normal: ... to here.
19367 * partmap: Moved ...
19368 * grub-core/partmap: ... to here.
19369 * parttool: Moved ...
19370 * grub-core/parttool: ... to here.
19371 * script: Moved ...
19372 * grub-core/script: ... to here.
19373 * term: Moved ...
19374 * grub-core/term: ... to here
19375 * tests/example_functional_test.c: Moved ...
19376 * grub-core/tests/example_functional_test.c: ... to here.
19377 * tests/lib/functional_test.c: Moved ...
19378 * grub-core/tests/lib/functional_test.c: ... to here.
19379 * tests/lib/test.c: Moved ...
19380 * grub-core/tests/lib/test.c: ... to here.
19381 * video: Moved ...
19382 * grub-core/video: ... to here.
19383
193842010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19385
19386 Replace --enable-grub-emu-modules with grub-emu-lite.
19387
19388 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19389 cache.S.
19390
19391 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19392 * kern/emu/full.c: New file. For grub-emu specific initialization.
19393 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19394 * kern/emu/main.c: Call initialization function grub_emu_init.
19395
19396 * Makefile.in: Include grub-emu-lite in install.
19397 * commands/parttool.c: Use grub_no_autoload to differentiate
19398 between grub-emu and grub-emu-lite.
19399 * include/grub/misc.h: New variable grub_no_autoload.
19400
19401 * conf/any-emu.rmk: New rules for grub-emu-lite.
19402 * configure.ac: Remove --enable-grub-emu-modules.
19403 * genmk.rb: Cleanup unnecessary rules.
19404 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19405
19406 * normal/main.c: Don't load list files on grub-emu-lite.
19407 * util/misc.c (grub_arch_sync_caches): Removed.
19408
194092010-08-23 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19412 grub-mkimage rather than grub-mkelfimage.
19413 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19414
194152010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19418 a key after CapsLock or NumLock. It's just a qemu bug.
19419
194202010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19423 needed by libusb wrapper.
19424
194252010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19426
19427 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19428
194292010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19432 --nounzip is passed.
19433
194342010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 USB hotunplugging and USB serial support.
19437
19438 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19439 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19440 (grub_uhci_transfer): Respect timeout and set *actual.
19441 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19442 non-standard length.
19443 (grub_usb_device_attach): Autoload modules.
19444 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19445 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19446 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19447 users updated.
19448 (grub_usb_add_hub): Fill nports and children.
19449 (attach_root_port): Receive hub instead of controller.
19450 All users updated. Fill hub->devices.
19451 (grub_usb_root_hub): Allocate hub->devices.
19452 (detach_device): New function.
19453 (poll_nonroot_hub): Fill children and detach devices.
19454 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19455 actual arguments. All users updated.
19456 (grub_usb_bulk_read_extended): New function.
19457 * bus/usb/serial/common.c: New file.
19458 * bus/usb/serial/ftdi.c: Likewise.
19459 * bus/usb/serial/pl2303.c: Likewise.
19460 * commands/terminal.c (handle_command): Support wildcard.
19461 * commands/usbtest.c: Output "Unknown" instead of empty string.
19462 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19463 (usbserial_common_mod_SOURCES): New variable.
19464 (usbserial_common_mod_CFLAGS): Likewise.
19465 (usbserial_common_mod_LDFLAGS): Likewise.
19466 (pkglib_MODULES): Add usbserial_pl2303.mod.
19467 (usbserial_pl2303_mod_SOURCES): New variable.
19468 (usbserial_pl2303_mod_CFLAGS): Likewise.
19469 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19470 (pkglib_MODULES): Add usbserial_ftdi.mod.
19471 (usbserial_ftdi_mod_SOURCES): New variable.
19472 (usbserial_ftdi_mod_CFLAGS): Likewise.
19473 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19474 (pkglib_MODULES): Add serial.mod.
19475 (serial_mod_SOURCES): New variable.
19476 (serial_mod_CFLAGS): Likewise.
19477 (serial_mod_LDFLAGS): Likewise.
19478 * conf/i386-pc.rmk: Likewise.
19479 * conf/mips-yeeloong.rmk: Likewise.
19480 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19481 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19482 * disk/usbms.c (first_available_slot): New variable.
19483 (grub_usbms_attach): Don't reuse free slots due to potential cache
19484 problems.
19485 * include/grub/serial.h: Moved to ..
19486 * include/grub/ns8250.h: ...this.
19487 * include/grub/serial.h: New file.
19488 * include/grub/term.h (grub_term_poll_usb): New variable.
19489 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19490 readkey. All users updated.
19491 (grub_terminfo_output_state): Pass term to put.
19492 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19493 (grub_usb_controller_dev): Add timeout and actual arguments to
19494 transfer. All users updated.
19495 (grub_usb_interface): New field detach_data.
19496 (grub_usb_device): New fields children and nports.
19497 (grub_usb_ep_type_t): New type.
19498 (grub_usb_get_ep_type): New function.
19499 (grub_usb_bulk_read_extended): Likewise.
19500 * include/grub/usbdesc.h (grub_usb_desc): New type.
19501 * include/grub/usbserial.h: New file.
19502 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19503 * kern/term.c (grub_term_poll_usb): New variable.
19504 (grub_getkey): Call grub_term_poll_usb if set.
19505 (grub_checkkey): Likewise.
19506 (grub_getkeystatus): Likewise.
19507 * term/serial.c: Moved controller-specific parts to ...
19508 * term/ns8250.c: ... here.
19509 * term/serial.c: Mostly rewritten.
19510 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19511 according to spec.
19512
195132010-08-20 Robert Millan <rmh@gnu.org>
19514
19515 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19516 a separate module and maybe other interesting combinations.
19517
19518 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19519 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19520 (kfreebsd_entry): Add generic filesystem module load routine.
19521 Map GRUB `ext2' to kFreeBSD `ext2fs'.
19522
195232010-08-20 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
19526 "numcenter" (I misunderstood the purpose of this entry).
19527 * docs/grub.texi (sendkey): Likewise.
19528
195292010-08-20 Colin Watson <cjwatson@ubuntu.com>
19530
19531 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
19532 status flag options; simply omitting the option is equivalent and
19533 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
19534 (keysym_table): Rename "num5numlock" to "numlock".
19535 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
19536 can uniformly say that only the last of multiple `sendkey'
19537 invocations has any effect.
19538 * docs/grub.texi (sendkey): New section.
19539
195402010-08-19 Colin Watson <cjwatson@ubuntu.com>
19541
19542 * commands/i386/pc/sendkey.c (options): Fix three typos.
19543
195442010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 Implement sendkey support.
19547
19548 * commands/i386/pc/sendkey.c: New file.
19549 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
19550 (sendkey_mod_SOURCES): New variable.
19551 (sendkey_mod_CFLAGS): Likewise.
19552 (sendkey_mod_LDFLAGS): Likewise.
19553
195542010-08-18 Colin Watson <cjwatson@ubuntu.com>
19555
19556 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
19557 fix warnings from Autoconf.
19558
195592010-08-18 Colin Watson <cjwatson@ubuntu.com>
19560
19561 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
19562 to avoid false positives with some assemblers that output things
19563 like "someprefix_func" as part of their output.
19564
195652010-08-15 Robert Millan <rmh@gnu.org>
19566
19567 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
19568 errors.
19569 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
19570 grub_get_libzfs_handle() errors.
19571
195722010-08-14 Robert Millan <rmh@gnu.org>
19573
19574 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
19575 filesystem is not ZFS.
19576
195772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19578
19579 Fix for misspelled color names defaulting to black/black (bug
19580 reported by Doug Nazar)
19581
19582 * include/grub/normal.h (grub_parse_color_name_pair): Add return
19583 status to prototype.
19584 * normal/color.c (grub_parse_color_name_pair): Return failure
19585 status.
19586 (grub_env_write_color_normal): Ignore bad color names.
19587 (grub_env_write_color_highlight): Likewise.
19588 * normal/main.c (GRUB_MOD_INIT): Set default color names.
19589
195902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19591
19592 "shift" command support to GRUB script.
19593
19594 * include/grub/script_sh.h (grub_script_shift): New prototype.
19595 * script/execute.c (grub_script_shift): New function.
19596 * script/main.c (grub_script_init): Register shift command.
19597 (grub_script_fini): Unregister shift command.
19598 * util/grub-script-check.c (grub_script_cmd_shift): New function.
19599
19600 * tests/grub_script_shift.in: New testcase.
19601 * conf/tests.rmk: Rules for new testcase.
19602
196032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19604
19605 "continue" command support to GRUB script.
19606
19607 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
19608 (grub_script_break): Continue support.
19609 * script/main.c (grub_script_init): Register continue command.
19610 (grub_script_fini): Unregister continue command.
19611
19612 * tests/grub_script_continue.in: New testcase.
19613 * conf/tests.rmk: Rules for new testcase.
19614
196152010-08-12 BVK Chaitanya <bvk@dbook>
19616
19617 "break" command support to GRUB script.
19618
19619 * conf/common.rmk: Rule updates to grub-script-check.
19620 * include/grub/misc.h (grub_min): New function.
19621 * include/grub/script_sh.h (grub_script_init): New prototype.
19622 (grub_script_fini): New prototype.
19623 (grub_script_break): New prototype.
19624 * script/main.c (grub_script_init): New function.
19625 (grub_script_fini): New function.
19626 * script/execute.c (grub_script_break): New function.
19627 * normal/main.c: Calls to grub_script_{init,fini}.
19628 * util/grub-script-check.c (grub_script_break): New function.
19629
19630 * tests/grub_script_break.in: New testcase.
19631 * conf/tests.rmk: Rules for new test case.
19632
196332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19634
19635 Function parameters support to GRUB script.
19636
19637 * script/yylex.l (VARIABLE): Regular expression update.
19638 * script/function.c (grub_script_function_call): Moved ...
19639 * script/execute.c (grub_script_function_call): ... to here.
19640 (grub_script_execute_arglist_to_argv): Removed.
19641 (grub_script_arglist_to_argv): New function.
19642 * script/argv.c: New file.
19643 (grub_script_argv_free): New function.
19644 (grub_script_argv_next): Likewise.
19645 (grub_script_argv_append): Likewise.
19646 (grub_script_argv_split_append): Likewise.
19647 * include/grub/script_sh.h (grub_script_argv): New struct.
19648 (grub_script_argv_free): New function.
19649 (grub_script_argv_next): Likewise.
19650 (grub_script_argv_append): Likewise.
19651 (grub_script_argv_split_append): Likewise.
19652
19653 * conf/common.rmk (normal.mod): New source script/argv.c.
19654
19655 * tests/grub_script_echo1.in: More tests.
19656 * tests/grub_script_vars1.in: Likewise.
19657 * tests/grub_script_functions.in: New test case.
19658 * conf/tests.rmk: Rules for new testcase.
19659
196602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19661
19662 Remove grub_script_cmdblock struct.
19663
19664 * include/grub/script_sh.h: Remove grub_script_cmdblock.
19665 * script/parser.y: Likewise.
19666 * script/execute.c: Rename cmdblock suffix to cmdlist.
19667 * script/script.c: Likewise.
19668 * util/grub-script-check.c: Likewise.
19669
196702010-08-11 Yves Blusseau <blusseau@zetam.org>
19671
19672 * .bzrignore: add grub-macho2img
19673
196742010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
19677
196782010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 Remove the dump of sm712 initialisation sequence.
19681
19682 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
19683 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
19684 (GRUB_VGA_IO_MISC_WRITE): Likewise.
19685 (GRUB_VGA_CR_*): Added many registers.
19686 (GRUB_VGA_SR_*): Likewise.
19687 (GRUB_VGA_GR_*): Likewise.
19688 (grub_vga_write_arx): New function.
19689 (grub_video_hw_config): New struct.
19690 (grub_vga_set_geometry): New function.
19691 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
19692 GRUB_PCI_CLASS_SUBCLASS_VGA.
19693 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
19694 * video/sm712.c (grub_sm712_write_reg): New function
19695 (grub_sm712_read_reg): Likewise.
19696 (grub_sm712_sr_write): Likewise.
19697 (grub_sm712_gr_write): Likewise.
19698 (grub_sm712_cr_write): Likewise.
19699 (grub_sm712_write_arx): Likewise.
19700 (grub_sm712_cr_shadow_write): Likewise.
19701 (grub_sm712_write_dda_lookup): Likewise.
19702 (grub_video_sm712_setup): Initialise the video rather then
19703 blindly replay the dump.
19704 (main) [TEST]: Add a routine to be able to compile as standalone for
19705 tests.
19706 * video/sm712_init.c (sm712_init): Removed.
19707 (sm712_sr_seq1): New array.
19708 (sm712_sr_seq2): Likewise.
19709
197102010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * include/grub/vga.h: Add missing grub/pci.h include.
19713
197142010-08-10 Yves Blusseau <blusseau@zetam.org>
19715
19716 * util/grub-macho2img.c (main): fix typo
19717
197182010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
19721 (grub_vga_gr_read): Likewise.
19722 (grub_vga_cr_write): Likewise.
19723 (grub_vga_cr_read): Likewise.
19724 (grub_vga_sr_write): Likewise.
19725 (grub_vga_sr_read): Likewise.
19726 (grub_vga_palette_read): Likewise.
19727 (grub_vga_palette_write): Likewise.
19728 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
19729 (grub_sm712_sr_read): New function.
19730 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
19731 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
19732
197332010-08-09 Robert Millan <rmh@gnu.org>
19734
19735 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
19736 out unused variables on non-ZFS build.
19737
197382010-08-08 Robert Millan <rmh@gnu.org>
19739
19740 Fix path generation for sub-filesystems in ZFS.
19741
19742 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
19743 missing slash.
19744
197452010-08-08 Robert Millan <rmh@gnu.org>
19746
19747 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
19748
197492010-08-08 Robert Millan <rmh@gnu.org>
19750
19751 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
19752 exist, issue a proper error message (rely on `ls' for translated
19753 strings).
19754
197552010-08-08 Robert Millan <rmh@gnu.org>
19756
19757 Fix grub-probe invocation.
19758
19759 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
19760
197612010-08-04 Robert Millan <rmh@gnu.org>
19762
19763 * configure.ac: Remove checks for getfsstat() and getmntany().
19764 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
19765 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
19766 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
19767 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
19768 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
19769 function.
19770 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
19771 via find_mount_point_from_dir() and getfsstat() / getmntany().
19772
197732010-08-04 Robert Millan <rmh@gnu.org>
19774
19775 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19776 (grub_find_zpool_from_mount_point): Merge into ...
19777 (grub_find_zpool_from_dir): ... this.
19778 * kern/emu/misc.c: Likewise.
19779
19780 * kern/emu/misc.c
19781 (grub_make_system_path_relative_to_its_root): Replace
19782 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
19783 with grub_find_zpool_from_dir().
19784 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
19785
197862010-08-04 Robert Millan <rmh@gnu.org>
19787
19788 Support OpenSolaris in ZFS device resolution.
19789
19790 * configure.ac: Check for getmntany().
19791 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
19792 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
19793 support.
19794
197952010-08-03 Robert Millan <rmh@gnu.org>
19796
19797 Fix grub-emu build.
19798
19799 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
19800 * include/grub/emu/misc.h: ... here.
19801
19802 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
19803 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
19804
19805 * util/misc.c: Remove `<grub/util/libzfs.h>'.
19806 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
19807 (grub_get_libzfs_handle): Move to ...
19808 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
19809 (grub_get_libzfs_handle): ... here.
19810
198112010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
19812
19813 * script/execute.c (grub_script_execute_cmdline): Check for NULL
19814 as command name case.
19815
198162010-08-02 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * disk/raid.c (insert_array): Select unique numbers for named arrays
19819 as well, for use as keys in the disk cache.
19820
198212010-08-01 Robert Millan <rmh@gnu.org>
19822
19823 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
19824 kFreeBSD device name, except on ZFS where the filesystem label is
19825 used.
19826 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
19827 `/boot/zfs/zpool.cache'.
19828 Set mountfrom kernel variable using ${kfreebsd_device}.
19829
198302010-08-01 Robert Millan <rmh@gnu.org>
19831
19832 Make it even harder to use uninitialized `libzfs_handle' (and
19833 make the interface a bit simpler).
19834
19835 * include/grub/util/misc.h (grub_util_init_libzfs)
19836 (libzfs_handle): Remove.
19837 (grub_get_libzfs_handle): New prototype.
19838
19839 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
19840 attribute.
19841 (grub_util_init_libzfs): Remove.
19842 (grub_get_libzfs_handle): New function.
19843
19844 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
19845 grub_get_libzfs_handle() to obtain a libzfs handle instead of
19846 accessing `libzfs_handle' directly.
19847
198482010-08-01 Robert Millan <rmh@gnu.org>
19849
19850 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19851 (grub_find_zpool_from_mount_point): New function prototypes.
19852
19853 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19854 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19855
19856 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19857 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19858 `static' attribute.
19859
19860 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19861 finding zpool from mount point into ...
19862 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19863
19864 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19865 requested path is part of a ZFS pool, use
19866 grub_find_zpool_from_mount_point() to detect its filesystem name,
19867 and generate a path with `/fsname@path' syntax.
19868
198692010-08-01 Colin Watson <cjwatson@ubuntu.com>
19870
19871 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19872 (void) rather than () so that this is a proper prototype.
19873
198742010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19877
198782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19881 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19882
198832010-08-01 Colin Watson <cjwatson@ubuntu.com>
19884
19885 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19886
198872010-08-01 Colin Watson <cjwatson@ubuntu.com>
19888
19889 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19890
198912010-08-01 Colin Watson <cjwatson@ubuntu.com>
19892
19893 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19894 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19895 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19896 disable gfxpayload.
19897 (Shell-like scripting): Add real content.
19898 (Serial terminal): Suggest `terminal_input serial; terminal_output
19899 serial' rather than putting the two commands on separate lines,
19900 since console input will be inoperative after the first command.
19901 (menuentry): Document --class, --users, and --hotkey options.
19902 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19903 Vladimir Serbinenko).
19904
199052010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
199062010-08-01 Colin Watson <cjwatson@ubuntu.com>
19907
19908 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19909
199102010-08-01 Robert Millan <rmh@gnu.org>
19911
19912 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19913 (grub_find_zpool_from_mount_point): New function prototypes.
19914
19915 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19916 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19917
19918 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19919 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19920 `static' attribute.
19921
19922 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19923 finding zpool from mount point into ...
19924 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19925
19926 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19927 requested path is part of a ZFS pool, use
19928 grub_find_zpool_from_mount_point() to detect its filesystem name,
19929 and generate a path with `/fsname@path' syntax.
19930
199312010-08-01 Robert Millan <rmh@gnu.org>
19932
19933 Prevent accidental use of uninitialized libzfs_handle.
19934
19935 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19936 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19937 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19938
199392010-08-01 Colin Watson <cjwatson@ubuntu.com>
19940
19941 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19942 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19943
199442010-08-01 Robert Millan <rmh@gnu.org>
19945
19946 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
19947
199482010-07-31 Robert Millan <rmh@gnu.org>
19949
19950 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19951
199522010-07-31 Robert Millan <rmh@gnu.org>
19953
19954 * kern/emu/misc.c: Add missing license header.
19955
199562010-07-31 Robert Millan <rmh@gnu.org>
19957
19958 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19959
19960 * include/grub/util/libnvpair.h: Include `<config.h>'.
19961 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19962 declaring libnvpair prototypes ourselves.
19963 * include/grub/util/libzfs.h: Include `<config.h>'.
19964 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19965 declaring libzfs prototypes ourselves.
19966
19967 (libzfs_handle): Moved to ...
19968 * include/grub/util/misc.h (libzfs_handle): ... here.
19969 Include `<grub/util/libzfs.h>'.
19970
199712010-07-30 Robert Millan <rmh@gnu.org>
19972
19973 * include/grub/emu/misc.h: Add missing license header.
19974
199752010-07-30 Robert Millan <rmh@gnu.org>
19976
19977 Enable `grub-probe -t device' resolution on ZFS.
19978
19979 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19980 * include/grub/util/libnvpair.h: New file.
19981 * include/grub/util/libzfs.h: New file.
19982
19983 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19984 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19985 `<grub/util/libnvpair.h>'.
19986 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19987
19988 (find_mount_point_from_dir): New static function.
19989 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19990 function.
19991 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19992 find_root_device_from_libzfs() before ressorting to find_root_device().
19993
19994 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19995 prototype.
19996 * util/misc.c: Include `<grub/util/libzfs.h>'.
19997 (grub_util_init_libzfs): New function.
19998 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19999 [HAVE_LIBZFS] (fini_libzfs): New static function.
20000 (grub_util_init_libzfs): New function.
20001 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20002
200032010-07-30 Robert Millan <rmh@gnu.org>
20004
20005 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20006 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20007 `warn_unused_result' attribute.
20008 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20009 (grub_xasprintf, grub_xvasprintf): Likewise.
20010 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20011
200122010-07-29 Robert Millan <rmh@gnu.org>
20013
20014 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20015 (probe): Handle `PRINT_FS_LABEL'.
20016 (main): Handle `-t fs_label'.
20017
200182010-07-29 Robert Millan <rmh@gnu.org>
20019
20020 * configure.ac: Remove grub-mkisofs checks.
20021
200222010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20025 Reported by: Lennart Sorensen.
20026
200272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20030 prior to terminal_input/terminal_output separation. It's been over 1.5
20031 years and those versions weren't widely deployed.
20032
200332010-07-22 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * disk/raid.c (insert_array): Don't count named arrays when looking
20036 for unused array numbers.
20037 Reported and tested by: Michael Guntsche.
20038
200392010-07-20 Colin Watson <cjwatson@ubuntu.com>
20040
20041 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20042 implementation of this so that grub-emu links again, with a note
20043 that this should support hotplugging in the future.
20044
200452010-07-20 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20048
200492010-07-20 Colin Watson <cjwatson@ubuntu.com>
20050
20051 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20052 handle on failure.
20053 (grub_loopback_close): Remove empty function.
20054 (grub_loopback_dev): Remove close method.
20055
200562010-07-20 Colin Watson <cjwatson@ubuntu.com>
20057
20058 Disable EFI cursor when the EFI console becomes inactive.
20059
20060 * term/efi/console.c (grub_efi_console_init): New function.
20061 (grub_efi_console_fini): New function.
20062 (grub_console_term_output): Register init and fini methods.
20063
200642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20065
20066 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20067 sh script.
20068
200692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20070
20071 * disk/loopback.c (grub_loopback): Replace filename with file.
20072 (delete_loopback): Handle new semantics.
20073 (grub_cmd_loopback): Likewise.
20074 (grub_loopback_iterate): Likewise.
20075 (grub_loopback_close): Likewise.
20076
200772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20080 with -p "".
20081 Reported by: Tito Keitel.
20082
200832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 * docs/grub.texi (Naming convention): Document new naming convention.
20086
200872010-07-20 Vadim Solomin <vadic052@gmail.com>
200882010-07-20 Colin Watson <cjwatson@ubuntu.com>
20089
20090 Generate device.map in something closer to the old ordering.
20091
20092 * util/deviceiter.c (struct device): New declaration.
20093 (compare_file_names): Rename to ...
20094 (compare_devices): ... this. Sort by kernel name in preference to
20095 the stable by-id name, but keep the latter as a fallback comparison.
20096 Update header comment.
20097 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20098 of `struct device' rather than of plain file names.
20099
201002010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20101
20102 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20103 on i386.
20104
201052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20108 hardcoding size.
20109 (setv1table): Likewise.
20110
201112010-07-20 Colin Watson <cjwatson@ubuntu.com>
20112
20113 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20114 removing the homehost if present.
20115 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20116 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20117 removing the homehost if present.
20118 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20119 if possible.
20120 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20121
20122 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20123 parameter. Set its pointer target to 0.
20124 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20125 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20126 `data_offset' value from the superblock for 1.x metadata.
20127 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20128 data on the device.
20129 (insert_array): Record the start sector of data on the device.
20130 (grub_raid_register): Pass start_sector parameters to
20131 grub_raid_list->detect and insert_array.
20132 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20133 member.
20134 (struct grub_raid): Add start_sector parameter to `detect'.
20135
20136 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20137 __attribute__ ((packed)), leaving a comment.
20138 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20139 (grub_mdraid_detect_09): ... here and ...
20140 (grub_mdraid_detect_1x): ... here.
20141
201422010-07-20 Peter Henn <peter.henn@web.de>
20143
20144 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20145 chunk size and disk size, which are already given as sector counts
20146 as distinct from the 0.90 units. Fetch the correct device number
20147 from the role table instead of using the table index.
20148
201492010-07-20 Felix Zielcke <fzielcke@z-51.de>
20150
20151 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
20152 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
20153 (WriteMostly1): New macro.
20154 Set array->name to NULL for metadata format 0.90. Add support for
20155 metadata 1.x. Fix some comments.
20156 * disk/raid.c (): Add support for name based RAID arrays. Fix a
20157 few comments.
20158 * util/getroot.c (grub_util_get_grub_dev): Add support for
20159 /dev/md/name style devices.
20160
201612010-07-20 Colin Watson <cjwatson@ubuntu.com>
20162
20163 * .bzrignore: Ignore 20_linux_xen.
20164
201652010-07-17 Colin Watson <cjwatson@ubuntu.com>
20166
20167 * util/import_unicode.py: Remove unnecessary imports.
20168
201692010-07-17 Aleš Nesrsta <starous@volny.cz>
20170
20171 Hotplugging and USB hub support.
20172
20173 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
20174 (grub_ohci): Likewise.
20175 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
20176 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20177 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20178 (GRUB_OHCI_CTRL_EDS): Likewise.
20179 (GRUB_OHCI_BULK_EDS): Likewise.
20180 (GRUB_OHCI_TDS): Likewise.
20181 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20182 (grub_ohci_ed_phys2virt): New function.
20183 (grub_ohci_virt_to_phys): Likewise.
20184 (grub_ohci_td_phys2virt): Likewise.
20185 (grub_ohci_td_virt2phys): Likewise.
20186 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20187 attachment.
20188 (grub_ohci_find_ed): New function.
20189 (grub_ohci_alloc_td): Likewise.
20190 (grub_ohci_free_td): Likewise.
20191 (grub_ohci_free_tds): Likewise.
20192 (grub_ohci_transfer): Use previously allocated memory.
20193 (grub_ohci_portstatus): Reset status changed bit.
20194 (grub_ohci_detect_dev): Supply status changed.
20195 (grub_ohci_fini_hw): Free memory.
20196 (grub_ohci_restore_hw): Reallocate memory.
20197 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20198 Reset status change.
20199 (grub_uhci_detect_dev): Supply status_change.
20200 * bus/usb/usb.c (attach_hooks): New var.
20201 (grub_usb_device_attach): New function.
20202 (grub_usb_register_attach_hook_class): Likewise.
20203 (grub_usb_unregister_attach_hook_class): Likewise.
20204 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20205 (grub_usb_add_hub): Reset connection changed bit.
20206 (attach_root_port): New function.
20207 (grub_usb_root_hub): Likewise.
20208 (poll_nonroot_hub): Likewise.
20209 (grub_usb_poll_devices): Likewise.
20210 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20211 * disk/usbms.c (grub_usbms_open): Use device hooks.
20212 (grub_usbms_iterate) :Poll devices.
20213 (grub_usbms_finddevs): Split into ...
20214 (grub_usbms_attach): ... this ...
20215 (grub_usbms_attach): ... and this.
20216 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20217 in detect_dev.
20218 (grub_usb_interface): New fields attached and detach_hook.
20219 (grub_usb_attach_hook_class): New type.
20220 (grub_usb_attach_desc): New struct.
20221 (grub_usb_register_attach_hook_class): New function.
20222 (grub_usb_unregister_attach_hook_class): Likewise.
20223 (grub_usb_poll_devices): Likewise.
20224 (grub_usb_device_attach): Likewise.
20225 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20226 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20227
202282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20231 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20232 delta determination style. Works with most NetBSD partitions too.
20233
202342010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20237 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
20238
202392010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
20242
202432010-07-14 Anton Blanchard <anton@samba.org>
20244
20245 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
20246 ET_DYN files.
20247
202482010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20249
20250 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
20251
202522010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20253
20254 * kern/partition.c (grub_partition_check_containment): New function to
20255 check that a partition is physically contained in a parent. Since
20256 offsets are relative (and non-negative), this reduces to checking that
20257 the partition ends before its parent.
20258 (grub_partition_map_probe): Discard out-of-range sub-partitions.
20259 (grub_partition_iterate): Likewise.
20260 * include/grub/partition.h (grub_partition_map): Slightly more detailed
20261 comments.
20262 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
20263 partitions that start before their parent, and add debug printfs.
20264
202652010-07-13 Colin Watson <cjwatson@ubuntu.com>
20266
20267 * Makefile.in (.SUFFIX): Spell correctly, as ...
20268 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
20269 bare module name without `.mod', e.g. `test') tried to invoke a
20270 Modula-2 compiler.
20271
202722010-07-13 Colin Watson <cjwatson@ubuntu.com>
20273
20274 * README: Point to the Info manual.
20275
202762010-07-13 Jiro SEKIBA <jir@unicus.jp>
20277
20278 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
20279 2nd superblock position from partition size.
20280
202812010-07-10 Colin Watson <cjwatson@ubuntu.com>
20282
20283 * Makefile.in (MAINTAINER_CLEANFILES): Remove
20284 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
20285 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
20286 outputs.
20287
202882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 Restructure SCSI .id handling.
20291 Reported and tested by: Aleš Nesrsta.
20292
20293 * disk/ata.c (grub_atapi_close): Removed. All users updated.
20294 (grub_atapi_dev): Changed .name to "ata". New field .id.
20295 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
20296 (grub_usbms_dev): New field .id.
20297 * disk/scsi.c (grub_scsi_iterate): Generate name.
20298 (grub_scsi_open): Parse name.
20299 * include/grub/scsi.h (grub_make_scsi_id): New function.
20300 (grub_scsi_dev): Change iterate and open to number instead of naming
20301 busses. All users updated.
20302 (grub_scsi): Remove name. Add .bus.
20303
203042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * commands/help.c (grub_cmd_help): Fix a typo.
20307
203082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
20311 Reported and tested by: Colin Watson.
20312
203132010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
20316 in this context.
20317
203182010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20321
203222010-07-07 Colin Watson <cjwatson@ubuntu.com>
20323
20324 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20325 indentation.
20326
203272010-07-06 Colin Watson <cjwatson@ubuntu.com>
20328
20329 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
20330 and disk/raid6_recover.c.
20331 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20332 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20333
203342010-07-06 Colin Watson <cjwatson@ubuntu.com>
20335
20336 * term/gfxterm.c (repaint_schedulded): Rename to ...
20337 (repaint_scheduled): ... this. Update all callers.
20338 (repaint_was_schedulded): Rename to ...
20339 (repaint_was_scheduled): ... this. Update all callers.
20340
203412010-07-06 Colin Watson <cjwatson@ubuntu.com>
20342
20343 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
20344 which we expect to be handled by upper layers.
20345
203462010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20347
20348 * bus/usb/usbhub.c: #include time.h header.
20349
203502010-07-06 Colin Watson <cjwatson@ubuntu.com>
20351
20352 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20353 entry_name also for entries without stat blocks (e.g. ".."); fixes
20354 corruption of the first entry in a directory.
20355
203562010-07-06 Colin Watson <cjwatson@ubuntu.com>
20357
20358 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20359 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20360 doesn't work otherwise.
20361
203622010-07-05 Colin Watson <cjwatson@ubuntu.com>
20363
20364 * docs/grub.texi (Features): Update list of supported file systems.
20365 (GNU/Linux): Update for GRUB 2.
20366 (Serial terminal): Remove mention of --disable-serial, which was a
20367 GRUB Legacy configure option. Update instructions to use
20368 `terminal_input' and `terminal_output' rather than `terminal'.
20369 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20370 configuration' and `Installing GRUB using grub-install'.
20371 (Menu entry editor): Update for GRUB 2.
20372 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20373 Document new -a, -u, and -v options.
20374 (initrd): New section.
20375 (initrd16): New section.
20376 (linux): New section.
20377 (linux16): New section.
20378 (search): The `var' argument to `--set' is optional.
20379 (GRUB only offers a rescue shell): Go into a little more detail on
20380 drive ordering.
20381
203822010-07-05 Colin Watson <cjwatson@ubuntu.com>
20383
20384 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20385
203862010-07-05 Colin Watson <cjwatson@ubuntu.com>
20387
20388 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20389 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20390
203912010-07-05 Colin Watson <cjwatson@ubuntu.com>
20392
20393 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20394 install_prefix, in line with install_dos_part and install_bsd_part.
20395 Add new prefix variable, which is copied to install_prefix after
20396 comparing core.img in memory with the one read from disk in the
20397 no-embedding case, and use that rather than overwriting
20398 install_prefix immediately when installing to a partition.
20399 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20400 Bicakci.
20401
204022010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20403
20404 * configure.ac: Avoid == in test command, it's not portable.
20405 * util/grub.d/30_os-prober.in: Likewise.
20406
204072010-07-04 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20410
204112010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20412
20413 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20414 multiple (top-level) partmaps.
20415
204162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20417
20418 * util/i386/efi/grub-install.in: Don't use empty grub_device.
20419 Reported by: Tino Keitel.
20420
204212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 Bidi and diacritics support.
20424
20425 * Makefile.in (widthspec.bin): New target.
20426 (widthspec.h): Likewise.
20427 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20428 * autogen.sh: Generate unidata.c.
20429 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20430 * commands/ls.c (grub_ls_list_devices): Likewise.
20431 (grub_ls_list_files): Likewise.
20432 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20433 (grub_mini_cmd_lsmod): Likewise.
20434 * commands/read.c: Likewise.
20435 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20436 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20437 * lib/arg.c (grub_arg_show_help): Likewise.
20438 * lib/crypto.c (grub_password_get): Likewise.
20439 * normal/auth.c (grub_username_get): Likewise.
20440 * normal/misc.c (grub_normal_print_device_info): Likewise.
20441 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20442 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20443 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20444 (normal/charset.c_DEPENDENCIES): New variable.
20445 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20446 (pkglib_MODULES): Remove charset.mod.
20447 (charset_mod_SOURCES): Removed.
20448 (charset_mod_CFLAGS): Likewise.
20449 (charset_mod_LDFLAGS): Likewise.
20450 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20451 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20452 and term/tparm.c.
20453 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20454 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20455 (kernel_img_HEADERS): Add terminfo.h.
20456 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20457 Fill ->font. Reverse ascii bitmaps.
20458 (grub_font_get_xheight): New function.
20459 * font/font.c (grub_font_get_string_width): Moved from here ...
20460 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20461 * font/font.c (grub_font_draw_string): Moved from here ...
20462 * gfxmenu/font.c (grub_font_draw_string): ... here.
20463 * font/font.c (grub_font_dup_glyph): New function.
20464 (grub_font_blit_glyph): Likewise.
20465 (grub_font_blit_glyph_mirror): Likewise.
20466 (blit_comb): Likewise.
20467 (grub_font_construct_dry_run): Likewise.
20468 (grub_font_get_constructed_device_width): Likewise.
20469 (grub_font_construct_glyph): Likewise.
20470 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20471 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20472 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20473 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20474 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20475 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20476 (grub_font_get_xheight): New proto.
20477 (grub_font_get_constructed_device_width): Likewise.
20478 (grub_font_construct_glyph): Likewise.
20479 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20480 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20481 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20482 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20483 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20484 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20485 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20486 (grub_console_getcharwidth): Likewise.
20487 * include/grub/misc.h (grub_xputs): New proto.
20488 (grub_puts): Inlined.
20489 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20490 (grub_normal_get_line_counter): Removed.
20491 (grub_install_newline_hook): Likewise.
20492 (grub_normal_get_char_counter): New proto.
20493 (grub_normal_reset_more): Likewise.
20494 (grub_xputs_normal): Likewise.
20495 * include/grub/powerpc/ieee1275/console.h: Removed.
20496 * include/grub/sparc64/ieee1275/console.h: Likewise.
20497 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20498 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20499 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20500 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20501 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20502 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20503 (grub_term_input): Pass reference to self. All users updated.
20504 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20505 Pass reference to self. New fields normal_color, highlight_color and
20506 data. All users updated.
20507 (grub_putchar): Removed.
20508 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20509 (grub_unicode_estimate_width): New function.
20510 (grub_term_getcharwidth): Add defaults.
20511 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20512 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20513 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20514 (grub_cls): Remove EXPORT_FUNC.
20515 (grub_setcolorstate): Inline.
20516 (grub_newline_hook): Removed.
20517 * include/grub/terminfo.h: Rewritten. All users updated.
20518 * include/grub/unicode.h: New file.
20519 * include/grub/video.h (grub_video_signed_rect): New type.
20520 * kern/emu/console.c (grub_console_highlight_color): Removed.
20521 (grub_console_normal_color): Likewise.
20522 (grub_console_standard_color): Made static.
20523 (grub_ncurses_putchar): Remove mapping.
20524 (grub_ncurses_getcharwidth): Removed.
20525 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20526 (grub_ncurses_setcolor): Removed.
20527 (grub_ncurses_getcolor): Likewise.
20528 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
20529 (grub_console_putchar): ... this.
20530 (grub_console_putchar): Handle argument difference.
20531 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
20532 console_init_early and console_init_lately.
20533 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
20534 * kern/misc.c (grub_puts): Removed.
20535 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
20536 (grub_vsnprintf_real): Remove str = NULL support.
20537 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
20538 * normal/charset.c (grub_utf8_to_ucs4): ... here.
20539 * kern/term.c (grub_putcode): Renamed to ...
20540 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
20541 (grub_putchar): Removed.
20542 (grub_xputs_dumb): New function.
20543 (grub_xputs): New variable.
20544 * lib/charset.c: Move from here ...
20545 * normal/charset.c: ... to here.
20546 (grub_ucs4_to_utf8): New function.
20547 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
20548 (join_types): New variable.
20549 (unpack_join): New function.
20550 (bidi_types): New variable.
20551 (unpack_bidi): New function.
20552 (get_bidi_type): Likewise.
20553 (get_join_type): Likewise.
20554 (is_mirrored): Likewise.
20555 (grub_unicode_get_comb_type): Likewise.
20556 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
20557 (is_type_after): Likewise.
20558 (grub_unicode_aglomerate_comb): Likewise.
20559 (bidi_line_wrap): Likewise.
20560 (grub_bidi_line_logical_to_visual): Likewise.
20561 (grub_bidi_logical_to_visual): Likewise.
20562 (grub_unicode_mirror_code): Likewise.
20563 (grub_unicode_shape_code): Likewise.
20564 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
20565 Don't use grub_putchar.
20566 * normal/main.c (grub_normal_init_page): Use grub_putcode.
20567 (grub_normal_reader_init): Likewise.
20568 (grub_xputs_saved): New variable.
20569 (GRUB_MOD_INIT): Set grub_xputs.
20570 (GRUB_MOD_FINI): Restore grub_xputs.
20571 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
20572 (menu_init): Avoid printing gfxmenu error.
20573 (show_menu): Use grub_normal_get_char_counter.
20574 * normal/menu_entry.c (update_screen): Fix out-of-array.
20575 (complete): Avoid NULL dereferencing.
20576 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
20577 * normal/menu_text.c (print_spaces): Removed.
20578 (grub_print_ucs4): Likewise.
20579 (grub_print_message_indented): Use grub_print_ucs4.
20580 (print_message): Use grub_putcode.
20581 (print_entry): Hanlde diacritics.
20582 * normal/term.c (term_state): New type.
20583 (grub_more_lines): Removed.
20584 (term_states): New variable.
20585 (grub_normal_line_counter): Renamed to ..
20586 (grub_normal_char_counter): ...this. All users updated.
20587 (grub_normal_get_line_counter): Renamed to ...
20588 (grub_normal_get_char_counter): ... this.
20589 (grub_normal_reset_more): New function.
20590 (process_newline): Removed.
20591 (print_more): New function.
20592 (grub_install_newline_hook): Removed.
20593 (map_code): New function.
20594 (grub_puts_terminal): Use grub_print_ucs4.
20595 (putglyph): New function.
20596 (putcode_real): Likewise.
20597 (grub_putcode): Use putcode_real.
20598 (get_maxwidth): New function.
20599 (get_startwidth): Likewise.
20600 (print_ucs4_terminal): Likewise.
20601 (find_term_state): Likewise.
20602 (put_glyphs_terminal): Likewise.
20603 (print_backlog): Likewise.
20604 (print_ucs4_real): Likewise.
20605 (grub_print_ucs4): Likewise.
20606 (grub_xputs_normal): Likewise.
20607 * term/efi/console.c (grub_console_putchar): Output diacritics.
20608 (grub_console_getcharwidth): Removed.
20609 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20610 * term/gfxterm.c (clear_char): Free chars.
20611 (scroll_up): Avoid leaking memory.
20612 (grub_gfxterm_putchar): Support diacritics.
20613 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20614 * term/i386/pc/console.c (grub_console_term_output): Declare as
20615 GRUB_TERM_CODE_TYPE_VGA.
20616 * term/i386/pc/vga.c (grub_vga_term): Declare as
20617 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
20618 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
20619 GRUB_TERM_CODE_TYPE_VGA.
20620 * term/i386/vga_common.c (map_char): Removed.
20621 (grub_console_putchar): Likewise.
20622 (grub_console_getcharwidth): Likewise.
20623 * term/ieee1275/ofconsole.c: Simplify using terminfo.
20624 (colors): Reordered to match terminfo.
20625 (grub_ofconsole_normal_color): Removed.
20626 (grub_ofconsole_writeesc): Likewise.
20627 (grub_ofconsole_highlight_color): Likewise.
20628 (grub_ofconsole_getcharwidth): Likewise.
20629 (grub_ofconsole_setcolorstate): Likewise.
20630 (grub_ofconsole_setcolor): Likewise.
20631 (grub_ofconsole_getcolor): Likewise.
20632 (grub_ofconsole_readkey): Renamed to ...
20633 (readkey): ... this. Remove escape sequence handling. Return -1 on no
20634 key.
20635 (grub_ofconsole_checkkey): Removed.
20636 (grub_ofconsole_getkey): Likewise.
20637 (grub_ofconsole_getxy): Likewise.
20638 (grub_ofconsole_gotoxy): Likewise.
20639 (grub_ofconsole_cls): Likewise.
20640 (grub_ofconsole_refresh): Likewise.
20641 (grub_ofconsole_terminfo_input): New struct.
20642 (grub_ofconsole_terminfo_output): Likewise.
20643 (grub_ofconsole_term_input): Use terminfo.
20644 (grub_ofconsole_term_output): Likewise.
20645 (grub_console_init): Split into ...
20646 (grub_console_init_early): ...this and ...
20647 (grub_console_init_lately): ...this. Use terminfo.
20648 (grub_ofconsole_putchar): Renamed to ...
20649 (put): ... this. Remove mapping.
20650 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20651 * term/serial.c: Simplify using terminfo.
20652 (xpos): Removed.
20653 (ypos): Likewise.
20654 (keep_track): Likewise.
20655 (registered): Likewise.
20656 (input_buf): Likewise.
20657 (npending): Likewise.
20658 (serial_translate_key_sequence): Likewise.
20659 (fill_input_buf): Likewise.
20660 (grub_serial_checkkey): Likewise.
20661 (grub_serial_getkey): Likewise.
20662 (grub_serial_getxy): Likewise.
20663 (grub_serial_gotoxy): Likewise.
20664 (grub_serial_putchar): Likewise.
20665 (grub_serial_cls): Likewise.
20666 (grub_serial_setcolorstate): Likewise.
20667 (grub_serial_setcursor): Likewise.
20668 (serial_hw_init): Use serial_hw_fetch.
20669 (grub_serial_terminfo_input): New variable.
20670 (grub_serial_terminfo_output): Likewise.
20671 (grub_serial_term_input): Use terminfo.
20672 (grub_serial_term_output): Likewise.
20673 * term/terminfo.c (putstr): Use put.
20674 (grub_terminfo_all_free): New function
20675 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
20676 (grub_terminfo_output_register): New function.
20677 (grub_terminfo_output_unregister): Likewise.
20678 (grub_terminfo_getxy): Likewise.
20679 (grub_terminfo_readkey): Likewise.
20680 (grub_terminfo_checkkey): Likewise.
20681 (grub_terminfo_getkey): Likewise.
20682 (grub_terminfo_input_init): Likewise.
20683 (print_terminfo): Likewise.
20684 (grub_cmd_terminfo): Handle encoding.
20685 (grub_terminfo_gotoxy): Track position.
20686 (grub_terminfo_cls): Likewise.
20687 (grub_terminfo_putchar): Likewise.
20688 (grub_terminfo_setcolorstate): Handle colors
20689 (grub_terminfo_cursor_on): This ...
20690 (grub_terminfo_cursor_off): ... and this merged into ...
20691 (grub_terminfo_setcursor): ... this.
20692 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
20693 * unicode/ArabicShaping.txt: New file (imported from Unicode).
20694 * unicode/BidiMirroring.txt: Likewise.
20695 * unicode/UnicodeData.txt: Likewise.
20696 * unicode/COPYING: Likewise.
20697 * util/grub-editenv.c (grub_putchar): Removed.
20698 (grub_xputs_real): New function.
20699 (grub_xputs): New variable.
20700 * util/grub-fstest.c (grub_putchar): Removed.
20701 (grub_xputs_real): New function.
20702 (grub_xputs): New variable.
20703 * util/grub-mkdevicemap.c (grub_putchar): Removed.
20704 (grub_xputs_real): New function.
20705 (grub_xputs): New variable.
20706 * util/grub-probe.c (grub_putchar): Removed.
20707 (grub_xputs_real): New function.
20708 (grub_xputs): New variable.
20709 * util/grub-script-check.c (grub_putchar): Removed.
20710 (grub_xputs_real): New function.
20711 (grub_xputs): New variable.
20712 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
20713 (grub_xputs_real): New function.
20714 (grub_xputs): New variable.
20715 * util/import_unicode.py: New file.
20716 * util/grub-mkfont.c (ft_errmsgs): New array.
20717 (grub_glyph_info): Make bitmap a pointer.
20718 (file_formats): New type WIDTH_SPEC.
20719 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
20720 (options): Add width-spec.
20721 (help): Likewise.
20722 (add_char): Renamed to ...
20723 (add_glyph): ... this.
20724 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
20725 (glyph_replace): New type.
20726 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
20727 (add_char): New function.
20728 (add_subst): Likewise.
20729 (process_cursive): Likewise.
20730 (add_font): Handle GSUB.
20731 (write_font_width_spec): New function.
20732 (main): Sort glyphs.
20733 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
20734 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
20735 * kern/term.c (grub_cls): Moved from here...
20736 * normal/term.c (grub_cls): ... here.
20737
207382010-07-02 Colin Watson <cjwatson@ubuntu.com>
20739
20740 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
20741 suitable for using within the format argument of printf when
20742 converting grub_size_t.
20743 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
20744 "x" to convert grub_size_t arguments.
20745
207462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
20749 too long captions.
20750 (list_get_minimal_size): Take selection box into account.
20751
207522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
20755 NULL font.
20756
207572010-07-02 Colin Watson <cjwatson@ubuntu.com>
20758
20759 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
20760 devices when iterating over /dev/disk/by-id; they will be handled
20761 later if appropriate, which they aren't always (e.g. LVM).
20762
207632010-07-02 Colin Watson <cjwatson@ubuntu.com>
20764
20765 * include/grub/misc.h (grub_reboot): Declare as noreturn.
20766 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
20767 fails.
20768 (grub_halt): Likewise.
20769 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
20770 reset-all fails.
20771 (grub_halt): Don't return, even if all of shut-down, power-off, and
20772 poweroff fail.
20773
207742010-07-02 Colin Watson <cjwatson@ubuntu.com>
20775
20776 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
20777 arguments, not three.
20778
207792010-07-02 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
20782 * util/grub.d/10_linux.in: Use it to check for LVM, so that
20783 LVM-on-RAID is handled correctly.
20784
207852010-07-02 Colin Watson <cjwatson@ubuntu.com>
20786
20787 * docs/grub.texi (Changes from GRUB Legacy): New section.
20788 (Future): Fix typo.
20789
207902010-07-02 Colin Watson <cjwatson@ubuntu.com>
20791
20792 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
20793 grub.d/README accidentally ends up executable for one reason or
20794 another. Ignore it.
20795
207962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
20799 (gpt_partition_map_iterate): Support non-512B sectors.
20800
208012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * kern/efi/init.c (grub_efi_init): Disable watchdog.
20804 Tested by: Seth Goldberg.
20805
208062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
20809 Properly align mbi.
20810 Reported by: Seth Goldberg.
20811
208122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * util/grub-mkrescue.in: Avoid module duplication.
20815
208162010-07-01 Sean Finney <seanius@seanius.net>
20817
20818 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20819
208202010-07-01 Sean Finney <seanius@seanius.net>
20821
20822 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
20823
208242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * disk/lvm.c (grub_lvm_checkvalue): New function.
20827 (grub_lvm_check_flag): Likewise.
20828
208292010-07-01 Robert Millan <rmh@gnu.org>
20830
20831 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
20832 Support 'p' as partition separator on kernel of FreeBSD (used
20833 with GPT labels).
20834 (grub_util_biosdisk_get_grub_dev): Likewise.
20835
208362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 Yeeloong firmware port.
20839
20840 * boot/mips/yeeloong/fwstart.S: New file.
20841 * bus/cs5536.c (gpiodump): New const.
20842 (set_io_space): New function.
20843 (set_iod): Likewise.
20844 (set_p2d): Likewise.
20845 (grub_cs5536_init_geode): Likewise.
20846 * commands/mips/yeeloong/lsspd.c: New file.
20847 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
20848 (serial_mod_SOURCES): New variable.
20849 (serial_mod_CFLAGS): Likewise.
20850 (serial_mod_LDFLAGS): Likewise.
20851 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
20852 term/terminfo.c and term/tparm.c.
20853 (pkglib_IMAGES): Add fwstart.img.
20854 (fwstart_img_SOURCES): New variable.
20855 (fwstart_img_CFLAGS): Likewise.
20856 (fwstart_img_ASFLAGS): Likewise.
20857 (fwstart_img_LDFLAGS): Likewise.
20858 (fwstart_img_FORMAT): Likewise.
20859 (pkglib_MODULES): Add lsspd.mod.
20860 (lsspd_mod_SOURCES): New variable.
20861 (lsspd_mod_CFLAGS): Likewise.
20862 (lsspd_mod_LDFLAGS): Likewise.
20863 (pkglib_MODULES): Add halt.mod.
20864 (halt_mod_SOURCES): New variable.
20865 (halt_mod_CFLAGS): Likewise.
20866 (halt_mod_LDFLAGS): Likewise.
20867 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20868 (serial_mod_SOURCES): Removed.
20869 (serial_mod_CFLAGS): Likewise.
20870 (serial_mod_LDFLAGS): Likewise.
20871 * disk/ata.c (check_device): New function.
20872 (grub_ata_device_initialize): Use check_device.
20873 (grub_ata_iterate): Recheck devices.
20874 (grub_ata_open): Likewise.
20875 (grub_atapi_iterate): Likewise.
20876 (grub_atapi_open): Likewise.
20877 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20878 (GRUB_ATA_CH1_PORT1): Likewise.
20879 (GRUB_ATA_CH0_PORT2): Likewise.
20880 (GRUB_ATA_CH1_PORT2): Likewise.
20881 * include/grub/mips/loongson.h: New file.
20882 * include/grub/mips/yeeloong/ec.h: Likewise.
20883 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20884 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20885 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20886 * include/grub/misc.h (grub_halt): Declare as noreturn.
20887 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20888 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20889 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20890 (UART_ENABLE_DTRRTS): Likewise.
20891 (UART_ENABLE_MODEM): Removed.
20892 (UART_ENABLE_OUT2): New const.
20893 * include/grub/term.h (grub_term_register_input_active): New function.
20894 (grub_term_register_output_active): Likewise.
20895 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20896 argument.
20897 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20898 (init_pci): New function.
20899 (grub_machine_init): Execute platform init when firmware. Init serial.
20900 (grub_halt): Implement.
20901 (grub_exit): Likewise.
20902 (grub_reboot): Likewise.
20903 * term/serial.c (serial_hw_init): Update macros.
20904 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20905 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20906 (image_targets): New target mipsel-yeeloong-flash.
20907 (generate_image): Support IMAGE_YEELOONG_FLASH.
20908 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20909 (grub_video_sm712_setup): Init card.
20910 (grub_video_sm712_set_palette): Removed.
20911 * video/sm712_init.c: New file.
20912
209132010-06-30 Colin Watson <cjwatson@ubuntu.com>
20914
20915 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20916 PATH when running help2man and then run it on the unadorned
20917 executable names, rather than passing $(builddir)/* paths to
20918 help2man. This avoids the build directory ending up in generated
20919 manual pages.
20920
209212010-06-29 Colin Watson <cjwatson@ubuntu.com>
20922
20923 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20924 to avoid accidents when debugging with 'sh -x'.
20925 * util/grub-mkrescue.in: Likewise.
20926 * util/grub.d/00_header.in: Likewise.
20927 * util/grub.d/10_hurd.in: Likewise.
20928 * util/grub.d/10_kfreebsd.in: Likewise.
20929 * util/grub.d/10_linux.in: Likewise.
20930 * util/grub.d/10_netbsd.in: Likewise.
20931 * util/grub.d/10_windows.in: Likewise.
20932 * util/grub.d/20_linux_xen.in: Likewise.
20933 * util/grub.d/30_os-prober.in: Likewise.
20934 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20935
209362010-06-29 Colin Watson <cjwatson@ubuntu.com>
20937
20938 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20939 last character in the buffer.
20940 Reported by: Vladimir Serbinenko.
20941
209422010-06-29 Robert Millan <rmh@gnu.org>
20943
20944 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20945 (Command-line and menu entry commands): Document `badram' command.
20946
209472010-06-28 Robert Millan <rmh@gnu.org>
20948
20949 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20950 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20951 command using ${GRUB_BADRAM} as parameter.
20952
209532010-06-28 Colin Watson <cjwatson@ubuntu.com>
20954
20955 * docs/grub.texi (Device map): New section.
20956 (Themes): New section (stub).
20957 * Makefile.in (docs/grub.info): The info documentation now builds
20958 without errors. Make sure it stays that way.
20959
209602010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 Use normal parser for menu entries.
20963 Reported by: Thomas Frauendorfer
20964
20965 * include/grub/parser.h (grub_parser_execute): Don't export.
20966 * normal/menu.c (grub_menu_execute_entry_real): New function.
20967 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20968
209692010-06-28 Colin Watson <cjwatson@ubuntu.com>
20970
20971 * docs/grub.texi (Embedded configuration): New section (replacing
20972 old "Preset Menu" stub).
20973 (Images): New section.
20974 (configfile): Note that any menu entries defined in `file' are shown
20975 immediately.
20976
209772010-06-28 Josh Triplett <josh@joshtriplett.org>
20978
20979 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20980
209812010-06-28 Colin Watson <cjwatson@ubuntu.com>
20982
20983 * util/grub-install.in: Add --debug-image= option.
20984
209852010-06-28 Colin Watson <cjwatson@ubuntu.com>
20986
20987 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20988 possible on Linux.
20989
20990 * util/deviceiter.c (check_device): Rename to ...
20991 (check_device_readable_unique): ... this. Update all callers.
20992 Maintain and check a list of which devices (by canonicalized name)
20993 have already been seen.
20994 (clear_seen_devices): New function.
20995 (compare_file_names) [__linux__]: New function.
20996 (grub_util_iterate_devices): Clear the list of seen devices on exit
20997 and (just in case) on entry.
20998 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20999 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21000 seen-devices list, superseded by general code in check_device.
21001
210022010-06-28 Colin Watson <cjwatson@ubuntu.com>
21003
21004 * commands/cat.c (options): New variable.
21005 (grub_cmd_cat): Parse options. If the --dos option is given, print
21006 DOS-style "\r\n" line endings as simple newlines (Debian bug
21007 #586358).
21008 (GRUB_MOD_INIT): Use extcmd.
21009 (GRUB_MOD_FINI): Likewise.
21010 * docs/grub.texi (cat): Document --dos.
21011
210122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 XEN with Linux grub-mkconfig support.
21015
21016 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21017 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21018 GRUB_CMDLINE_XEN_DEFAULT.
21019 * util/grub.d/20_linux_xen.in: New file.
21020
210212010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 Initialise VGA video on qemu ourselves.
21024
21025 * boot/i386/qemu/boot.S: Don't call 0xc000.
21026 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21027 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21028 (kernel_img_HEADERS): Add pci.h.
21029 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21030 * configure.ac: Force unifont on qemu and yeeloong.
21031 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21032 (grub_vga_palette_write): Use correct register.
21033 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21034 Call grub_qemu_init_cirrus.
21035 * kern/i386/qemu/init.c: New file.
21036 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21037
21038 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21039
210402010-06-26 Pavel Roskin <proski@gnu.org>
21041
21042 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21043 13.
21044
210452010-06-26 Colin Watson <cjwatson@ubuntu.com>
21046
21047 * docs/grub.texi (Simple configuration): Explain that
21048 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21049 set to `true' to disable their respective recovery entries, not
21050 merely set.
21051
210522010-06-26 Colin Watson <cjwatson@ubuntu.com>
21053
21054 Make the `source' command slightly faster.
21055
21056 * normal/main.c (grub_normal_execute): Don't re-read list files when
21057 nested.
21058
210592010-06-23 Colin Watson <cjwatson@ubuntu.com>
21060
21061 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21062 field position and mask size to red fields from mode_info, not
21063 green.
21064 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21065 Remove redundant tag->common.framebuffer_type assignment.
21066 Reported by: Seth Goldberg.
21067
210682010-06-23 Colin Watson <cjwatson@ubuntu.com>
21069
21070 Sync up other versions of the Linux loader with Robert Millan's
21071 change of 2010-01-09, "Make loader output a bit more user-friendly".
21072
21073 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21074 grub_dprintf().
21075 (grub_cmd_linux): Likewise.
21076 (grub_cmd_initrd): Likewise.
21077 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21078 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21079
210802010-06-21 Colin Watson <cjwatson@ubuntu.com>
21081
21082 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21083 larger than MEMORY_MAP_SIZE.
21084
210852010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21086
21087 Fix parallel build.
21088
21089 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21090 dependency.
21091 * script/parser.y: #include grub_script.tab.h header.
21092
210932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 Support >3GiB and <16MiB RAM in i386-qemu.
21096
21097 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21098 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21099 (grub_lower_mem): Removed.
21100 (grub_upper_mem): Likewise.
21101 (mem_size): Made static.
21102 (above_4g): New variable.
21103 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21104 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21105 support.
21106
211072010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21108
21109 Cirrus 5446 and Bochs video cards support.
21110
21111 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21112 video_bochs.mod
21113 (video_cirrus_mod_SOURCES): New variable.
21114 (video_cirrus_mod_CFLAGS): Likewise.
21115 (video_cirrus_mod_LDFLAGS): Likewise.
21116 (video_bochs_mod_SOURCES): Likewise.
21117 (video_bochs_mod_CFLAGS): Likewise.
21118 (video_bochs_mod_LDFLAGS): Likewise.
21119 * include/grub/vga.h: New file.
21120 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21121 (grub_video_fb_set_page_t): New type.
21122 (grub_video_fb_setup): New prototype.
21123 (grub_video_fb_swap_buffers): Likewise.
21124 (grub_video_fb_get_info_and_fini): Likewise.
21125 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21126 (CRTC_DATA_PORT): Likewise.
21127 (CRTC_CURSOR): Likewise.
21128 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21129 (CRTC_CURSOR_ADDR_LOW): Likewise.
21130 (CRTC_CURSOR_DISABLE): Likewise.
21131 (update_cursor): Use grub_vga_cr_write.
21132 (grub_vga_text_setcursor): Likewise.
21133 * video/bochs.c: New file.
21134 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21135 (palette): Likewise.
21136 (palette_size): Likewise.
21137 (framebuffer): New variable.
21138 (grub_video_fb_init): Use 'framebuffer'.
21139 (grub_video_fb_fini): Likewise.
21140 (grub_video_fb_get_info): Likewise.
21141 (grub_video_fb_get_palette): Likewise.
21142 (grub_video_fb_set_palette): Likewise.
21143 (grub_video_fb_set_viewport): Likewise.
21144 (grub_video_fb_get_viewport): Likewise.
21145 (grub_video_fb_map_color): Likewise.
21146 (grub_video_fb_map_rgb): Likewise.
21147 (grub_video_fb_map_rgba): Likewise.
21148 (grub_video_fb_unmap_color): Likewise.
21149 (grub_video_fb_unmap_color_int): Likewise.
21150 (grub_video_fb_fill_rect): Likewise.
21151 (grub_video_fb_blit_bitmap): Likewise.
21152 (grub_video_fb_blit_render_target): Likewise.
21153 (grub_video_fb_scroll): Likewise.
21154 (grub_video_fb_create_render_target): Likewise.
21155 (grub_video_fb_doublebuf_blit_init): Likewise.
21156 (grub_video_fb_set_active_render_target): Handle doublebuffering.
21157 (doublebuf_pageflipping_update_screen): New function.
21158 (doublebuf_pageflipping_init): Likewise.
21159 (grub_video_fb_setup): Likewise.
21160 (grub_video_fb_swap_buffers): Likewise.
21161 (grub_video_fb_get_info_and_fini): Likewise.
21162 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
21163 All users updated.
21164 (doublebuf_pageflipping_commit): Restructured into ...
21165 (doublebuf_pageflipping_set_page): ... this.
21166 (doublebuf_pageflipping_update_screen): Removed.
21167 (doublebuf_pageflipping_init): Likewise.
21168 (double_buffering_init): Likewise.
21169 (grub_video_vbe_setup): Use grub_video_fb_setup.
21170 (grub_video_vbe_swap_buffers): Removed.
21171 (grub_video_vbe_set_active_render_target): Likewise.
21172 (grub_video_vbe_get_active_render_target): Likewise.
21173 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
21174 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
21175 grub_video_fb_set_active_render_target and
21176 grub_video_fb_get_active_render_target.
21177 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21178 (SEQUENCER_DATA_PORT): Likewise.
21179 (MAP_MASK_REGISTER): Likewise.
21180 (CRTC_ADDR_PORT): Likewise.
21181 (CRTC_DATA_PORT): Likewise.
21182 (START_ADDR_HIGH_REGISTER): Likewise.
21183 (START_ADDR_LOW_REGISTER): Likewise.
21184 (GRAPHICS_ADDR_PORT): Likewise.
21185 (GRAPHICS_DATA_PORT): Likewise.
21186 (READ_MAP_REGISTER): Likewise.
21187 (INPUT_STATUS1_REGISTER): Likewise.
21188 (INPUT_STATUS1_VERTR_BIT): Likewise.
21189 (get_map_mask): Use grub_vga_sr_read.
21190 (set_map_mask): Use grub_vga_sr_write.
21191 (set_read_map): Use grub_vga_gr_write.
21192 (set_start_address): Use grub_vga_cr_write.
21193 * video/sm712.c (framebuffer): Remove leftover fields.
21194
211952010-06-20 Colin Watson <cjwatson@ubuntu.com>
21196
21197 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21198 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21199 instead. Replace the gfxterm backend check with a check that
21200 ${GRUB_PREFIX}/video.lst is non-empty.
21201 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21202 again.
21203 (load_video): New generated function. Call it before loading
21204 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21205 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21206 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21207 * docs/grub.texi (Simple configuration): Document
21208 GRUB_VIDEO_BACKEND.
21209
212102010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 Use video functions in linux and xnu loaders.
21213
21214 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21215 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21216 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21217 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21218 loader/i386/pc/linux.c.
21219 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21220 (find_line_len): Removed.
21221 (find_framebuf): Likewise.
21222 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21223 * loader/i386/efi/xnu.c: Removed.
21224 * loader/i386/pc/xnu.c: Moved from here...
21225 * loader/i386/xnu.c: ...here.
21226
21227 Enable priorities in video drivers.
21228
21229 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21230 (grub_video_adapter): New field prio.
21231 (grub_video_register): Respect prio when inserting.
21232 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21233 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21234 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21235 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21236 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21237 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
21238 * video/sm712.c (grub_video_sm712_adapter): Likewise.
21239
21240 Fix SDL driver ID.
21241
21242 * include/grub/video.h (grub_video_driver_id_t): New value
21243 GRUB_VIDEO_DRIVER_SDL.
21244 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
21245
212462010-06-17 Colin Watson <cjwatson@ubuntu.com>
21247
21248 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
21249 argument to printf.
21250 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21251
212522010-06-17 Colin Watson <cjwatson@ubuntu.com>
21253
21254 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
21255 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21256
212572010-06-17 Colin Watson <cjwatson@ubuntu.com>
21258
21259 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
21260 directly, and recommend grub-install instead.
21261 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21262
212632010-06-17 Colin Watson <cjwatson@ubuntu.com>
21264
21265 Fix i386-pc prefix handling with nested partitions (Debian bug
21266 #585068). Note that the case where the core image is booted using
21267 multiboot and relocated from its original location still requires
21268 more work.
21269
21270 * kern/i386/pc/init.c (make_install_device): If the prefix starts
21271 with "(,", fill the boot drive in between those two characters, but
21272 expect that a full partition specification including partition map
21273 names will follow.
21274 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
21275 specified, write a prefix without the drive name but including a
21276 full partition specification.
21277
212782010-06-16 Colin Watson <cjwatson@ubuntu.com>
21279
21280 * util/grub-mkconfig.in: Ignore non-option arguments, for
21281 compatibility with older versions (before 2010-06-12) which did the
21282 same. In particular, this makes it easier to ship an update-grub
21283 wrapper which is compatible with that used with GRUB Legacy (Debian
21284 bug #586056).
21285
212862010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21287
21288 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
21289 for manual page generation.
21290
212912010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21292
21293 * po/POTFILES: Remove leftover commands/handler.c.
21294
212952010-06-14 Colin Watson <cjwatson@ubuntu.com>
21296
21297 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
21298 left this script non-functional.
21299
213002010-06-14 Colin Watson <cjwatson@ubuntu.com>
21301
21302 * docs/man/grub-emu.h2m: New file.
21303
213042010-06-13 Colin Watson <cjwatson@ubuntu.com>
21305
21306 * docs/grub.texi (Commands): Document reduced command set in rescue
21307 mode.
21308 (cpuid): New section.
21309
213102010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
21311
21312 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
21313 new partition naming style.
21314 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
21315
213162010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
21317
21318 Add "-o grub.iso" like cmdline options support.
21319
21320 * util/grub-install.in: Improve cmdline option parsing.
21321 * util/grub-mkconfig.in: Likewise.
21322 * util/grub-mkrescue.in: Likewise.
21323 * util/grub-reboot.in: Likewise.
21324 * util/grub-set-default.in: Likewise.
21325 * util/i386/efi/grub-install.in: Likewise.
21326 * util/ieee1275/grub-install.in: Likewise.
21327 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21328
213292010-06-12 Colin Watson <cjwatson@ubuntu.com>
21330
21331 * .bzrignore: Ignore 41_custom.
21332
213332010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21334
21335 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21336
213372010-06-12 Colin Watson <cjwatson@ubuntu.com>
21338
21339 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
21340 prototype declarations.
21341
21342 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
21343 generating fs, partmap, and video lists.
21344 * include/grub/fs.h (grub_fs_register): Omit prototype if
21345 GRUB_LST_GENERATOR is defined.
21346 * include/grub/partition.h (grub_partition_map_register): Likewise.
21347 * include/grub/video.h (grub_video_register): Likewise.
21348
213492010-06-12 Javier Martín <lordhabbit@gmail.com>
21350
21351 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21352
213532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21354
21355 * util/grub-mkrescue.in: Support --xorriso argument.
21356
213572010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21358
21359 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21360 Suggested by: Thomas Schmitt.
21361
213622010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21363
21364 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21365 Suggested by: Thomas Schmitt.
21366
213672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 custom.cfg support.
21370
21371 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21372 * util/grub.d/41_custom.in: New file.
21373
213742010-06-12 Colin Watson <cjwatson@ubuntu.com>
21375
21376 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21377 been merged back into normal.
21378
213792010-06-11 Colin Watson <cjwatson@ubuntu.com>
21380
21381 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21382 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21383
213842010-06-11 Colin Watson <cjwatson@ubuntu.com>
21385
21386 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21387 when generating manual pages.
21388 * docs/man/grub-bin2h.h2m: New file.
21389 * docs/man/grub-editenv.h2m: New file.
21390 * docs/man/grub-fstest.h2m: New file.
21391 * docs/man/grub-install.h2m: New file.
21392 * docs/man/grub-macho2img.h2m: New file.
21393 * docs/man/grub-mkconfig.h2m: New file.
21394 * docs/man/grub-mkdevicemap.h2m: New file.
21395 * docs/man/grub-mkfont.h2m: New file.
21396 * docs/man/grub-mkimage.h2m: New file.
21397 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21398 * docs/man/grub-mkrelpath.h2m: New file.
21399 * docs/man/grub-mkrescue.h2m: New file.
21400 * docs/man/grub-ofpathname.h2m: New file.
21401 * docs/man/grub-pe2elf.h2m: New file.
21402 * docs/man/grub-probe.h2m: New file.
21403 * docs/man/grub-reboot.h2m: New file.
21404 * docs/man/grub-script-check.h2m: New file.
21405 * docs/man/grub-set-default.h2m: New file.
21406 * docs/man/grub-setup.h2m: New file.
21407
214082010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 Use FOR_* macros instead of *_iterate whenever possible.
21411
21412 * commands/handler.c: Removed.
21413 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21414 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21415 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21416 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21417 (grub_probe_SOURCES): Remove kern/parser.c.
21418 (util/grub-script-check.c_DEPENDENCIES): Removed.
21419 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21420 and grub_script_check_init.c.
21421 (grub_script_check_init.lst): Removed.
21422 (grub_script_check_init.h): Likewise.
21423 (grub_script_check_init.c): Likewise.
21424 (pkglib_MODULES): Remove handler.mod and sh.mod.
21425 (handler_mod_SOURCES): Removed.
21426 (handler_mod_CFLAGS): Likewise.
21427 (handler_mod_LDFLAGS): Likewise.
21428 (normal_mod_SOURCES): Remove normal/handler.c.
21429 Add script/main.c, script/script.c, script/execute.c,
21430 script/function.c, script/lexer.c, grub_script.tab.c
21431 and grub_script.yy.c.
21432 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21433 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21434 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21435 (grub_setup_SOURCES): Remove kern/parser.c.
21436 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21437 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21438 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21439 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21440 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21441 (grub_setup_SOURCES): Remove kern/parser.c.
21442 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21443 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21444 * include/grub/command.h (grub_command_iterate): Removed.
21445 (FOR_COMMANDS): New macro.
21446 * include/grub/dl.h (grub_dl): New member next.
21447 (grub_dl_iterate): Removed.
21448 (grub_dl_head): New variable declaration.
21449 (FOR_DL_MODULES): New macro.
21450 * include/grub/fs.h: Include list.h.
21451 (grub_fs): Make next first element.
21452 (grub_fs_list): New variable declaration.
21453 (grub_fs_register): Make inline.
21454 (grub_fs_unregister): Likewise.
21455 (grub_fs_iterate): Removed.
21456 (FOR_FILESYSTEMS): New macro.
21457 * include/grub/handler.h: Removed.
21458 * include/grub/list.h (grub_list_hook_t): Removed.
21459 (grub_list_test_t): Likewise.
21460 (grub_list_pop): Likewise.
21461 (grub_list_iterate): Likewise.
21462 (grub_list_insert): Likewise.
21463 (FOR_LIST_ELEMENTS): New macro.
21464 * include/grub/parser.h (grub_parser_class): Removed.
21465 (grub_parser_register): Likewise.
21466 (grub_parser_unregister): Likewise.
21467 (grub_parser_get_current): Likewise.
21468 (grub_parser_set_current): Likewise.
21469 (grub_register_rescue_parser): Likewise.
21470 (grub_rescue_parse_line): New function.
21471 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21472 * include/grub/script_sh.h (grub_script_function_list): New variable
21473 declaration.
21474 (FOR_SCRIPT_FUNCTIONS): New macro.
21475 (grub_script_function_iterate): Removed.
21476 (grub_normal_parse_line): New prototype.
21477 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21478 (FOR_DISABLED_TERM_INPUTS): Likewise.
21479 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21480 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21481 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21482 element.
21483 (grub_video_register): Inline.
21484 (grub_video_unregister): Likewise.
21485 (grub_video_adapter_list): New variable declaration.
21486 (grub_video_iterate): Removed.
21487 (FOR_VIDEO_ADAPTERS): New macro.
21488 * kern/dl.c (grub_dl_list): Removed. All users updated.
21489 (grub_dl_iterate): Removed.
21490 * kern/fs.c (grub_fs_list): Make global.
21491 (grub_fs_register): Removed.
21492 (grub_fs_unregister): Likewise.
21493 (grub_fs_iterate): Likewise.
21494 * kern/handler.c: Removed.
21495 * kern/list.c (grub_list_pop): Removed.
21496 (grub_list_iterate): Likewise.
21497 (grub_list_insert): Likewise.
21498 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21499 (grub_prio_list_insert): Don't use grub_list_insert.
21500 * kern/main.c (grub_register_rescue_parser): Don't call
21501 grub_register_rescue_parser.
21502 * kern/parser.c (grub_parser_class): Removed.
21503 (grub_parser_execute): Use grub_rescue_parse_line.
21504 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21505 (grub_rescue_parser): Removed.
21506 (grub_register_rescue_parser): Likewise.
21507 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21508 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21509 (grub_auth_check_authentication): Likewise.
21510 * normal/completion.c (iterate_command): Removed.
21511 (grub_normal_do_completion): Use FOR_COMMANDS.
21512 * normal/handler.c: Removed.
21513 * normal/main.c (read_config_file): Remove parser changing.
21514 (grub_normal_execute): Don't call read_handler_list.
21515 (grub_normal_read_line_real): Statically allocate prompt.
21516 (grub_cmdline_run): Use grub_normal_parse_line.
21517 (GRUB_MOD_FINI): Don't call free_handler_list.
21518 * normal/menu_entry.c (run): Likewise.
21519 * script/function.c (grub_script_function_list): Make global.
21520 (grub_script_function_iterate): Removed.
21521 * script/main.c (grub_normal_parse_line): Make global.
21522 (grub_sh_parser): Removed.
21523 (GRUB_MOD_INIT): Likewise.
21524 (GRUB_MOD_FINI): Likewise.
21525 * tests/lib/functional_test.c (grub_functional_test): Use
21526 FOR_LIST_ELEMENTS.
21527 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
21528 (grub_test_run): Use FOR_LIST_ELEMENTS.
21529 * tests/lib/unit_test.c (main): Likewise.
21530 * util/deviceiter.c (grub_util_iterate_devices): Don't use
21531 grub_list_pop.
21532 * util/grub-fstest.c (grub_term_input_class): Removed.
21533 (grub_term_output_class): Likewise.
21534 * util/grub-probe.c: Likewise.
21535 * util/i386/pc/grub-setup.c: Likewise.
21536 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21537 * util/grub-script-check.c (main): Don't call grub_init_all and
21538 grub_fini_all.
21539 * video/video.c (grub_video_adapter_list): Make global.
21540 (grub_video_register): Removed.
21541 (grub_video_unregister): Likewise.
21542 (grub_video_iterate): Likewise.
21543
215442010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
21547 reported by Henrique Ferreiro.
21548
215492010-06-09 Robert Millan <rmh@gnu.org>
21550
21551 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
21552 ones, when both are available.
21553
215542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21555
21556 Make --version uniform and avoid hard-coded program name.
21557
21558 * util/grub-mkimage.c (main): Use `program_name' instead of
21559 hard-coded string.
21560 * util/i386/pc/grub-setup.c (main): Likewise.
21561 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
21562 * util/grub-install.in: Save the basename of $0 in $self, and use the
21563 latter in informational messages. Use the same format for --version
21564 as the binary programs.
21565 * util/grub-mkconfig.in: Likewise.
21566 * util/grub-mkrescue.in: Likewise.
21567 * util/grub-reboot.in: Likewise.
21568 * util/grub-set-default.in: Likewise.
21569 * util/i386/efi/grub-install.in: Likewise.
21570 * util/ieee1275/grub-install.in: Likewise.
21571 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21572
215732010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21574
21575 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
21576 embedding area. Use <= instead of == when checking for non-emptiness.
21577
215782010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21579
21580 * configure.ac: Add `.' to the directories searched for unifont.
21581
215822010-06-08 Colin Watson <cjwatson@ubuntu.com>
21583
21584 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
21585 grub_script.yy.h.
21586
215872010-06-08 Colin Watson <cjwatson@ubuntu.com>
21588
21589 * docs/grub.texi (History): Expand to cover GRUB 2.
21590 (Serial terminal): Refer to `terminal_input' and `terminal_output'
21591 commands, not `terminal'.
21592 (serial): Likewise.
21593 (terminal_input): New section.
21594 (terminal_output): New section.
21595 (uppermem): New section (stub).
21596 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
21597
215982010-06-08 Colin Watson <cjwatson@ubuntu.com>
21599
21600 * docs/grub.texi (Security): Menu entries are unrestricted by
21601 default, not restricted to superusers as I had previously thought.
21602 Reword to account for this.
21603
216042010-06-07 Colin Watson <cjwatson@ubuntu.com>
21605
21606 * kern/emu/misc.c (device_mapper_null_log): New function.
21607 (grub_device_mapper_supported): New function.
21608 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
21609 prototype.
21610 * kern/emu/hostdisk.c (find_partition_start): Check whether
21611 device-mapper is supported before trying to use it.
21612 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
21613
216142010-06-07 Colin Watson <cjwatson@ubuntu.com>
21615
21616 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
21617 (File name syntax): Likewise.
21618 (help): --all is no longer supported in GRUB 2. Be more precise
21619 about pattern matching.
21620
216212010-06-07 Colin Watson <cjwatson@ubuntu.com>
21622
21623 * normal/completion.c (grub_normal_do_completion): When completing
21624 arguments to "set" and the current word contains an equals sign,
21625 skip to after the equals sign before starting completion.
21626
216272010-06-07 Colin Watson <cjwatson@ubuntu.com>
21628
21629 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
21630
216312010-06-07 Colin Watson <cjwatson@ubuntu.com>
21632
21633 * docs/grub.texi (Network): New section.
21634 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
21635 `(nd)' as in GRUB Legacy.
21636 (pxe_unload): New section.
21637
216382010-06-07 Colin Watson <cjwatson@ubuntu.com>
21639
21640 * docs/grub.texi (Troubleshooting): `echo' is not usually available
21641 in the rescue shell, so recommend using `set' instead. Thanks,
21642 Jordan Uggla.
21643
216442010-06-07 Colin Watson <cjwatson@ubuntu.com>
21645
21646 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
21647 (password): New section.
21648 (password_pbkdf2): New section.
21649 (search): New section.
21650 (Security): New section.
21651 (Troubleshooting): New section, currently very incomplete.
21652 (Invoking grub-mkpasswd-pbkdf2): New section.
21653 (Internals): New section, currently very incomplete.
21654
216552010-06-07 Colin Watson <cjwatson@ubuntu.com>
21656
21657 * util/grub.d/00_header.in: Add some more quoting (of
21658 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
21659 work again.
21660 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
21661
216622010-06-07 Colin Watson <cjwatson@ubuntu.com>
21663
21664 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
21665 to `count', fixing variable shadowing that broke the -c option.
21666
216672010-06-05 Colin Watson <cjwatson@ubuntu.com>
21668
21669 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
21670 in case they contain spaces.
21671
216722010-06-04 Colin Watson <cjwatson@ubuntu.com>
21673
21674 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
21675 "part_" to partmap module names, in line with grub-install.
21676 Reported by: Jindřich Makovička (Debian bug #584426).
21677
216782010-06-04 Colin Watson <cjwatson@ubuntu.com>
21679
21680 * util/grub-mkimage.c: Make target-related error messages slightly
21681 more helpful; -O talks about "format". Explicitly point to the use
21682 of -O if no target is specified.
21683 Reported by: Didier Raboud (Debian bug #584415).
21684
216852010-06-03 Colin Watson <cjwatson@ubuntu.com>
21686
21687 * INSTALL: Document several build requirements for optional features
21688 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
21689
216902010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
21691
21692 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
21693 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
21694 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
21695
216962010-06-02 Colin Watson <cjwatson@ubuntu.com>
21697
21698 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
21699 Thanks to Jordan Uggla for spotting this.
21700
217012010-06-02 Aleš Nesrsta <starous@volny.cz>
21702
21703 Finally make USB usable.
21704
21705 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
21706 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
21707 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
21708 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
21709 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
21710 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
21711 (GRUB_OHCI_FSMPS): Likewise.
21712 (GRUB_OHCI_PERIODIC_START): Likewise.
21713 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
21714 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
21715 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
21716 (GRUB_OHCI_SET_PORT_RESET): Likewise.
21717 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
21718 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
21719 (grub_ohci_transaction): Likewise.
21720 (grub_ohci_transfer): Improve condition detection algorithms.
21721 Handle toggle property. Program the transactions correctly.
21722 Improve error handling. Various important fixups.
21723 (grub_ohci_portstatus): Put register writes in right order.
21724 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
21725 (grub_uhci_transfer): Don't show "failed" message on success.
21726 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
21727 array.
21728 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
21729 determine its size.
21730 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
21731 before initialization is completed. Use IN direction for empty
21732 transfers. Use last_trans and compute toggle.
21733 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
21734 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
21735 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
21736 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
21737 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
21738 (grub_usb_device): Increase toggle to 256.
21739 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
21740 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
21741 GRUB_USBMS_SUBCLASS_SFF8070.
21742 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
21743 (grub_scsi_inquiry): New member page and alloc_length.
21744 (grub_scsi_request_sense): New structure.
21745 (grub_scsi_request_sense_data): Likewise.
21746 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
21747 control.
21748 * disk/scsi.c (grub_scsi_request_sense): New function.
21749 (grub_scsi_test_unit_ready): Likewise.
21750 (grub_scsi_inquiry): Fill new fields.
21751 (grub_scsi_read_capacity): Likewise.
21752 (grub_scsi_read10): Add request sense at the end.
21753 (grub_scsi_read12): Likewise.
21754 (grub_scsi_write10): Likewise.
21755 (grub_scsi_write12): Likewise.
21756 (grub_scsi_open): Add Test Unit Ready.
21757 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
21758 Support additional subclasses. Con't clear halt yet. Activate the
21759 proper config. Calculate LUNs correctly.
21760 (grub_usbms_transfer): Various important fixups.
21761
217622010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
21765 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
21766 (grub_ohci_fini_hw): New function.
21767 (grub_ohci_restore_hw): Likewise.
21768 (GRUB_MOD_INIT(ohci)): Register preboot hook.
21769 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
21770 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
21771
217722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 Dedicated DMA allocations.
21775
21776 * bus/pci.c (grub_memalign_dma32): New function
21777 (grub_dma_free): Likewise.
21778 (grub_dma_get_virt): Likewise.
21779 (grub_dma_get_phys): Likewise.
21780 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
21781 (grub_ohci_pci_iter): Use dma32_alloc.
21782 (grub_ohci_transfer): Likewise.
21783 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21784 (grub_usb_bulk_readwrite): Likewise.
21785 * include/grub/pci.h: Add declarations.
21786
217872010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 CS5536 support.
21790
21791 * bus/cs5536.c: New file.
21792 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
21793 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
21794 (cs5536_mod_SOURCES): New variable.
21795 (cs5536_mod_CFLAGS): Likewise.
21796 (cs5536_mod_LDFLAGS): Likewise.
21797 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
21798 machine/pci.h.
21799 (kernel_img_SOURCES): Add bus/cs5536.c.
21800 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
21801 usb_keyboard.mod.
21802 (usb_mod_SOURCES): New variable.
21803 (usb_mod_CFLAGS): New variable.
21804 (usb_mod_LDFLAGS): New variable.
21805 (usbtest_mod_SOURCES): New variable.
21806 (usbtest_mod_CFLAGS): New variable.
21807 (usbtest_mod_LDFLAGS): New variable.
21808 (ohci_mod_SOURCES): New variable.
21809 (ohci_mod_CFLAGS): New variable.
21810 (ohci_mod_LDFLAGS): New variable.
21811 (usbms_mod_SOURCES): New variable.
21812 (usbms_mod_CFLAGS): New variable.
21813 (usbms_mod_LDFLAGS): New variable.
21814 (usb_keyboard_mod_SOURCES): New variable.
21815 (usb_keyboard_mod_CFLAGS): New variable.
21816 (usb_keyboard_mod_LDFLAGS): New variable.
21817 * include/grub/smbus.h: New file.
21818 * include/grub/cs5536.h: New file.
21819
218202010-06-02 Colin Watson <cjwatson@ubuntu.com>
21821
21822 * util/grub.d/00_header.in: Add safety check to make sure that
21823 ${locale_dir} exists before trying to probe it.
21824
218252010-06-02 Colin Watson <cjwatson@ubuntu.com>
21826
21827 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
21828 per the GNU Coding Standards; this is now too obscure to be worth
21829 documenting.
21830 (QNX): Likewise.
21831 (chainloader): Remove cross-reference to `SCO UnixWare'.
21832
218332010-06-02 Colin Watson <cjwatson@ubuntu.com>
21834
21835 * docs/grub.texi (Chain-loading): New section.
21836 (DOS/Windows): New section, borrowed from GRUB Legacy with details
21837 adjusted for GRUB 2.
21838 (SCO UnixWare): Likewise.
21839 (QNX): Likewise.
21840 (chainloader): Add reference to `Block list syntax'.
21841 (drivemap): New section.
21842 (parttool): New section.
21843
218442010-06-02 Colin Watson <cjwatson@ubuntu.com>
21845
21846 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
21847 the grub shell'.
21848 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
21849 (Installing GRUB using grub-install): Remove reference to the grub
21850 shell; mention `grub-mkimage' and `grub-setup' instead.
21851 (Invoking grub-install): Likewise.
21852 (Interface): Add reference to `Menu entry editor'.
21853 (serial): Remove `--device' option.
21854
218552010-06-02 Colin Watson <cjwatson@ubuntu.com>
21856
21857 * docs/grub.texi (Configuration): New section, documenting
21858 configuration file generation using grub-mkconfig. I've left a slot
21859 for documenting the full shell scripting format but have not yet
21860 started on writing that up.
21861 (Invoking grub-mkconfig): New section.
21862
218632010-06-02 Colin Watson <cjwatson@ubuntu.com>
21864
21865 * docs/grub.texi (direntry): Remove grub-terminfo reference.
21866 (GNU GRUB manual): Likewise.
21867 (General commands): Update description of `terminfo' for GRUB 2.
21868
218692010-06-02 Colin Watson <cjwatson@ubuntu.com>
21870
21871 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21872 (GRUB_MOD_INIT): Fix capitalisation.
21873 * docs/grub.texi (Command-line and menu entry commands): Document
21874 gettext and gptsync commands.
21875
218762010-06-02 Colin Watson <cjwatson@ubuntu.com>
21877
21878 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21879 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21880
218812010-06-01 Colin Watson <cjwatson@ubuntu.com>
21882
21883 Add btrfs probing support, currently only in the single-device case.
21884
21885 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21886 function.
21887 (grub_guess_root_device): Call find_root_device_from_mountinfo
21888 before looking in /dev.
21889
218902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21893 GRUB_DISK_SIZE_UNKNOWN.
21894 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21895
218962010-05-31 Jiro SEKIBA <jir@unicus.jp>
21897
21898 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21899 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21900 corrupted or not synced properly.
21901
219022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21905 Reported by: Seth Goldberg.
21906
219072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21908
21909 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21910 addition of dest.
21911 Reported by: Seth Goldberg.
21912
219132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21914
21915 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21916 Reported by: Seth Goldberg.
21917
219182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21921 64-bit address as signed on MIPS.
21922
219232010-05-28 Colin Watson <cjwatson@ubuntu.com>
21924
21925 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21926 to the empty string.
21927
219282010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21929
21930 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21931
21932 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21933 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21934 * kern/misc.c (__enable_execute_stack): Disable on
21935 GRUB_MACHINE_EMU.
21936
219372010-05-28 Colin Watson <cjwatson@ubuntu.com>
21938
21939 Make grub-probe work with symbolic links under /dev/mapper as well
21940 as with real block devices. The Linux world seems to be (at best)
21941 in transition here, and GRUB shouldn't get caught in the middle.
21942
21943 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21944 /dev/mapper.
21945
219462010-05-27 Colin Watson <cjwatson@ubuntu.com>
21947
21948 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21949 input files (in which case exit zero).
21950
219512010-05-27 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21954 return NULL for various reasons even if it has a maximum-length
21955 buffer: for example, there might be a symlink loop, or the path
21956 might exceed PATH_MAX. If this happens, return NULL.
21957
219582010-05-27 Robert Millan <rmh@gnu.org>
21959
21960 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21961 partmap module to handle cross-partmap setups.
21962 Reported by Orestes Mas. Gràcies!
21963
219642010-05-27 Colin Watson <cjwatson@ubuntu.com>
21965
21966 * util/grub-mkrescue.in: Initialise override_dir rather than
21967 assuming that it's unset or empty in the environment.
21968
219692010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21970
21971 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21972 variable index into p_index to suppress a warning with -Wshadow.
21973
219742010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21975
21976 * INSTALL: Added flex >= 2.5.35 requirement.
21977
219782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21981
219822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 cmostest support.
21985
21986 * commands/i386/cmostest.c: New file.
21987 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21988 (cmostest_mod_SOURCES): New variable.
21989 (cmostest_mod_CFLAGS): Likewise.
21990 (cmostest_mod_LDFLAGS): Likewise.
21991 * conf/i386-pc.rmk: Likewise.
21992 * docs/grub.texi (Vendor power-on keys): New section.
21993 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21994 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21995 and GRUB_BUTTON_CMOS_ADDRESS.
21996 * util/grub.d/00_header.in: Handle powering-on by separate button.
21997
219982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21999
22000 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22001 Removed drawing_scrollbar argument. All users updated
22002 Fixes #29792.
22003 Reported by Jo Shields
22004
220052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22008 buffer since gfxterm handles double repaint.
22009
220102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22011
22012 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22013 * term/gfxterm.c (real_scroll): Likewise.
22014
220152010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22018 before calling BIOS.
22019
220202010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 * include/grub/i18n.h: Always enable grub_gettext.
22023
220242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22027 partition naming style.
22028
220292010-05-21 Colin Watson <cjwatson@ubuntu.com>
22030
22031 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22032 not the first option.
22033
220342010-05-20 Colin Watson <cjwatson@ubuntu.com>
22035
22036 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22037
220382010-05-20 Colin Watson <cjwatson@ubuntu.com>
22039
22040 * util/misc.c: Move inclusion of <limits.h> to ...
22041 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22042
220432010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22044
22045 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22046 Fix merge error in NetBSD code.
22047 (find_partition_start) [__NetBSD__]: Likewise.
22048
220492010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22050
22051 Fix grub-mkrescue usage unit testing.
22052
22053 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22054
220552010-05-18 Christian Franke <franke@computer.org>
22056
22057 * util/grub.d/10_windows.in: Use path names instead of
22058 drive letters to prevent warning from Cygwin 1.7.
22059 Add drivemap command to menuentry if needed.
22060
220612010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22062
22063 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22064 gnumach and gnumach.gz.
22065
220662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * include/grub/i18n.h (gettext): Inline instead of using #define.
22069 (grub_gettext): Likewise.
22070 (_): Likewise.
22071
220722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22075 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22076 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22077 (main): Add a slash after pkglibdirroot.
22078
220792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 * util/grub-install.in: Add missing "in" keyword.
22082
220832010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22086 Reported by: Seth Goldberg.
22087
220882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22089
22090 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22091
220922010-05-18 Colin Watson <cjwatson@ubuntu.com>
22093
22094 * configure.ac: Check for Linux device-mapper support.
22095
22096 * util/hostdisk.c (device_is_mapped): New function.
22097 (find_partition_start): New function, partly broken out from
22098 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22099 device-mapper support added.
22100 (linux_find_partition): Use find_partition_start.
22101 (convert_system_partition_to_system_disk): Add `st' argument.
22102 Support Linux /dev/mapper/* devices if device-mapper support is
22103 available; only DM-RAID devices are understood at present.
22104 (find_system_device): Add `st' argument. Pass it to
22105 convert_system_partition_to_system_disk.
22106 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22107 find_system_device and convert_system_partition_to_system_disk. Use
22108 find_partition_start.
22109
22110 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22111 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22112 * util/deviceiter.c [__linux__]: Define MINOR.
22113 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22114 * util/mkdevicemap.c (grub_putchar): New function.
22115 (grub_getkey): New function.
22116 (grub_refresh): New function.
22117 (main): Set debug=all if -v -v is used.
22118
221192010-05-18 Colin Watson <cjwatson@ubuntu.com>
22120
22121 Fix build with non-GNU libcs.
22122
22123 * util/misc.c (canonicalize_file_name): Move to ...
22124 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22125 grub_make_system_path_relative_to_its_root.
22126
221272010-05-18 Colin Watson <cjwatson@ubuntu.com>
22128
22129 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22130 we handle finding grub-mkimage. Default to finding grub-mkimage in
22131 ${bindir} with program_transform_name applied, and provide a
22132 --grub-mkimage option to override this.
22133
221342010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22135
22136 Remove grub-mkisofs.
22137
22138 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22139 (grub_mkisofs_SOURCES): Removed.
22140 (grub_mkisofs_CFLAGS): Removed.
22141 * util/mkisofs/defaults.h: Removed.
22142 * util/mkisofs/eltorito.c: Likewise.
22143 * util/mkisofs/exclude.h: Likewise.
22144 * util/mkisofs/hash.c: Likewise.
22145 * util/mkisofs/include/: Likewise.
22146 * util/mkisofs/include/fctldefs.h: Likewise.
22147 * util/mkisofs/include/mconfig.h: Likewise.
22148 * util/mkisofs/include/prototyp.h: Likewise.
22149 * util/mkisofs/include/statdefs.h: Likewise.
22150 * util/mkisofs/iso9660.h: Likewise.
22151 * util/mkisofs/joliet.c: Likewise.
22152 * util/mkisofs/match.c: Likewise.
22153 * util/mkisofs/match.h: Likewise.
22154 * util/mkisofs/mkisofs.c: Likewise.
22155 * util/mkisofs/mkisofs.h: Likewise.
22156 * util/mkisofs/msdos_partition.h: Likewise.
22157 * util/mkisofs/multi.c: Likewise.
22158 * util/mkisofs/name.c: Likewise.
22159 * util/mkisofs/rock.c: Likewise.
22160 * util/mkisofs/tree.c: Likewise.
22161 * util/mkisofs/write.c: Likewise.
22162
221632010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22164
22165 Unify grub-mkimage accross platforms.
22166
22167 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
22168 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
22169 (grub_mkelfimage_SOURCES): Removed.
22170 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
22171 (util/grub-mkimage.c_DEPENDENCIES): .. this.
22172 (bin_UTILITIES): Add grub-mkimage.
22173 (grub_mkimage_SOURCES): New variable.
22174 (kernel_img_HEADERS): Remove machine/kernel.h.
22175 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
22176 (pkglib_PROGRAMS): Add kernel.img.
22177 (kernel_img_HEADERS): Add machine/kernel.h.
22178 (kernel_img_FORMAT): Removed.
22179 (bin_UTILITIES): Remove grub-mkimage.
22180 (grub_mkimage_SOURCES): Removed.
22181 (grub_mkimage_CFLAGS): Likewise.
22182 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22183 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22184 (pkglib_PROGRAMS): Add kernel.img.
22185 (bin_UTILITIES): Remove grub-mkimage.
22186 (grub_mkimage_SOURCES): Removed.
22187 (grub_mkimage_CFLAGS): Likewise.
22188 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22189 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22190 (pkglib_PROGRAMS): Add kernel.img.
22191 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22192 (pkglib_PROGRAMS): Add kernel.img.
22193 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22194 (grub_mkimage_SOURCES): Removed.
22195 (grub_mkimage_CFLAGS): Likewise.
22196 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22197 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22198 (pkglib_PROGRAMS): Add kernel.img.
22199 (bin_UTILITIES): Remove grub-mkimage.
22200 (grub_mkimage_SOURCES): Removed.
22201 (grub_mkimage_CFLAGS): Likewise.
22202 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22203 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22204 (grub_mkimage_SOURCES): Removed.
22205 (grub_mkimage_CFLAGS): Likewise.
22206 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22207 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22208 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22209 (grub_pe32_optional_header): ... this.
22210 (grub_pe64_optional_header): ... and this. All users updated.
22211 (GRUB_PE32_PE32_MAGIC): Split into ..
22212 (GRUB_PE32_PE32_MAGIC): .. this.
22213 (GRUB_PE32_PE64_MAGIC): .. and this.
22214 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22215 * include/grub/elf.h (PT_GNU_STACK): New definition.
22216 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22217 * include/grub/i386/efi/kernel.h: Likewise.
22218 * include/grub/i386/kernel.h: Likewise.
22219 * include/grub/i386/pc/kernel.h: Likewise.
22220 * include/grub/i386/qemu/boot.h: Likewise.
22221 * include/grub/mips/kernel.h: Likewise.
22222 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22223 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22224 * include/grub/powerpc/kernel.h: Likewise.
22225 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22226 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22227 * include/grub/sparc64/kernel.h: Likewise.
22228 * include/grub/x86_64/efi/kernel.h: Likewise.
22229 * include/grub/x86_64/kernel.h: Likewise.
22230 * include/grub/offsets.h: New file.
22231 * include/grub/kernel.h (grub_module_info): Split into ...
22232 (grub_module_info32): ... this.
22233 (grub_module_info64): ... and this.
22234 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22235 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22236 (grub_boot_blocklist): Moved from here ...
22237 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
22238 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
22239 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
22240 * include/grub/types.h (grub_target_to_host16): Removed.
22241 (grub_target_to_host32): Likewise.
22242 (grub_target_to_host64): Likewise.
22243 (grub_host_to_target16): Likewise.
22244 (grub_host_to_target32): Likewise.
22245 (grub_host_to_target64): Likewise.
22246 (grub_host_to_target_addr): Likewise.
22247
22248 Support grub-mkrescue for efi, coreboot and qemu.
22249
22250 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
22251 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
22252 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
22253 * util/grub-mkrawimage.c: Moved from here ...
22254 * util/grub-mkimage.c: ... here. All users updated.
22255 (ALIGN_ADDR): Use image_target.
22256 (TARGET_NO_FIELD): New const.
22257 (image_target_desc): New type.
22258 (image_targets): New array.
22259 (grub_target_to_host64): Use image_target.
22260 (grub_target_to_host32): Likewise.
22261 (grub_target_to_host16): Likewise.
22262 (grub_host_to_target64): Likewise.
22263 (grub_host_to_target32): Likewise.
22264 (grub_host_to_target16): Likewise.
22265 (grub_host_to_target_addr): Likewise.
22266 (generate_image): Handle multiimage.
22267 (main): Require -O parameter. All users updated.
22268 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
22269 util/efi/grub-mkimage.c
22270 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
22271 New option --rom-directory.
22272 Use xorriso.
22273 * util/i386/efi/grub-mkimage.c: Removed.
22274 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
22275 (grub_target_to_host32): Likewise.
22276 (grub_target_to_host64): Likewise.
22277 (grub_host_to_target16): Likewise.
22278 (grub_host_to_target32): Likewise.
22279 (grub_host_to_target64): Likewise.
22280 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
22281 (grub_target_to_host32): Likewise.
22282 (grub_target_to_host64): Likewise.
22283 (grub_host_to_target16): Likewise.
22284 (grub_host_to_target32): Likewise.
22285 (grub_host_to_target64): Likewise.
22286
222872010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
22288
22289 Source tree is reorganized for emu build.
22290
22291 * include/grub/util/console.h: Move from here...
22292 * include/grub/emu/console.h: ...to here.
22293 * include/grub/util/getroot.h: Move from here...
22294 * include/grub/emu/getroot.h: ...to here.
22295 * include/grub/util/hostdisk.h: Move from here...
22296 * include/grub/emu/hostdisk.h: ...to here.
22297 * util/console.c: Move from here...
22298 * kern/emu/console.c: ...to here.
22299 * util/getroot.c: Move from here...
22300 * kern/emu/getroot.c: ...to here.
22301 * util/grub-emu.c: Move from here...
22302 * kern/emu/main.c: ...to here.
22303 * util/hostdisk.c: Move from here...
22304 * kern/emu/hostdisk.c: ...to here.
22305 * util/hostfs.c: Move from here...
22306 * kern/emu/hostfs.c: ...to here.
22307 * util/mm.c: Move from here...
22308 * kern/emu/mm.c: ...to here.
22309 * util/pci.c: Move from here...
22310 * bus/emu/pci.c: ...to here.
22311 * util/sdl.c: Move from here...
22312 * video/emu/sdl.c: ...to here.
22313 * util/time.c: Move from here...
22314 * kern/emu/time.c: ...to here.
22315 * util/usb.c: Move from here...
22316 * bus/usb/emu/usb.c: ...to here.
22317
22318 * include/grub/emu/misc.h: New header for grub-emu functions.
22319 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
22320
22321 * conf/any-emu.rmk: Rule updates for above renames.
22322 * conf/common.rmk: Likewise.
22323 * conf/i386-pc.rmk: Likewise.
22324 * conf/i386-qemu.rmk: Likewise.
22325 * conf/mips.rmk: Likewise.
22326 * conf/sparc64-ieee1275.rmk: Likewise.
22327 * conf/x86-efi.rmk: Likewise.
22328
22329 * disk/lvm.h: #include updates for above renames.
22330 * util/grub-mkrelpath.c: Likewise.
22331 * util/grub-probe.c: Likewise.
22332 * util/i386/pc/grub-setup.c: Likewise.
22333 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22334 * kern/emu/console.c: Likewise.
22335 * kern/emu/getroot.c: Likewise.
22336 * kern/emu/hostdisk.c: Likewise.
22337 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
22338
22339 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
22340 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
22341 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
22342 * util/misc.c: Remove grub-emu functions.
22343
223442010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 Fix gfxmenu crash.
22347 Reported by: Thorsten Grützmacher.
22348
22349 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22350 timeout hook.
22351 (circprog_set_property): Register and unregister timeout hook.
22352 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22353 (label_destroy): Free template. and unregister hook.
22354 (label_set_state): New function.
22355 (label_set_property): Handle templates and hooks.
22356 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22357 timeout hook.
22358 (progress_bar_set_property): Register and unregister timeout hook.
22359 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22360 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22361 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22362 (update_timeout_visit): Removed.
22363 (update_timeouts): New function.
22364 (redraw_timeouts): Likewise.
22365 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22366 (grub_gfxmenu_clear_timeout): Likewise.
22367 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22368 (grub_gfxmenu_timeout_notify): Likewise.
22369 (grub_gfxmenu_timeout_notifications): New external variable.
22370 (grub_gfxmenu_timeout_register): New function.
22371 (grub_gfxmenu_timeout_unregister): Likewise.
22372
223732010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 Transform (broken) vga terminal into (working) vga video driver.
22376
22377 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22378 video/i386/pc/vga.c.
22379 * include/grub/video.h (grub_video_driver_id):
22380 Add GRUB_VIDEO_DRIVER_VGA.
22381 * term/i386/pc/vga.c: Renamed to ...
22382 * video/i386/pc/vga.c: ...this
22383 (DEBUG_VGA): Removed.
22384 (CHAR_WIDTH): Likewise.
22385 (CHAR_HEIGHT): Likewise.
22386 (TEXT_WIDTH): Likewise.
22387 (TEXT_HEIGHT): Likewise.
22388 (DEFAULT_FG_COLOR): Likewise.
22389 (DEFAULT_BG_COLOR): Likewise.
22390 (colored_char): Likewise.
22391 (xpos): Likewise.
22392 (ypos): Likewise.
22393 (cursor_state): Likewise.
22394 (fg_color): Likewise.
22395 (bg_color): Likewise.
22396 (text_buf): Likewise.
22397 (page): Likewise.
22398 (font): Likewise.
22399 (framebuffer): New variable.
22400 (set_read_map): Disabled.
22401 (setup): New variable.
22402 (is_target): Likewise.
22403 (grub_vga_mod_init): Likewise.
22404 (grub_vga_mod_fini): Likewise.
22405 (check_vga_mem): Likewise.
22406 (write_char): Likewise.
22407 (write_cursor): Likewise.
22408 (scroll_up): Likewise.
22409 (grub_vga_putchar): Likewise.
22410 (grub_vga_getcharwidth): Likewise.
22411 (grub_vga_getwh): Likewise.
22412 (grub_vga_getxy): Likewise.
22413 (grub_vga_gotoxy): Likewise.
22414 (grub_vga_cls): Likewise.
22415 (grub_vga_setcolorstate): Likewise.
22416 (grub_vga_setcursor): Likewise.
22417 (grub_video_vga_init): New function.
22418 (grub_video_vga_setup): Likewise.
22419 (grub_video_vga_fini): Likewise.
22420 (update_target): Likewise.
22421 (grub_video_vga_blit_bitmap): Likewise.
22422 (grub_video_vga_blit_render_target): Likewise.
22423 (grub_video_vga_set_active_render_target): Likewise.
22424 (grub_video_vga_get_active_render_target): Likewise.
22425 (grub_video_vga_swap_buffers): Likewise.
22426 (grub_video_vga_set_palette): Likewise.
22427 (grub_video_vga_get_info_and_fini): Likewise.
22428 (grub_vga_term): Removed.
22429 (grub_video_vga_adapter): New variable.
22430 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22431 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22432
224332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22434
22435 * video/readers/jpeg.c: Indented.
22436
224372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22438
22439 Various jpeg cleanups.
22440
22441 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22442 (grub_jpeg_decode_quan_table): Use sizeof.
22443 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22444
224452010-05-05 Peter Hurley <No e-mail available> (tiny change)
22446
22447 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22448 tables. Ignore non-last ac bit.
22449 (grub_jpeg_decode_quan_table): Likewise.
22450
224512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22454 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22455 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22456 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22457 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22458 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22459
224602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22463 error.
22464
224652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22468
224692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22472 condition.
22473
224742010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22475
22476 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22477 part.
22478
224792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22480
22481 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22482 pointers.
22483
224842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22485
22486 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22487
224882010-05-01 Christian Franke <franke@computer.org>
22489
22490 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22491 Remove broken Cygwin path conversion.
22492 * util/misc.c: [__CYGWIN__] Add include and define.
22493 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22494 for Cygwin 1.7.
22495 (make_system_path_relative_to_its_root): Simplify loop, replace early
22496 return by break.
22497 [__CYGWIN__] Add conversion to win32 path.
22498 Include "/" case in trailing slash removal.
22499
225002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22503 Reported by: Seth Goldberg
22504
225052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * commands/help.c (grub_cmd_help): Fix a typo.
22508 Reported by: Seth Goldberg
22509
225102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22513 name and add N_.
22514 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22515 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22516 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22517 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22518 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22519 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22520 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22521 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22522 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22523 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22524 * normal/context.c (GRUB_MOD_INIT): Likewise.
22525 * normal/main.c (GRUB_MOD_INIT): Likewise.
22526 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22527 * term/serial.c (GRUB_MOD_INIT): Likewise.
22528 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22529
225302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22533 extra == 0.
22534
225352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22536
22537 * commands/iorw.c: New file.
22538 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
22539 (iorw_mod_SOURCES): New variable.
22540 (iorw_mod_CFLAGS): Likewise.
22541 (iorw_mod_LDFLAGS): Likewise.
22542
225432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 Hotkey support
22546
22547 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
22548 * normal/main.c (hotkey_aliases): New variable.
22549 (grub_normal_add_menu_entry): Parse "--hotkey".
22550 * normal/menu_text.c (run_menu): Handle hotkeys.
22551
225522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 * kern/i386/coreboot/init.c (grub_machine_init): Call
22555 grub_machine_mmap_init on qemu.
22556
225572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 * boot/i386/qemu/boot.S: Add a missing .code16.
22560
225612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 Use LBIO on coreboot.
22564
22565 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
22566 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
22567 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
22568 New declaration.
22569 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
22570 grub_machine_mmap_init on coreboot.
22571 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
22572 GRUB_LINUXBIOS_MEMBER_LINK.
22573 (grub_machine_mmap_iterate): Fix declaration.
22574 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
22575
225762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 Split coreboot and multiboot ports.
22579
22580 * conf/i386-multiboot.rmk: New file.
22581 * configure.ac: Add multiboot port.
22582 * include/grub/i386/multiboot/boot.h: New file.
22583 * include/grub/i386/multiboot/console.h: Likewise.
22584 * include/grub/i386/multiboot/init.h: Likewise.
22585 * include/grub/i386/multiboot/kernel.h: Likewise.
22586 * include/grub/i386/multiboot/loader.h: Likewise.
22587 * include/grub/i386/multiboot/memory.h: Likewise.
22588 * include/grub/i386/multiboot/serial.h: Likewise.
22589 * include/grub/i386/multiboot/time.h: Likewise.
22590 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
22591 * loader/multiboot.c: Likewise.
22592 * loader/multiboot_mbi2.c: Likewise.
22593 * util/grub-mkrescue.in: Generate multiboot rescue.
22594
225952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22596
22597 * kern/parser.c (grub_parser_execute): Cope with read-only config.
22598
225992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22600
22601 Merge handling of input and output terminals. Fix a hang.
22602
22603 * commands/terminal.c (abstract_terminal): New struct.
22604 (handle_command): New function. Based on grub_cmd_terminal_input.
22605 (grub_cmd_terminal_input): Use handle_command.
22606 (grub_cmd_terminal_output): Use handle_command.
22607
226082010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
22609
22610 Fix comment handling.
22611
22612 * tests/grub_script_comments.in: New testcase.
22613 * conf/tests.rmk: Rules for new testcase.
22614 * script/yylex.l: Updated flex rules.
22615
226162010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
22617
22618 * docs/grub.texi (play): Document that zero pitches produce rests.
22619 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
22620 if argc is 1.
22621
226222010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
22625 autogen issues.
22626
226272010-04-26 Christian Franke <franke@computer.org>
22628
22629 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
22630 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
22631 (grub_get_prefix): Remove function.
22632 * util/grub-emu.c (main): Replace grub_get_prefix () call by
22633 make_system_path_relative_to_its_root ().
22634 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22635
226362010-04-24 Christian Franke <franke@computer.org>
22637
22638 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
22639 (kernel_img_LDFLAGS): Remove -static-libgcc.
22640
226412010-04-24 Christian Franke <franke@computer.org>
22642
22643 * configure.ac: Do not CHECK_BSS_START_SYMBOL
22644 and CHECK_END_SYMBOL if grub-emu is built.
22645 Unset TARGET_OBJ2ELF if grub-emu is built
22646 without module support.
22647
226482010-04-24 Jiro SEKIBA <jir@unicus.jp>
22649
22650 Nilfs2 support.
22651
22652 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
22653 (grub_fstest_SOURCES): Likewise.
22654 (pkglib_MODULES): Add nilfs2.mod.
22655 (nilfs2_mod_SOURCES): New variable.
22656 (nilfs2_mod_CFLAGS): Likewise.
22657 (nilfs2_mod_LDFLAGS): Likewise.
22658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22659 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22660 * fs/nilfs2.c: New file.
22661
226622010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
22665 is not supported.
22666
226672010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
22668
22669 Add grub-mkconfig support for NetBSD.
22670
22671 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
22672 * util/grub-mkconfig.in: export new NetBSD specific variables.
22673 * po/POTFILES-shell: added 10_netbsd.in.
22674 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
22675
226762010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
22677
22678 Fix emu build with grub-emu-pci and grub-emu-modules.
22679
22680 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
22681 functions.
22682 * include/grub/libpciaccess.h: New file.
22683 * conf/any-emu.rmk: Update kernel headers for emu build.
22684
226852010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
22688
226892010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
22692
226932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
22696 Retrieve chosen/bootpath if bootpath isn't hardcoded.
22697 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
22698 util/ieee1275/ofpath.c.
22699 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
22700 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
22701 * include/grub/sparc64/ieee1275/boot.h
22702 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
22703 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
22704 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
22705 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
22706 const char *.
22707 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
22708 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
22709 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
22710 install.
22711
227122010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22713
22714 * util/grub-mkconfig.in: Corrected two == equality tests.
22715 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
22716 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
22717 expect a number appended to it.
22718 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
22719 expects a number appended to it.
22720
227212010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
22724
227252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 * util/hostdisk.c (make_device_name): Change to new partition naming.
22728
227292010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
22730
22731 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
22732
227332010-04-17 Christian Franke <franke@computer.org>
22734
22735 * Makefile.in: Add missing localedir setting.
22736
227372010-04-14 Colin Watson <cjwatson@ubuntu.com>
22738
22739 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
22740 mistake in r2156. Noticed by Anthony Fok.
22741
22742 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
22743 @localedir@.
22744 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22745
227462010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
22747
22748 Fix a spurious, uninitialized variable warning.
22749
22750 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
22751 Initialize variable, shdr.
22752 (grub_freebsd_load_elfmodule): Likewise.
22753 (grub_freebsd_load_elf_meta): Likewise.
22754
227552010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
22756
22757 Fix for escaped dollar in double quoted strings.
22758
22759 * script/yylex.l: Updated flex rules.
22760 * conf/tests.rmk: Rule for new testcase.
22761 * tests/grub_script_dollar.in: New testcase.
22762
227632010-04-13 Carles Pina i Estany <carles@pina.cat>
227642010-04-13 Colin Watson <cjwatson@ubuntu.com>
22765
22766 Enclose all translated strings in grub.cfg in single quotes, and
22767 escape them appropriately (Ubuntu bug #552921).
22768
22769 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
22770 * util/grub.d/10_hurd.in: Use it.
22771 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22772 * util/grub.d/10_linux.in (linux_entry): Likewise.
22773
227742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22775
22776 Fix cygwin compilation.
22777
22778 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
22779 * include/grub/misc.h (__register_frame_info)
22780 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
22781 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22782 * kern/misc.c (__register_frame_info)
22783 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
22784 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22785
227862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22789
227902010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22791
22792 Unify libgcc processing.
22793
22794 * Makefile.in (kernel_img_LDFLAGS): New variable.
22795 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
22796 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
22797 overwriting.
22798 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
22799 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
22800 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
22801 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
22802 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
22803 overwriting. Remove -lgcc and -static-libgcc
22804 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
22805 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22806 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22807 (kernel_img_LDFLAGS): Append instead of overwriting.
22808 Remove -lgcc and -static-libgcc
22809 * conf/sparc64-ieee1275.rmk: Likewise.
22810 * include/grub/powerpc/libgcc.h: Move to ...
22811 * include/grub/libgcc.h: .. this.
22812 * include/grub/libgcc.h: Don't export most of the function on x86.
22813 (__bswapsi2): New export.
22814 (__bswapdi2): Likewise.
22815 * include/grub/mips/libgcc.h: Removed.
22816 * include/grub/sparc64/libgcc.h: Likewise.
22817
228182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22819
22820 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
22821 disk_info_msg (conflicts with gettexting into languages with cases).
22822
228232010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
22824
22825 Add grub-probe support for NetBSD.
22826
22827 * util/getroot.c (find_root_device): Convert block device to
22828 character device on NetBSD.
22829 * util/probe.c (probe): Require character device on NetBSD.
22830 * util/hostdisk.c: NetBSD specific headers.
22831 (configure_device_driver): new function to tune device driver
22832 parameters (currently only for NetBSD floppy driver).
22833 (grub_util_biosdisk_open): NetBSD specific code (get disk size
22834 via disklabel ioctl).
22835 (open_device): call configure_device_driver on NetBSD.
22836 (convert_system_partition_to_system_disk): NetBSD specific code.
22837 (device_is_wholedisk): Likewise.
22838 (grub_util_biosdisk_get_grub_dev): Likewise.
22839 (make_device_name): Fixed a typo in bsd_part_str.
22840 * configure.ac: check for opendisk() and getrawpartition() on
22841 NetBSD and set LIBUTIL.
22842 * Makefile.in: add LIBUTIL to LIBS.
22843
228442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22845
22846 Documentation fix.
22847
22848 * util/grub-script-check.c: Better help message.
22849
228502010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22851
22852 Fix FreeBSD build.
22853
22854 * configure.ac: Flex version check.
22855 * conf/common.rmk: Add -Wno-error to sh.mod.
22856 * script/yylex.l: Remove all #pragma.
22857
228582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * include/grub/util/misc.h (canonicalise_file_name): Add missing
22861 prototype.
22862 Reported by: Seth Goldberg.
22863
228642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22865
22866 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
22867 Rename "module" to "module2".
22868 Reported by: Seth Goldberg.
22869
228702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22871
22872 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22873 EXPORT_FUNC.
22874 Reported by: Seth Goldberg.
22875
228762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 * lib/posix_wrap/locale.h: Add missing file.
22879 Reported by: Seth Goldberg.
22880
228812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22882
22883 grub-emu module load support.
22884
22885 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22886 NO_DYNAMIC_MODULES switched to this.
22887 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22888 (CFLAGS): Likewise.
22889 * conf/any-emu.rmk: Generate symlist.
22890 (kernel_img_HEADERS): Add util/datetime.h.
22891 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22892 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22893 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22894 kern/$(target_cpu)/cache.S.
22895 * configure.ac (grub-emu-modules): New option.
22896 * genmk.rb: Handle multiple source lists.
22897 * include/grub/sdl.h: New file.
22898 * include/grub/libusb.h: Likewise.
22899 * util/grub-emu.c (main): Hanle (host) root.
22900 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22901 GRUB_ERR_UNKNOWN_DEVICE.
22902 * util/misc.c: Move mm functions to ...
22903 * util/mm.c: ... here. All users updated.
22904
229052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22906
22907 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22908 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22909 missing files.
22910 (maintainer-clean): Remove libgcrypt-grub.
22911
229122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22913
22914 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22915
229162010-04-09 EFI Coder <eficoder@hotmail.com>
22917
22918 * normal/menu_text.c (print_message): Clean up the message and show
22919 the Fn information when on EFI
22920 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22921
229222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22923
22924 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22925 All users updated.
22926 * normal/crypto.c (read_crypto_list): Likewise.
22927 * normal/dyncmd.c (read_command_list): Likewise.
22928 * normal/term.c (read_terminal_list): Likewise.
22929 * normal/main.c (read_lists): Use explicit prefix.
22930 (read_lists_hook): Use read_lists.
22931 (grub_normal_execute): Likewise.
22932
229332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22936 Reported by: Thomas Schmitt.
22937 Add -no-emul-boot to grub-mkisofs parameters.
22938
229392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * font/font.c: Indented.
22942
229432010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22944
22945 Elif support to GRUB script (by Deepak Vankadaru).
22946
22947 * tests/grub_script_if.in: New testcase.
22948 * conf/tests.rmk: Rule for new testcase.
22949 * script/parser.y: Grammar rules for elif.
22950
229512010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22952
22953 While and until loops support to GRUB script.
22954
22955 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22956 (grub_script_create_cmdwhile): New function prototype.
22957 (grub_script_execute_cmdwhile): New function prototype.
22958 * script/execute.c (grub_script_execute_cmdwhile): New function.
22959 * script/parser.y (command): New commands.
22960 (whilecmd): New grammar rule.
22961 (untilcmd): New grammar rule.
22962 * script/script.c (grub_script_create_cmdwhile): New function.
22963 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22964 function.
22965
22966 * tests/grub_script_while1.in: New testcase.
22967 * conf/tests.rmk: Rule for new testcase.
22968
229692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22970
22971 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22972 as *.jpg.
22973
229742010-04-09 Mario Vazquez <mariovazq@gmail.com>
22975
22976 GRUB_BACKGROUND support.
22977
22978 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22979 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22980
229812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 Load fonts and modules for gfxmenu in grub-mkconfig.
22984 Idea by: Mario Vazquez
22985
22986 * util/grub.d/00_header.in: Load pf2 and image modules.
22987
229882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22989
22990 grub-mkconfig multiple terminal support.
22991
22992 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22993 * util/grub.d/00_header.in: Likewise.
22994
229952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22996
22997 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22998 we use cd $(srcdir).
22999
230002010-04-08 Colin Watson <cjwatson@ubuntu.com>
23001
23002 * util/grub.d/10_linux.in: Only use the first word of
23003 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23004 spaces in GRUB_DISTRIBUTOR.
23005 * util/grub.d/10_kfreebsd.in: Likewise.
23006 * util/grub.d/10_hurd.in: Likewise.
23007
230082010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23009
23010 Fix unit testing framework for Qemu 0.12.
23011
23012 * tests/util/grub-shell.in: Remove -serial stdio option.
23013
230142010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23015
23016 POSIX header file wrappers.
23017
23018 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23019 equivalents.
23020 * lib/posix_wrap/ctype.h: Likewise.
23021 * lib/posix_wrap/errno.h: Likewise.
23022 * lib/posix_wrap/langinfo.h: Likewise.
23023 * lib/posix_wrap/limits.h: Likewise.
23024 * lib/posix_wrap/localcharset.h: Likewise.
23025 * lib/posix_wrap/stdint.h: Likewise.
23026 * lib/posix_wrap/stdio.h: Likewise.
23027 * lib/posix_wrap/stdlib.h: Likewise.
23028 * lib/posix_wrap/string.h: Likewise.
23029 * lib/posix_wrap/sys/types.h: Likewise.
23030 * lib/posix_wrap/unistd.h: Likewise.
23031 * lib/posix_wrap/wchar.h: Likewise.
23032 * lib/posix_wrap/wctype.h: Likewise.
23033 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23034 (grub_script.yy.h): Likewise.
23035 * script/yylex.l: Remove POSIX emulation #defines.
23036 * Makefile.in (POSIX_CFLAGS): New variable.
23037 (GNULIB_UTIL_CFLAGS): Likewise.
23038
23039 Regexp support.
23040
23041 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23042 (regexp_mod_SOURCES): New variable.
23043 (regexp_mod_CFLAGS): Likewise.
23044 (regexp_mod_LDFLAGS): Likewise.
23045 * commands/regexp.c: New file.
23046 * gnulib/regcomp.c: New file. Imported from gnulib.
23047 * gnulib/regex.c: Likewise.
23048 * gnulib/regex_internal.c: Likewise.
23049 * gnulib/regex_internal.h: Likewise.
23050 * gnulib/regexec.c: Likewise.
23051 * gnulib/regex.h: Likewise.
23052
230532010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23056 unsupported video mode types.
23057
230582010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23061
230622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23063
23064 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23065 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23066
230672010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 Remove unused grub_vga_get_font.
23070
23071 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23072 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23073
230742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23075
23076 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23077 * include/grub/misc.h: Likewise.
23078
230792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23080
23081 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23082 for which failure is fatal.
23083
230842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23085
23086 * util/grub-install.in: Use mkdir -p to create grub directory.
23087 * util/i386/efi/grub-install.in: Likewise.
23088 * util/ieee1275/grub-install.in: Likewise.
23089
230902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23091
23092 * Makefile.in (LEX): new variable.
23093
230942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23095
23096 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23097 `=' and added double quotes on operands of this equality test.
23098
230992010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23100
23101 * Makefile.in (uninstall): Remove a leftover debug echo.
23102 Reported by: Grégoire Sutre
23103
231042010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 MIPS multiboot2 support.
23107
23108 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23109 (multiboot2_mod_SOURCES): New variable.
23110 (multiboot2_mod_CFLAGS): Likewise.
23111 (multiboot2_mod_LDFLAGS): Likewise.
23112 (multiboot2_mod_ASFLAGS): Likewise.
23113 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23114 definition.
23115 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23116 (MULTIBOOT_MBI_REGISTER): Likewise.
23117 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23118 (MULTIBOOT_ELF32_MACHINE): Likewise.
23119 (MULTIBOOT_ELF64_MACHINE): Likewise.
23120 * include/grub/mips/multiboot.h: New file.
23121 * include/grub/video.h (grub_video_driver_id): New type
23122 GRUB_VIDEO_DRIVER_SM712.
23123 (grub_video_get_info_and_fini): Export.
23124 (grub_video_get_palette): Likewise.
23125 (grub_video_get_driver_id): Likewise.
23126 * include/multiboot2.h: Resynced with spec.
23127 * loader/i386/multiboot.c: Moved from here ...
23128 * loader/multiboot.c: ... here. All users updated.
23129 (grub_multiboot_boot): Use platform-specific macros.
23130 * loader/i386/multiboot_elfxx.c: Moved from here ...
23131 * loader/multiboot_elfxx.c: ... here. All users updated.
23132 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23133 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23134 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23135
231362010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23137
23138 Import gnulib argp module.
23139
23140 * gnulib/argp-ba.c: New file.
23141 * gnulib/argp-eexst.c: Likewise.
23142 * gnulib/argp-fmtstream.c: Likewise.
23143 * gnulib/argp-fmtstream.h: Likewise.
23144 * gnulib/argp-fs-xinl.c: Likewise.
23145 * gnulib/argp-help.c: Likewise.
23146 * gnulib/argp-namefrob.h: Likewise.
23147 * gnulib/argp-parse.c: Likewise.
23148 * gnulib/argp-pin.c: Likewise.
23149 * gnulib/argp-pv.c: Likewise.
23150 * gnulib/argp-pvh.c: Likewise.
23151 * gnulib/argp-version-etc.c: Likewise.
23152 * gnulib/argp-version-etc.h: Likewise.
23153 * gnulib/argp-xinl.c: Likewise.
23154 * gnulib/argp.h: Likewise.
23155
231562010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 * kern/device.c (grub_device_iterate): Clear errors after failed
23159 opening device.
23160
231612010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
23164 returned by firmware.
23165
231662010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
23169 compilation on coreboot and qemu
23170
231712010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * include/multiboot2.h: Resync with spec.
23174
231752010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23176
23177 Multiboot2 tag support
23178
23179 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23180 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23181 Remove loader/multiboot_loader.c.
23182 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23183 (grub_multiboot2_real_boot): Likewise.
23184 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23185 (grub_get_multiboot_mmap_count): New proto.
23186 (grub_fill_multiboot_mmap): Likewise.
23187 (grub_multiboot_set_video_mode): Likewise.
23188 (grub_multiboot_set_console): Likewise.
23189 (grub_multiboot_load): Likewise.
23190 (grub_multiboot_load_elf): Likewise.
23191 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23192 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23193 * include/multiboot.h: Resynced with specification.
23194 * include/multiboot2.h: Resynced with specification.
23195 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23196 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23197 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23198 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23199 users updated.
23200 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23201 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23202 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23203 Removed.
23204 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23205 Moved from here...
23206 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23207 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23208 Moved from here...
23209 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23210 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23211 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23212 All users updated.
23213 * loader/i386/multiboot_mbi2.c: New file.
23214
232152010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 Resync with gnulib.
23218
23219 * Makefile.in (GNULIB_CFLAGS): New variable.
23220 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23221 (grub_script_check_CFLAGS): New variable.
23222 * gnulib/alloca.h: Resync with gnulib.
23223 * gnulib/error.c: Likewise.
23224 * gnulib/error.h: Likewise.
23225 * gnulib/fnmatch.c: Likewise.
23226 * gnulib/fnmatch_loop.c: Likewise.
23227 * gnulib/getdelim.c: Likewise.
23228 * gnulib/getline.c: Likewise.
23229 * gnulib/getopt.c: Likewise.
23230 * gnulib/getopt1.c: Likewise.
23231 * gnulib/getopt_int.h: Likewise.
23232 * gnulib/gettext.h: Likewise.
23233 * gnulib/progname.c: Likewise.
23234 * gnulib/progname.h: Likewise.
23235
232362010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23237
23238 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
23239 which is the case with --disabled-nls.
23240
23241 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
23242 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
23243 * util/misc.c: Likewise.
23244 * util/mkisofs/mkisofs.c: Likewise.
23245 * util/mkisofs/mkisofs.h: Likewise.
23246
232472010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 Simplify Apple CC support.
23250
23251 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
23252 Add 0 byte at the end not to have a symbol with empty target.
23253 * mmap/i386/pc/mmap_helper.S: Likewise.
23254 * genmk.rb: Ignore errors 2030 and 2050.
23255 * kern/i386/pc/startup.S: Use LOCAL when possible.
23256
232572010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
23258
23259 Testcase and the fix for final semicolon on cmdline.
23260
23261 * tests/grub_script_final_semicolon.in: New testcase.
23262 * conf/tests.rmk: Rules for the new testcase.
23263 * script/parser.y: Grammar fix.
23264
232652010-03-26 BVK Chaitanya <bvk@localhost>
23266
23267 Blank lines testcase for GRUB script.
23268
23269 * tests/grub_script_blanklines.in: New testcase.
23270 * conf/tests.rmk: Rules for the new testcase.
23271
232722010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 Don't use __FILE__.
23275
23276 * genmk.rb: Add -DGRUB_FILE to all C targets.
23277 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
23278 * include/grub/list.h: Likewise.
23279 * include/grub/misc.h: Likewise.
23280 * include/grub/mm.h: Likewise.
23281 * include/grub/test.h: Likewise.
23282 * kern/mm.c: Likewise.
23283 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23284
232852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 Sunpc partitions support.
23288
23289 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
23290 (grub_fstest_SOURCES): Likewise.
23291 (pkglib_MODULES): Add part_sunpc.mod.
23292 (part_sunpc_mod_SOURCES): New variable.
23293 (part_sunpc_mod_CFLAGS): Likewise.
23294 (part_sunpc_mod_LDFLAGS): Likewise.
23295 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
23296 * partmap/sunpc.c: New file.
23297
232982010-03-26 BVK Chaitanya <bvk@localhost>
23299
23300 For loop support to GRUB script.
23301
23302 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
23303 (grub_script_create_cmdfor): New function prototype.
23304 (grub_script_execute_cmdfor): New function prototype.
23305 * script/execute.c (grub_script_execute_cmdfor): New function.
23306 * script/parser.y (command): New for command.
23307 (forcmd): New grammar rule.
23308 * script/script.c (grub_script_create_cmdfor): New function.
23309 * util/grub-script-check.c (grub_script_execute_cmdfor): New
23310 function.
23311 * tests/grub_script_for1.in: New testcase.
23312 * conf/tests.rmk: Rules for new testcase.
23313
233142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 Nested partitions
23317
23318 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
23319 'partition' is NULL, grub_partition_get_start already does that.
23320 * commands/loadenv.c (check_blocklists): Likewise.
23321 (write_blocklists): Likewise.
23322 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
23323 (grub_fstest_SOURCES): Likewise.
23324 (pkglib_MODULES): Add part_bsd.mod.
23325 (part_bsd_mod_SOURCES): New variable.
23326 (part_bsd_mod_CFLAGS): Likewise.
23327 (part_bsd_mod_LDFLAGS): Likewise.
23328 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
23329 (grub_emu_SOURCES): Likewise.
23330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23331 * include/grub/bsdlabel.h: New file.
23332 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
23333 'get_name'.
23334 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
23335 (grub_partition_map_list): New variable.
23336 (grub_partition_map_register): Inline.
23337 (grub_partition_map_unregister): Likewise.
23338 (FOR_PARTITION_MAPS): New macro.
23339 (grub_partition_map_iterate): Removed.
23340 (grub_partition_get_start): Handle nested partitions.
23341 * include/grub/msdos_partition.h: Remove bsd-related entries.
23342 (grub_pc_partition): Remove.
23343 * kern/disk.c (grub_disk_close): Free partition data.
23344 (grub_disk_adjust_range): Handle nested partitions.
23345 * kern/partition.c (grub_partition_map_probe): New function.
23346 (grub_partition_probe): Parse name to number, handle subpartitions.
23347 (get_partmap): New function.
23348 (grub_partition_iterate): Handle subpartitions.
23349 (grub_partition_get_name): Likewise.
23350 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23351 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23352 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23353 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23354 Set 'number'.
23355 (acorn_partition_map_probe): Remove.
23356 (acorn_partition_map_get_name): Likewise.
23357 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23358 Set 'number'.
23359 Set 'index' to 0 since there can be only one partition entry per sector.
23360 (amiga_partition_map_probe): Remove.
23361 (amiga_partition_map_get_name): Likewise.
23362 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23363 Set 'number'.
23364 Set 'offset' and 'index' to real positions of partitions.
23365 (apple_partition_map_probe): Remove.
23366 (apple_partition_map_get_name): Likewise.
23367 * partmap/bsdlabel.c: New file.
23368 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23369 Set 'number'.
23370 Allocate 'data' so it can be correctly freed.
23371 Set 'index' to offset inside sector.
23372 (gpt_partition_map_probe): Remove.
23373 (gpt_partition_map_get_name): Likewise.
23374 * partmap/msdos.c (grub_partition_parse): Remove.
23375 (pc_partition_map_iterate): Don't force raw access.
23376 Set 'number'.
23377 Make 'ext_offset' a local variable.
23378 (pc_partition_map_probe): Remove.
23379 (pc_partition_map_get_name): Remove.
23380 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23381 Set 'number'.
23382 (sun_partition_map_probe): Remove.
23383 (sun_partition_map_get_name): Likewise.
23384 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23385 (grub_pcpart_type): Likewise.
23386 * util/hostdisk.c (open_device): Handle new numbering scheme.
23387 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23388 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23389 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23390 * util/grub-install.in: Insert all subpartition modules.
23391 * util/ieee1275/grub-install.in: Likewise.
23392
233932010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23394
23395 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23396 grammar.
23397
233982010-03-24 Colin Watson <cjwatson@ubuntu.com>
23399
23400 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23401
234022010-03-21 Colin Watson <cjwatson@ubuntu.com>
23403
23404 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23405 match where 'make install' puts them.
23406 * util/i386/efi/grub-install.in: Likewise.
23407
234082010-03-19 Colin Watson <cjwatson@ubuntu.com>
23409
23410 * .bzrignore: Add gentrigtables, grub-script-check,
23411 grub_script_check_init.c, grub_script_check_init.h, and
23412 trigtables.c.
23413
234142010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23415
23416 * kern/parser.c: Indented.
23417
234182010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23421
234222010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23423
23424 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23425 alpha_mask_size == 0 case.
23426
234272010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23428
23429 GRUB shell lexer and parser improvements.
23430
23431 * conf/any-emu.rmk: Build rule updates.
23432 * conf/common.rmk: Likewise.
23433 * conf/i386-coreboot.rmk: Likewise.
23434 * conf/i386-efi.rmk: Likewise.
23435 * conf/i386-ieee1275.rmk: Likewise.
23436 * conf/i386-pc.rmk: Likewise.
23437 * conf/powerpc-ieee1275.rmk: Likewise.
23438 * conf/x86_64-efi.rmk: Likewise.
23439
23440 * configure.ac: Configure check for flex.
23441
23442 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23443 types.
23444 (grub_lexer_param): Struct member updates.
23445 (grub_parser_param): Likewise.
23446 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23447 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23448 (grub_script_lexer_init): Prototype update.
23449 (grub_script_lexer_record_start): Likewise.
23450 (grub_script_lexer_record_stop): Likewise.
23451 (grub_script_lexer_yywrap): New function prototype.
23452 (grub_script_lexer_fini): Likewise.
23453 (grub_script_execute_argument_to_string): Removed by...
23454 (grub_script_execute_argument_to_argv): ...better version.
23455
23456 * script/execute.c (ROUND_UPTO): New macro.
23457 (grub_script_execute_cmdline): Out of memory fixes.
23458 (grub_script_execute_menuentry): Likewise.
23459 (grub_script_execute_argument_to_string): Removed. Update all
23460 users by...
23461 (grub_script_execute_argument_to_argv): ...better version.
23462 * script/function.c (grub_script_function_create): Use
23463 grub_script_execute_argument_to_argv instead of
23464 grub_script_execute_argument_to_string.
23465
23466 * script/lexer.c (check_varstate): Removed.
23467 (check_textstate): Removed.
23468 (grub_script_lexer_record_start): Likewise.
23469 (grub_script_lexer_record_stop): Likewise.
23470 (recordchar): Replaced with...
23471 (grub_script_lexer_record): ...new function.
23472 (nextchar): Removed.
23473 (grub_script_lexer_init): Rewritten.
23474 (grub_script_yylex): Rewritten.
23475 (append_newline): New function.
23476 (grub_script_lexer_yywrap): New function.
23477 (grub_script_lexer_fini): New function.
23478 (grub_script_yyerror): Sets error flag.
23479
23480 * script/yylex.l: New file.
23481 (grub_lexer_yyfree): Wrapper for flex yyffre.
23482 (grub_lexer_yyalloc): Likewise.
23483 (grub_lexer_yyrealloc): Likewise.
23484 * script/parser.y: Refactored.
23485
23486 * script/script.c (grub_script_arg_add): Out of memory fixes.
23487 (grub_script_add_arglist): Likewise.
23488 (grub_script_create_cmdline): Likewise.
23489 (grub_script_create_cmdmenu): Likewise.
23490 (grub_script_add_cmd): Likewise.
23491 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23492 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23493 unnecessary code.
23494
23495 * tests/grub_script_echo1.in: New testcase.
23496 * tests/grub_script_vars1.in: New testcase.
23497 * tests/grub_script_echo_keywords.in: New testcase.
23498
234992010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23500
23501 Remove some redundancy in build system.
23502
23503 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23504 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23505 (TARGET_LDFLAGS): Add -nostdlib.
23506 (TARGET_IMG_LDFLAGS): Likewise.
23507 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23508 anything since mmap isn't available.
23509 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23510 Add util/time.c.
23511 (pkglib_MODULES): Remove reboot.mod.
23512 (reboot_mod_SOURCES): Removed.
23513 (reboot_mod_CFLAGS): Likewise.
23514 (reboot_mod_LDFLAGS): Likewise.
23515 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23516 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23517 (DEFSYMFILES): Add kernel_syms.lst.
23518 (kernel_img_HEADERS): Add common headers.
23519 (symlist.c): New target.
23520 (kernel_syms.lst): Likewise.
23521 (pkglib_MODULES): Add memdisk.mod.
23522 (memdisk_mod_SOURCES): New variable.
23523 (memdisk_mod_CFLAGS): Likewise.
23524 (memdisk_mod_LDFLAGS): Likewise.
23525 (pkglib_MODULES): Add reboot.mod.
23526 (reboot_mod_SOURCES): New variable.
23527 (reboot_mod_CFLAGS): Likewise.
23528 (reboot_mod_LDFLAGS): Likewise.
23529 (pkglib_MODULES): Add date.mod.
23530 (date_mod_SOURCES): New variable.
23531 (date_mod_CFLAGS): Likewise.
23532 (date_mod_LDFLAGS): Likewise.
23533 (pkglib_MODULES): Add datehook.mod.
23534 (datehook_mod_SOURCES): New variable.
23535 (datehook_mod_CFLAGS): Likewise.
23536 (datehook_mod_LDFLAGS): Likewise.
23537 (pkglib_MODULES): Add lsmmap.mod.
23538 (lsmmap_mod_SOURCES): New variable.
23539 (lsmmap_mod_CFLAGS): Likewise.
23540 (lsmmap_mod_LDFLAGS): Likewise.
23541 (pkglib_MODULES): Add boot.mod.
23542 (boot_mod_SOURCES): New variable.
23543 (boot_mod_CFLAGS): Likewise.
23544 (boot_mod_LDFLAGS): Likewise.
23545 * conf/i386-coreboot.rmk: Removed redundant parts.
23546 * conf/i386-ieee1275.rmk: Likewise.
23547 * conf/i386-pc.rmk: Likewise.
23548 * conf/mips-yeeloong.rmk: Likewise.
23549 * conf/mips.rmk: Likewise.
23550 * conf/powerpc-ieee1275.rmk: Likewise.
23551 * conf/sparc64-ieee1275.rmk: Likewise.
23552 * conf/x86_64-efi.rmk: Likewise.
23553 * conf/i386-coreboot.rmk: Moved qemu parts ..
23554 * conf/i386-qemu.rmk: ... here
23555 * conf/i386-efi.rmk: Moved common parts to...
23556 * conf/x86-efi.rmk: ... here.
23557 * conf/i386.rmk: Added modules common to all x86 variants.
23558 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
23559 * disk/memdisk.c: Remove grub/machine/kernel.h.
23560 * gensymlist.sh.in: Include symbol.h.
23561 * hook/datehook.c: Correct module name.
23562 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
23563 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
23564 * include/grub/i386/efi/serial.h: New file.
23565 * include/grub/x86_64/efi/serial.h: Likewise.
23566 * util/time.c: Likewise.
23567 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
23568
235692010-03-14 Colin King <colin.king@ubuntu.com>
235702010-03-14 Colin Watson <cjwatson@ubuntu.com>
23571
23572 Shrink the pre-partition-table part of boot.img by eight bytes.
23573
23574 * boot/i386/pc/boot.S (ERR): New macro.
23575 (chs_mode): Use ERR.
23576 (geometry_error): Likewise.
23577 (hd_probe_error): Remove. This is only used once, so we wrwite
23578 it inline instead.
23579 (read_error): Instead of printing read_error_string, just set up
23580 %si and fall through to ...
23581 (error_message): ... this new function, also used by ERR.
23582
235832010-03-14 Colin Watson <cjwatson@ubuntu.com>
23584
23585 Speed up consecutive hostdisk operations on the same device.
23586
23587 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
23588 (grub_util_biosdisk_open): Initialise disk->data.
23589 (struct linux_partition_cache): New structure.
23590 (linux_find_partition): Cache partition start positions; these are
23591 expensive to compute on every read and write.
23592 (open_device): Cache open file descriptor in disk->data, so that we
23593 don't have to reopen it and flush the buffer cache for consecutive
23594 operations on the same device.
23595 (grub_util_biosdisk_close): New function.
23596 (grub_util_biosdisk_dev): Set `close' member.
23597
23598 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
23599 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
23600 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23601 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23602 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
23603
236042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23605
23606 Compile parts of grub-emu as modules.
23607
23608 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
23609 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
23610 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
23611 (all-local): Add $(GRUB_EMU).
23612 (install-local): Install $(GRUB_EMU).
23613 (uninstall): Uninstall $(GRUB_EMU).
23614 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
23615 * kern/dl.c: Likewise.
23616 * commands/sleep.c: Not include machine/time.h.
23617 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
23618 (COMMON_CFLAGS): Likewise.
23619 (sbin_UTILITIES): Remove grub-emu.
23620 (grub_emu_SOURCES): Removed.
23621 (kernel_img_RELOCATABLE): New variable.
23622 (pkglib_PROGRAMS): Add kernel.img.
23623 (kernel_img_SOURCES): New variable
23624 (kernel_img_CFLAGS): Likewise.
23625 (kernel_img_LDFLAGS): Likewise.
23626 (TARGET_NO_STRIP): Likewise.
23627 (TARGET_NO_DYNAMIC_MODULES): Likewise.
23628 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
23629 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
23630 (grub-emu): New target.
23631 (GRUB_EMU): New variable.
23632 * configure.ac: Whitelist -emu as possible x86_64 architecture.
23633 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
23634 * loader/xnu.c: Likewise.
23635 * include/grub/pci.h: Likewise.
23636 * genemuinit.sh: New file.
23637 * genemuinitheader.sh: Likewise.
23638 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
23639 Support TARGET_NO_DYNAMIC_MODULES.
23640 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
23641 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
23642 * disk/loopback.c: Likewise.
23643 * font/font_cmd.c: Likewise.
23644 * partmap/acorn.c: Likewise.
23645 * partmap/amiga.c: Likewise.
23646 * partmap/apple.c: Likewise.
23647 * partmap/gpt.c: Likewise.
23648 * partmap/msdos.c: Likewise.
23649 * partmap/sun.c: Likewise.
23650 * parttool/msdospart.c: Likewise.
23651 * term/gfxterm.c: Likewise.
23652 * video/bitmap.c: Likewise.
23653 * video/readers/jpeg.c: Likewise.
23654 * video/readers/png.c: Likewise.
23655 * video/readers/tga.c: Likewise.
23656 * video/video.c: Likewise.
23657 * util/grub-emu.c (read_command_list): Removed.
23658 (main): Don't call util_init_nls.
23659 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
23660 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
23661
236622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23663
23664 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
23665 date.mod, datehook.mod.
23666 (datetime_mod_SOURCES): New variable.
23667 (datetime_mod_CFLAGS): Likewise.
23668 (datetime_mod_LDFLAGS): Likewise.
23669 (date_mod_SOURCES): Likewise.
23670 (date_mod_CFLAGS): Likewise.
23671 (date_mod_LDFLAGS): Likewise.
23672 (datehook_mod_SOURCES): Likewise.
23673 (datehook_mod_CFLAGS): Likewise.
23674 (datehook_mod_LDFLAGS): Likewise.
23675 * conf/sparc64-ieee1275.rmk: Likewise.
23676 * lib/ieee1275/datetime.c: New file.
23677
236782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23679
23680 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
23681 (ieee1275_fb_mod_SOURCES): New variable.
23682 (ieee1275_fb_mod_CFLAGS): Likewise.
23683 (ieee1275_fb_mod_LDFLAGS): Likewise.
23684 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
23685 New proto.
23686 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
23687 (HEAP_MAX_ADDR): Likewise.
23688 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
23689 type.
23690 Correct stop condition.
23691 (grub_ieee1275_devices_iterate): New function.
23692 * video/ieee1275.c: New file.
23693
236942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23695
23696 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
23697
23698 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
23699 as scratch.
23700 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
23701 SCRATCH_PAD_DISKBOOT as scratch.
23702 (bootit): Pass Openfirmware pointer in %o4.
23703 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
23704 of 0x200000.
23705 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
23706 with util/grub-mkrawimage.c.
23707 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
23708 * include/grub/aout.h (AOUT_MID_SUN): New definition.
23709 (grub_aout_get_type) [GRUB_UTIL]: Removed.
23710 (grub_aout_load) [GRUB_UTIL]: Likewise.
23711 * include/grub/kernel.h (grub_modules_get_end): New proto.
23712 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
23713 (SCRATCH_PAD_BOOT): New definition.
23714 (SCRATCH_PAD_DISKBOOT): Likewise.
23715 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
23716 * include/grub/sparc64/ieee1275/ieee1275.h
23717 (grub_ieee1275_original_stack): New variable
23718 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23719 New definition
23720 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
23721 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
23722 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
23723 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
23724 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
23725 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
23726 (grub_platform_image_format_t): New type.
23727 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
23728 * kern/main.c (grub_modules_get_end)
23729 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
23730 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
23731 (codestart): Switch stacks.
23732 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
23733 variable.
23734 (grub_heap_init): Use grub_modules_get_end.
23735 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
23736 stack.
23737 * util/grub-mkrawimage.c (generate_image): Support sparc64.
23738 (main): Likewise.
23739 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
23740
237412010-03-14 Thorsten Glaser <tg@mirbsd.org>
23742
23743 * util/grub-mkrescue.in: Base ISO UUID on UTC.
23744
237452010-03-08 Matt Kraai <kraai@ftbfs.org>
23746
23747 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
23748 bug #559005).
23749
237502010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * genmoddep.awk: Output all missing symbols and not only first.
23753
237542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * NEWS: Put the date of 1.98 release.
23757
237582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
23761 ft2build.h.
23762
237632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23764
23765 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
23766 completition in the middle of string.
23767
237682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 * util/grub-mkrescue.in: Use mktemp with explicit template.
23771
237722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
23775
237762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
23779 right pointer.
23780
237812010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Fix FreeBSD compilation.
23784
23785 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
23786 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
23787
237882010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23789
23790 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23791
237922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23793
23794 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23795
237962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23797
23798 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23799
238002010-03-04 Robert Millan <rmh.grub@aybabtu.com>
23801
23802 Support relative image path in theme file.
23803
23804 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
23805 (image_set_property): Handle theme_dir and relative path.
23806
238072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * configure.ac: Alias amd64 to x86_64.
23810
238112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23812
23813 * NEWS: mention multiboot on EFI.
23814
238152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 * kern/main.c (grub_load_modules): Handle errors from init functions of
23818 embeded modules.
23819
238202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * normal/autofs.c (autoload_fs_module): Handle errors.
23823
238242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 Disable linux.mod on qemu-mips since it's not functional and leads
23827 to compilation failure.
23828
23829 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
23830 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
23831 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
23832 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
23833 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
23834 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
23835 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
23836 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
23837 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
23838 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
23839 Reported by: BVK Chaitanya
23840
238412010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
23842
23843 * INSTALL: Add gettext as a dependency and add qemu to a new section
23844 "Prerequisites for make-check".
23845
238462010-03-04 Christian Franke <franke@computer.org>
23847
23848 * util/grub-pe2elf.c: Add missing include "progname.h".
23849
238502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23851
23852 * normal/crypto.c (read_crypto_list): Fix a typo.
23853 Reported by: Seth Goldberg.
23854
238552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
23858 Reported by: Seth Goldberg.
23859
238602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23861
23862 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23863 ascii.bitmaps.
23864
238652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23866
23867 * genmk.rb: Remove terminal*.lst in make clean.
23868 Reported by: Seth Goldberg.
23869
238702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 * util/i386/efi/grub-install.in: Copy gettext files.
23873
238742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23877
238782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23879
23880 Wait for user entry basing on presence of output rather than on errors.
23881
23882 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23883 (grub_install_newline_hook): Likewise.
23884 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23885 * normal/menu.c (show_menu): Check line_counter to determine presence
23886 of output.
23887 * normal/term.c (grub_normal_line_counter): New variable.
23888 (grub_normal_get_line_counter): New function.
23889 (grub_install_newline_hook): Likewise.
23890
238912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23892
23893 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23894
238952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23896
23897 * configure.ac: Update version to 1.98.
23898
238992010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 * util/grub.d/10_linux.in (linux_entry): Don't default to
23902 gfxpayload=keep if Linux doesn't support video handover.
23903
239042010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23905
23906 Don't compile video modules on yeeloong since video subsystem is part
23907 of kernel.
23908
23909 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23910 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23911 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23912 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23913 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23914 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23915 * include/grub/bitmap_scale.h: Likewise.
23916 * include/grub/bufio.h: Likewise.
23917 * include/grub/font.h: Likewise.
23918 * include/grub/gfxterm.h: Likewise.
23919 * include/grub/video.h: Likewise.
23920 * include/grub/vbe.h: Don't include video_fb.h.
23921 * video/i386/pc/vbe.c: Include video_fb.h.
23922 * commands/i386/pc/vbetest.c: Include video.h.
23923
239242010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23925
23926 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23927 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23928 default entry if GRUB_SAVEDEFAULT=true. This allows using
23929 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23930 saving a new default on every boot.
23931
239322010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23933
23934 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23935 * normal/term.c (read_terminal_list): Likewise.
23936 * normal/main.c (grub_normal_init_page): Likewise.
23937 (grub_normal_read_line_real): Likewise.
23938
239392010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23940
23941 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23942 memory leak.
23943 Reported by: Seth Goldberg.
23944
239452010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23946
23947 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23948 duplicate declaration of `start'.
23949
239502010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23951
23952 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23953 filename.
23954 Reported by: Georgy Buranov
23955
239562010-02-20 Carles Pina i Estany <carles@pina.cat>
23957
23958 * util/grub-mkrawimage.c (usage): Change string formatting to
23959 improve gettext.
23960
239612010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23962
23963 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23964 backspace keys.
23965
239662010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23967
23968 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23969 Reported by: Michael Suchanek.
23970
239712010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
23972
23973 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23974 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23975
239762010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23977
23978 Remove any reference to non-free fonts.
23979
23980 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23981 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23982 uses non-free components.
23983 * font/font.c (grub_font_get_name): Remove example name.
23984 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23985 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23986 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23987 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23988
239892010-02-16 Georgy Buranov <gburanov@gmail.com>
23990
23991 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23992
239932010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23994
23995 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23996 Double divisor.
23997 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23998 features.
23999 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24000
240012010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24002
24003 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24004
240052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24006
24007 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24008 * docs/grub.texi (Command-line and menu entry commands): Document play
24009 command.
24010
240112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24012
24013 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24014 parse arguments as inline tempo and notes. Move code for playing notes
24015 to...
24016 (play): ... new function.
24017
240182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24019
24020 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24021 grub_uint16_t instead of short.
24022 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24023 disk from little endian to cpu endianness.
24024
240252010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24026
24027 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24028 GRUB_TICKS_PER_SECOND instead of 120.
24029
240302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24033 escape sequence after \e.
24034
240352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24036
24037 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24038 non-ASCII characters.
24039
240402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24041
24042 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24043 set root in single quotes to prevent \, from being unescaped.
24044
240452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24046
24047 Prevent unknown commands from stopping menuentry execution.
24048
24049 * script/execute.c (grub_script_execute_cmdline): Print error after
24050 unknown command.
24051
240522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24055 Reported by: Pavel Pisa.
24056
240572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24058
24059 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24060
240612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24062
24063 Merge grub_ieee1275_map_physical into grub_map and rename to
24064 grub_ieee1275_map
24065
24066 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24067 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24068 Remove.
24069 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24070 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24071 necessary.
24072 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24073
240742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24075
24076 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24077 opening and not after.
24078
240792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24080
24081 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24082 constants.
24083
240842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24085
24086 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24087 (alloc_phys): Use ALIGN_UP instead of align_addr.
24088
240892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24092
240932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24094
24095 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24096
240972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24100 verbose dprintf.
24101
241022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24103
24104 Fix over-4GiB seek on sparc64.
24105
24106 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24107 Replace pos_i and pos_lo with pos. All users updated.
24108 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24109 New constant.
24110 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24111 Likewise.
24112 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24113 and pos_lo.
24114
241152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24116
24117 * util/grub-mkrawimage.c (main): Call set_program_name.
24118
241192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24120
24121 Properly align 64-bit targets.
24122
24123 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24124 (generate_image): Use ALIGN_ADDR.
24125
241262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24127
24128 Properly create cross-endian images.
24129
24130 * include/grub/types.h (grub_host_to_target_addr): New macro
24131 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24132
241332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24136
241372010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24138
24139 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24140
24141 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24142 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24143 (grub_linux_boot): Divide by 64K when on VESA.
24144
241452010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 Support GRUB_GFXPAYLOAD_LINUX.
24148
24149 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24150 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24151
241522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24153
24154 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
24155 to show messages instead of discarding them.
24156 Process errors after executing command and not before. Keep old method
24157 too as precaution.
24158
241592010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24160
24161 * configure.ac: Check for ft2build.h.
24162
241632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24164
24165 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24166
241672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24168
24169 * genkernsyms.sh.in: Use TARGET_CC.
24170
241712010-02-07 Colin Watson <cjwatson@ubuntu.com>
24172
24173 * NEWS: Update.
24174
241752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24176
24177 * include/grub/multiboot2.h: Remove leftover file.
24178 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24179 * include/grub/partition.h [GRUB_UTIL]: Likewise.
24180
241812010-02-07 Yves Blusseau <blusseau@zetam.org>
24182
24183 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
24184
241852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 Fix warnings in grub-emu when compiling with maximum warning options.
24188
24189 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24190 (grub_arch_modules_addr): Return 0 and not NULL.
24191 * util/misc.c (ENABLE_RELOCATABLE): New definition.
24192 (xstrdup): Use newstr instead of dup.
24193 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24194 of disk to dsk to avoid shadowing.
24195 (find_free_slot): Fix prototype.
24196 * util/getroot.c (grub_util_is_dmraid): Make static.
24197 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24198 Add missing prototype.
24199 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
24200
242012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24202
24203 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24204 appropriately.
24205
242062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24207
24208 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24209 code out.
24210
242112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24212
24213 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24214 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24215 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24216 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24217 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24218 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24219
242202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24221
24222 * include/grub/err.h (grub_err_printf): Don't export.
24223
242242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24227
242282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24229
24230 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24231 * kern/misc.c (grub_gettext_dummy): Make static.
24232
242332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24234
24235 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24236 by non-valid ones.
24237 * kern/term.c (grub_putchar): Likewise.
24238
242392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24240
24241 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
24242 buggy hook call and memory leak.
24243
242442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24245
24246 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
24247
242482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24249
24250 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
24251
242522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
24255 modevar.
24256 Return grub_errno on allocation error.
24257
242582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24259
24260 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
24261
242622010-02-06 Yves Blusseau <blusseau@zetam.org>
24263
24264 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
24265 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
24266
242672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24268
24269 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
24270 non-pxe disk.
24271 (grub_pxefs_open): Likewise.
24272
242732010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 * util/grub.d/10_hurd.in: Add --class information to menuentries.
24276 * util/grub.d/10_kfreebsd.in: Likewise.
24277 * util/grub.d/10_linux.in: Likewise.
24278
242792010-02-06 Colin D Bennett <colin@gibibit.com>
24280
24281 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
24282 (gfxmenu_mod_SOURCES): New variable.
24283 (gfxmenu_mod_CFLAGS): Likewise.
24284 (gfxmenu_mod_LDFLAGS): Likewise.
24285 * include/grub/term.h (grub_term_set_current_output): Declare
24286 argument as const.
24287 * docs/gfxmenu-theme-example.txt: New file.
24288 * gfxmenu/gfxmenu.c: Likewise.
24289 * gfxmenu/gui_box.c: Likewise.
24290 * gfxmenu/gui_canvas.c: Likewise.
24291 * gfxmenu/gui_circular_progress.c: Likewise.
24292 * gfxmenu/gui_image.c: Likewise.
24293 * gfxmenu/gui_label.c: Likewise.
24294 * gfxmenu/gui_list.c: Likewise.
24295 * gfxmenu/gui_progress_bar.c: Likewise.
24296 * gfxmenu/gui_string_util.c: Likewise.
24297 * gfxmenu/gui_util.c: Likewise.
24298 * gfxmenu/icon_manager.c: Likewise.
24299 * gfxmenu/model.c: Likewise.
24300 * gfxmenu/named_colors.c: Likewise.
24301 * gfxmenu/theme_loader.c: Likewise.
24302 * gfxmenu/view.c: Likewise.
24303 * gfxmenu/widget-box.c: Likewise.
24304 * include/grub/gfxmenu_model.h: Likewise.
24305 * include/grub/gfxmenu_view.h: Likewise.
24306 * include/grub/gfxwidgets.h: Likewise.
24307 * include/grub/gui.h: Likewise.
24308 * include/grub/gui_string_util.h: Likewise.
24309 * include/grub/icon_manager.h: Likewise.
24310
243112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 Agglomerate scrolling in gfxterm.
24314
24315 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
24316 (grub_virtual_screen_setup): Initialise 'total_screen'.
24317 (write_char): Split to ...
24318 (paint_char): ... this ...
24319 (write_char): ... and this.
24320 (paint_char): Handle delayed scrolling.
24321 (draw_cursor): Likewise.
24322 (scroll_up): Split to ...
24323 (real_scroll): ... this ...
24324 (scroll_up): ... and this.
24325 (real_scroll): Handle multi-line scroll and draw below-the-bottom
24326 characters.
24327 (grub_gfxterm_refresh): Call real_scroll.
24328
243292010-02-06 Colin D Bennett <colin@gibibit.com>
24330
24331 * include/grub/misc.h (grub_iscntrl): New inline function.
24332 (grub_isalnum): Likewise.
24333 (grub_strtol): Likewise.
24334
243352010-02-06 Colin D Bennett <colin@gibibit.com>
24336
24337 * normal/menu_text.c (get_entry_number): Move from here ...
24338 * normal/menu.c (get_entry_number): ... moved here.
24339 * include/grub/menu.h (grub_menu_get_default_entry_index):
24340 New prototype.
24341 * normal/menu.c (grub_menu_get_default_entry_index): New function.
24342 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
24343 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
24344 (grub_menu_viewer_should_return): Likewise.
24345 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24346 * normal/menu_text.c (run_menu): Enable menu switching.
24347 * normal/menu_viewer.c (should_return): New variable.
24348 (menu_viewer_changed): Likewise.
24349 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24350 (grub_menu_viewer_should_return): New function.
24351 (menuviewer_write_hook): Likewise.
24352 (grub_menu_viewer_init): Likewise.
24353
243542010-02-06 Colin D Bennet <colin@gibibit.com>
243552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 Support for gfxterm in a window.
24358
24359 * include/grub/gfxterm.h: New file.
24360 * include/grub/video.h (struct grub_video_rect): New declaration.
24361 (grub_video_rect_t): Likewise.
24362 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24363 (refcount): New variable.
24364 (render_target): Likewise.
24365 (window): Likewise.
24366 (repaint_callback): Likewise.
24367 (grub_virtual_screen_setup): Use 'render_target'.
24368 (init_window): New function.
24369 (grub_gfxterm_init_window): Likewise.
24370 (grub_gfxterm_init): Check reference counter.
24371 Use init_window.
24372 (destroy_window): New function.
24373 (grub_gfxterm_destroy_window): Likewise.
24374 (grub_gfxterm_fini): Check reference counter.
24375 Use destroy_window.
24376 (redraw_screen_rect): Restore viewport.
24377 Use 'render_target' and 'window'.
24378 Call 'repaint_callback'.
24379 (write_char): Use 'render_target'.
24380 (draw_cursor): Likewise.
24381 (scroll_up): Restore viewport.
24382 Use 'render_target' and 'window'.
24383 Call 'repaint_callback'.
24384 (grub_gfxterm_cls): Likewise.
24385 (grub_gfxterm_refresh): Use 'window'.
24386 (grub_gfxterm_set_repaint_callback): New function.
24387 (grub_gfxterm_background_image_cmd): Use 'window'.
24388 (grub_gfxterm_get_term): New function.
24389 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24390
243912010-02-06 Colin D Bennett <colin@gibibit.com>
24392
24393 Bitmap scaling support.
24394
24395 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24396 (bitmap_scale_mod_SOURCES): New variable.
24397 (bitmap_scale_mod_CFLAGS): Likewise.
24398 (bitmap_scale_mod_LDFLAGS): Likewise.
24399 * include/grub/bitmap_scale.h: New file.
24400 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24401 (background_image_cmd_options): New variable.
24402 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24403 (cmd): Rename and change type to ...
24404 (background_image_cmd_handle): ... this. All users updated.
24405 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24406 * video/bitmap_scale.c: New file.
24407
244082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 SDL support.
24411
24412 * Makefile.in (LIBSDL): New variable.
24413 (enable_grub_emu_sdl): Likewise.
24414 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24415 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24416 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24417 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24418 * util/sdl.c: New file.
24419
244202010-02-06 Colin D Bennett <colin@gibibit.com>
244212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24422
24423 Double buffering support.
24424
24425 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24426 * include/grub/video.h: Update comment.
24427 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24428 New type.
24429 (grub_video_fb_doublebuf_blit_init): New prototype.
24430 * term/gfxterm.c (scroll_up): Support double buffering.
24431 (grub_gfxterm_refresh): Likewise.
24432 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24433 (grub_video_fb_doublebuf_blit_init): Likewise.
24434 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24435 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24436 'displayed_page', 'render_page' and 'update_screen'.
24437 (grub_video_vbe_fini): Free offscreen buffer.
24438 (doublebuf_pageflipping_commit): New function.
24439 (doublebuf_pageflipping_update_screen): Likewise.
24440 (doublebuf_pageflipping_init): Likewise.
24441 (double_buffering_init): Likewise.
24442 (grub_video_vbe_setup): Enable doublebuffering.
24443 (grub_video_vbe_swap_buffers): Implement.
24444 (grub_video_vbe_set_active_render_target): Handle double buffering.
24445 (grub_video_vbe_get_active_render_target): Likewise.
24446 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24447 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24448 (grub_video_vbe_enable_double_buffering): Likewise.
24449 (grub_video_vbe_swap_buffers): Use update_screen.
24450 (grub_video_set_mode): Use double buffering.
24451
244522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24453
24454 * maintainance/gentrigtables.py: Remove.
24455 * lib/trig.c: Likewise.
24456
24457 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24458
24459 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24460 `trigtables.c'.
24461 (trigtables.c): New rule.
24462 (gentrigtables): Likewise.
24463 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24464
244652010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24466
24467 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24468 integer constants.
24469
244702010-02-06 Colin D Bennet <colin@gibibit.com>
24471
24472 Trigonometry support.
24473
24474 * include/grub/trig.h: New file.
24475 * lib/trig.c: Likewise.
24476 * maintainance/gentrigtables.py: Likewise.
24477 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24478 (trig_mod_SOURCES): New variable.
24479 (trig_mod_CFLAGS): Likewise.
24480 (trig_mod_LDFLAGS): Likewise.
24481
244822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24483
24484 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24485 disk devices.
24486
244872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24490 error.
24491
244922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24493
24494 * util/hostdisk.c (open_device): Don't use partition device when reading
24495 before the partition.
24496 (grub_util_biosdisk_read): Don't read from partition and before the
24497 partition in single operation.
24498 (grub_util_biosdisk_write): Don't write to partition and before the
24499 partition in single operation.
24500
245012010-02-03 Torsten Landschoff <torsten@debian.org>
24502
24503 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24504 last sectors.
24505
245062010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24507
24508 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24509 CDROM reads.
24510 (grub_biosdisk_write): Refuse to write to CDROM.
24511
245122010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24515
245162010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * font/font.c (find_glyph): Check that bmp_idx is available before
24519 using it.
24520 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
24521 with (font == NULL).
24522
245232010-01-28 Christian Schmitt <chris@ilovelinux.de>
24524
24525 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24526
245272010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
24528
24529 * include/grub/script_sh.h (sourcecode): Add const qualifier.
24530 * util/grub-script-check.c (getline): Fix empty lines case.
24531
245322010-01-28 Robert Millan <rmh.grub@aybabtu.com>
24533
24534 * Makefile.in (check): Exit with fail status when one of the tests
24535 fails.
24536 * tests/example_functional_test.c (example_test): Fix reversed assert.
24537 * tests/example_unit_test.c (example_test): Likewise.
24538
245392010-01-28 Colin Watson <cjwatson@ubuntu.com>
24540
24541 * util/grub.d/10_linux.in: This script does not use any of the
24542 contents of gettext.sh, only the external command `gettext', so stop
24543 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
24544 the same prefix as GRUB.)
24545 * util/grub.d/10_kfreebsd.in: Likewise.
24546
245472010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
24550 of the line.
24551
245522010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24553
24554 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24555 last sectors.
24556
245572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24558
24559 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
24560 having a 4KiB and not 32KiB buffer size.
24561
245622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24563
24564 * util/hostfs.c: Include `<errno.h>'.
24565 (grub_hostfs_read): Handle errors from fseeko() and fread().
24566
245672010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24568
24569 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24570 loop when using read hooks on files whose size isn't sector-aligned.
24571
245722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24573
24574 Remove unused parameter.
24575
24576 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
24577 (grub_iso9660_open): Remove initialization of `data->length'.
24578
245792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24580
24581 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
24582 memleak conditions.
24583
245842010-01-27 Carles Pina i Estany <carles@pina.cat>
24585
24586 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
24587 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
24588
245892010-01-26 Carles Pina i Estany <carles@pina.cat>
24590
24591 * util/bin2h.c (usage): Fix warning (space after backslash).
24592
245932010-01-26 Carles Pina i Estany <carles@pina.cat>
24594
24595 * font/font.c: Include `grub/fontformat.h.
24596 Remove font file format constants.
24597 (grub_font_load): Use the new macros.
24598 * include/grub/fontformat.h: New file.
24599 * util/grub-mkfont.c: Include `grub/fontformat.c'.
24600 (write_font_pf2): Use the new macros.
24601
246022010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24603
24604 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
24605 does.
24606
246072010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24608
24609 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
24610
24611 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
24612 (_start): Macroify `0x7F'.
24613
24614 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
24615 (make_install_device): Use "(pxe)" as fallback prefix when booting
24616 via PXE.
24617
246182010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
24619
24620 * configure.ac: Reset LIBS after check for libgcc symbols.
24621
246222010-01-25 Colin Watson <cjwatson@ubuntu.com>
24623
24624 * util/hostdisk.c (open_device): Add trailing newline to debug
24625 message.
24626
246272010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
24628
24629 * configure.ac: Check for `limits.h'.
24630 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
24631
246322010-01-24 Robert Millan <rmh.grub@aybabtu.com>
24633
24634 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
24635 capitalize error strings.
24636
246372010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
24638
24639 * util/grub.d/10_hurd.in: Add a recovery mode.
24640
246412010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
24642
24643 * configure.ac: Check for libgcc symbols with -nostdlib.
24644
246452010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
24646
24647 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
24648
246492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24650
24651 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
24652 stack since heap may be unavailable at that point.
24653 (grub_ofconsole_gotoxy): Likewise.
24654
246552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24656
24657 * configure.ac: Check for _restgpr_14_x.
24658 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
24659 and _savegpr_* prototypes.
24660
246612010-01-22 Robert Millan <rmh.grub@aybabtu.com>
24662
24663 Use generic grub_reboot() for i386-efi.
24664
24665 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
24666 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
24667 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
24668
246692010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24670
24671 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
24672 presence of "prefix" variable as it breaks when normal.mod is
24673 embedded.
24674
246752010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24676
24677 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
24678 stack since heap is unavailable at that point.
24679
246802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24681
24682 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
24683 (grub_freebsd_bootinfo): Rewritten.
24684 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
24685
246862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24687
24688 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
24689
246902010-01-21 Robert Millan <rmh.grub@aybabtu.com>
24691
24692 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
24693 domain now.
24694
246952010-01-20 Felix Zielcke <fzielcke@z-51.de>
24696
24697 * util/misc.c (make_system_path_relative_to_its_root): Change the work
24698 around for handling "/" to the correct fix. Fix a memory leak. Use
24699 xstrdup instead of strdup.
24700
247012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24702
24703 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
24704
247052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24706
24707 Optimise glyph lookup by Basic Multilingual Plane lookup array.
24708
24709 * font/font.c (struct grub_font): New member 'bmp_idx'.
24710 (font_init): Initialise 'bmp_idx'.
24711 (load_font_index): Fill 'bmp_idx'.
24712 (find_glyph): Make inline. Use bmp_idx for BMP characters.
24713
247142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
24717 unnecessary calls.
24718
247192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24720
24721 Move context handling out of the kernel.
24722
24723 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
24724 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
24725 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
24726 * conf/i386-efi.rmk: Likewise.
24727 * conf/i386-ieee1275.rmk: Likewise.
24728 * conf/i386-pc.rmk: Likewise.
24729 * conf/powerpc-ieee1275.rmk: Likewise.
24730 * conf/sparc64-ieee1275.rmk: Likewise.
24731 * conf/x86_64-efi.rmk: Likewise.
24732 * include/grub/env.h: Include grub/menu.h.
24733 (grub_env_var_type): Removed.
24734 (grub_env_var): Replaced field 'type' with 'global'.
24735 (grub_env_find): New prototype.
24736 (grub_env_context_open): Remove EXPORT_FUNC.
24737 (grub_env_context_close): Likewise.
24738 (grub_env_export): Likewise.
24739 (grub_env_set_data_slot): Removed.
24740 (grub_env_get_data_slot): Likewise.
24741 (grub_env_unset_data_slot): Likewise.
24742 (grub_env_unset_menu): New prototype.
24743 (grub_env_set_menu): Likewise.
24744 (grub_env_get_menu): Likewise.
24745 * include/grub/env_private.h: New file.
24746 * include/grub/normal.h (grub_context_init): New prototype.
24747 (grub_context_fini): Likewise.
24748 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
24749 * normal/context.c (grub_cmd_export): ... to here.
24750 * kern/env.c: Include env_private.h.
24751 (HASHSZ): Moved to include/grub/env_private.h.
24752 (grub_env_context): Likewise.
24753 (grub_env_sorted_var): Likewise.
24754 (current_context): Renamed from this ...
24755 (grub_current_context): ...to this. 'static' removed. All users updated.
24756 (grub_env_find): Removed 'static'.
24757 (grub_env_context_open): Moved to normal/context.c.
24758 (grub_env_context_close): Likewise.
24759 (grub_env_export): Likewise.
24760 (mangle_data_slot_name): Removed.
24761 (grub_env_set_data_slot): Likewise.
24762 (grub_env_get_data_slot): Likewise.
24763 (grub_env_unset_data_slot): Likewise.
24764 * kern/main.c (grub_set_root_dev): Don't export root.
24765 It will be done later.
24766 (grub_main): Don't export prefix.
24767 It will be done later.
24768 * normal/context.c: New file.
24769 * normal/main.c (free_menu): Use grub_env_unset_menu.
24770 (grub_normal_add_menu_entry): Use grub_env_get_menu.
24771 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
24772 (GRUB_MOD_INIT(normal)): Call grub_context_init.
24773 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
24774
247752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 setpci support.
24778
24779 * commands/setpci.c: New file.
24780 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
24781 (setpci_mod_SOURCES): New variable.
24782 (setpci_mod_CFLAGS): Likewise.
24783 (setpci_mod_LDFLAGS): Likewise.
24784
247852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 Byte-addressable PCI configuration space.
24788
24789 * bus/pci.c (grub_pci_make_address): Use byte address instead of
24790 dword address.
24791 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
24792 GRUB_PCI_REG_CACHELINE.
24793 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
24794 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
24795 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
24796 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
24797 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
24798 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
24799 grub_pci_make_address.
24800 (lock_rom_area): Likewise.
24801 * commands/lspci.c (grub_lspci_iter): Use macroses
24802 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
24803 of grub_pci_make_address.
24804 * disk/ata.c (grub_ata_pciinit): Likewise.
24805 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
24806 (GRUB_PCI_REG_VENDOR): Likewise.
24807 (GRUB_PCI_REG_DEVICE): Likewise.
24808 (GRUB_PCI_REG_COMMAND): Likewise.
24809 (GRUB_PCI_REG_STATUS): Likewise.
24810 (GRUB_PCI_REG_REVISION): Likewise.
24811 (GRUB_PCI_REG_CLASS): Likewise.
24812 (GRUB_PCI_REG_CACHELINE): Likewise.
24813 (GRUB_PCI_REG_LAT_TIMER): Likewise.
24814 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
24815 (GRUB_PCI_REG_BIST): Likewise.
24816 (GRUB_PCI_REG_ADDRESSES): Likewise.
24817 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24818 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24819 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24820 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24821 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24822 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24823 (GRUB_PCI_REG_CIS_POINTER): Likewise.
24824 (GRUB_PCI_REG_SUBVENDOR): Likewise.
24825 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
24826 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
24827 (GRUB_PCI_REG_CAP_POINTER): Likewise.
24828 (GRUB_PCI_REG_IRQ_LINE): Likewise.
24829 (GRUB_PCI_REG_IRQ_PIN): Likewise.
24830 (GRUB_PCI_REG_MIN_GNT): Likewise.
24831 (GRUB_PCI_REG_MAX_LAT): Likewise.
24832 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
24833 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
24834 * video/efi_uga.c (find_framebuf): Likewise.
24835 * video/sm712.c (grub_video_sm712_setup): Likewise.
24836 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24837 space.
24838
248392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24840
24841 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
24842 can be reliably determined to be supported.
24843
248442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24845
24846 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
24847 that VESA is supported.
24848 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
24849 supported.
24850
248512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24854
248552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24856
24857 * util/misc.c (make_system_path_relative_to_its_root): Work around
24858 special-casing of "/", as previous incarnation of this routine did.
24859
248602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24861
24862 Fix any-emu compilation.
24863
24864 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
24865 * grub_bin2h_SOURCES: New variable.
24866
248672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24868
24869 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24870
248712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24872
24873 * util/grub.d/00_header.in: Fix handling of locale_dir.
24874
248752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24876
24877 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24878 as possible unifont location (Gentoo).
24879 Reported by: Alexander Brüning
24880
248812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 Don't try to generate lists for kernel.img.
24884
24885 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24886 (pkglib_MODULES): Remove kernel.img.
24887 (kernel_img_EXPORTS): Removed.
24888 (kernel_img_RELOCATABLE): New variable.
24889 * conf/x86_64-efi.rmk: Likewise.
24890 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24891
248922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24895 grub_xasprintf or grub_snprintf.
24896 (grub_vsprintf): Likewise.
24897 (grub_snprintf): New proto.
24898 (grub_vsnprintf): Likewise.
24899 (grub_xasprintf): Likewise.
24900 (grub_xvasprintf): Likewise.
24901 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24902 (grub_sprintf): Removed.
24903 (grub_vsnprintf): New function.
24904 (grub_snprintf): Likewise.
24905 (grub_xvasprintf): Likewise.
24906 (grub_xasprintf): Likewise.
24907 (grub_vsprintf): Renamed to ...
24908 (grub_vsnprintf_real): ...this. New argument max_len.
24909
249102010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24911
24912 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24913 fix grub-script-check warning.
24914
249152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * include/grub/font.h (grub_font_load): Fix prototype.
24918
249192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24922
249232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24924
24925 * include/grub/x86_64/at_keyboard.h: New file.
24926
249272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 * loader/mips/linux.c: Include missing grub/i18n.h.
24930
249312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24932
24933 * normal/menu.c (notify_execution_failure): Clarify error message.
24934
249352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24936
24937 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24938 return value (and revert all return statements). Update users.
24939
249402010-01-20 Dan Merillat <debian@dan.merillat.org>
24941
24942 * kern/device.c (grub_device_iterate): Allocate new part_ent
24943 structure based on sizeof (*p) rather than sizeof (p->next), to
24944 account for structure padding.
24945
24946 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24947 disk is NULL, which might happen for LVM physical volumes with no
24948 LVM signature.
24949
249502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24951
24952 * loader/mips/linux.c (grub_cmd_initrd)
24953 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24954
249552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24956
24957 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24958 (grub_video_video_init, grub_video_bitmap_init)
24959 (grub_font_manager_init, grub_term_gfxterm_init)
24960 (grub_at_keyboard_init): New extern declarations.
24961 (grub_machine_init): Initialize gfxterm and at_keyboard.
24962
24963 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24964
24965 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24966 `gfxterm.mod' into core image.
24967
24968 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24969 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24970 (kernel_img_FORMAT): Copy to ...
24971
24972 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24973 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24974 (kernel_img_FORMAT): ... here, and ...
24975
24976 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24977 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24978 (kernel_img_FORMAT): ... here.
24979
24980 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24981 and input (at_keyboard) terminals in kernel.
24982 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24983
24984 (pkglib_MODULES): Remove `pci.mod'.
24985 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24986 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24987 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24988 (at_keyboard_mod_LDFLAGS): Remove variables.
24989
249902010-01-11 Felix Zielcke <fzielcke@z-51.de>
24991
24992 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24993
249942009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24995
24996 * include/grub/mips/libgcc.h: Only export symbols for functions
24997 that libgcc provides.
24998
249992009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25000
25001 MIPS support.
25002
25003 * bus/bonito.c: New file.
25004 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25005 GRUB_PCI_NUM_DEVICES.
25006 * term/i386/pc/serial.c: Move to ...
25007 * term/serial.c: ... here. All users updated.
25008 * util/i386/pc/grub-mkimage.c: Move to ...
25009 * util/grub-mkrawimage.c: ... here. All users updated.
25010 * term/i386/pc/at_keyboard.c: Move to ...
25011 * term/at_keyboard.c: ... here. All users updated.
25012 * conf/mips-qemu-mips.rmk: New file.
25013 * conf/mips-yeeloong.rmk: Likewise.
25014 * conf/mips.rmk: Likewise.
25015 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25016 mipsel-qemu-mips.
25017 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25018 to port addresses.
25019 (grub_ata_pciinit): Support CS5536.
25020 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25021 * font/font_cmd.c (loadfont_command): Open file before passing it to
25022 grub_font_load.
25023 (pseudo_file_read): New function.
25024 (pseudo_file_close): Likewise.
25025 (pseudo_fs): New structure.
25026 (load_font_module): New function.
25027 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25028 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25029 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25030 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25031 * include/grub/i386/at_keyboard.h: Split into ...
25032 * include/grub/at_keyboard.h: ... this ...
25033 * include/grub/i386/at_keyboard.h: ... and this.
25034 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25035 New prototype.
25036 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25037 updated.
25038 (grub_elf64_size): Likewise.
25039 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25040 filename.
25041 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25042 * include/grub/i386/coreboot/serial.h: Rewritten.
25043 * include/grub/i386/ieee1275/serial.h: Include
25044 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25045 * include/grub/i386/pc/serial.h: Moved from here ...
25046 * include/grub/serial.h: ... to here. All users updated.
25047 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25048 (GRUB_PCI_NUM_BUS): Likewise.
25049 (GRUB_PCI_NUM_DEVICES): Likewise.
25050 (grub_pci_device_map_range): Add missing volatile keyword.
25051 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25052 * include/grub/mips/at_keyboard.h: New file.
25053 * include/grub/mips/cache.h: Likewise.
25054 * include/grub/mips/io.h: Likewise.
25055 * include/grub/mips/kernel.h: Likewise.
25056 * include/grub/mips/libgcc.h: Likewise.
25057 * include/grub/mips/pci.h: Likewise.
25058 * include/grub/mips/qemu-mips/boot.h: Likewise.
25059 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25060 * include/grub/mips/qemu-mips/loader.h: Likewise.
25061 * include/grub/mips/qemu-mips/memory.h: Likewise.
25062 * include/grub/mips/qemu-mips/serial.h: Likewise.
25063 * include/grub/mips/qemu-mips/time.h: Likewise.
25064 * include/grub/mips/relocator.h: Likewise.
25065 * include/grub/mips/time.h: Likewise.
25066 * include/grub/mips/types.h: Likewise.
25067 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25068 * include/grub/mips/yeeloong/boot.h: Likewise.
25069 * include/grub/mips/yeeloong/kernel.h: Likewise.
25070 * include/grub/mips/yeeloong/loader.h: Likewise.
25071 * include/grub/mips/yeeloong/memory.h: Likewise.
25072 * include/grub/mips/yeeloong/pci.h: Likewise.
25073 * include/grub/mips/yeeloong/serial.h: Likewise.
25074 * include/grub/mips/yeeloong/time.h: Likewise.
25075 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25076 * kern/elf.c (grub_elf32_size): New parameter. All users
25077 updated.
25078 (grub_elf64_size): Likewise.
25079 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25080 Load modules before saying "Welcome to GRUB!".
25081 Call grub_refresh after saying "Welcome to GRUB!".
25082 * kern/mips/cache.S: New file.
25083 * kern/mips/cache_flush.S: Likewise.
25084 * kern/mips/dl.c: Likewise.
25085 * kern/mips/init.c: Likewise.
25086 * kern/mips/qemu-mips/init.c: Likewise.
25087 * kern/mips/startup.S: Likewise.
25088 * kern/mips/yeeloong/init.c: Likewise.
25089 * kern/term.c (grub_putcode): Handle NULL terminal.
25090 (grub_getcharwidth): Likewise.
25091 (grub_getkey): Likewise.
25092 (grub_checkkey): Likewise.
25093 (grub_getkeystatus): Likewise.
25094 (grub_getxy): Likewise.
25095 (grub_getwh): Likewise.
25096 (grub_gotoxy): Likewise.
25097 (grub_cls): Likewise.
25098 (grub_setcolorstate): Likewise.
25099 (grub_setcolor): Likewise.
25100 (grub_getcolor): Likewise.
25101 (grub_refresh): Likewise.
25102 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25103 (write_jump): Add hatch nop.
25104 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25105 * lib/mips/setjmp.S: New file.
25106 * loader/mips/linux.c: Likewise.
25107 * term/i386/pc/at_keyboard.c: Move from here ...
25108 * term/at_keyboard.c: ... to here.
25109 * term/i386/pc/serial.c: Moved from here ...
25110 * term/serial.c: ... to here. All users updated.
25111 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25112 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25113 (serial_translate_key_sequence): Avoid deadlock.
25114 (grub_serial_getkey): Handle backspace.
25115 (grub_serial_putchar): Fix newline handling.
25116 * util/i386/pc/grub-mkimage.c: Move from here ...
25117 * util/grub-mkrawimage.c: ... to here. All users updated.
25118 (generate_image): New parameters 'font_path' and 'format'.
25119 Support embedding font.
25120 Use grub_host_to_target* instead of grub_cpu_to_le*.
25121 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25122 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25123 (options): New option "--font".
25124 (usage): Likewise.
25125 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25126 (main): Handle "--font".
25127 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25128 (grub_virtual_screen_setup): Set bg_color_display.
25129 (redraw_screen_rect): Use bg_color_display instead of incorrect
25130 bg_color.
25131 (grub_gfxterm_cls): Likewise.
25132 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25133 Support embedding config file.
25134 (add_segments): Likewise.
25135 (options): New option "--config".
25136 (main): Handle "--config".
25137 * video/sm712.c: New file.
25138
251392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25140
25141 Fix parallel builds.
25142
25143 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25144 font.c depend on ascii.h).
25145
251462010-01-12 Carles Pina i Estany <carles@pina.cat>
25147
25148 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25149
251502010-01-11 Carles Pina i Estany <carles@pina.cat>
25151
25152 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
25153 By default: disabled.
25154 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
25155 parameter.
25156
251572010-01-10 Carles Pina i Estany <carles@pina.cat>
25158
25159 * font/font.c: Update copyright years.
25160 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
25161
251622010-01-10 Carles Pina i Estany <carles@pina.cat>
25163
25164 * font/font.c: Include `ascii.h'.
25165 (ASCII_BITMAP_SIZE): New macro.
25166 (ascii_font_glyph): Define.
25167 (ascii_glyph_lookup): New function.
25168 (grub_font_get_string_width): Change comment. If glyph not found, use
25169 ascii_glyph_lookup.
25170 (grub_font_get_glyph_with_fallback): If glyph not available returns
25171 ascii_glyph_lookup.
25172 * util/grub-mkfont.c (file_formats): New enum.
25173 (options): Add `ascii-bitmaps' new option.
25174 (usage): Add `asii-bitmaps' new option.
25175 (write_font_ascii_bitmap): New function.
25176 (write_font): Rename to ...
25177 (write_font_p2): ... this. Remove print_glyphs call.
25178 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25179 used. Call print_glyphs.
25180 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25181
251822010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25183
25184 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25185 (grub_bin2h_SOURCES): New variable.
25186 * util/bin2h.c: New file.
25187
251882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25189
25190 * include/multiboot.h: Resynced with spec.
25191 * include/multiboot2.h: Likewise.
25192 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25193 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25194
251952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25196
25197 * include/grub/term.h (grub_term_register_input,
25198 grub_term_register_output): Check return of terminal init()
25199 routines, and abort if errors are raised.
25200
25201 * commands/terminal.c: Update copyright year.
25202
252032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25204
25205 * commands/terminal.c (grub_cmd_terminal_input)
25206 (grub_cmd_terminal_output): Check return of terminal init()
25207 routines, and abort if errors are raised.
25208
252092010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 * include/grub/i386/bsd.h: Fix include pathes.
25212
252132010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25214
25215 Add missing *BSD copyright headers.
25216
25217 * include/grub/aout.h: Add BSD licence.
25218 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25219 * include/grub/i386/freebsd_linker.h: ... here,
25220 * include/grub/i386/freebsd_reboot.h: ... here,
25221 * include/grub/i386/netbsd_bootinfo.h: ... here,
25222 * include/grub/i386/netbsd_reboot.h: ... here,
25223 * include/grub/i386/openbsd_bootarg.h: ... here,
25224 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25225 licence to each file.
25226
252272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25228
25229 * acinclude.m4: Remove `nop' assembly instruction; it's not
25230 implemented by all architectures.
25231
252322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25233
25234 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25235 ELILO. This is no longer necessary.
25236
252372010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
25238
25239 Added new tool, grub-scrit-check to verify grub.cfg syntax.
25240
25241 * util/grub-script-check.c: grub-script-check tool.
25242 * conf/common.rmk: Make rules for grub-script-check.
25243
252442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25245
25246 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
25247 spotting it back in 2008. Shame on me for forgetting he did.
25248
25249 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
25250
252512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25252
25253 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
25254 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
25255 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
25256 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
25257 (GRUB_VIDEO_TYPE_EFI): Rename to ...
25258 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
25259
252602010-01-17 Robert Millan <rmh.grub@aybabtu.com>
25261
25262 * include/grub/test.h: Add license header.
25263 * tests/example_functional_test.c: Likewise.
25264 * tests/example_unit_test.c: Likewise.
25265 * tests/lib/functional_test.c: Likewise.
25266 * tests/lib/test.c: Likewise.
25267 * tests/lib/unit_test.c: Likewise.
25268
252692010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
25270
25271 Use flag-based instead of hook-based video mode selection and "auto"
25272 keyword.
25273
25274 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
25275 (grub_video_set_mode): Changed prototype. All users updated.
25276 (grub_video_check_mode_flag): New inline function.
25277 * video/video.c (parse_modespec): New function.
25278 (grub_video_set_mode): Parse flags and keywords.
25279
252802010-01-17 Carles Pina i Estany <carles@pina.cat>
25281
25282 * util/misc.c (grub_util_info): Fix the order of the parameters in a
25283 fprintf call.
25284
252852010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
25286
25287 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
25288
252892010-01-16 Carles Pina i Estany <carles@pina.cat>
25290
25291 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
25292 string.
25293 * util/grub-emu.c (usage): Likewise.
25294 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
25295 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25296 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25297 * util/i386/pc/grub-setup.c (usage): Likewise.
25298
252992010-01-16 Carles Pina i Estany <carles@pina.cat>
25300
25301 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
25302 the message.
25303 (grub_util_info): Likewise.
25304 (grub_util_error): Likewise.
25305 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
25306 and/or new lines in `grub_util_warna', `grub_util_info',
25307 `grub_util_error' calls.
25308 * util/getroot.c: Likewise.
25309 * util/grub-editenv.c: Likewise.
25310 * util/grub-emu.c: Likewise.
25311 * util/grub-fstest.c: Likewise.
25312 * util/grub-mkdevicemap.c: Likewise.
25313 * util/grub-mkfont.c: Likewise.
25314 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25315 * util/grub-mkrelpath.c: Likewise.
25316 * util/grub-pe2elf.c: Likewise.
25317 * util/grub-probe.c: Likewise.
25318 * util/hostdisk.c: Likewise.
25319 * util/i386/efi/grub-mkimage.c: Likewise.
25320 * util/i386/pc/grub-mkimage.c: Likewise.
25321 * util/i386/pc/grub-setup.c: Likewise.
25322 * util/ieee1275/ofpath.c: Likewise.
25323 * util/mkisofs/eltorito.c: Likewise.
25324 * util/mkisofs/rock.c: Likewise.
25325 * util/mkisofs/write.c: Likewise.
25326 * util/raid.c: Likewise.
25327 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25328 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25329
253302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 Enable multiboot on non-pc.
25333
25334 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
25335 multiboot.mod and multiboot2.mod to ...
25336 * conf/i386.rmk (pkglib_MODULES): ... here.
25337 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
25338 Moved to ...
25339 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
25340 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
25341 Moved to ...
25342 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
25343 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
25344 Moved to ...
25345 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25346 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25347 Moved to ...
25348 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25349 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25350 relocator.mod.
25351 (ata_mod_SOURCES): Removed.
25352 (ata_mod_CFLAGS): Likewise.
25353 (ata_mod_LDFLAGS): Likewise.
25354 (relocator_mod_SOURCES): Removed.
25355 (relocator_mod_CFLAGS): Likewise.
25356 (relocator_mod_ASFLAGS): Likewise.
25357 (relocator_mod_LDFLAGS): Likewise.
25358 Include i386.mk.
25359 * include/grub/x86_64/multiboot.h: New file.
25360 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25361 Terminate EFI.
25362
253632010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25364
25365 Video multiboot support.
25366
25367 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25368 New prototype.
25369 * include/multiboot.h: Resynced with multiboot specification.
25370 * include/multiboot2.h: Likewise.
25371 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25372 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25373 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25374 (HAS_VGA_TEXT): Likewise.
25375 (accepts_video): New variable.
25376 (grub_multiboot_set_accepts_video): New function.
25377 (grub_multiboot_get_mbi_size): Account for video structures.
25378 (set_video_mode): New function.
25379 (retrieve_video_parameters): Likewise.
25380 (grub_multiboot_make_mbi): Fill video fields.
25381
253822010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25383
25384 Video driver ids.
25385
25386 * include/grub/video.h (grub_video_driver_id): New type.
25387 (grub_video_adapter): New member 'id'. All users updated.
25388 (grub_video_get_driver_id): New proto.
25389 * video/video.c (grub_video_get_driver_id): New function.
25390
253912010-01-14 Carles Pina i Estany <carles@pina.cat>
25392
25393 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25394 `var=val'.
25395
253962010-01-14 Carles Pina i Estany <carles@pina.cat>
25397
25398 * normal/cmdline.c (print_completion): Gettextizze.
25399
254002001-01-14 Carles Pina i Estany <carles@pina.cat>
25401
25402 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25403
254042010-01-14 Carles Pina i Estany <carles@pina.cat>
25405
25406 * gettext/gettext.c (grub_gettext_translate): Push and pop
25407 grub_errno.
25408 (grub_gettext_delete_list): Change comment style.
25409 * kern/err.c (grub_error): Gettextizze.
25410 (grub_fatal): Gettextizze.
25411
254122010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25413
25414 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25415 (grub_linux16_real_boot): ... this.
25416 * kern/i386/loader.S: Likewise.
25417 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25418 (grub_linux16_boot): New function. Switches to text mode and calls
25419 grub_linux16_real_boot().
25420
25421 * loader/i386/bsd.c: Include `<grub/video.h>'.
25422 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25423 text mode before calling grub_unix_real_boot().
25424
25425 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25426 (grub_multiboot_boot): Switch to text mode before calling
25427 grub_relocator32_boot().
25428
25429 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25430 (grub_chainloader_boot): Switch to text mode before calling
25431 grub_chainloader_real_boot().
25432
254332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
254342010-01-05 Colin Watson <cjwatson@ubuntu.com>
25435
25436 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25437 non-empty value.
25438
254392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
254402010-01-05 Colin Watson <cjwatson@ubuntu.com>
25441
25442 * util/grub.d/00_header.in: Define a "savedefault" function for use
25443 in menu entries.
25444 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25445
254462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
254472010-01-05 Colin Watson <cjwatson@ubuntu.com>
25448
25449 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25450 saved_entry if boot_once is unset.
25451 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25452 previous saved entry (i.e. grub-reboot).
25453
254542009-12-08 Colin Watson <cjwatson@ubuntu.com>
25455
25456 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25457
254582009-12-08 Colin Watson <cjwatson@ubuntu.com>
25459
25460 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25461 `var=val'.
25462 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25463
254642009-12-08 Colin Watson <cjwatson@ubuntu.com>
25465
25466 * util/grub-reboot.in: Fix --version output.
25467 * util/grub-set-default.in: Likewise.
25468
254692009-12-08 Colin Watson <cjwatson@ubuntu.com>
25470
25471 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25472 blocks.
25473
254742009-12-08 Colin Watson <cjwatson@ubuntu.com>
25475
25476 * util/grub.d/00_header.in: Quote the value assigned to `default',
25477 in case it contains spaces.
25478
254792009-12-08 Colin Watson <cjwatson@ubuntu.com>
25480
25481 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25482 `save_default_entry' call from the macosx case to the linux case.
25483
254842009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
254852009-10-25 Colin Watson <cjwatson@ubuntu.com>
25486
25487 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25488 in `chosen' environment variable.
25489 * normal/menu_text.c (get_entry_number): Check if the variable
25490 matches the title of a menu entry.
25491 (run_menu): Pass menu to get_entry_number.
25492
25493 * util/grub-reboot.in: New file.
25494 * util/grub-set-default.in: New file.
25495 * conf/common.rmk (grub-reboot): New utility.
25496 (grub-set-default): New utility.
25497
25498 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25499 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25500 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25501 move it to `saved_entry' for the next boot. Load environment on
25502 initialisation.
25503 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25504 * util/grub.d/10_hurd.in: Likewise.
25505 * util/grub.d/10_linux.in (linux_entry): Likewise.
25506 * util/grub.d/10_windows.in: Likewise.
25507 * util/grub.d/30_os-prober.in: Likewise.
25508
25509 * util/grub-install.in: Create environment block.
25510 * util/i386/efi/grub-install.in: Likewise.
25511 * util/ieee1275/grub-install.in: Likewise.
25512 * util/sparc64/ieee1275/grub-install.in: Likewise.
25513
255142010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25515
25516 Unit testing framework for GRUB.
25517
25518 * Makefile.in: Test framework build rules for 'make check'.
25519 * conf/tests.rmk: Build rules for individual tests and framework.
25520
25521 * include/grub/test.h: Header file for whitebox tests.
25522 * tests/lib/functional_test.c: Framework support for whitebox
25523 functional tests.
25524 * tests/lib/test.c: Common whitebox testing code for unit and
25525 functional tests.
25526 * tests/lib/unit_test.c: Framework support for whitebox unit
25527 tests.
25528
25529 * tests/util/grub-shell-tester.in: Support utility for grub-script
25530 tests.
25531 * tests/util/grub-shell.in: Utility to execute grub-script
25532 commands in a Qemu instance.
25533
25534 * tests/example_functional_test.c: Example whitebox functional
25535 test.
25536 * tests/example_grub_script_test.in: Example grub-script test.
25537 * tests/example_scripted_test.in: Example scripted test.
25538 * tests/example_unit_test.c: Example whitebox unit test.
25539
255402010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
25541
25542 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
25543 Add loader/i386/multiboot_mbi.c.
25544 (multiboot2_mod_SOURCES): Likewise.
25545 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
25546 (multiboot2_mod_SOURCES): Likewise.
25547 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
25548 (grub_multiboot_make_mbi): Likewise.
25549 (grub_multiboot_free_mbi): Likewise.
25550 (grub_multiboot_init_mbi): Likewise.
25551 (grub_multiboot_add_module): Likewise.
25552 (grub_multiboot_set_bootdev): Likewise.
25553 * loader/i386/multiboot.c (mbi): Removed.
25554 (mbi_dest): Likewise.
25555 (alloc_mbi): New variable.
25556 (grub_multiboot_payload_size): Removed. All users updated.
25557 (grub_multiboot_pure_size): New variable.
25558 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
25559 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
25560 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
25561 (grub_fill_multiboot_mmap): Likewise.
25562 (grub_multiboot_get_bootdev): Likewise.
25563 (grub_multiboot): Use multiboot_mbi functions.
25564 * loader/i386/multiboot_mbi.c: New file.
25565
255662010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25567
25568 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
25569 it would result in module crash.
25570
255712010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25572
25573 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
25574 (grub_ofconsole_getwh): Split to ...
25575 (grub_ofconsole_getwh): ... this.
25576 (grub_ofconsole_dimensions): ...and this.
25577 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
25578
255792010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25580
25581 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25582
255832010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25584
25585 * loader/i386/pc/multiboot2.c: Removed stalled file.
25586
255872010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25588
25589 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
25590 Reported by: Grégoire Sutre
25591
255922010-01-11 Robert Millan <rmh.grub@aybabtu.com>
25593
25594 * util/misc.c (canonicalize_file_name): New function.
25595 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
25596 instead of realpath().
25597
255982010-01-11 Colin Watson <cjwatson@ubuntu.com>
25599
25600 * util/grub-install.in (usage): Clarify meaning of --root-directory,
25601 and make it clearer that it's optional. Based on confusion
25602 witnessed on IRC.
25603
256042010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
25607 in premature implicit newline.
25608
256092010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
25612 which resulted in garbled command line at the end of screen.
25613
256142010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25615
25616 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
25617 initialization with similar approach as with other Linux loaders.
25618
256192010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25620
25621 Fix i386-ieee1275 build.
25622
25623 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
25624 and grub_term_height() for video_{width,height} initialization.
25625
256262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25627
25628 Fix grub-emu build.
25629
25630 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
25631
256322010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
256332010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25634
25635 Support for multiple terminals.
25636
25637 * Makefile.in (pkglib_DATA): terminal.lst.
25638 (terminal.lst): New target.
25639 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
25640 (GRUB_MOD_INIT(handler)): Likewise.
25641 (GRUB_MOD_FINI(handler)): Likewise.
25642 * commands/help.c (grub_cmd_help): Handle multiple terminals.
25643 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
25644 * commands/sleep.c (do_print): Use grub_term_restore_pos.
25645 (grub_cmd_sleep): Use grub_term_save_pos.
25646 * commands/terminal.c: New file.
25647 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
25648 commands/terminal.c and lib/charset.c.
25649 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
25650 (pkglib_MODULES): Add terminal.mod.
25651 (terminal_mod_SOURCES): New variable.
25652 (terminal_mod_CFLAGS): Likewise.
25653 (terminal_mod_LDFLAGS): Likewise.
25654 * genhandlerlist.sh: Don't handle terminals.
25655 * genmk.rb: Generate terminal-*.lst.
25656 * genterminallist.sh: New file.
25657 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
25658 (grub_is_valid_utf8): Likewise.
25659 (grub_utf8_to_ucs4_alloc): Likewise.
25660 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
25661 (grub_menu_register_viewer): Changed argument.
25662 (grub_menu_try_text): New proto.
25663 (grub_gfxmenu_try_hook): New declaration.
25664 * include/grub/normal.h (grub_normal_exit_level): New declaration.
25665 (grub_menu_init_page): Additional argument term.
25666 (grub_normal_init_page): Likewise.
25667 (grub_cmdline_get): Arguments simplified.
25668 (grub_utf8_to_ucs4_alloc): Removed.
25669 (grub_print_ucs4): Additional argument term.
25670 (grub_getstringwidth): Likewise.
25671 (grub_print_message_indented): Likewise.
25672 (grub_menu_text_register_instances): New proto.
25673 (grub_show_menu): Likewise.
25674 (read_terminal_list): Likewise.
25675 (grub_set_more): Likewise.
25676 * include/grub/parser.h: Include handler.h.
25677 * include/grub/reader.h: Rewritten.
25678 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
25679 (GRUB_TERM_WIDTH): Changed to function.
25680 (GRUB_TERM_HEIGHT): Likewise.
25681 (GRUB_TERM_BORDER_WIDTH): Likewise.
25682 (GRUB_TERM_BORDER_HEIGHT): Likewise.
25683 (GRUB_TERM_NUM_ENTRIES): Likewise.
25684 (GRUB_TERM_ENTRY_WIDTH): Likewise.
25685 (GRUB_TERM_CURSOR_X): Likewise.
25686 (grub_term_input_class): Likewise.
25687 (grub_term_output_class): Likewise.
25688 (grub_term_outputs_disabled): New declaration.
25689 (grub_term_inputs_disabled): Likewise.
25690 (grub_term_outputs): Likewise.
25691 (grub_term_inputs): Likewise.
25692 (grub_term_register_input): Rewritten.
25693 (grub_term_register_output): Likewise.
25694 (grub_term_unregister_input): Likewise.
25695 (grub_term_unregister_output): Likewise.
25696 (FOR_ACTIVE_TERM_INPUTS): New macro.
25697 (FOR_DISABLED_TERM_INPUTS): Likewise.
25698 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25699 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25700 * include/grub/terminfo.h: Add oterm argument to all protypes.
25701 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
25702 Use grub_rescue_run.
25703 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
25704 All users updated.
25705 * kern/reader.c: Removed. All users updated.
25706 * kern/rescue_reader.c (grub_rescue_init): Removed.
25707 (grub_rescue_reader): Likewise.
25708 (grub_register_rescue_reader): Likewise.
25709 (grub_rescue_run): New function based on kern/reader.c.
25710 * kern/term.c: Adapted for multiterm.
25711 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
25712 (grub_is_valid_utf8): Likewise.
25713 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
25714 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
25715 right terminal.
25716 * loader/i386/linux.c (grub_linux_boot): Likewise.
25717 * normal/auth.c (grub_username_get): New function.
25718 (grub_auth_check_authentication): Use grub_username_get.
25719 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
25720 * normal/color.c: Adapt for multiterm.
25721 * normal/main.c (read_config_file): Don't use grub_reader_loop.
25722 (grub_normal_init_page): Additional argument term.
25723 (read_lists): Call read_terminal_lists.
25724 (grub_enter_normal_mode): Call grub_cmdline_run.
25725 Handle grub_normal_exit_level.
25726 (grub_cmd_normal): Make reentrant.
25727 (grub_cmd_normal_exit): New function.
25728 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
25729 * normal/menu.c: Adapt for multiterm.
25730 * normal/menu_entry.c: Likewise.
25731 * normal/menu_text.c: Likewise.
25732 * normal/menu_viewer.c: Removed. All users updated.
25733 * normal/term.c: New file.
25734 * util/console.c: Change order of includes to workaround a bug in
25735 ncurses headers.
25736 * term/terminfo.c: New argument oterm on all exported functions.
25737 All users updated.
25738 * util/grub-editenv.c (grub_term_input_class): Removed.
25739 (grub_term_output_class): Likewise.
25740
257412010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25742
25743 Make loader output a bit more user-friendly.
25744
25745 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
25746 is being loaded. Likewise for the Hurd.
25747
25748 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
25749 that kernel of FreeBSD ${version} is being loaded.
25750
25751 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
25752 grub_dprintf().
25753 (grub_cmd_initrd): Likewise.
25754 * util/grub.d/10_linux.in (linux_entry): Print message indicating
25755 that Linux ${version} is being loaded. Likewise for initrd.
25756
257572010-01-09 Carles Pina i Estany <carles@pina.cat>
25758
25759 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
25760
257612010-01-08 Carles Pina i Estany <carles@pina.cat>
25762
25763 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
25764 (GRUB_MOD_INIT): Gettextizze.
25765 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
25766 (GRUB_MOD_INIT): Gettextizze.
25767 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
25768 (grub_cmd_linux): Capitalise Linux.
25769 (GRUB_MOD_INIT): Gettextizze.
25770 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
25771 (grub_cmd_linux): Capitalise Linux.
25772 (GRUB_MOD_INIT): Gettextizze.
25773 * loader/i386/linux.c: Include `<grub/i18n.h>'.
25774 (grub_cmd_linux): Capitalise Linux.
25775 (GRUB_MOD_INIT): Gettextizze.
25776 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
25777 (GRUB_MOD_INIT): Gettextizze.
25778 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
25779 (grub_cmd_linux): Capitalise Linux.
25780 (GRUB_MOD_INIT): Gettextizze.
25781 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
25782 (grub_cpu_xnu_init): Gettextizze.
25783 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
25784 (GRUB_MOD_INIT): Gettextizze.
25785 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
25786 (GRUB_MOD_INIT): Gettextizze.
25787 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
25788 (grub_linux_load64): Capitalise Linux.
25789 (GRUB_MOD_INIT): Gettextizze.
25790 * loader/xnu.c: Include `<grub/i18n.h>'.
25791 (GRUB_MOD_INIT): Gettextizze.
25792 * po/POTFILES: Add `loader/efi/appleloader.c',
25793 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
25794 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
25795 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
25796 `loader/i386/xnu.c', `loader/multiboot_loader.c',
25797 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
25798 and `loader/xnu.c'.
25799
258002010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25801
25802 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
25803
258042010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25805
25806 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
25807 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
25808 * util/mkisofs/mkisofs.c (main): Readjust --version output.
25809
258102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25811
25812 Reset Multiboot 2 support. New loader implements the draft in
25813 /branches/multiboot2 and shares as much code as possible with the
25814 production Multiboot 1 implementation.
25815
25816 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
25817 * loader/multiboot2.c: Likewise.
25818 * loader/i386/multiboot_helper.S: Likewise.
25819 * include/multiboot2.h: Replace with latest version from the draft
25820 in /branches/multiboot2.
25821
25822 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
25823 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
25824 and `loader/multiboot2.c'.
25825 (pkglib_MODULES): Add `multiboot2.mod'.
25826 (multiboot2_mod_SOURCES): New variable.
25827 (multiboot2_mod_LDFLAGS): Likewise.
25828 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
25829
25830 * conf/i386-pc.rmk: Likewise.
25831
25832 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25833 (multiboot_mod_SOURCES): Remove variable.
25834 (multiboot_mod_LDFLAGS): Likewise.
25835 (multiboot_mod_CFLAGS): Likewise.
25836
25837 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
25838 `<multiboot2.h>' instead of `<multiboot.h>'.
25839 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
25840 (MULTIBOOT_HEADER_MAGIC): New macros.
25841
25842 * loader/multiboot_loader.c (module_version_status): Remove variable.
25843 (find_multi_boot2_header): Remove function.
25844 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
25845 logic. Always check for the Multiboot version we're compiling for.
25846 (grub_cmd_module_loader): Likewise.
25847 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
25848 command instead of `multiboot'.
25849
258502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25851
25852 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
25853 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
25854 all users.
25855
258562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
258572010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25858
25859 Fix breakage introduced with previous commit.
25860
25861 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
25862 commands.
25863 * normal/handler.c (read_handler_list): Revert part of previous commit
25864 affecting this file.
25865 * normal/main.c (read_lists): Move read_handler_list() call back to ...
25866 (grub_normal_execute): ... here.
25867
258682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25869
25870 Merge prefix-redefinition-fix branch.
25871
25872 * normal/autofs.c (read_fs_list): Make function capable of being
25873 run multiple times, gracefuly replacing the previous data
25874 structures.
25875 * normal/dyncmd.c (read_command_list): Likewise.
25876 * normal/handler.c (read_handler_list): Likewise.
25877 * normal/main.c (read_lists): New function. Calls all the
25878 list reading functions.
25879 (grub_normal_execute): Use read_lists() instead of calling all
25880 list reading functions explicitly. Register read_lists() as a
25881 variable hook attached to ${prefix}.
25882
258832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 Merge crypto branch.
25886
25887 * Makefile.in (pkglib_DATA): Add crypto.lst.
25888 (crypto.lst): New target.
25889 * commands/hashsum.c: New file.
25890 * commands/password.c (check_password): Use grub_crypto_memcmp.
25891 * commands/password_pbkdf2.c: New file.
25892 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25893 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25894 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25895 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25896 -I$(srcdir)/lib/libgcrypt_wrap.
25897 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25898 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25899 password_pbkdf2.mod.
25900 (crypto_mod_SOURCES): New variable.
25901 (crypto_mod_CFLAGS): Likewise.
25902 (crypto_mod_LDFLAGS): Likewise.
25903 (hashsum_mod_SOURCES): New variable.
25904 (hashsum_mod_CFLAGS): Likewise.
25905 (hashsum_mod_LDFLAGS): Likewise.
25906 (pbkdf2_mod_SOURCES): New variable.
25907 (pbkdf2_mod_CFLAGS): Likewise.
25908 (pbkdf2_mod_LDFLAGS): Likewise.
25909 (password_pbkdf2_mod_SOURCES): New variable.
25910 (password_pbkdf2_mod_CFLAGS): Likewise.
25911 (password_pbkdf2_mod_LDFLAGS): Likewise.
25912 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25913 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25914 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25915 Include conf/gcry.rmk.
25916 * include/grub/auth.h: Rewritten.
25917 * include/grub/crypto.h: New file.
25918 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25919 * include/grub/normal.h (read_crypto_list): New prototype.
25920 * lib/crypto.c: New file.
25921 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25922 * lib/pbkdf2.c: Likewise.
25923 * normal/auth.c (grub_auth_strcmp): Removed.
25924 (grub_iswordseparator): Likewise.
25925 (grub_auth_strword): Likewise.
25926 (is_authenticated): Use grub_strword.
25927 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25928 and grub_strword. Pass entered password to authentication callback.
25929 * normal/crypto.c: New file.
25930 * normal/main.c: Call read_crypto_list.
25931 * util/grub-mkpasswd-pbkdf2.c: New file.
25932 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25933
259342010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 Fix descent and ascent calculation.
25937
25938 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25939 (options): New option "asce".
25940 (usage): Likewise.
25941 (add_char): Ignore invalid glyphs for descent calculation.
25942 Calculate ascent from actual content.
25943 (print_glyphs): Use 'asce'.
25944 (write_font): Likewise. Allow ascent override.
25945 (main): Handle "asce" option.
25946
259472010-01-06 Carles Pina i Estany <carles@pina.cat>
25948
25949 * kern/err.c: Include `<grub/i18n.h>'.
25950 (grub_print_error): Add full stop. Gettextizze.
25951 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25952 (grub_bsd_load_elf): Capitalise ELF.
25953 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25954 (grub_cmd_freebsd_module): Likewise.
25955 (grub_cmd_freebsd_module_elf): Likewise.
25956 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25957
259582010-01-06 Carles Pina i Estany <carles@pina.cat>
25959
25960 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25961 * commands/search_file.c (HELP_MESSAGE): New macro.
25962 * commands/search_label.c (HELP_MESSAGE): Likewise.
25963 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25964 * po/POTFILES: Add `commands/search_file.c',
25965 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25966 `commands/search.c'.
25967
259682010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25969
25970 * config.rpath: Update from Gnulib.
25971
259722010-01-05 Yves Blusseau <blusseau@zetam.org>
25973
25974 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25975
259762010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25977
25978 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25979
259802010-01-05 Colin Watson <cjwatson@ubuntu.com>
25981
25982 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25983 arguments to fread so that we get a return value in bytes, rather
25984 than something that will normally be rounded down to 0.
25985 Adjust error handling to avoid producing garbage when size_t is not
25986 the same size as long long.
25987
259882010-01-05 Colin Watson <cjwatson@ubuntu.com>
25989
25990 * util/mkisofs/write.c (padblock_write): Check return value of
25991 fread.
25992
259932010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25994
25995 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25996 floppy images now.
25997
25998 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25999
260002010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26001
26002 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26003 instead of manual alignment.
26004 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26005 verbose). Avoid attempts to read past end of the device
26006 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26007 but GRUB_DISK_CACHE_SIZE may exceed that).
26008
260092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26010
26011 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26012 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26013 it to upper layer.
26014
260152010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26016
26017 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26018 New constant.
26019 (grub_efi_piwg_device_path): New structure
26020 (grub_efi_piwg_device_path_t): New type.
26021 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26022 (devpath_1): Transform to a structure. All users updated.
26023 (devpath_2): Likewise.
26024 (devpath_3): Likewise.
26025 (devpath_4): Likewise.
26026 (devpath_5): Likewise.
26027
260282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26029
26030 * loader/efi/appleloader.c: Restored. Update all users.
26031
260322010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26033
26034 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26035
26036 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26037 (struct boot_blocklist): Move from here ...
26038 * include/grub/i386/pc/boot.h [ASM_FILE]
26039 (struct grub_boot_blocklist): ... to here. Update all users.
26040 (setup): Only initialize `start' member of `first_block'
26041 structure. Add assert() calls to verify the other members.
26042
26043 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26044 (generate_image): Fix broken blocklist length initialization.
26045 Add assert() call to verify blocklist `segment' field.
26046
260472010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26048
26049 * loader/efi/appleloader.c: Remove. Update all users.
26050
260512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26052
26053 * boot/i386/pc/boot.S: Update copyright year.
26054 * boot/i386/pc/cdboot.S: Likewise.
26055 * boot/i386/pc/diskboot.S: Likewise.
26056 * boot/i386/pc/lnxboot.S: Likewise.
26057 * boot/i386/pc/pxeboot.S: Likewise.
26058 * bus/pci.c: Likewise.
26059 * commands/cmp.c: Likewise.
26060 * commands/help.c: Likewise.
26061 * commands/hexdump.c: Likewise.
26062 * commands/i386/pc/halt.c: Likewise.
26063 * commands/i386/pc/play.c: Likewise.
26064 * commands/i386/pc/vbeinfo.c: Likewise.
26065 * commands/ls.c: Likewise.
26066 * commands/test.c: Likewise.
26067 * disk/dmraid_nvidia.c: Likewise.
26068 * disk/i386/pc/biosdisk.c: Likewise.
26069 * disk/ieee1275/nand.c: Likewise.
26070 * disk/ieee1275/ofdisk.c: Likewise.
26071 * disk/lvm.c: Likewise.
26072 * disk/raid.c: Likewise.
26073 * disk/raid6_recover.c: Likewise.
26074 * disk/scsi.c: Likewise.
26075 * fs/affs.c: Likewise.
26076 * fs/cpio.c: Likewise.
26077 * fs/ext2.c: Likewise.
26078 * fs/hfs.c: Likewise.
26079 * fs/iso9660.c: Likewise.
26080 * fs/ntfs.c: Likewise.
26081 * fs/sfs.c: Likewise.
26082 * fs/udf.c: Likewise.
26083 * fs/ufs.c: Likewise.
26084 * fs/xfs.c: Likewise.
26085 * gencmdlist.sh: Likewise.
26086 * genmk.rb: Likewise.
26087 * include/grub/disk.h: Likewise.
26088 * include/grub/efi/api.h: Likewise.
26089 * include/grub/efi/efi.h: Likewise.
26090 * include/grub/efi/pe32.h: Likewise.
26091 * include/grub/elf.h: Likewise.
26092 * include/grub/fs.h: Likewise.
26093 * include/grub/i386/at_keyboard.h: Likewise.
26094 * include/grub/i386/pc/memory.h: Likewise.
26095 * include/grub/i386/pc/vbe.h: Likewise.
26096 * include/grub/i386/pci.h: Likewise.
26097 * include/grub/i386/tsc.h: Likewise.
26098 * include/grub/ieee1275/ieee1275.h: Likewise.
26099 * include/grub/ntfs.h: Likewise.
26100 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26101 * include/grub/sparc64/libgcc.h: Likewise.
26102 * include/grub/symbol.h: Likewise.
26103 * include/grub/types.h: Likewise.
26104 * include/multiboot2.h: Likewise.
26105 * io/gzio.c: Likewise.
26106 * kern/device.c: Likewise.
26107 * kern/disk.c: Likewise.
26108 * kern/efi/efi.c: Likewise.
26109 * kern/efi/mm.c: Likewise.
26110 * kern/elf.c: Likewise.
26111 * kern/file.c: Likewise.
26112 * kern/i386/dl.c: Likewise.
26113 * kern/i386/pc/init.c: Likewise.
26114 * kern/i386/pc/startup.S: Likewise.
26115 * kern/ieee1275/ieee1275.c: Likewise.
26116 * kern/ieee1275/init.c: Likewise.
26117 * kern/main.c: Likewise.
26118 * kern/mm.c: Likewise.
26119 * kern/powerpc/dl.c: Likewise.
26120 * kern/sparc64/dl.c: Likewise.
26121 * kern/x86_64/dl.c: Likewise.
26122 * lib/hexdump.c: Likewise.
26123 * loader/efi/appleloader.c: Likewise.
26124 * loader/i386/ieee1275/linux.c: Likewise.
26125 * loader/i386/pc/chainloader.c: Likewise.
26126 * loader/i386/pc/linux.c: Likewise.
26127 * loader/i386/pc/multiboot2.c: Likewise.
26128 * loader/ieee1275/multiboot2.c: Likewise.
26129 * loader/multiboot2.c: Likewise.
26130 * loader/multiboot_loader.c: Likewise.
26131 * loader/powerpc/ieee1275/linux.c: Likewise.
26132 * normal/completion.c: Likewise.
26133 * normal/menu_entry.c: Likewise.
26134 * partmap/apple.c: Likewise.
26135 * util/grub.d/10_hurd.in: Likewise.
26136 * util/hostfs.c: Likewise.
26137 * video/readers/png.c: Likewise.
26138
261392010-01-03 Colin Watson <cjwatson@ubuntu.com>
26140
26141 * include/grub/misc.h (GNUC_PREREQ): New macro.
26142 (ATTRIBUTE_ERROR): New macro.
26143 * include/grub/list.h (grub_bad_type_cast_real): Use
26144 ATTRIBUTE_ERROR.
26145
261462010-01-03 Carles Pina i Estany <carles@pina.cat>
26147
26148 * normal/menu_text.c (print_message): Change messages.
26149
261502010-01-03 Carles Pina i Estany <carles@pina.cat>
26151
26152 * normal/menu_entry.c (store_completion): Gettextizze.
26153
261542010-01-03 Carles Pina i Estany <carles@pina.cat>
26155
26156 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
26157
261582010-01-03 Carles Pina i Estany <carles@pina.cat>
26159
26160 * po/POTFILES: Sort correctly.
26161
261622010-01-03 Carles Pina i Estany <carles@pina.cat>
26163
26164 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
26165 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
26166 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
26167 full stop.
26168 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
26169 summary. Gettextizze the strings.
26170 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
26171 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
26172 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
26173 full stop.
26174 (GRUB_MOD_INIT): Remove command name from summary.
26175 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
26176 summary.
26177 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26178 * term/i386/pc/serial.c (options): Add full stops.
26179 (GRUB_MOD_INIT): Remove command name from the summary.
26180
261812010-01-03 Carles Pina i Estany <carles@pina.cat>
26182
26183 * commands/acpi.c: Gettextizze help strings and/or options. Include
26184 `grub/i18n.h' if needed.
26185 * commands/blocklist.c: Likewise.
26186 * commands/boot.c: Likewise.
26187 * commands/cat.c: Likewise.
26188 * commands/cmp.c: Likewise.
26189 * commands/configfile.c: Likewise.
26190 * commands/crc.c: Likewise.
26191 * commands/date.c: Likewise.
26192 * commands/echo.c: Likewise.
26193 * commands/efi/fixvideo.c: Likewise.
26194 * commands/efi/loadbios.c: Likewise.
26195 * commands/gptsync.c: Likewise.
26196 * commands/halt.c: Likewise.
26197 * commands/handler.c: Likewise.
26198 * commands/hdparm.c: Likewise.
26199 * commands/hexdump.c: Likewise.
26200 * commands/i386/cpuid.c: Likewise.
26201 * commands/i386/pc/drivemap.c: Likewise.
26202 * commands/i386/pc/halt.c: Likewise.
26203 * commands/i386/pc/pxecmd.c: Likewise.
26204 * commands/i386/pc/vbeinfo.c: Likewise.
26205 * commands/i386/pc/vbetest.c: Likewise.
26206 * commands/ieee1275/suspend.c: Likewise.
26207 * commands/keystatus.c: Likewise.
26208 * commands/loadenv.c: Likewise.
26209 * commands/ls.c: Likewise.
26210 * commands/lsmmap.c: Likewise.
26211 * commands/lspci.c: Likewise.
26212 * commands/memrw.c: Likewise.
26213 * commands/minicmd.c: Likewise.
26214 * commands/parttool.c: Likewise.
26215 * commands/password.c: Likewise.
26216 * commands/probe.c: Likewise.
26217 * commands/read.c: Likewise.
26218 * commands/reboot.c: Likewise.
26219 * commands/search.c: Likewise.
26220 * commands/sleep.c: Likewise.
26221 * commands/test.c: Likewise.
26222 * commands/true.c: Likewise.
26223 * commands/usbtest.c: Likewise.
26224 * commands/videotest.c: Likewise.
26225 * commands/xnu_uuid.c: Likewise.
26226 * disk/loopback.c: Likewise.
26227 * hello/hello.c: Likewise.
26228 * loader/i386/bsd.c: Likewise.
26229 * term/i386/pc/serial.c: Likewise.
26230 * po/POTFILES: Add new files.
26231
262322010-01-02 Colin Watson <cjwatson@ubuntu.com>
26233
26234 * term/i386/pc/at_keyboard.c
26235 (keyboard_controller_wait_untill_ready): Rename to ...
26236 (keyboard_controller_wait_until_ready): ... this. Update all users.
26237
262382010-01-01 Carles Pina i Estany <carles@pina.cat>
26239
26240 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
26241 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
26242 string using string width.
26243 * normal/menu_text.c (grub_print_message_indented): Use
26244 grub_print_spaces and not print_spaces.
26245 (print_timeout): Likewise.
26246 (print_spaces): Move to...
26247 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
26248
262492010-01-01 Robert Millan <rmh.grub@aybabtu.com>
26250
26251 Import from Gnulib.
26252
26253 * gnulib/getdelim.c: New file.
26254 * gnulib/getline.c: Likewise.
26255
262562009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
26257
26258 * include/grub/list.h (grub_assert_fail): Removed.
26259 (grub_bad_type_cast_real): New function.
26260 (grub_bad_type_cast): New macro.
26261 (GRUB_AS_LIST): Use grub_bad_type_cast.
26262 (GRUB_AS_LIST_P): Likewise.
26263 (GRUB_AS_NAMED_LIST): Likewise.
26264 (GRUB_AS_NAMED_LIST_P): Likewise.
26265 (GRUB_AS_PRIO_LIST): Likewise.
26266 (GRUB_AS_PRIO_LIST_P): Likewise.
26267 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
26268
262692009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
26272 Fix syntax error.
26273
262742009-12-29 Robert Millan <rmh.grub@aybabtu.com>
26275
26276 * configure.ac: Check for TARGET_CFLAGS initialization before we
26277 initialize it ourselves (sigh).
26278 Move a few modifications to TARGET_CFLAGS to be unconditional
26279 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
26280 eh_frame)
26281
26282 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
26283 * term/i386/pc/at_keyboard.c
26284 (keyboard_controller_wait_untill_ready): Likewise.
26285 (keyboard_controller_led): Rename `led_status' paramter to avoid
26286 name conflict.
26287
262882009-12-28 Carles Pina i Estany <carles@pina.cat>
26289
26290 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
26291 quotes.
26292
262932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26294
26295 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
26296
262972009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26298
26299 * normal/menu_text.c (grub_print_message_indented): Prevent
26300 past-the-end-of-array dereference.
26301
263022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26303
26304 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
26305 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
26306
263072009-12-27 Carles Pina i Estany <carles@pina.cat>
26308
26309 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
26310 * normal/main.c (grub_normal_read_line): Remove a space from the
26311 default prompt.
26312
263132009-12-27 Carles Pina i Estany <carles@pina.cat>
26314
26315 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
26316 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26317 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26318 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26319 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26320 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26321 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26322
263232009-12-26 Carles Pina i Estany <carles@pina.cat>
26324
26325 * video/readers/jpeg.c (cmd): Declare.
26326 (grub_cmd_jpegtest): Use `grub_command_t' type.
26327 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26328 Assign to `cmd'.
26329 (GRUB_MOD_FINI): Use `cmd' to unregister.
26330 * video/readers/png.c (cmd): Declare.
26331 (grub_cmd_pngtest): Use `grub_command_t' type.
26332 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26333 Assign to `cmd'.
26334 (GRUB_MOD_FINI): Use `cmd' to unregister.
26335 * video/readers/tga.c (cmd): Declare.
26336 (grub_cmd_tgatest): Use `grub_command_t' type.
26337 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26338 Assign to `cmd'.
26339 (GRUB_MOD_FINI): Use `cmd' to unregister.
26340
263412009-12-26 Carles Pina i Estany <carles@pina.cat>
26342
26343 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
26344 stops.
26345 * kern/corecmd.c (grub_register_core_commands): Likewise.
26346 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26347 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26348 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26349 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26350 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26351 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26352 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26353 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26354 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26355 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26356 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26357 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26358 * normal/handler.c (insert_handler): Likewise.
26359 * normal/main.c (GRUB_MOD_INIT): Likewise.
26360 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26361
263622009-12-26 Carles Pina i Estany <carles@pina.cat>
26363
26364 * commands/help.c (grub_cmd_help): Print the command name before the
26365 summary.
26366 (GRUB_MOD_INIT): Remove command name from the summary.
26367 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
26368 string as summary.
26369 * lib/arg.c (find_long): Print the command name before the summary.
26370 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26371 summary.
26372 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26373 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26374 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26375 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26376 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26377 * commands/date.c (GRUB_MOD_INIT): Likewise.
26378 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26379 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26380 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26381 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26382 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26383 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26384 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26385 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26386 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26387 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26388 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26389 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26390 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26391 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26392 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26393 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26394 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26395 * commands/password.c (GRUB_MOD_INIT): Likewise.
26396 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26397 * commands/read.c (GRUB_MOD_INIT): Likewise.
26398 * commands/search.c (GRUB_MOD_INIT): Likewise.
26399 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26400 * commands/test.c (GRUB_MOD_INIT): Likewise.
26401 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26402 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26403 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26404 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26405 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26406 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26407 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26408 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26409 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26410 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26411 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26412 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26413 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26414 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26415
264162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26417
26418 Use search command for preliminar UUID search.
26419
26420 * commands/search.c: Split into ...
26421 * commands/search_wrap.c: ...this
26422 * commands/search.c: ...and this.
26423 * commands/search_file.c: New file.
26424 * commands/search_label.c: New file.
26425 * commands/search_uuid.c: New file.
26426 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26427 Add commands/search_wrap.c, commands/search_file.c,
26428 commands/search_label.c and commands/search_uuid.c.
26429 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26430 (search_mod_SOURCES): Set to commands/search_wrap.c.
26431 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26432 search_label.mod.
26433 (search_fs_file_mod_SOURCES): New variable.
26434 (search_fs_file_mod_CFLAGS): Likewise.
26435 (search_fs_file_mod_LDFLAGS): Likewise.
26436 (search_label_mod_SOURCES): Likewise.
26437 (search_label_mod_CFLAGS): Likewise.
26438 (search_label_mod_LDFLAGS): Likewise.
26439 (search_fs_uuid_mod_SOURCES): New variable.
26440 (search_fs_uuid_mod_CFLAGS): Likewise.
26441 (search_fs_uuid_mod_LDFLAGS): Likewise.
26442 (fs_file_mod_SOURCES): Removed.
26443 (fs_file_mod_CFLAGS): Likewise.
26444 (fs_file_mod_LDFLAGS): Likewise.
26445 (fs_uuid_mod_SOURCES): Removed.
26446 (fs_uuid_mod_CFLAGS): Likewise.
26447 (fs_uuid_mod_LDFLAGS): Likewise.
26448 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26449 Set to util/grub-install.in.
26450 * disk/fs_file.c: Removed.
26451 * disk/fs_uuid.c: Likewise.
26452 * include/grub/search.h: New file.
26453 * util/grub-install.in: Handle sparc64.
26454 Create and use load.cfg.
26455 * util/sparc64/ieee1275/grub-install.in: Removed.
26456
264572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26460 Ignore return status if CF is cleared.
26461 (grub_biosdisk_get_diskinfo_standard): Likewise.
26462
264632009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 * term/i386/pc/at_keyboard.c
26466 (keyboard_controller_wait_untill_ready): New function.
26467 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26468 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26469 for keyboard polling, rather than duplicate the same loop. This
26470 saves a few bytes in code size.
26471
264722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26473
26474 Support for (pxe[:server[:gateway]]) syntax and
26475 use environment variable for PXE.
26476
26477 * commands/i386/pc/pxecmd.c (options): Removed.
26478 (print_ip): Removed.
26479 (grub_cmd_pxe): Removed
26480 (grub_cmd_pxe_unload): New function.
26481 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26482 (grub_pxe_your_ip): Made static.
26483 (grub_pxe_default_server_ip): Likewise.
26484 (grub_pxe_default_gateway_ip): Likewise.
26485 (grub_pxe_blksize): Likewise.
26486 (parse_ip): New function.
26487 (grub_pxe_open): Support server and gateway specification.
26488 (grub_pxe_close): Free disk->data.
26489 (grub_pxefs_open): Use disk->data.
26490 (grub_pxefs_read): Likewise.
26491 (grub_env_write_readonly): New function.
26492 (set_mac_env): Likewise.
26493 (set_env_limn_ro): Likewise.
26494 (parse_dhcp_vendor): Likewise.
26495 (grub_pxe_detect): Set the environment variables.
26496 (set_ip_env): New function.
26497 (write_ip_env): Likewise.
26498 (grub_env_write_pxe_default_server): Likewise.
26499 (grub_env_write_pxe_default_gateway): Likewise.
26500 (grub_env_write_pxe_blocksize): Likewise.
26501 (GRUB_MOD_INIT(pxe)): Set environment variables.
26502 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26503 (grub_pxe_mac_addr_t): ... this. All users updated.
26504 (grub_pxe_your_ip): Removed.
26505 (grub_pxe_server_ip): Likewise.
26506 (grub_pxe_gateway_ip): Likewise.
26507 (grub_pxe_blksize): Likewise.
26508
265092009-12-25 Carles Pina i Estany <carles@pina.cat>
26510
26511 * commands/help.c: Include `<grub/i18n.h>'.
26512 (grub_cmd_help): Gettextizze.
26513 (GRUB_MOD_INIT): Likewise.
26514 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26515 (GRUB_MOD_INIT): Gettextizze.
26516 * commands/search.c: Include `<grub/i18n.h>'.
26517 (options): Gettextizze.
26518 (GRUB_MOD_INIT): Gettextizze.
26519 * lib/arg.c: Include `<grub/i18n.h>'.
26520 (help_options): Gettextizze.
26521 (find_long): Likewise.
26522 (grub_arg_show_help): Likewise.
26523 * normal/dyncmd.c: Include `<grub/i18n.h>'.
26524 (read_command_list): Gettextizze.
26525 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
26526 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
26527
265282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26529
26530 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
26531 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
26532 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
26533 (led_status): New variable.
26534 (keyboard_controller_led): New function.
26535 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
26536 update led status for caps lock, num lock and scroll lock.
26537
265382009-12-25 Felix Zielcke <fzielcke@z-51.de>
26539
26540 * util/hostdisk.c (open_device): Fix a comment.
26541
265422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26543
26544 * util/grub-install.in (host_os): New variable.
26545 * util/i386/efi/grub-install.in (host_os): Likewise.
26546
265472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26548
26549 * util/mkisofs/write.c (padblock_write): Abort when given an
26550 excedingly large embed image, instead of silently truncating it.
26551
265522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26553
26554 * include/multiboot.h: Indentation fixes.
26555
265562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26557
26558 * include/multiboot.h (struct multiboot_aout_symbol_table)
26559 (struct multiboot_elf_section_header_table): New structure
26560 declarations (stolen from GRUB Legacy).
26561 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
26562 table information.
26563
26564 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
26565 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
26566 type aliases.
26567
265682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26569
26570 * include/multiboot.h: Make comments src2texi-friendly.
26571
265722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26573
26574 For consistency with [multiboot]/docs/boot.S.
26575
26576 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
26577 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
26578 (MULTIBOOT_MAGIC2): Rename from this ...
26579 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
26580
265812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26582
26583 * include/multiboot.h: Remove `<grub/types.h>'.
26584 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
26585 types. Update all users.
26586
265872009-12-25 Carles Pina i Estany <carles@pina.cat>
26588
26589 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
26590 `couldn't' and `can not' by `cannot'.
26591 * commands/i386/pc/drivemap.c: Likewise.
26592 * disk/ata.c: Likewise.
26593 * disk/ieee1275/nand.c: Likewise.
26594 * fs/affs.c: Likewise.
26595 * fs/fat.c: Likewise.
26596 * fs/hfs.c: Likewise.
26597 * fs/hfsplus.c: Likewise.
26598 * fs/iso9660.c: Likewise.
26599 * fs/jfs.c: Likewise.
26600 * fs/minix.c: Likewise.
26601 * fs/reiserfs.c: Likewise.
26602 * fs/sfs.c: Likewise.
26603 * fs/udf.c: Likewise.
26604 * fs/ufs.c: Likewise.
26605 * fs/xfs.c: Likewise.
26606 * loader/powerpc/ieee1275/linux.c: Likewise.
26607 * loader/sparc64/ieee1275/linux.c: Likewise.
26608 * util/grub-probe.c: Likewise.
26609 * util/misc.c: Likewise.
26610
266112009-12-24 Carles Pina i Estany <carles@pina.cat>
26612
26613 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
26614 grub_errno calls.
26615 * commands/acpi.c: Likewise.
26616 * commands/blocklist.c: Likewise.
26617 * commands/efi/loadbios.c: Likewise.
26618 * commands/i386/pc/drivemap.c: Likewise.
26619 * commands/loadenv.c: Likewise.
26620 * commands/memrw.c: Likewise.
26621 * commands/password.c: Likewise.
26622 * commands/videotest.c: Likewise.
26623 * disk/ata.c: Likewise.
26624 * disk/ata_pthru.c: Likewise.
26625 * disk/dmraid_nvidia.c: Likewise.
26626 * disk/ieee1275/nand.c: Likewise.
26627 * disk/ieee1275/ofdisk.c: Likewise.
26628 * disk/loopback.c: Likewise.
26629 * disk/lvm.c: Likewise.
26630 * disk/mdraid_linux.c: Likewise.
26631 * disk/raid.c: Likewise.
26632 * disk/raid6_recover.c: Likewise.
26633 * disk/scsi.c: Likewise.
26634 * efiemu/main.c: Likewise.
26635 * efiemu/mm.c: Likewise.
26636 * efiemu/pnvram.c: Likewise.
26637 * efiemu/symbols.c: Likewise.
26638 * font/font.c: Likewise.
26639 * fs/cpio.c: Likewise.
26640 * fs/hfsplus.c: Likewise.
26641 * fs/iso9660.c: Likewise.
26642 * fs/jfs.c: Likewise.
26643 * fs/minix.c: Likewise.
26644 * fs/ntfs.c: Likewise.
26645 * fs/ntfscomp.c: Likewise.
26646 * fs/reiserfs.c: Likewise.
26647 * fs/ufs.c: Likewise.
26648 * fs/xfs.c: Likewise.
26649 * gettext/gettext.c: Likewise.
26650 * include/grub/auth.h: Likewise.
26651 * kern/elf.c: Likewise.
26652 * kern/file.c: Likewise.
26653 * kern/ieee1275/init.c: Likewise.
26654 * kern/ieee1275/mmap.c: Likewise.
26655 * kern/ieee1275/openfw.c: Likewise.
26656 * kern/powerpc/dl.c: Likewise.
26657 * kern/sparc64/dl.c: Likewise.
26658 * lib/arg.c: Likewise.
26659 * loader/i386/bsd.c: Likewise.
26660 * loader/i386/bsdXX.c: Likewise.
26661 * loader/i386/efi/linux.c: Likewise.
26662 * loader/i386/efi/xnu.c: Likewise.
26663 * loader/i386/ieee1275/linux.c: Likewise.
26664 * loader/i386/linux.c: Likewise.
26665 * loader/i386/multiboot.c: Likewise.
26666 * loader/i386/pc/linux.c: Likewise.
26667 * loader/i386/pc/multiboot2.c: Likewise.
26668 * loader/i386/xnu.c: Likewise.
26669 * loader/ieee1275/multiboot2.c: Likewise.
26670 * loader/macho.c: Likewise.
26671 * loader/machoXX.c: Likewise.
26672 * loader/multiboot2.c: Likewise.
26673 * loader/multiboot_loader.c: Likewise.
26674 * loader/powerpc/ieee1275/linux.c: Likewise.
26675 * loader/sparc64/ieee1275/linux.c: Likewise.
26676 * loader/xnu.c: Likewise.
26677 * loader/xnu_resume.c: Likewise.
26678 * mmap/i386/pc/mmap.c: Likewise.
26679 * normal/menu_viewer.c: Likewise.
26680 * partmap/acorn.c: Likewise.
26681 * partmap/amiga.c: Likewise.
26682 * partmap/apple.c: Likewise.
26683 * script/lexer.c: Likewise.
26684 * term/gfxterm.c: Likewise.
26685 * term/i386/pc/serial.c: Likewise.
26686 * term/i386/pc/vga.c: Likewise.
26687 * term/ieee1275/ofconsole.c: Likewise.
26688 * term/terminfo.c: Likewise.
26689 * video/bitmap.c: Likewise.
26690 * video/efi_gop.c: Likewise.
26691 * video/efi_uga.c: Likewise.
26692 * video/fb/video_fb.c: Likewise.
26693 * video/i386/pc/vbe.c: Likewise.
26694 * video/readers/tga.c: Likewise.
26695 * video/video.c: Likewise.
26696
266972009-12-23 Felix Zielcke <fzielcke@z-51.de>
26698
26699 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
26700 * commands/lspci.c: Likewise.
26701 * commands/probe.c: Likewise.
26702 * commands/xnu_uuid.c: Likewise.
26703 * conf/i386-coreboot.rmk: Likewise.
26704 * conf/i386-efi.rmk: Likewise.
26705 * conf/i386-ieee1275.rmk: Likewise.
26706 * conf/i386-pc.rmk: Likewise.
26707 * conf/powerpc-ieee1275.rmk: Likewise.
26708 * conf/sparc64-ieee1275.rmk: Likewise.
26709 * conf/x86_64-efi.rmk: Likewise.
26710 * fs/i386/pc/pxe.c: Likewise.
26711 * gettext/gettext.c: Likewise.
26712 * include/grub/efi/graphics_output.h: Likewise.
26713 * include/grub/i386/pc/memory.h: Likewise.
26714 * kern/env.c: Likewise.
26715 * kern/i386/qemu/startup.S: Likewise.
26716 * lib/i386/pc/biosnum.c: Likewise.
26717 * lib/i386/relocator.c: Likewise.
26718 * lib/i386/relocator_asm.S: Likewise.
26719 * lib/relocator.c: Likewise.
26720 * loader/i386/bsd.c: Likewise.
26721 * loader/i386/multiboot.c: Likewise.
26722 * loader/i386/pc/chainloader.c: Likewise.
26723 * loader/i386/xnu.c: Likewise.
26724 * loader/xnu.c: Likewise.
26725 * normal/main.c: Likewise.
26726 * normal/menu_text.c: Likewise.
26727 * util/getroot.c: Likewise.
26728 * util/grub-mkconfig_lib.in: Likewise.
26729 * util/grub.d/00_header.in: Likewise.
26730 * util/i386/pc/grub-mkimage.c: Likewise.
26731 * util/mkisofs/eltorito.c: Likewise.
26732 * util/mkisofs/exclude.h: Likewise.
26733 * util/mkisofs/hash.c: Likewise.
26734 * util/mkisofs/iso9660.h: Likewise.
26735 * util/mkisofs/joliet.c: Likewise.
26736 * util/mkisofs/mkisofs.c: Likewise.
26737 * util/mkisofs/mkisofs.h: Likewise.
26738 * util/mkisofs/multi.c: Likewise.
26739 * util/mkisofs/name.c: Likewise.
26740 * util/mkisofs/rock.c: Likewise.
26741 * util/mkisofs/tree.c: Likewise.
26742 * util/mkisofs/write.c: Likewise.
26743 * video/efi_gop.c: Likewise.
26744
267452009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
26746
26747 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
26748 size counting.
26749
267502009-12-22 Felix Zielcke <fzielcke@z-51.de>
26751
26752 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
26753 * genmk.rb (class SCRIPT): Modify the target file instead of source.
26754
267552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
26758 (GRUB_MOD_INIT(memrw)): Update help line.
26759
267602009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
26763 Use grub_extcmd_t. All users updated.
26764 (options): New variable.
26765 (grub_cmd_read): Restructure for readability. Support "-v" option.
26766 (grub_cmd_write): Restructure for readability.
26767
267682009-12-22 Felix Zielcke <fzielcke@z-51.de>
26769
26770 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
26771
267722009-12-22 Felix Zielcke <fzielcke@z-51.de>
26773
26774 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
26775 with the actual contents of the correspondending make variable.
26776 * util/grub-mkrescue.in (pkglib_DATA): New variable.
26777 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
26778 specifying `*.lst' and `efiemu??.o'
26779
267802009-12-22 Felix Zielcke <fzielcke@z-51.de>
26781
26782 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
26783 after function name.
26784 Noticed by Rene Engelhard <rene@debian.org>.
26785
267862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26787
26788 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
26789 (options): New variable.
26790 (iospace): Likewise.
26791 (grub_lspci_iter): List IO spaces if "-i" was given.
26792 (grub_cmd_lspci): Parse options.
26793 (GRUB_MOD_INIT(lspci)): Use extcmd.
26794 (GRUB_MOD_FINI(lspci)): Likewise.
26795
267962009-12-22 Felix Zielcke <fzielcke@z-51.de>
26797
26798 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
26799 `function' keyword.
26800 Patch by Tony Mancill <tmancill@debian.org>.
26801
268022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26803
26804 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
26805 (grub_uhci_portstatus): Likewise.
26806 (grub_uhci_portstatus): Add necessary delay.
26807 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
26808
268092009-12-21 Carles Pina i Estany <carles@pina.cat>
26810
26811 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26812 (GRUB_MOD_INIT): Likewise.
26813 * commands/boot.c (GRUB_MOD_INIT): Likewise.
26814 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26815 * commands/echo.c (options): Fix capitalizations and/or full stops.
26816 * commands/efi/loadbios.c (enable_rom_area): Likewise.
26817 (enable_rom_area): Likewise.
26818 (GRUB_MOD_INIT): Likewise.
26819 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26820 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
26821 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26822 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
26823 * commands/hexdump.c (options): Likewise.
26824 * commands/i386/cpuid.c (options): Likewise.
26825 (GRUB_MOD_INIT): Likewise.
26826 * commands/i386/pc/drivemap.c (options): Likewise.
26827 (GRUB_MOD_INIT): Likewise.
26828 * commands/i386/pc/halt (options): Likewise.
26829 (GRUB_MOD_INIT): Likewise.
26830 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26831 * commands/i386/pc/pxecmd.c (options): Likewise.
26832 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
26833 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
26834 * commands/keystatus.c (options): Likewise.
26835 (GRUB_MOD_INIT): Likewise.
26836 * commands/loadenv.c (options): Likewise.
26837 * commands/ls.c (options): Likewise.
26838 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26839 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26840 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26841 * commands/parttool.c (helpmsg): Likewise.
26842 * commands/probe.c (options): Likewise.
26843 * commands/read.c (GRUB_MOD_INIT): Likewise.
26844 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
26845 * commands/search.c (options): Likewise.
26846 * commands/sleep.c (options): Likewise.
26847 * commands/test.c (GRUB_MOD_INIT): Likewise.
26848 * commands/true.c (GRUB_MOD_INIT): Likewise.
26849 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
26850 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
26851 * lib/arg.c (help_options): Likewise.
26852 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26853 `$(XGETTEXT)'.
26854 * po/POTFILES: Add `commands/loadenv.c'.
26855
268562009-12-21 Felix Zielcke <fzielcke@z-51.de>
26857
26858 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
26859 instead of specifying them explicit.
26860
268612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * NEWS: Add grub-probe support for GNU/Hurd.
26864
268652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26866
26867 * NEWS: gettext was added after 1.97.
26868
268692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26870
26871 * util/mkisofs/msdos_partition.h: New file (based on
26872 include/grub/msdos_partition.h).
26873 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26874 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26875 (ld_options, main): Recognize --protective-msdos-label.
26876 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26877 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26878 (padblock_write): If `use_protective_msdos_label' is set, patch a
26879 protective DOS-style label in the output image.
26880
26881 * util/grub-mkrescue.in: Use --protective-msdos-label.
26882
268832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26884
26885 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26886 boot.
26887
268882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26889
26890 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26891 variables.
26892 (ld_options, main): Recognize `--embedded-boot'.
26893 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26894 declarations.
26895 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26896 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26897 (padblock_write): Likewise. Rewrite to support embedded boot image.
26898
26899 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26900 for BIOS-based disk boot instead of only ElTorito.
26901
269022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26903
26904 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26905 build (not needed for bootstrap).
26906
269072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26908
26909 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26910 from i386-pc build (not needed for bootstrap).
26911 Rewrite a pair of strings.
26912
269132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26914
26915 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26916
269172009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
26918
26919 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26920
269212009-12-21 Andreas Born <futur.andy@googlemail.com>
26922
26923 * kern/env.c (grub_env_context_open): Mark exported variable for
26924 reexport.
26925
269262009-12-21 Andreas Born <futur.andy@googlemail.com>
26927
26928 * kern/env.c (grub_env_export): Create nonexistent variables before
26929 exporting.
26930
269312009-12-20 Carles Pina i Estany <carles@pina.cat>
26932
26933 * include/grub/auth.h: Include `<grub/i18n.h>'.
26934 (GRUB_GET_PASSWORD): Gettextizze string.
26935 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26936 menu_text.c.
26937 (grub_utf8_to_ucs4_alloc): Fix indentation.
26938 (grub_print_ucs4): Likewise.
26939 (grub_getstringwidth): Likewise.
26940 (print_message_indented): New declaration.
26941 * normal/auth.c: Include `<grub/i18n.h>'.
26942 (grub_auth_check_authentication): Gettexttize string.
26943 * normal/cmdline.c: Include `<grub/i18n.h>'.
26944 (grub_cmdline_get): Gettextizze.
26945 * normal/color.c: Include `<grub/i18n.h>'.
26946 (grub_parse_color_name_pair): Gettexttize strings.
26947 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26948 string (use `print_message_indented').
26949 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26950 `include/grub/normal.h'.
26951 (print_message_indented): Renamed to ...
26952 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26953 used in normal/main.c).
26954 (print_message): Use `grub_print_message_indented' instead of
26955 `print_message_indented'.
26956 (print_timeout): Likewise.
26957 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26958 (grub_normal_print_device_info): Gettexttize strings.
26959 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26960
269612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26962
26963 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26964 of arguments. Return number of tokens and not arguments. All users
26965 updated.
26966
269672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26968
26969 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26970 non-MSDOS paritions.
26971
269722009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 * include/grub/types.h (UNUSED): Removed since it conflicts with
26975 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26976 Reported by Grégoire Sutre.
26977
269782009-12-19 Carles Pina i Estany <carles@pina.cat>
26979
26980 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26981 (grub_print_ucs4_alloc): Likewise.
26982 (grub_getstringwidth): Likewise.
26983 * normal/main.c (grub_normal_init_page): Gettextize version string.
26984 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26985 (getstringwidth): Renamed to ...
26986 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26987 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26988 (grub_print_ucs4): Remove `static' qualifer (now used in
26989 normal/main.c).
26990 * po/POTFILES: Add normal/main.c.
26991
269922009-12-19 Carles Pina i Estany <carles@pina.cat>
26993
26994 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26995 (print_message_indented): Add `margin_left' and `margin_right'
26996 parameters.
26997 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26998 strings.
26999 (print_timeout): Use `print_message_indented' to print the message.
27000 Deletes `second_stage' parameter.
27001 (run_menu): Update `print_timeout' calls.
27002
270032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27004
27005 Fix console palette on OpenFirmware.
27006
27007 * term/ieee1275/ofconsole.c (MAX): Removed.
27008 (colors): Redone based on VGA palette.
27009 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27010 colors are supported.
27011 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27012
270132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27014
27015 Fix potential EfiEmu double prepare.
27016
27017 * efiemu/main.c (prepared): New variable
27018 (grub_efiemu_unload): Set prepare to '0'.
27019 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27020
27021 set_virtual_address_map support.
27022
27023 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27024 prototype.
27025 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27026 prototype.
27027 (grub_efiemu_crc32): Likewise.
27028 (grub_efiemu_crc64): Likewise.
27029 (grub_efiemu_set_virtual_address_map): Likewise.
27030 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27031 New definition.
27032 (grub_autoefi_set_virtual_address_map): Likewise.
27033 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27034 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27035 Restructure flow to accomodate it.
27036 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27037 (grub_efiemu_crc): Recompute CRC32.
27038 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27039 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27040 * efiemu/symbols.c (relocated_handle): New variable.
27041 (grub_efiemu_free_syms): Free relocated_handle.
27042 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27043 (grub_efiemu_write_sym_markers): New function.
27044 (grub_efiemu_set_virtual_address_map): Likewise.
27045
27046 Newer XNU parameters.
27047
27048 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27049 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27050 (grub_xnu_fill_devicetree): New prototype.
27051 (grub_xnu_heap_real_start): New variable.
27052 * loader/xnu.c (get_name_ptr): New function.
27053 (grub_xnu_load_driver): Fill namelen and name.
27054
27055 64-bit xnu support.
27056
27057 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27058 and 'loader/macho64.c'.
27059 * conf/i386-pc.rmk: Likewise.
27060 * conf/x86_64-efi.rmk: Likewise.
27061 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27062 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27063 * include/grub/macho.h (grub_macho_segment64): New structure.
27064 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27065 (grub_macho_size32): ... to this.
27066 (grub_macho32_get_entry_point): Renamed from ...
27067 (grub_macho_get_entry_point32): ... to this.
27068 (grub_macho_contains_macho64): New prototype.
27069 (grub_macho_size64): Likewise.
27070 (grub_macho_get_entry_point64): Likewise.
27071 (grub_macho32_load): Renamed from ...
27072 (grub_macho_load32): ... to this.
27073 (grub_macho32_filesize): Renamed from ...
27074 (grub_macho_filesize32): ... to this.
27075 (grub_macho32_readfile): Renamed from ...
27076 (grub_macho_readfile32): ... to this.
27077 (grub_macho_filesize64): New prototype.
27078 (grub_macho_readfile64): Likewise.
27079 (grub_macho_parse32): Likewise.
27080 (grub_macho_parse64): Likewise.
27081 * loader/macho.c: Split into ...
27082 * loader/machoXX.c: ... and this. Replace 32 with XX.
27083 * loader/macho32.c: New file.
27084 * loader/macho64.c: Likewise.
27085 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27086 (grub_cmd_xnu_kernel): Make 32-bit only.
27087 (grub_cmd_xnu_kernel64): New function.
27088 (grub_xnu_load_driver): Support Mach-O 64.
27089 (grub_cmd_xnu_mkext): Likewise.
27090 * util/grub.d/30_os-prober.in (osx_entry): New function.
27091 Generate entries for 64-bit boot too.
27092
27093 Eliminate ad-hoc tree format in XNU and EfiEmu.
27094
27095 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27096 * efiemu/pnvram.c: Rewritten to use environment variables.
27097 All users updated.
27098
27099 Inline utf16_to_utf8.
27100
27101 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27102 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27103 All users updated.
27104 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27105
27106 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27107 * commands/usbtest.c (grub_usb_get_string): ... move here.
27108 (usb_print_str): Fix error handling.
27109 * include/grub/usb.h (grub_usb_get_string): Remove.
27110
27111 UTF-8 to UTF-16 transformation.
27112
27113 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27114 (charset_mod_SOURCES): New variable.
27115 (charset_mod_CFLAGS): Likewise.
27116 (charset_mod_LDFLAGS): Likewise.
27117 * include/grub/utf.h: New file.
27118 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27119
27120 Support for device properties.
27121
27122 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27123 (grub_xnu_devprop_device_header): Likewise.
27124 (grub_xnu_devprop_device_descriptor): Likewise.
27125 (grub_xnu_devprop_add_device): New prototype.
27126 (grub_xnu_devprop_remove_device): Likewise.
27127 (grub_xnu_devprop_remove_property): Likewise.
27128 (grub_xnu_devprop_add_property_utf8): Likewise.
27129 (grub_xnu_devprop_add_property_utf16): Likewise.
27130 (grub_cpu_xnu_init): Likewise.
27131 (grub_cpu_xnu_fini): Likewise.
27132 (grub_cpu_xnu_unload): Likewise.
27133 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27134 (property_descriptor): Likewise.
27135 (devices): New variable.
27136 (grub_xnu_devprop_remove_property): New function.
27137 (grub_xnu_devprop_add_device): Likewise.
27138 (grub_xnu_devprop_remove_device): Likewise.
27139 (grub_xnu_devprop_add_property): Likewise.
27140 (grub_xnu_devprop_add_property_utf8): Likewise.
27141 (grub_xnu_devprop_add_property_utf16): Likewise.
27142 (hextoval): Likewise.
27143 (grub_cpu_xnu_fill_devprop): Likewise.
27144 (grub_cmd_devprop_load): Likewise.
27145 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27146 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27147 (cmd_devprop_load): New variable.
27148 (grub_cpu_xnu_init): New function.
27149 (grub_cpu_xnu_fini): Likewise.
27150 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27151 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
27152 (grub_cmd_xnu_devtree): Likewise.
27153 (hextoval): New function.
27154 (unescape): Likewise.
27155 (grub_xnu_fill_devicetree): Likewise.
27156
27157 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
27158 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
27159
271602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27161
27162 Workaround for broken ATI VBE.
27163
27164 * video/i386/pc/vbe.c (last_set_mode): New variable.
27165 (grub_vbe_set_video_mode): Set 'last_set_mode'.
27166 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
27167 (grub_video_vbe_setup): Don't check for reserved flag.
27168
271692009-12-17 Felix Zielcke <fzielcke@z-51.de>
27170
27171 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27172 the `find' command.
27173
271742009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27175
27176 UUID support for HFS.
27177
27178 * fs/hfs.c (grub_hfs_uuid): New function.
27179 (grub_hfs_fs): New value .uuid.
27180 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27181
271822009-12-14 Felix Zielcke <fzielcke@z-51.de>
27183
27184 Fix a segfault with parsing unknown long options.
27185
27186 * util/grub-mkrelpath.c (options): Zero terminate it.
27187
271882009-12-13 Carles Pina i Estany <carles@pina.cat>
27189
27190 * include/grub/misc.h (grub_puts): New declaration.
27191 (grub_puts_): Likewise.
27192 * kern/misc.c (grub_puts): New definition.
27193 (grub_puts_): Likewise.
27194
271952009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 * util/grub-probe.c (probe): Improve error message.
27198
271992009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27200
27201 * loader/i386/multiboot_elfxx.c
27202 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27203 initialization.
27204
272052009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27206
27207 Relocator framework
27208
27209 * loader/i386/xnu_helper.S: Removed. All users updated.
27210 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27211 (relocator_mod_SOURCES): New variable.
27212 (relocator_mod_CFLAGS): Likewise.
27213 (relocator_mod_LDFLAGS): Likewise.
27214 (relocator_mod_ASFLAGS): Likewise.
27215 * conf/x86_64.rmk: Likewise.
27216 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27217 (grub_multiboot_payload_entry_offset): Likewise.
27218 (grub_multiboot_forward_relocator): Likewise.
27219 (grub_multiboot_forward_relocator_end): Likewise.
27220 (grub_multiboot_backward_relocator): Likewise.
27221 (grub_multiboot_backward_relocator_end): Likewise.
27222 (grub_multiboot_payload_eip): New variable.
27223 (grub_multiboot_payload_orig): Likewise.
27224 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27225 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27226 * include/grub/i386/memory.h
27227 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27228 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27229 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27230 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27231 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27232 * include/grub/i386/relocator.h: New file.
27233 * include/grub/x86_64/relocator.h: Likewise.
27234 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27235 (XNU_RELOCATOR): New macro.
27236 (grub_xnu_launcher_start): Remove.
27237 (grub_xnu_launcher_end): Likewise.
27238 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
27239 (grub_xnu_heap_real_start): Remove.
27240 (grub_xnu_heap_start): Change to void *. All users updated.
27241 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
27242 * lib/i386/relocator.c: New file.
27243 * lib/i386/relocator_asm.S: Likewise.
27244 * lib/i386/relocator_backward.S: Likewise.
27245 * lib/mips/relocator.c: Likewise.
27246 * lib/mips/relocator_asm.S: Likewise.
27247 * lib/relocator.c: Likewise.
27248 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
27249 (entry): Removed.
27250 (playground): Likewise.
27251 (grub_multiboot_payload_orig): New variable.
27252 (grub_multiboot_payload_dest): Likewise.
27253 (grub_multiboot_payload_size): Likewise.
27254 (grub_multiboot_payload_eip): Likewise.
27255 (grub_multiboot_payload_esp): Likewise.
27256 (grub_multiboot_boot): Use grub_relocator32_boot.
27257 (grub_multiboot_unload): Free relocators.
27258 (grub_multiboot): Setup stack. Use relocators.
27259 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
27260 (grub_multiboot_load_elfXX): Use relocators.
27261 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
27262 (grub_multiboot_payload_size): Likewise.
27263 (grub_multiboot_payload_dest): Likewise.
27264 (grub_multiboot_payload_entry_offset): Likewise.
27265 (grub_multiboot_forward_relocator): Likewise.
27266 (grub_multiboot_backward_relocator): Likewise.
27267 (grub_multiboot_real_boot): Likewise.
27268 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
27269 (grub_xnu_entry_point): Likewise.
27270 (grub_xnu_arg1): Likewise.
27271 (grub_xnu_stack): Likewise.
27272 (grub_xnu_launch): Removed.
27273 (grub_xnu_boot_resume): New function.
27274 (grub_xnu_boot): Use relocators.
27275 * loader/i386/xnu_helper.S: Removed.
27276 * loader/xnu.c (grub_xnu_heap_start): New variable.
27277 (grub_xnu_heap_size): Likewise.
27278 (grub_xnu_heap_malloc): Use relocators.
27279 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
27280
272812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
27284 anything.
27285
272862009-12-13 Carles Pina i Estany <carles@pina.cat>
27287
27288 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
27289 GRUB_ERR_NONE before calling grub_env_set.
27290
272912009-12-12 Robert Millan <rmh@aybabtu.com>
27292
27293 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
27294 * genmk.rb (video): New variable.
27295 (CLEANFILES, VIDEOFILES): Add #{video}.
27296 (#{video}): New target rule.
27297 * genvideolist.sh: New file.
27298 * Makefile.in (pkglib_DATA): Add video.lst.
27299 (video.lst): New target rule.
27300 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
27301 `video.lst'.
27302 * util/grub.d/30_os-prober.in: Replace `vbe' with
27303 ${GRUB_VIDEO_BACKEND}.
27304
273052009-12-11 Robert Millan <rmh.grub@aybabtu.com>
27306
27307 * THANKS: Add David Miller.
27308
273092009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
27310
27311 libpciaccess support.
27312
27313 * Makefile.in (LIBPCIACCESS): New variable.
27314 (enable_grub_emu_pci): Likewise.
27315 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
27316 util/pci.c and commands/lspci.c.
27317 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
27318 * configure.ac (grub-emu-pci): New option.
27319 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
27320 (grub_pci_device_unmap_range): Likewise.
27321 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
27322 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
27323 (grub_pci_address_t) [!GRUB_UTIL]: New type.
27324 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
27325 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
27326 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
27327 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
27328 * include/grub/pciutils.h: New file.
27329 * util/pci.c: Likewise.
27330
273312009-12-11 Felix Zielcke <fzielcke@z-51.de>
27332
27333 * util/misc.c: Don't include <errno.h> twice.
27334
273352009-12-10 Felix Zielcke <fzielcke@z-51.de>
27336
27337 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
27338 name in an error message.
27339 (grub_biosdisk_rw): Likewise.
27340
273412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 Eliminate NTFS 4Gib barrier.
27344
27345 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27346 (read_run_data): Likewise.
27347 (grub_ntfs_read_run_list): Likewise.
27348 (grub_ntfs_read_block): Likewise.
27349 (grub_ntfs_iterate_dir): Likewise.
27350 (read_mft): Likewise.
27351 (read_data): Likewise.
27352 Use COM_LOG_LEN.
27353 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27354 to avoid 64-bit division
27355 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27356 (grub_ntfs_rlst): Use grub_disk_addr_t.
27357
273582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27359
27360 Eliminate grub-fstest 4Gib barrier.
27361
27362 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27363 (read_file): Fix error reporting.
27364
273652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27366
27367 Eliminate hexdump 4Gib barrier.
27368
27369 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27370 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27371
273722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27373
27374 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27375 Fixes amarsh bug.
27376
273772009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27378
27379 Remove miscellaneous files in distclean target.
27380
27381 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27382
273832009-12-09 Colin Watson <cjwatson@ubuntu.com>
27384
27385 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27386 if they're already set. This resolves the conflict between my
27387 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27388 fixing the --grub-probe option again.
27389 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27390 change on 2009-10-06, so that we now once again source
27391 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27392
273932009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27394
27395 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27396 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27397 `util/devicemap.c'.
27398
273992009-12-08 Carles Pina i Estany <carles@pina.cat>
27400
27401 * include/grub/misc.h (grub_printf_): New declaration.
27402 * kern/misc.c (grub_printf_): New definition.
27403 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27404 instead of `grub_printf' and `_'.
27405 * normal/menu_entry.c (store_completion): Likewise.
27406 (run): Likewise.
27407 (grub_menu_entry_run): Likewise.
27408 * normal/menu_text.c (grub_wait_after_message): Likewise.
27409 (notify_booting): Likewise.
27410 (notify_fallback): Likewise.
27411 (notify_execution_failure): Likewise.
27412
274132009-12-07 Colin Watson <cjwatson@ubuntu.com>
27414
27415 * configure.ac: Check for vasprintf.
27416 * util/misc.c (asprintf): Move allocation from here ...
27417 (vasprintf): ... to here. New function.
27418 (xasprintf): New function.
27419 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27420 prototypes.
27421 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27422 * util/grub-mkfont.c (write_font): Likewise.
27423 * util/grub-probe.c (probe): Likewise.
27424 * util/hostdisk.c (make_device_name): Likewise.
27425
274262009-12-06 David S. Miller <davem@sunset.davemloft.net>
27427
27428 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27429 anything even prefixed with 'cdrom' as a cdrom.
27430
274312009-12-06 Felix Zielcke <fzielcke@z-51.de>
27432
27433 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27434 mount points.
27435
274362009-12-05 Carles Pina i Estany <carles@pina.cat>
27437
27438 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27439 grub_gettext_msg_list.
27440 (grub_gettext_gettranslation_from_position): Return const char *
27441 and not char *.
27442 (grub_gettext_translate): Add the translated strings into a list,
27443 returns from the list if existing there.
27444 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27445 (grub_gettext_delete_list): Delete the list.
27446 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27447 lang environment variable is changed.
27448 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27449
274502009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27451
27452 Rename kernel.mod to kernel.img.
27453
27454 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27455 (kernel_mod_EXPORTS): Rename to ...
27456 (kernel_img_EXPORTS): ... this.
27457 (kernel_mod_SOURCES): Rename to ...
27458 (kernel_img_SOURCES): ... this.
27459 (kernel_mod_HEADERS): Rename to ...
27460 (kernel_img_HEADERS): ... this. All users updated.
27461 (kernel_mod_CFLAGS): Rename to ...
27462 (kernel_img_CFLAGS): ... this.
27463 (kernel_mod_ASFLAGS): Rename to ...
27464 (kernel_img_ASFLAGS): ... this.
27465 (kernel_mod_LDFLAGS): Rename to ...
27466 (kernel_img_LDFLAGS): ... this.
27467 * conf/x86_64-efi.rmk: Likewise.
27468 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27469 (read_kernel_image): ... this. All users updated.
27470 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27471
274722009-12-05 Carles Pina i Estany <carles@pina.cat>
27473
27474 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27475 (print_spaces): New function.
27476 (grub_print_ucs4): New function.
27477 (getstringwidth): New function.
27478 (print_message_indented): New function.
27479 (print_message): Gettexttize strings using print_message_indented.
27480 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27481 width.
27482 (get_entry_number): Gettextize and uses dynamic terminal width.
27483 (notify_booting, notify_fallback, notify_execution_failure):
27484 Gettextize.
27485 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27486 string.
27487 (run): Likewise.
27488 (grub_menu_entry_run): Likewise.
27489 * PO/POTFILES: Add normal/menu_entry.c.
27490
274912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27494
274952009-12-05 Carles Pina i Estany <carles@pina.cat>
27496
27497 * util/grub-install.in: Install gettext .mo files.
27498 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27499
275002009-12-05 Carles Pina i Estany <carles@pina.cat>
27501
27502 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27503 grub_dprintf.
27504
275052009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27506
27507 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27508 non-firmware-dependant one in realmode.S takes precedence.
27509
275102009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27511
27512 * commands/halt.c: Replace misc arch-specific headers with
27513 `<grub/misc.h>'.
27514 * commands/reboot.c: Likewise.
27515 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27516 `<grub/misc.h>'.
27517 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27518 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27519 (kernel_img_SOURCES): ... to here.
27520
27521 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
27522 * include/grub/i386/pc/init.h: Likewise.
27523 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27524 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27525
27526 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
27527
27528 * include/grub/i386/halt.h: Remove.
27529 * include/grub/i386/reboot.h: Likewise.
27530
27531 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
27532
275332009-12-03 David S. Miller <davem@sunset.davemloft.net>
27534
27535 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27536 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
27537 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
27538 "progname.h"
27539 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27540 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27541 (usage): Add missing comma in printf.
27542
275432009-12-02 Robert Millan <rmh.grub@aybabtu.com>
27544
27545 Use the same reboot approach on i386 coreboot and qemu as we do on
27546 BIOS.
27547
27548 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
27549 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
27550 * kern/i386/reboot.c: Remove.
27551 * include/grub/i386/reboot.h (grub_reboot): Export function.
27552 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
27553 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
27554 0xf000:0xfff0 instead of 0xffff:0x0000.
27555 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
27556 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
27557
275582009-11-30 Robert Millan <rmh.grub@aybabtu.com>
27559
27560 Fix $srcdir != $objdir build.
27561
27562 * Makefile.in (po/%.po): Rewrite as ...
27563 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
27564
275652009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
27566
27567 Fix GNU/Hurd grub-install crash.
27568 * util/grub-probe.c (probe): Try to access `path' only when it is not
27569 NULL.
27570
275712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27572
27573 Correct module naming.
27574
27575 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27576 (GRUB_MOD_INIT(efi_uga)): ... to this
27577 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27578 (GRUB_MOD_FINI(efi_uga)): ... to this
27579 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27580 (GRUB_MOD_INIT(efi_gop)): ... to this
27581 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27582 (GRUB_MOD_FINI(efi_gop)): ... to this
27583
275842009-11-28 Robert Millan <rmh.grub@aybabtu.com>
27585
27586 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
27587 translatable.
27588 (usage): Translate `arg' strings using gettext().
27589 Thanks to Jordi Mallach for the suggestion.
27590
275912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 GOP support. Based on patch from Bean
27594 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27595
27596 * video/efi_gop.c: New file.
27597 * include/grub/efi/graphics_output.h: Likewise.
27598 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
27599 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27600 variables.
27601 * conf/x86_64-efi.rmk: Likewise.
27602
276032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27604
27605 Rename efi_fb to efi_uga.
27606
27607 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27608 'efi_uga.mod'.
27609 (efi_fb_mod_SOURCES): Rename this ...
27610 (efi_uga_mod_SOURCES): ... to this.
27611 (efi_fb_mod_CFLAGS): Rename this ...
27612 (efi_uga_mod_CFLAGS): ... to this.
27613 (efi_fb_mod_LDFLAGS): Rename this ...
27614 (efi_uga_mod_LDFLAGS): ... to this.
27615 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27616 'efi_uga.mod'.
27617 (efi_fb_mod_SOURCES): Rename this ...
27618 (efi_uga_mod_SOURCES): ... to this.
27619 (efi_fb_mod_CFLAGS): Rename this ...
27620 (efi_uga_mod_CFLAGS): ... to this.
27621 (efi_fb_mod_LDFLAGS): Rename this ...
27622 (efi_uga_mod_LDFLAGS): ... to this.
27623 * video/efi_fb.c: Move this ...
27624 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
27625
276262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 * po/README: New file. Explain our PO file workflow.
27629
276302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27631
27632 * po/ChangeLog: Remove. Move relevant entries back to ...
27633 * ChangeLog: ... here.
27634 * po/ca.po: Remove (now handled by TLP).
27635 * po/id.po: Likewise.
27636 * po/zh_CN.po: Likewise.
27637 * Makefile.in (LINGUAS): Initialize in a way that supports
27638 empty set.
27639
276402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27641
27642 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
27643 reliing on po/LINGUAS.
27644 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
27645 (po/%.po): ... this.
27646
276472009-11-26 Felix Zielcke <fzielcke@z-51.de>
27648
27649 * util/i386/efi/grub-mkimage.c: Include "progname.h".
27650 (main): Use `program_name' instead of nonexistent `progname'.
27651
276522009-11-26 Felix Zielcke <fzielcke@z-51.de>
27653
27654 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27655 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
27656
276572009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27658
27659 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
27660 commit.
27661 * conf/i386-efi.rmk: Likewise.
27662 * conf/i386-ieee1275.rmk: Likewise.
27663 * conf/powerpc-ieee1275.rmk: Likewise.
27664 * conf/sparc64-ieee1275.rmk: Likewise.
27665 * conf/x86_64-efi.rmk: Likewise.
27666
276672009-11-26 Felix Zielcke <fzielcke@z-51.de>
27668
27669 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
27670
276712009-11-26 Felix Zielcke <fzielcke@z-51.de>
27672
27673 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
27674
276752009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27676
27677 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
27678 (grub_mkdevicemap_SOURCES): New variable.
27679 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
27680 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
27681 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
27682 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
27683 (grub_mkdevicemap_SOURCES): Remove.
27684 * conf/i386-efi.rmk: Likewise.
27685 * conf/i386-ieee1275.rmk: Likewise.
27686 * conf/i386-pc.rmk: Likewise.
27687 * conf/powerpc-ieee1275.rmk: Likewise.
27688 * conf/sparc64-ieee1275.rmk: Likewise.
27689 * conf/x86_64-efi.rmk: Likewise.
27690 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
27691 (usage): Fix strings to use `program_name'.
27692 (main): Initialize gettext.
27693 * util/grub-editenv.c: Likewise.
27694 * util/grub-emu.c: Likewise.
27695 * util/grub-fstest.c: Likewise.
27696 * util/grub-mkdevicemap.c: Likewise.
27697 * util/grub-mkfont.c: Likewise.
27698 * util/grub-mkrelpath.c: Likewise.
27699 * util/grub-pe2elf.c: Likewise.
27700 * util/grub-probe.c: Likewise.
27701 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27702 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27703 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27704
27705 * util/misc.c: Include `"progname.h"'.
27706 (progname): Remove variable.
27707 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
27708
277092009-11-25 Felix Zielcke <fzielcke@z-51.de>
27710
27711 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
27712 printf and print a newline after the menuentry header line.
27713 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27714
277152009-11-25 Felix Zielcke <fzielcke@z-51.de>
27716
27717 autoconf >= 2.60 support $(localedir).
27718
27719 * INSTALL: Note that autoconf 2.60 is required.
27720 * configure.ac (AC_PREREQ): Bump to 2.60.
27721 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
27722 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27723
277242009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
27725
27726 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
27727 aclocal is run.
27728
277292009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27730
27731 * normal/main.c (grub_normal_read_line): Fix off-by-one
27732 buffer overflow.
27733
277342009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27735
27736 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
27737 "parser.grub" in grub_command_execute() call.
27738
277392009-11-24 Carles Pina i Estany <carles@pina.cat>
27740
27741 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
27742 * conf/i386-efi.rmk: Likewise.
27743 * conf/i386-ieee1275.rmk: Likewise.
27744 * conf/i386-pc.rmk: Likewise.
27745 * conf/powerpc-ieee1275.rmk: Likewise.
27746 * conf/sparc64-ieee1275.rmk: Likewise.
27747 * conf/x86_64-efi.rmk: Likewise.
27748 * gettext/gettex.c: Include <grub/i18n.h>.
27749 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
27750 here ...
27751 * include/grub/i18n.h: ... to here
27752 * include/grub/i18n.h: ... to here.
27753 * kern/misc.c: Include <grub/i18n.h>
27754 (grub_gettext_dummy): Move above user.
27755
277562009-11-24 Felix Zielcke <fzielcke@z-51.de>
27757
27758 * util/Makefile.in (install-local): Convert a `for' into a normal
27759 shell expansion.
27760
277612009-11-24 Robert Millan <rmh.grub@aybabtu.com>
27762
27763 * autogen.sh: Add automake call.
27764 * config.guess: Remove.
27765 * config.sub: Likewise.
27766 * install-sh: Likewise.
27767
277682009-11-24 Felix Zielcke <fzielcke@z-51.de>
27769
27770 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
27771
277722009-11-24 Felix Zielcke <fzielcke@z-51.de>
27773
27774 * util/Makefile.in (install-local): Convert a make `$(foreach)'
27775 function to a normal shell `for'.
27776
277772009-11-24 Felix Zielcke <fzielcke@z-51.de>
27778
27779 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27780
277812009-11-24 Felix Zielcke <fzielcke@z-51.de>
27782
27783 * util/grub-mkrelpath.c: New file.
27784 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
27785 (grub_mkrelpath_SOURCES): New variable.
27786 * include/grub/util/misc.h: New function prototype.
27787 * util/misc.c (make_system_path_relative_to_its_root): New function.
27788
27789 * util/grub-mkconfig_lib.in (bindir): New variable.
27790 (grub_mkrelpath): Likewise.
27791 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
27792
27793 * util/probe.c (probe): Make the file path relative to its root.
27794 Change a info message to use the GRUB path. Enable again the
27795 check if we can read the file with GRUB facilities.
27796
27797 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
27798 to its root.
27799
278002009-11-24 Felix Zielcke <fzielcke@z-51.de>
27801
27802 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27803 platform.
27804
278052009-11-24 Felix Zielcke <fzielcke@z-51.de>
27806
27807 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27808 strncmp().
27809
278102009-11-24 Felix Zielcke <fzielcke@z-51.de>
27811
27812 * util/getroot.c (grub_util_is_dmraid): New function.
27813 (grub_util_get_dev_abstraction): Treat dmraid and multipath
27814 devices as normal ones, not as LVM.
27815
278162009-11-23 Carles Pina i Estany <carles@pina.cat>
27817
27818 * conf/common.rmk: Add grub-gettext_lib target and updates
27819 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
27820 LDFLAGS.
27821 * gettext/gettext.c: New file. (Reads mo files).
27822 * include/grub/file.h (grub_file_pread): New prototype.
27823 * include/grub/i18n.h (_): New prototype.
27824 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
27825 prototypes.
27826 * kern/misc.c (grub_gettext_dummy): New function.
27827 * normal/menu_text.c: Include <grub/i18n.h>.
27828 * normal/menu_text.c (print_timeout): Gettexttize string.
27829 * normal/menu_text.c (print_message): Gettexttize string.
27830 * po/POTFILES: Add `normal/menu_text.c'.
27831 * po/ca.po: Add new translations.
27832 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
27833 gettext module and defines locale_dir and lang in grub.cfg.
27834 * NEWS: Add gettext support.
27835
278362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27837
27838 * util/hostdisk.c: Include `<grub/i18n.h>'.
27839 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
27840 (make_device_name): Rewrite using asprintf.
27841 (convert_system_partition_to_system_disk): Replace 0 with NULL.
27842 (find_system_device): If a device is not found, generate one just
27843 by reusing the OS path name.
27844 (read_device_map): Make it permissible for device.map not to exist.
27845
278462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27847
27848 * script/sh/execute.c: Move from here ...
27849 * script/execute.c: ... to here. Update all users.
27850 * script/sh/function.c: Move from here ...
27851 * script/function.c: ... to here. Update all users.
27852 * script/sh/lexer.c: Move from here ...
27853 * script/lexer.c: ... to here. Update all users.
27854 * script/sh/main.c: Move from here ...
27855 * script/main.c: ... to here. Update all users.
27856 * script/sh/parser.y: Move from here ...
27857 * script/parser.y: ... to here. Update all users.
27858 * script/sh/script.c: Move from here ...
27859 * script/script.c: ... to here. Update all users.
27860
278612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27862
27863 * configure.ac: Detect all `emu' platforms. Define
27864 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
27865 --enable-grub-emu logic. Disable include/grub/machine
27866 symlink on `emu' platforms.
27867
27868 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27869 * gensymlist.sh.in: Likewise.
27870
27871 * include/grub/i386/coreboot/machine.h: Remove file.
27872 * include/grub/i386/efi/machine.h: Likewise.
27873 * include/grub/i386/ieee1275/machine.h: Likewise.
27874 * include/grub/i386/pc/machine.h: Likewise.
27875 * include/grub/i386/qemu/machine.h: Likewise.
27876 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27877 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27878 * include/grub/x86_64/efi/machine.h: Likewise.
27879
27880 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27881 * commands/halt.c: Likewise.
27882 * commands/reboot.c: Likewise.
27883 * include/grub/autoefi.h: Likewise.
27884 * include/grub/i386/at_keyboard.h: Likewise.
27885 * include/grub/i386/kernel.h: Likewise.
27886 * include/grub/i386/loader.h: Likewise.
27887 * include/grub/i386/pc/memory.h: Likewise.
27888 * kern/dl.c: Likewise.
27889 * kern/i386/coreboot/init.c: Likewise.
27890 * loader/i386/bsd.c: Likewise.
27891 * loader/i386/linux.c: Likewise.
27892 * loader/multiboot_loader.c: Likewise.
27893 * term/i386/pc/serial.c: Likewise.
27894 * term/usb_keyboard.c: Likewise.
27895
27896 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27897 `<grub/machine/machine.h>'
27898 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27899 * util/misc.c: Remove `<grub/machine/machine.h>' and
27900 `<grub/machine/time.h>'.
27901
27902 * Makefile.in (enable_grub_emu): Remove variable.
27903 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27904
27905 * conf/any-emu.rmk: New file.
27906 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27907 (grub_emu_init.c): Move from here ...
27908 * conf/any-emu.rmk: ... to here.
27909
27910 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27911 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27912 * conf/any-emu.rmk: ... to here.
27913
279142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27915
27916 * include/grub/parser.h (grub_parser_register): Document need
27917 of `name' parameter.
27918 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27919 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27920 "sh" to "grub".
27921
279222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27923
27924 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27925 `$(XGETTEXT)'.
27926 * include/grub/i18n.h (N_): New macro.
27927 * util/mkisofs/mkisofs.h: Likewise.
27928 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27929 around N_().
27930 (usage): Use gettext() to translate help strings when printing them.
27931
279322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27933
27934 Based on patch from Bean
27935 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27936
27937 * video/efi_fb.c: New file.
27938 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27939 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27940 variables.
27941 * conf/x86_64-efi.rmk: Likewise.
27942
279432009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27946 * util/i386/pc/grub-setup.c: Likewise.
27947
279482009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27949
27950 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27951 <hurd/fs.h>
27952 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27953 file_get_storage_info to implement grub_guess_root_device.
27954
279552009-11-21 Felix Zielcke <fzielcke@z-51.de>
27956
27957 * Makefile.in (target): Use make's builtin $(shell) function
27958 instead of calling directly $(SHELL) to create the locale directories,
27959 inside the $(foreach) function.
27960
279612009-11-21 Felix Zielcke <fzielcke@z-51.de>
27962
27963 * util/grub-mkrescue.in: Print an error and usage if output option
27964 has not been given.
27965
279662009-11-21 Felix Zielcke <fzielcke@z-51.de>
27967
27968 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27969 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27970 root and /boot are on different devices.
27971
279722009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27973
27974 Fix build for srcdir != objdir.
27975
27976 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27977 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27978 $(srcdir).
27979 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27980 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27981 reference for input.
27982
279832009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27984
27985 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27986 or hardlinking it). Remove -J option, Joliet is not compatible with
27987 multiple source directories.
27988
279892009-11-21 Carles Pina i Estany <carles@pina.cat>
279902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27991
27992 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27993 (process_input_dir): New function. Process an arbitrary input
27994 directory.
27995 Misc adjustments to support both "override mode" and system-wide mode.
27996
279972009-11-20 Felix Zielcke <fzielcke@z-51.de>
27998
27999 * configure.ac (UNIFONT_BDF): Rename to ...
28000 (FONT_SOURCE): ... this. Update all users.
28001
280022009-11-20 Felix Zielcke <fzielcke@z-51.de>
28003
28004 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28005 to the list of unifont files to look for.
28006
280072009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28008
28009 Patch from Joe Auricchio <jauricchio@gmail.com>
28010 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28011 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28012 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28013
280142009-11-19 Felix Zielcke <fzielcke@z-51.de>
28015
28016 * Makefile.in (install-local): Add a missing backslash.
28017
280182009-11-19 Felix Zielcke <fzielcke@z-51.de>
28019
28020 * include/grub/x86_64/io.h: New file.
28021
280222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28023
28024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28025 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28026 Include `"progname.h"'.
28027 (main): Initialize gettext.
28028 * util/i386/pc/grub-setup.c: Gettexttize.
28029 * util/i386/pc/grub-mkimage.c: Likewise.
28030
28031 * Makefile.in (po/*.po): Redefine as ...
28032 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28033
28034 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28035
280362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28037
28038 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28039 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28040 (program_name): Remove.
28041 (main): Initialize gettext support.
28042 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28043 Include `<libintl.h>'.
28044 (_): New macro.
28045
28046 * util/mkisofs/eltorito.c: Gettexttize.
28047 * util/mkisofs/joliet.c: Likewise.
28048 * util/mkisofs/mkisofs.c: Likewise.
28049 * util/mkisofs/multi.c: Likewise.
28050 * util/mkisofs/rock.c: Likewise.
28051 * util/mkisofs/tree.c: Likewise.
28052 * util/mkisofs/write.c: Likewise.
28053
28054 * po/POTFILES: Update with new files.
28055
280562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28059 * util/mkisofs/iso9660.h: Likewise.
28060 * util/mkisofs/joliet.c: Likewise.
28061 * util/mkisofs/mkisofs.c: Likewise.
28062 * util/mkisofs/mkisofs.h: Likewise.
28063 * util/mkisofs/rock.c: Likewise.
28064 * util/mkisofs/tree.c: Likewise.
28065 * util/mkisofs/write.c: Likewise.
28066
28067 * util/mkisofs/eltorito.c (rcsid): Remove.
28068 * util/mkisofs/hash.c: Likewise.
28069 * util/mkisofs/joliet.c: Likewise.
28070 * util/mkisofs/name.c: Likewise.
28071 * util/mkisofs/rock.c: Likewise.
28072 * util/mkisofs/tree.c: Likewise.
28073 * util/mkisofs/write.c: Likewise.
28074
280752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28076
28077 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28078 instead of static allocation.
28079 * util/mkisofs/match.h: Likewise.
28080
280812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28082
28083 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28084 and `util/grub.d/10_linux.in'.
28085 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28086 translatable Shell files.
28087
280882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28089
28090 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28091
280922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28093
28094 * INSTALL: Document Automake is needed for bootstrap.
28095 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
28096 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28097 Add gettext initialization.
28098 (kfreebsd_entry): Make menuentry output translatable.
28099
281002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28101
28102 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28103 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28104 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28105 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28106 (LINGUAS): Auto-generate using `po/LINGUAS'.
28107 * po/LINGUAS: New file.
28108
281092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28112 other things).
28113 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28114 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28115 bindtextdomain() calls for gettext initialization.
28116
281172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28118
28119 * gnulib/progname.c: New file (imported from Gnulib).
28120 * gnulib/progname.h: Likewise.
28121 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28122 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28123 (usage): Replace `progname' with `program_name'.
28124 (main): Use set_program_name() for program name initialization.
28125
281262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28127
28128 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28129 from here ...
28130 * Makefile.in (CPPFLAGS): ... to here.
28131
281322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28133
28134 * aclocal.m4: Move from here ...
28135 * acinclude.m4: ... to here.
28136 * autogen.sh: Add call to `aclocal'.
28137 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28138
281392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28140
28141 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28142 (LINGUAS): New variable.
28143 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28144 (install-local): Install MO files.
28145 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28146 * include/grub/i18n.h: New file.
28147 * po/POTFILES: New file.
28148 * po/ca.po: New file.
28149 * util/grub.d/10_linux.in (bindir): New variable.
28150 Add gettext initialization.
28151 (linux_entry): Make menuentry output translatable.
28152 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
28153 (usage): Make --help output translatable.
28154 (main): Initialize gettext.
28155
281562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28157
28158 * import_gcry.py: New file (written by Vladimir with minor
28159 adjustments).
28160 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
28161 ciphers.
28162 * INSTALL: Document that Python is required for bootstrap.
28163
281642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28165
28166 Import ciphers from libgcrypt 1.4.4.
28167
28168 * lib/libgcrypt/cipher/ChangeLog
28169 * lib/libgcrypt/cipher/ac.c
28170 * lib/libgcrypt/cipher/arcfour.c
28171 * lib/libgcrypt/cipher/bithelp.h
28172 * lib/libgcrypt/cipher/blowfish.c
28173 * lib/libgcrypt/cipher/camellia-glue.c
28174 * lib/libgcrypt/cipher/camellia.c
28175 * lib/libgcrypt/cipher/camellia.h
28176 * lib/libgcrypt/cipher/cast5.c
28177 * lib/libgcrypt/cipher/cipher.c
28178 * lib/libgcrypt/cipher/crc.c
28179 * lib/libgcrypt/cipher/des.c
28180 * lib/libgcrypt/cipher/dsa.c
28181 * lib/libgcrypt/cipher/ecc.c
28182 * lib/libgcrypt/cipher/elgamal.c
28183 * lib/libgcrypt/cipher/hash-common.c
28184 * lib/libgcrypt/cipher/hash-common.h
28185 * lib/libgcrypt/cipher/hmac-tests.c
28186 * lib/libgcrypt/cipher/md.c
28187 * lib/libgcrypt/cipher/md4.c
28188 * lib/libgcrypt/cipher/md5.c
28189 * lib/libgcrypt/cipher/primegen.c
28190 * lib/libgcrypt/cipher/pubkey.c
28191 * lib/libgcrypt/cipher/rfc2268.c
28192 * lib/libgcrypt/cipher/rijndael-tables.h
28193 * lib/libgcrypt/cipher/rijndael.c
28194 * lib/libgcrypt/cipher/rmd.h
28195 * lib/libgcrypt/cipher/rmd160.c
28196 * lib/libgcrypt/cipher/rsa.c
28197 * lib/libgcrypt/cipher/seed.c
28198 * lib/libgcrypt/cipher/serpent.c
28199 * lib/libgcrypt/cipher/sha1.c
28200 * lib/libgcrypt/cipher/sha256.c
28201 * lib/libgcrypt/cipher/sha512.c
28202 * lib/libgcrypt/cipher/tiger.c
28203 * lib/libgcrypt/cipher/twofish.c
28204 * lib/libgcrypt/cipher/whirlpool.c
28205
282062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 Fix build for systems without error().
28209
28210 * gnulib/error.c: New file (imported from Gnulib).
28211 * gnulib/error.h: Likewise.
28212 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28213 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28214 (this variable is now used by error()).
28215
282162009-11-16 Felix Zielcke <fzielcke@z-51.de>
28217
28218 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28219 instead of relying that char is signed.
28220
282212009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28224 blocksize different from specified.
28225 (grub_pxefs_read): Likewise.
28226
282272009-11-16 Felix Zielcke <fzielcke@z-51.de>
28228
28229 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28230
28231 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28232 (grub_ata_readwrite): Likewise. Update 2 format strings.
28233 (grub_atapi_read): Likewise.
28234
28235 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28236 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28237 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
28238 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
28239 (ata_mod_LDFLAGS): Move from here ...
28240 * conf/i386.rmk: ... to here ...
28241 * conf/x86_64-efi.rmk: ... and here.
28242 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
28243 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
28244
282452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28246
28247 Relicense multiboot.h, with RMS' blessing.
28248
28249 * include/multiboot.h: Change to X11 license.
28250
282512009-11-15 Robert Millan <rmh.grub@aybabtu.com>
28252
28253 Support --version in grub-mkisofs.
28254
28255 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
28256 (OPTION_VERSION): New macro.
28257 (ld_options): Recognize --version.
28258 (usage): Move `program_name' from here ...
28259 (program_name): ... to here. Add `static' qualifier.
28260 (main): Recognize `OPTION_VERSION'.
28261
282622009-11-15 Felix Zielcke <fzielcke@z-51.de>
28263
28264 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
28265 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
28266
282672009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28268
28269 Fix help2man generation for mkisofs.
28270
28271 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
28272 (usage): Send output to stdout (rather than stderr).
28273
282742009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28275
28276 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
28277 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28278 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
28279 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28280 (bin_SCRIPTS): Add `grub-mkfloppy'.
28281 (grub_mkfloppy_SOURCES): New variable.
28282
28283 * util/grub-mkrescue.in: New file.
28284 * util/i386/pc/grub-mkfloppy.in: New file.
28285
28286 * util/i386/coreboot/grub-mkrescue.in: Remove.
28287 * util/i386/pc/grub-mkrescue.in: Remove.
28288
282892009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28290
28291 * include/grub/multiboot.h (struct grub_multiboot_header): Move
28292 from here ...
28293 * include/multiboot.h (struct multiboot_header): ... to here. Update
28294 all users.
28295 * include/grub/multiboot.h (struct grub_multiboot_info): Move
28296 from here ...
28297 * include/multiboot.h (struct multiboot_info): ... to here. Update
28298 all users.
28299 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
28300 from here ...
28301 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
28302 Update all users.
28303 * include/grub/multiboot.h (struct grub_mod_list): Move
28304 from here ...
28305 * include/multiboot.h (struct multiboot_mod_list): ... to here.
28306 Update all users.
28307
283082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28309
28310 * include/multiboot2.h (multiboot_word): Rename from this ...
28311 (multiboot2_word): ... to this. Update all users.
28312 (multiboot_header): Rename from this ...
28313 (multiboot2_header): ... to this. Update all users.
28314 (multiboot_tag_header): Rename from this ...
28315 (multiboot2_tag_header): ... to this. Update all users.
28316 (multiboot_tag_start): Rename from this ...
28317 (multiboot2_tag_start): ... to this. Update all users.
28318 (multiboot_tag_name): Rename from this ...
28319 (multiboot2_tag_name): ... to this. Update all users.
28320 (multiboot_tag_module): Rename from this ...
28321 (multiboot2_tag_module): ... to this. Update all users.
28322 (multiboot_tag_memory): Rename from this ...
28323 (multiboot2_tag_memory): ... to this. Update all users.
28324 (multiboot_tag_unused): Rename from this ...
28325 (multiboot2_tag_unused): ... to this. Update all users.
28326 (multiboot_tag_end): Rename from this ...
28327 (multiboot2_tag_end): ... to this. Update all users.
28328
283292009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28330
28331 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
28332 this platform we should support Multiboot1 first.
28333
28334 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28335 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
28336 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
28337
283382009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28339
28340 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
28341 of write calls (converting them to fwrite() if they aren't already).
28342 (get_torito_desc): Likewise.
28343 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
28344
283452009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28346
28347 * util/i386/pc/grub-install.in: Move from here ...
28348 * util/grub-install.in: ... to here. Update all users.
28349
283502009-11-11 Colin Watson <cjwatson@ubuntu.com>
28351
28352 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28353
283542009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28355
28356 Support for El Torito without floppy emulation.
28357
28358 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28359 (init_boot_catalog): Improve error handling.
28360 (get_torito_desc): Don't use floppy emulation unless requested by
28361 user. Patch boot information table when requested via
28362 `-boot-info-table'.
28363 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28364 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28365 (use_boot_info_table): New variables.
28366 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28367 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28368 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28369 `--eltorito-emul-floppy'.
28370 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28371 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28372 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28373 (use_boot_info_table, get_731): New prototypes.
28374 * util/mkisofs/write.c (get_731): New function.
28375
283762009-11-11 Felix Zielcke <fzielcke@z-51.de>
28377
28378 Fix the generation of the man page.
28379
28380 * util/pc/i386/grub-install.in: Source
28381 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28382
283832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28384
28385 Large file support for grub-mkisofs.
28386
28387 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28388 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28389 (session_start): Upgrade type to `uint64_t'. Update all users.
28390 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28391 (struct directory_entry): Upgrade type of `starting_block' and
28392 `size' to `uint64_t'. Update all users.
28393 (struct deferred): Remove unused structure.
28394 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28395 Update all users.
28396 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28397 file is larger than `UINT32_MAX'.
28398 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28399 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28400 return value.
28401 (struct deferred_write): Upgrade type of `extent' and `size' to
28402 `uint64_t'. Update all users.
28403 (last_extent_written): Upgrade type to `uint64_t'. Update all
28404 users.
28405 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28406 Update all users. Upgrade type of `remain' to `int64_t' and
28407 `use' to `size_t'. Use error() to handle fread() errors.
28408 (write_files): Rely on write_one_file() rather than calling
28409 xfwrite() directly.
28410
284112009-11-09 Felix Zielcke <fzielcke@z-51.de>
28412
28413 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28414
284152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28416
28417 * util/mkisofs/fnmatch.c: Remove.
28418 * util/mkisofs/getopt1.c: Likewise.
28419 * util/mkisofs/getopt.c: Likewise.
28420 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28421 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28422 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28423 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28424 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28425
28426 * configure.ac: Detect `mingw32msvc' host_os.
28427 Check for lstat(), getuid() and getgid().
28428
28429 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28430 instances of `u_char' with `uint8_t'.
28431
28432 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28433 [!HAVE_GETUID] (getuid): New function (stub).
28434 [!HAVE_GETGID] (getgid): Likewise.
28435 [!HAVE_LSTAT] (lstat): Likewise.
28436 [!S_IROTH] (S_IROTH): New macro (dummy).
28437 [!S_IRGRP] (S_IRGRP): Likewise.
28438
284392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28440
28441 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28442 conditional expression).
28443
284442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28445
28446 Import from Gnulib.
28447
28448 * gnulib/fnmatch.c: New file.
28449 * gnulib/fnmatch.h: Likewise.
28450 * gnulib/fnmatch_loop.c: Likewise.
28451 * gnulib/getopt.c: Likewise.
28452 * gnulib/getopt.h: Likewise.
28453 * gnulib/getopt1.c: Likewise.
28454 * gnulib/getopt_int.h: Likewise.
28455 * gnulib/gettext.h: Likewise.
28456
284572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28458
28459 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28460 * normal/handler.c (read_handler_list): Likewise.
28461
284622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28463
28464 Misc cleanup.
28465
28466 * kern/command.c (grub_register_command_prio): Use
28467 grub_zalloc() instead of explicitly zeroing data.
28468 * kern/list.c: Include `<grub/mm.h>'.
28469 (grub_named_list_find): Replace `0' with `NULL'.
28470 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28471 (fs_module_list): Change type to `grub_named_list_t'. Update all
28472 users.
28473 * normal/dyncmd.c (read_command_list): Add space between function
28474 call and parenthesis.
28475 * normal/handler.c (read_handler_list): Likewise.
28476
284772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28478
28479 * normal/auth.c (punishment_delay): Moved from here ...
28480 (grub_auth_strcmp): ... to here (inside function).
28481
284822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28483
28484 * include/grub/list.h (struct grub_named_list): Remove `const'
28485 qualifier from `name'.
28486 (struct grub_prio_list): Likewise.
28487
284882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28489
28490 * normal/auth.c: Include `<grub/time.h>'.
28491 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28492
284932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28494
28495 * normal/auth.c (punishment_delay): New variable.
28496 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28497 (grub_auth_check_authentication): Punish failed login attempts with
28498 an incremental (2^N) delay.
28499
285002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28501
28502 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28503 path with $(srcdir).
28504
285052009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28506
28507 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28508
285092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28510
28511 * util/i386/coreboot/grub-mkrescue.in: New file.
28512 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28513 variables.
28514
28515 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28516 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28517 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28518 requirements.
28519 * util/mkisofs/defaults.h: New file.
28520 * util/mkisofs/eltorito.c: Likewise.
28521 * util/mkisofs/exclude.h: Likewise.
28522 * util/mkisofs/fnmatch.c: Likewise.
28523 * util/mkisofs/getopt.c: Likewise.
28524 * util/mkisofs/getopt1.c: Likewise.
28525 * util/mkisofs/hash.c: Likewise.
28526 * util/mkisofs/include/fctldefs.h: Likewise.
28527 * util/mkisofs/include/mconfig.h: Likewise.
28528 * util/mkisofs/include/prototyp.h: Likewise.
28529 * util/mkisofs/include/statdefs.h: Likewise.
28530 * util/mkisofs/iso9660.h: Likewise.
28531 * util/mkisofs/joliet.c: Likewise.
28532 * util/mkisofs/match.c: Likewise.
28533 * util/mkisofs/match.h: Likewise.
28534 * util/mkisofs/mkisofs.c: Likewise.
28535 * util/mkisofs/mkisofs.h: Likewise.
28536 * util/mkisofs/multi.c: Likewise.
28537 * util/mkisofs/name.c: Likewise.
28538 * util/mkisofs/rock.c: Likewise.
28539 * util/mkisofs/tree.c: Likewise.
28540 * util/mkisofs/write.c: Likewise.
28541
285422009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28543
28544 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
28545 being insecure.
28546
285472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28548
28549 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
28550 `grub-mkimage' (and use $0 when possible).
28551
285522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28553
28554 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
28555 error message for excessively large memory map.
28556
285572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28558
28559 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
28560 executable bit.
28561
285622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28563
28564 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
28565 message for coreboot users.
28566
285672009-11-07 Robert Millan <rmh.grub@aybabtu.com>
28568
28569 Fix build with GNU gold.
28570
28571 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
28572 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
28573 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
28574 link addresses.
28575 * aclocal.m4: Likewise.
28576
285772009-11-04 Felix Zielcke <fzielcke@z-51.de>
28578
28579 * configure.ac (AC_PREREQ): Bump to 2.59d.
28580 * INSTALL: Make it more clear when Autoconf and Ruby are
28581 needed and when to run `./autogen.sh'.
28582
285832009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
28584
28585 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
28586 OSes.
28587
285882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28589
28590 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28591
285922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28593
28594 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
28595 giving it to GNU Mach.
28596
285972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28598
28599 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
28600 GNU partition number to get internal GRUB partition number.
28601
286022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28603
28604 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
28605 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
28606
286072009-11-01 Robert Millan <rmh.grub@aybabtu.com>
28608
28609 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28610 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
28611 case.
28612
286132009-11-01 Felix Zielcke <fzielcke@z-51.de>
28614
28615 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
28616
286172009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28618
28619 Fix build problem.
28620
28621 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
28622 `-isystem=$(srcdir)/include'.
28623
286242009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28625
28626 * util/i386/pc/grub-install.in: Remove hint that device.map should be
28627 checked (grub-install doesn't currently rely on it).
28628
286292009-10-29 Robert Millan <rmh.grub@aybabtu.com>
28630
28631 Revert SVN r2660.
28632
28633 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
28634 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28635 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
28636 * conf/i386-ieee1275.rmk: Likewise.
28637 * conf/i386-pc.rmk: Likewise.
28638 * conf/powerpc-ieee1275.rmk: Likewise.
28639 * conf/sparc64-ieee1275.rmk: Likewise.
28640 * conf/x86_64-efi.rmk: Likewise.
28641
286422009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28643
28644 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
28645
286462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28647
28648 * include/grub/misc.h: Stop checking for APPLE_CC.
28649
286502009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28651
28652 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
28653 doesn't cause an infinite call loop.
28654
286552009-10-28 Felix Zielcke <fzielcke@z-51.de>
28656
28657 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
28658 strings.
28659
286602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28661
28662 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
28663 variable.
28664 * Makefile.in: Likewise.
28665
286662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28667
28668 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
28669
286702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28671
28672 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
28673
286742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28675
28676 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
28677
286782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28679
28680 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
28681 from here ...
28682 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
28683
286842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28685
28686 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
28687 in $(MAKEINFO) invocation. This makes it clear in output that
28688 errors are being ignored.
28689
286902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28691
28692 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
28693 from here ...
28694 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28695 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
28696 * conf/i386-ieee1275.rmk: Likewise.
28697 * conf/i386-pc.rmk: Likewise.
28698 * conf/powerpc-ieee1275.rmk: Likewise.
28699 * conf/sparc64-ieee1275.rmk: Likewise.
28700 * conf/x86_64-efi.rmk: Likewise.
28701
287022009-10-26 Colin Watson <cjwatson@ubuntu.com>
28703
28704 * util/grub-editenv.c (main): If only a command is given, use
28705 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
28706 (usage): FILENAME is now optional and has a default.
28707
287082009-10-26 Colin Watson <cjwatson@ubuntu.com>
28709
28710 Improve grub-mkconfig performance when there are several menu
28711 entries on a single filesystem.
28712
28713 * util/grub.d/10_linux.in (linux_entry): Cache the output of
28714 prepare_grub_to_access_device.
28715 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28716 * util/grub.d/30_os-prober.in: Likewise.
28717
287182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28719
28720 * util/grub.d/10_freebsd.in: Remove.
28721 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
28722 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
28723
287242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28725
28726 * docs/grub.cfg: Fix example usage of *BSD loaders.
28727
287282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28729
28730 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
28731 grub_util_error() call.
28732
287332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28734
28735 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
28736 `reserved_first_sector' member.
28737 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
28738 `reserved_first_sector' to 1.
28739 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
28740 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
28741 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
28742 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
28743 filesystems which begin at first sector.
28744 (options): New option --skip-fs-probe.
28745 (main): Handle --skip-fs-probe and pass it to setup().
28746
287472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28748
28749 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
28750 (memset): Fix function prototype.
28751
287522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
287532009-10-25 Vasily Averin <vvs@parallels.com>
28754
28755 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
28756 `dirent.direntlen == 0'.
28757
287582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28759
28760 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
28761 `cpio'.
28762 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
28763
287642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28765
28766 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
28767 `__trampoline_setup' and `__ucmpdi2'.
28768 * include/grub/powerpc/libgcc.h: Only export symbols for functions
28769 that libgcc provides.
28770
287712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28772
28773 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
28774 * include/grub/sparc64/libgcc.h (memset): Likewise.
28775 * include/grub/misc.h (memset, memcmp): New function prototypes.
28776
287772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28778
28779 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
28780 `cpio'.
28781 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
28782
287832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28784
28785 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
28786 * docs/grub.cfg: Compensate for recent change in multiboot
28787 loader (since 2009-08-14 it won't pass filename to payload).
28788 * util/grub.d/10_hurd.in: Likewise.
28789
287902009-10-21 Felix Zielcke <fzielcke@z-51.de>
28791
28792 * config.guess: Update to latest version from config git
28793 repository.
28794 * config.sub: Likewise.
28795
287962009-10-20 Robert Millan <rmh.grub@aybabtu.com>
28797
28798 Fix build on sparc64.
28799
28800 * configure.ac: Perform checks for libgcc symbols before
28801 adding `-nostdlib' to LDFLAGS.
28802
288032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28804
28805 Let user specify OpenBSD root device.
28806
28807 * loader/i386/bsd.c (openbsd_root): New variable.
28808 (openbsd_opts): New option 'root'.
28809 (OPENBSD_ROOT_ARG): New macro.
28810 (grub_openbsd_boot): Use 'openbsd_root'.
28811 (grub_cmd_openbsd): Fill 'openbsd_root'.
28812
288132009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * NEWS: Misc adjustments.
28816
288172009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28820
288212009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28822
28823 * configure.ac: Bump version to 1.97.
28824
288252009-10-16 Colin Watson <cjwatson@ubuntu.com>
28826
28827 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
28828 -mno-3dnow on x86 architectures. Some toolchains enable these
28829 features by default, but they rely on registers that aren't enabled
28830 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
28831
288322009-10-15 Robert Millan <rmh.grub@aybabtu.com>
28833
28834 Make entry text a bit more readable.
28835
28836 * util/grub.d/10_linux.in: Add `with' before `Linux'.
28837
288382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28841
288422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28843
28844 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28845 operations.
28846
288472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28848
28849 * configure.ac: Add missing dollar.
28850
288512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28852
28853 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
28854
28855 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
28856 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
28857 exports.
28858 * include/grub/sparc64/libgcc.h: Likewise. Use
28859 preprocessor conditionals.
28860
288612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28862
28863 * conf/common.rmk (grub-dumpbios): Remove rule.
28864 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
28865 * util/grub-dumpbios.in: Remove file.
28866
288672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28868
28869 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28870 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28871
28872 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28873 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28874 users.
28875
28876 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28877 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28878 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28879 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28880 users.
28881
288822009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28883
28884 * term/tparm.c: Switch to GPLv3.
28885
288862009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28887
28888 * include/grub/i386/cpuid.h: Add header protection.
28889
288902009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28891
28892 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28893
28894 * include/grub/i386/cpuid.h: New file.
28895 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28896 (has_longmode): Rename to ...
28897 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28898 `static' attribute.
28899 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28900 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28901 on a CPU that doesn't implement AMD64 instruction set.
28902
289032009-10-06 Colin Watson <cjwatson@ubuntu.com>
28904
28905 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28906 that version.texi is rebuilt on version number changes.
28907
289082009-10-06 Colin Watson <cjwatson@ubuntu.com>
28909
28910 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28911 Fixes bug #27602.
28912
289132009-10-06 Colin Watson <cjwatson@ubuntu.com>
28914
28915 * util/i386/pc/grub-install.in: Source
28916 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28917 that the --grub-probe option will work.
28918 * util/sparc64/ieee1275/grub-install.in: Likewise.
28919
289202009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28921
28922 * configure.ac: Bump version to 1.97~beta4.
28923
289242009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28925
28926 Resync grub-mkdevicemap in x86_64-efi.
28927
28928 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28929 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28930 `util/devicemap.c'.
28931
289322009-10-01 Colin Watson <cjwatson@ubuntu.com>
28933
28934 * util/grub-editenv.c (create_envblk_file): Write new block with a
28935 .new suffix and then rename it into place, to ensure atomic
28936 creation.
28937
289382009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28939
28940 Do not automatically install headers.
28941
28942 * Makefile.in (include_DATA): Remove. Update all users.
28943
289442009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28945
28946 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28947 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28948
28949 * util/osdetect.lua: Remove.
28950 * script/lua/lauxlib.c: Likewise.
28951 * script/lua/ldebug.c: Likewise.
28952 * script/lua/grub_main.c: Likewise.
28953 * script/lua/lauxlib.h: Likewise.
28954 * script/lua/ldebug.h: Likewise.
28955 * script/lua/ltablib.c: Likewise.
28956 * script/lua/liolib.c: Likewise.
28957 * script/lua/lstrlib.c: Likewise.
28958 * script/lua/lualib.h: Likewise.
28959 * script/lua/ldo.c: Likewise.
28960 * script/lua/ldump.c: Likewise.
28961 * script/lua/ldo.h: Likewise.
28962 * script/lua/loslib.c: Likewise.
28963 * script/lua/lundump.c: Likewise.
28964 * script/lua/grub_lib.c: Likewise.
28965 * script/lua/ldblib.c: Likewise.
28966 * script/lua/lundump.h: Likewise.
28967 * script/lua/lmem.c: Likewise.
28968 * script/lua/grub_lib.h: Likewise.
28969 * script/lua/lmathlib.c: Likewise.
28970 * script/lua/lstate.c: Likewise.
28971 * script/lua/ltm.c: Likewise.
28972 * script/lua/lvm.c: Likewise.
28973 * script/lua/lmem.h: Likewise.
28974 * script/lua/lstate.h: Likewise.
28975 * script/lua/ltm.h: Likewise.
28976 * script/lua/ltable.c: Likewise.
28977 * script/lua/lvm.h: Likewise.
28978 * script/lua/llex.c: Likewise.
28979 * script/lua/lgc.c: Likewise.
28980 * script/lua/grub_lua.h: Likewise.
28981 * script/lua/loadlib.c: Likewise.
28982 * script/lua/lfunc.c: Likewise.
28983 * script/lua/lopcodes.c: Likewise.
28984 * script/lua/lparser.c: Likewise.
28985 * script/lua/ltable.h: Likewise.
28986 * script/lua/llex.h: Likewise.
28987 * script/lua/lgc.h: Likewise.
28988 * script/lua/lfunc.h: Likewise.
28989 * script/lua/lbaselib.c: Likewise.
28990 * script/lua/lopcodes.h: Likewise.
28991 * script/lua/lparser.h: Likewise.
28992 * script/lua/lzio.c: Likewise.
28993 * script/lua/linit.c: Likewise.
28994 * script/lua/lobject.c: Likewise.
28995 * script/lua/llimits.h: Likewise.
28996 * script/lua/lstring.c: Likewise.
28997 * script/lua/lzio.h: Likewise.
28998 * script/lua/lapi.c: Likewise.
28999 * script/lua/lcode.c: Likewise.
29000 * script/lua/lua.h: Likewise.
29001 * script/lua/lobject.h: Likewise.
29002 * script/lua/lstring.h: Likewise.
29003 * script/lua/lapi.h: Likewise.
29004 * script/lua/lcode.h: Likewise.
29005 * script/lua/luaconf.h: Likewise.
29006
290072009-09-26 Colin Watson <cjwatson@ubuntu.com>
29008
29009 * docs/grub.texi (Command-line and menu entry commands): Document
29010 date and echo commands.
29011
290122009-09-24 Pavel Roskin <proski@gnu.org>
29013
29014 * include/grub/kernel.h (struct grub_module_header): Remove
29015 `grub_module_header_types'. Make `type' unsigned. Make `size'
29016 32-bit on all platforms.
29017 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29018 8-bit field. Use grub_host_to_target32() for `size'.
29019 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29020 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29021 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29022
290232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29024
29025 Fix "lost keypress" bug in at_keyboard.
29026
29027 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29028 Checks for readyness of input buffer (without flushing it).
29029 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29030 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29031
290322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29033
29034 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29035 size check within GRUB_MACHINE_PCBIOS section.
29036
290372009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29038
29039 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29040 return value.
29041 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29042 KEYBOARD_ISREADY check.
29043 (grub_at_keyboard_checkkey): Rename to ...
29044 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29045 Remove gratuitous cast.
29046
290472009-09-23 Colin Watson <cjwatson@ubuntu.com>
29048
29049 * configure.ac: Call AC_PROG_MKDIR_P.
29050 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29051 version.texi in $(builddir) rather than $(srcdir).
29052 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29053 to makeinfo's @include search path.
29054
290552009-09-23 Felix Zielcke <fzielcke@z-51.de>
29056
29057 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29058
290592009-09-23 Felix Zielcke <fzielcke@z-51.de>
29060
29061 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29062 for `*.dpkg-new'.
29063
290642009-09-21 Colin Watson <cjwatson@ubuntu.com>
29065
29066 Build info documentation. Some code borrowed from Automake.
29067
29068 * configure.ac: Check for makeinfo.
29069 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29070 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29071 docs/version.texi.
29072 (MOSTLYCLEANFILES): Add vti.tmp.
29073 (docs/version.texi, docs/stamp-vti): Update automatically.
29074 (docs/grub.info): Build info documentation. Use --force and ignore
29075 errors for now.
29076 (all-local): Add $(INFOS).
29077 (install-local): Install info files.
29078 (uninstall): Uninstall info files.
29079 * docs/version.texi: Remove from revision control. This file is
29080 automatically generated on build now.
29081 * gendistlist.sh: Add `*.info'.
29082
290832009-09-21 Felix Zielcke <fzielcke@z-51.de>
29084
29085 * kern/term.c: Fix indentation.
29086
290872009-09-21 Felix Zielcke <fzielcke@z-51.de>
29088
29089 * util/hostdisk.c: Fix a comment.
29090
290912009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29092
29093 Fix regression introduced in r2539.
29094
29095 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29096 to 0xA1.
29097
290982009-09-19 Colin Watson <cjwatson@ubuntu.com>
29099
29100 * util/grub.d/30_os-prober.in: Don't throw away stderr from
29101 os-prober. Under normal operation, it does not print anything to
29102 stderr; if it does, we need to debug it, and throwing away stderr
29103 makes that excessively difficult.
29104
291052009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29106
29107 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29108
291092009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29110
29111 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29112 AC_LANG_PROGRAM from autoconf.
29113 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29114 prototypes (fixes warning).
29115
29116 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29117 `--disable-werror' was used.
29118
291192009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29120
29121 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29122 uninitialized `lastaddr'.
29123
291242009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29125
29126 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
29127
291282009-09-14 Colin Watson <cjwatson@ubuntu.com>
29129
29130 * commands/test.c (get_fileinfo): Return immediately if
29131 grub_fs_probe fails.
29132
291332009-09-14 José Martínez <xosemp@gmail.com>
29134
29135 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29136
291372009-09-14 Colin Watson <cjwatson@ubuntu.com>
29138
29139 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29140 output.
29141
291422009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29143
29144 * configure.ac: Remove --enable-grub-pe2elf. Only build
29145 grub-pe2elf when needed by the build system itself.
29146 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29147
291482009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29149
29150 * configure.ac: Bump version to 1.97~beta3.
29151 * docs/version.texi: Likewise.
29152
291532009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29154
29155 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
29156 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
29157 from here ...
29158 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
29159 (grub_linux_setup_video): ... to here (with some adjustments).
29160
291612009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29162
29163 Fix memory corruption issue (spotted by Colin Watson).
29164
29165 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
29166 causing returned size to be stored in an incorrect memory location.
29167 Fix use of uninitialized value when storing the returned size.
29168
291692009-09-12 Yves Blusseau <blusseau@zetam.org>
29170
29171 Change clean rules to properly remove files
29172
29173 * genmk.rb: add new clean rules
29174 * Makefile.in (clean): add the new targets
29175 (mostlyclean): likewise
29176
291772009-09-11 Colin Watson <cjwatson@ubuntu.com>
29178
29179 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29180 to grub_uint64_t.
29181 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29182 non-resident files.
29183
291842009-09-11 Colin Watson <cjwatson@ubuntu.com>
29185
29186 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29187 part of bug #27349.
29188
291892009-09-10 Felix Zielcke <fzielcke@z-51.de>
29190
29191 * util/grub-mkconfig.in: Make the created config mode 400 and
29192 print a warning if it fails.
29193
291942009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29195
29196 * util/grub.d/40_custom.in: Ask user to type custom entries below
29197 comment, rather than below 'exec tail' line.
29198
291992009-09-10 Colin Watson <cjwatson@ubuntu.com>
29200
29201 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29202 visible in grub.cfg.
29203
292042009-09-10 Colin Watson <cjwatson@ubuntu.com>
29205
29206 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29207 file.
29208
292092009-09-10 Felix Zielcke <fzielcke@z-51.de>
29210
29211 * docs/grub.cfg: Add an example menu entry for memtest86+.
29212
292132009-09-09 Felix Zielcke <fzielcke@z-51.de>
29214
29215 * config.guess: Update to latest version from config git.
29216 * config.sub: Likewise.
29217
292182009-09-08 Colin Watson <cjwatson@ubuntu.com>
29219
29220 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29221 unknown-command case. Fixes bug #27320.
29222
292232009-09-08 Felix Zielcke <fzielcke@z-51.de>
29224
29225 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29226 `help' if the command exists.
29227
292282009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29229
29230 * INSTALL: Require GCC 4.1.3 or later.
29231
292322009-09-06 Yves Blusseau <blusseau@zetam.org>
29233
29234 * Makefile.in (RMKFILES): add i386-qemu.rmk
29235 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29236 $(srcdir)/stamp-h.in
29237
292382009-09-05 Robert Millan <rmh.grub@aybabtu.com>
29239
29240 * util/grub-probe.c (probe): Comment out buggy codepath, which
29241 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
29242 should be re-enabled after 1.97.
29243
292442009-09-05 Felix Zielcke <fzielcke@z-51.de>
29245
29246 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
29247 find searches for.
29248
292492009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
29250
29251 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
29252 unnecessary calls to grub_error.
29253
292542009-09-04 Colin Watson <cjwatson@ubuntu.com>
29255
29256 * NEWS: Mention `keystatus' and Unicode fonts.
29257
292582009-09-04 Robert Millan <rmh.grub@aybabtu.com>
29259
29260 * configure.ac: Bump version to 1.97~beta2.
29261 * docs/version.texi: Likewise.
29262
292632009-09-03 Colin Watson <cjwatson@ubuntu.com>
29264
29265 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
29266 containing unwind information in some cases where it previously did
29267 not. Use -fno-dwarf2-cfi-asm if available to restore the old
29268 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
29269 discussion.
29270
292712009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
29272
29273 Embedding loadenv module into grub-emu
29274
29275 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
29276 commands/loadenv.c
29277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
29278 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
29279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
29280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
29281 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
29282 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
29283
292842009-09-03 Magnus Granberg <zorry@ume.nu>
29285
29286 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
29287 include -fPIE in the default specs.
29288 * configure.ac: Check if pie_possible is yes and add -fno-PIE
29289 to TARGET_CFLAGS.
29290
292912009-09-03 Felix Zielcke <fzielcke@z-51.de>
29292
29293 * INSTALL: Note that GNU Bison 2.3 or later is required.
29294
292952009-09-03 Colin Watson <cjwatson@ubuntu.com>
29296
29297 * kern/i386/pc/startup.S: Fix typo.
29298
292992009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
29300
29301 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
29302 according to GCS.
29303
293042009-09-02 Colin Watson <cjwatson@ubuntu.com>
29305
29306 * docs/grub.texi (Naming convention): Describe one-based partition
29307 numbering.
29308 (Device syntax): Likewise.
29309 (File name syntax): Likewise.
29310 (Block list syntax): Likewise.
29311 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
29312 menu.lst.
29313 (File name syntax): Likewise.
29314 (Command-line and menu entry commands): Document acpi, blocklist,
29315 crc, export, insmod, keystatus, ls, set, and unset commands.
29316
293172009-09-02 Colin Watson <cjwatson@ubuntu.com>
29318
29319 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
29320 to avoid implying that only one of --shift, --ctrl, or --alt may be
29321 used.
29322
293232009-09-02 Colin Watson <cjwatson@ubuntu.com>
29324
29325 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
29326 rather than comparing against S_IFREG, which will almost never work.
29327
293282009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
29329
29330 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
29331 (write_blocklists): Likewise.
29332
293332009-09-01 Colin Watson <cjwatson@ubuntu.com>
29334
29335 * script/lua/grub_lua.h (fputs): Supply a format string as the first
29336 argument to grub_printf.
29337
293382009-09-01 Felix Zielcke <fzielcke@z-51.de>
29339
29340 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
29341 non GNU test.
29342
293432009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29344
29345 * kern/file.c (grub_file_read): Spelling fix
29346
293472009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29348
29349 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29350 loading of headers in some cases.
29351
293522009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29353
29354 * configure.ac: Bump version to 1.97~beta1.
29355 * docs/version.texi: Likewise.
29356
293572009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
29358
29359 * include/grub/i386/xnu.h: Add license header.
29360 include grub/err.h explicitly.
29361
293622009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29363
29364 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29365 to `ufs' in the vfs.root.mountfrom kernel parameter.
29366
293672009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29368
29369 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29370
29371 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29372 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29373
29374 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29375 `ARRAY_SIZE' macro.
29376
293772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29378
29379 * kern/file.c (grub_file_read): Check offset.
29380 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29381 * fs/jfs.c (grub_jfs_read_file): Likewise.
29382 * fs/ntfs.c (grub_ntfs_read): Likewise.
29383 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29384 * fs/minix.c (grub_minix_read_file): Correct offset check.
29385 * fs/ufs.c (grub_ufs_read_file): Likewise.
29386
293872009-08-28 Colin Watson <cjwatson@ubuntu.com>
29388
29389 * term/i386/pc/console.c (bios_data_area): Cast
29390 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29391
293922009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29393
29394 1-bit optimised blitters.
29395
29396 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29397 prototype.
29398 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29399 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29400 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29401 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29402 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29403 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29404 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29405 function.
29406 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29407 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29408 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29409 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29410 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29411 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29412 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29413 when possible.
29414 * video/video.c (grub_video_get_blit_format): Return
29415 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29416
294172009-08-28 Colin Watson <cjwatson@ubuntu.com>
29418
29419 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29420 the first argument to grub_printf.
29421
294222009-08-28 Colin Watson <cjwatson@ubuntu.com>
294232009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29424
29425 Add `getkeystatus' terminal method. Add a new `keystatus' command
29426 to query it.
29427
29428 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29429 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29430 modifier key bitmasks.
29431 (struct grub_term_input): Add `getkeystatus' member.
29432 (grub_getkeystatus): Add prototype.
29433 * kern/term.c (grub_getkeystatus): New function.
29434
29435 * include/grub/i386/pc/memory.h
29436 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29437 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29438 Data Area layout.
29439 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29440 (grub_console_term_input): Set `getkeystatus' member.
29441 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29442 constants.
29443 (grub_usb_keyboard_getreport): Likewise.
29444 (grub_usb_keyboard_checkkey): Likewise.
29445 (grub_usb_keyboard_getkeystatus): New function.
29446 (grub_usb_keyboard_term): Set `getkeystatus' member.
29447
29448 * commands/keystatus.c: New file.
29449 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29450 (keystatus_mod_SOURCES): New variable.
29451 (keystatus_mod_CFLAGS): Likewise.
29452 (keystatus_mod_LDFLAGS): Likewise.
29453 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29454 commands/keystatus.c.
29455 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29456 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29457 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29459 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29460 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29461
294622009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29463
29464 Split befs.mod and afs.mod into *_be.mod and *.mod
29465
29466 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29467 (grub_fstest_SOURCES): Likewise.
29468 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29469 (afs_be_mod_SOURCES): New variable.
29470 (afs_be_mod_CFLAGS): Likewise.
29471 (afs_be_mod_LDFLAGS): Likewise.
29472 (befs_be_mod_SOURCES): Likewise.
29473 (befs_be_mod_CFLAGS): Likewise.
29474 (befs_be_mod_LDFLAGS): Likewise.
29475 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29476 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29477 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29478 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29479 (grub_emu_SOURCES): Likewise.
29480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29481 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29482 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29483 * fs/afs_be.c: New file.
29484 * fs/befs_be.c: New file.
29485 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29486 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29487 (U16): Replaced with ...
29488 (grub_afs_to_cpu16): ...this. All users updated.
29489 (U32): Replaced with ...
29490 (grub_afs_to_cpu32): ...this. All users updated.
29491 (U64): Replaced with ...
29492 (grub_afs_to_cpu64): ...this. All users updated.
29493 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29494 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
29495 (grub_afs_validate_sblock): Check only one endianness.
29496 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29497 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29498 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29499 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29500 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29501 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29502 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29503 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29504
295052009-08-26 Bean <bean123ch@gmail.com>
29506
29507 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29508 64-bit number.
29509 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29510 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29511 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29512
295132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29514
29515 NetBSD memory map support.
29516
29517 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29518 (grub_netbsd_btinfo_mmap_header): New structure.
29519 (grub_netbsd_btinfo_mmap_entry): Likewise.
29520 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
29521
295222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29523
29524 Enable bsd.mod on coreboot.
29525
29526 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
29527 (bsd_mod_SOURCES): New variable.
29528 (bsd_mod_CFLAGS): Likewise.
29529 (bsd_mod_LDFLAGS): Likewise.
29530 (bsd_mod_ASFLAGS): Likewise.
29531 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
29532 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
29533
295342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29535
29536 Cleanup NetBSD root support.
29537
29538 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
29539 grub_bsd_get_device.
29540 Fix typo.
29541
295422009-08-25 Felix Zielcke <fzielcke@z-51.de>
29543
29544 * util/grub.d/00_header.in: Move check for the video backend of
29545 gfxterm from here ...
29546 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
29547 a suitable video backend.
29548
295492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29550
29551 Fix breakage in grub-setup.
29552
29553 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
29554 "msdos_partition_map".
29555
295562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29557
29558 Fix breakage in normal/auth.c.
29559
29560 * normal/auth.c (grub_iswordseparator): New function.
29561
295622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29563
29564 Authentication support.
29565
29566 * commands/password.c: New file.
29567 * conf/common.rmk (pkglib_MODULES): Add password.mod.
29568 (password_mod_SOURCES): New variable.
29569 (password_mod_CFLAGS): Likewise.
29570 (password_mod_LDFLAGS): Likewise.
29571 (normal_mod_SOURCES): Add normal/auth.c.
29572 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
29573 normal/auth.c.
29574 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29576 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29578 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29579 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29580 * include/grub/auth.h: New file.
29581 * include/grub/err.h (grub_err_t): New enum value
29582 GRUB_ERR_ACCESS_DENIED.
29583 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
29584 'users'.
29585 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
29586 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
29587 users updated.
29588 * normal/auth.c: New file.
29589 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
29590 (grub_cmdline_run): Don't allow to go to command line without
29591 authentication.
29592 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
29593 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
29594 menuentry without superuser rights.
29595 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
29596 user isn't a superuser.
29597
295982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29599
29600 Save space by inlining misc.c functions.
29601
29602 * kern/misc.c (grub_iswordseparator): Made static.
29603 * kern/misc.c (grub_strcat): Moved from here ...
29604 * include/grub/misc.h (grub_strcat): ... here. Inlined.
29605 * kern/misc.c (grub_strncat): Moved from here ...
29606 * include/grub/misc.h (grub_strncat): ... here. Inlined.
29607 * kern/misc.c (grub_strcasecmp): Moved from here ...
29608 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
29609 * kern/misc.c (grub_strncasecmp): Moved from here ...
29610 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
29611 * kern/misc.c (grub_isalpha): Moved from here ...
29612 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
29613 * kern/misc.c (grub_isdigit): Moved from here ...
29614 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
29615 * kern/misc.c (grub_isgraph): Moved from here ...
29616 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
29617 * kern/misc.c (grub_tolower): Moved from here ...
29618 * include/grub/misc.h (grub_tolower): ... here. Inlined.
29619
296202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29621
29622 * script/sh/function.c (grub_script_function_find): Cut error message
29623 not to flood terminal.
29624 * script/sh/lexer.c (grub_script_yylex): Remove command line length
29625 limit.
29626 * script/sh/script.c (grub_script_arg_add): Duplicate string.
29627
296282009-08-24 Colin Watson <cjwatson@ubuntu.com>
29629
29630 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
29631 `report' grub_uint8_t *.
29632 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
29633 Use a 50-millisecond timeout rather than just repeating
29634 grub_usb_keyboard_getreport 50 times.
29635 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
29636
296372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29638
29639 Rename *_partition_map to part_*
29640
29641 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
29642 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
29643 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
29644 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
29645 All users updated.
29646 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
29647 All users updated.
29648 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
29649 * util/grub-probe.c (probe_partmap): Don't transform partition name
29650 to get module name.
29651
296522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29653
29654 Fix OpenBSD and NetBSD support.
29655
29656 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
29657 memory address conflict.
29658 (OPENBSD_MMAP_ACPI): New definition.
29659 (OPENBSD_MMAP_NVS): Likewise.
29660 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
29661 and OPENBSD_MMAP_NVS.
29662 Add memory map terminator
29663 Explicit cast when calling grub_unix_real_boot.
29664 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
29665
296662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29667
29668 Let user specify NetBSD root device.
29669
29670 * loader/i386/bsd.c (netbsd_root): New variable.
29671 (netbsd_opts): New option 'root'.
29672 (NETBSD_ROOT_ARG): New macro.
29673 (grub_netbsd_boot): Use 'netbsd_root'.
29674 (grub_bsd_unload): Free 'netbsd_root'.
29675 (grub_cmd_netbsd): Fill 'netbsd_root'.
29676
296772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29678
29679 Support for 64-bit NetBSD.
29680
29681 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
29682 point when booting non-FreeBSD.
29683
296842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29685
29686 Support --no-smp and --no-acpi for NetBSD.
29687
29688 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
29689 (NETBSD_AB_NOACPI): Likewise.
29690 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
29691 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
29692
296932009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29694
29695 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
29696 errors.
29697 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
29698 errors. Call grub_error when needed.
29699
297002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29701
29702 * commands/search.c (search_fs): Try searching without autoload first.
29703 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
29704 filesystem module explicitly for faster booting.
29705
297062009-08-23 Colin Watson <cjwatson@ubuntu.com>
29707
29708 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
29709
297102009-08-23 Colin Watson <cjwatson@ubuntu.com>
29711
29712 * util/grub.d/30_os-prober.in: Disable os-prober if
29713 `GRUB_DISABLE_OS_PROBER' was set to true.
29714
297152009-08-23 Robert Millan <rmh.grub@aybabtu.com>
29716
29717 * partmap/pc.c: Rename to ...
29718 * partmap/msdos.c: ... this. Update all users.
29719 (grub_pc_partition_map): Rename to ...
29720 (grub_msdos_partition_map): ... this. Update all users.
29721
29722 * parttool/pcpart.c: Rename to ...
29723 * parttool/msdospart.c: ... this. Update all users.
29724
29725 * include/grub/pc_partition.h: Rename to ...
29726 * include/grub/msdos_partition.h: ... this. Update all users.
29727 (grub_pc_partition_bsd_entry): Rename to ...
29728 (grub_msdos_partition_bsd_entry): ... this. Update all users.
29729 (grub_pc_partition_disk_label): Rename to ...
29730 (grub_msdos_partition_disk_label): ... this. Update all users.
29731 (grub_pc_partition_entry): Rename to ...
29732 (grub_msdos_partition_entry): ... this. Update all users.
29733 (grub_pc_partition_mbr): Rename to ...
29734 (grub_msdos_partition_mbr): ... this. Update all users.
29735 (grub_pc_partition): Rename to ...
29736 (grub_msdos_partition): ... this. Update all users.
29737 (grub_pc_partition_is_empty): Rename to ...
29738 (grub_msdos_partition_is_empty): ... this. Update all users.
29739 (grub_pc_partition_is_extended): Rename to ...
29740 (grub_msdos_partition_is_extended): ... this. Update all users.
29741 (grub_pc_partition_is_bsd): Rename to ...
29742 (grub_msdos_partition_is_bsd): ... this. Update all users.
29743
29744 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
29745 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
29746 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
29747 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
29748 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
29749 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
29750 (gpt_mod_LDFLAGS): Rename to ...
29751 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
29752 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
29753 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
29754 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
29755 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
29756 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
29757 (part_gpt_mod_LDFLAGS): ... this.
29758 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
29759 `pcpart.mod' to `msdospart.mod'.
29760 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
29761 to ...
29762 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
29763 (msdospart_mod_LDFLAGS): ... this.
29764
297652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29766
29767 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
29768 (openbsd_opts): Likewise.
29769 (netbsd_opts): Likewise.
29770 (freebsd_flags): Added 0 terminator.
29771 (openbsd_flags): Likewise.
29772 (netbsd_flags): Likewise.
29773 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
29774 (grub_cmd_freebsd): Transformed into extended command.
29775 (grub_cmd_openbsd): Likewise.
29776 (grub_cmd_netbsd): Likewise.
29777 (cmd_freebsd): Changed type to grub_extcmd_t.
29778 (cmd_openbsd): Likewise.
29779 (cmd_netbsd): Likewise.
29780 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
29781 grub_cmd_openbsd as extended commands.
29782 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
29783 cmd_netbsd and cmd_openbsd
29784
297852009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29786
29787 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29788
297892009-08-21 Pavel Roskin <proski@gnu.org>
29790
29791 * Makefile.in (install-local): When checking if a file is in the
29792 build directory, use "test -e" to detect symlinks.
29793
29794 * Makefile.in (install-local): Remove all files in
29795 $(DESTDIR)$(pkglibdir) before installing new files there.
29796
297972009-08-18 Felix Zielcke <fzielcke@z-51.de>
29798
29799 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29800 grub-mkelfimage.
29801
298022009-08-18 Felix Zielcke <fzielcke@z-51.de>
29803
29804 * util/grub-mkconfig.in: Don't use gfxterm by default if not
29805 explicitly specified by the user.
29806
298072009-08-18 Pavel Roskin <proski@gnu.org>
29808
29809 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
29810 grub_uint8_t pointer for data.
29811 * include/grub/fbutil.h (struct grub_video_fbblit_info):
29812 Likewise.
29813 * video/fb/fbutil.c: Remove unnecessary casts.
29814
298152009-08-17 Michal Suchanek <hramrach@centrum.cz>
29816
29817 VBE cleanup.
29818
29819 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
29820 (grub_vbe_set_video_mode): Save active mode info
29821 only after setting the mode.
29822 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
29823 second argument.
29824
298252009-08-17 Michal Suchanek <hramrach@centrum.cz>
29826
29827 Rename variables for clarity.
29828
29829 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
29830 (active_vbe_mode_info): ... this. All users updated.
29831 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
29832 All users updated.
29833 (initial_mode): Rename to ...
29834 (initial_vbe_mode): ... this. All users updated.
29835 (mode_in_use): Rename to ..
29836 (vbe_mode_in_use): ... this. All users updated.
29837 (mode_list): Rename to ..
29838 (vbe_mode_list): ... this. All users updated.
29839 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
29840 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
29841 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
29842 'mode_list_size' to 'vbe_mode_list_size'.
29843 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
29844 'best_mode_info' to 'best_vbe_mode_info' and
29845 'best_mode' to 'best_vbe_mode'
29846
298472009-08-17 Michal Suchanek <hramrach@centrum.cz>
29848
29849 Remove duplicate grub_video_fb_get_video_ptr.
29850
29851 * include/grub/fbutil.h (get_data_ptr): Rename to ...
29852 (grub_video_fb_get_video_ptr): ... this.
29853 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
29854 * video/fb/fbutil.c: Add comment about addressing.
29855 (get_data_ptr): Rename to ...
29856 (grub_video_fb_get_video_ptr): ... this. All users updated.
29857 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
29858
298592009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29860
29861 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
29862 grub_dprintf() that was just added.
29863
298642009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29865
29866 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
29867 (DEFAULT_VIDEO_MODE): Remove macros.
29868 (grub_linux_boot): Remove assumption that Linux has FB support,
29869 and use "text" as default video mode.
29870
298712009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29874 grub_dprintf.
29875 * fs/fat.c (grub_fat_read_data): Likewise.
29876
298772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29878
29879 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29880 payload.
29881 (grub_module): Likewise.
29882
298832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29886 mbi->cmdline but free playground.
29887
298882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29889
29890 Handle group offset on UFS1.
29891
29892 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29893 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29894
298952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29896
29897 Split ufs.mod into ufs1.mod and ufs2.mod.
29898
29899 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29900 (grub_fstest_SOURCES): Likewise.
29901 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29902 (ufs_mod_SOURCES): Remove.
29903 (ufs_mod_CFLAGS): Likewise.
29904 (ufs_mod_LDFLAGS): Likewise.
29905 (ufs1_mod_SOURCES): New variable.
29906 (ufs1_mod_CFLAGS): Likewise.
29907 (ufs1_mod_LDFLAGS): Likewise.
29908 (ufs2_mod_SOURCES): New variable.
29909 (ufs2_mod_CFLAGS): Likewise.
29910 (ufs2_mod_LDFLAGS): Likewise.
29911 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29912 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29913 Likewise.
29914 (grub_emu_SOURCES): Likewise.
29915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29917 (grub_setup_SOURCES): Likewise.
29918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29919 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29920 (grub_setup_SOURCES): Likewise.
29921 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29922 Likewise.
29923 * fs/ufs2.c: New file.
29924 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29925
299262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29927
29928 Framebuffer split.
29929
29930 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29931 subsystem at the end.
29932 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29933 (video_fb_mod_SOURCES): New variable.
29934 (video_fb_mod_CFLAGS): Likewise.
29935 (video_fb_mod_LDFLAGS): Likewise.
29936 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29937 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29938 * video/i386/pc/vbeblit.c: Moved from here ...
29939 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29940 * video/i386/pc/vbefill.c: Moved from here ...
29941 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29942 * video/i386/pc/vbeutil.c: Moved from here ...
29943 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29944 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29945 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29946 * include/grub/i386/pc/vbefill.h: Moved from here ...
29947 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29948 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29949 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29950 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29951 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29952 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29953 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29954 (grub_video_adapter): Added 'get_info_and_fini'.
29955 (grub_video_get_info_and_fini): New prototype.
29956 (grub_video_set_mode): make modestring const char *.
29957 * loader/i386/linux.c (grub_linux_setup_video): Use
29958 grub_video_get_info_and_fini.
29959 (grub_linux_boot): Move modesetting just before booting.
29960 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29961 grub_video_get_info_and_fini.
29962 * video/i386/pc/vbe.c: Moved framebuffer part ...
29963 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29964 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29965 grub_video_fbstd_colors and grub_video_fb_set_palette.
29966 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29967 grub_video_fb_init.
29968 (grub_video_vbe_fini): Use grub_video_fb_fini.
29969 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29970 render_target and use grub_video_fb_set_active_render_target and
29971 grub_video_fb_set_palette.
29972 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29973 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29974 (grub_video_vbe_adapter): Use framebuffer.
29975 * video/video.c (grub_video_get_info_and_fini): New function.
29976 (grub_video_set_mode): Make modestring const char *.
29977 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29978 values are already initialised.
29979
299802009-08-14 Pavel Roskin <proski@gnu.org>
29981
29982 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29983 ABS and APPLE_CC.
29984 * boot/i386/pc/diskboot.S: Likewise.
29985 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29986 sectors allow compilation on MacOSX.
29987 * conf/i386-pc.rmk: Enable unconditional compilation of
29988 lnxboot.img.
29989
299902009-08-13 Colin Watson <cjwatson@ubuntu.com>
29991
29992 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29993 * util/grub.d/00_header.in: Enter interruptible sleep if
29994 GRUB_HIDDEN_TIMEOUT is set.
29995
299962009-08-13 Yves Blusseau <blusseau@zetam.org>
29997
29998 * include/grub/symbol.h: Add the LOCAL macro.
29999 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30000 starting with "L_".
30001
300022009-08-13 Pavel Roskin <proski@gnu.org>
30003
30004 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30005 any modern compilers we support.
30006
30007 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30008 Use local labels starting with "L_" so that Apple assembler
30009 knows they are local.
30010
300112009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30012
30013 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30014 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30015 (bsd_kernel_types): ... this enum.
30016
30017 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30018 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30019 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30020
30021 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30022 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30023 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30024 messages.
30025
300262009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 * util/grub-dumpdevtree: Moved from here ...
30029 * util/i386/efi/grub-dumpdevtree: ... to here.
30030 (hexify): New function. Converts a string to its hex version.
30031 Generate hex versions of "efi" and "device-properties" by calling
30032 hexify() on the ASCII strings rather than by hardcoding numbers.
30033
300342009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30035
30036 * fs/jfs.c: Update copyright year.
30037
300382009-08-08 Felix Zielcke <fzielcke@z-51.de>
30039
30040 * util/grub.d/00_header.in: Fix a comment.
30041 * util/grub.d/10_linux.in: Likewise.
30042 * util/grub.d/10_windows.in: Likewise.
30043 * util/grub.d/10_hurd.in: Likewise.
30044
300452009-08-08 Felix Zielcke <fzielcke@z-51.de>
30046
30047 * util/grub-mkconfig.in: Allow the user to specify the used font
30048 with GRUB_FONT.
30049
300502009-08-08 Pavel Roskin <proski@gnu.org>
30051
30052 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30053 available, xfs.mod needs it now.
30054
30055 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30056 the "g" modifier in sed when the intention is to strip something
30057 once. This fixes comparison of kernels with multiple dashes.
30058
30059 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30060 on it. Add missing space before closing bracket. Fix
30061 misleading formatting.
30062
300632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30064
30065 * docs/grub.texi: Major overhaul. Remove all sections that are
30066 specific to GRUB Legacy, or mostly composed of Legacy-specific
30067 information.
30068
300692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30070
30071 * docs/version.texi: New file. Provides version information for
30072 grub.texi.
30073
300742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30075
30076 * docs/grub.texi: Update CVS information to SVN.
30077 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30078
300792009-08-07 Felix Zielcke <fzielcke@z-51.de>
30080
30081 * util/grub-mkconfig.in: Remove a wrong `fi'.
30082
300832009-08-07 Felix Zielcke <fzielcke@z-51.de>
30084
30085 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30086 (grub_jfs_uuid): New function.
30087 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30088
300892009-08-07 Felix Zielcke <fzielcke@z-51.de>
30090
30091 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30092 of it to ...
30093 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30094 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30095
300962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30097
30098 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30099 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30100 Update all users.
30101
30102 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30103 not just "vmlinu[zx]".
30104 Moved from here ...
30105 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30106 all users.
30107
30108 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30109 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30110 all users.
30111
301122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30113
30114 * util/grub.d/10_freebsd.in: Use an absolute device path for
30115 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30116
301172009-08-06 Felix Zielcke <fzielcke@z-51.de>
30118
30119 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30120 handling of multiple abstraction modules.
30121
301222009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30123
30124 Fix a bug resulting in black screen when loading Linux using a
30125 packed video mode.
30126
30127 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30128 function.
30129
30130 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30131 (grub_vbe_bios_getset_dac_palette_width): New function.
30132 (grub_vbe_bios_get_dac_palette_width)
30133 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30134 grub_vbe_bios_getset_dac_palette_width()).
30135
30136 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30137 check for return status.
30138 (grub_vbe_get_video_mode_info): When getting information for a packed
30139 mode (<= 8 bpp), obtain DAC palette width using
30140 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30141 {red,green,blue}_mark_size.
30142
301432009-08-04 Felix Zielcke <fzielcke@z-51.de>
30144
30145 * commands/search.c (options): Fix help output to match actual code.
30146
301472009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30148
30149 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30150 of homegrown code.
30151
301522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30153
30154 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30155 on XFS or ReiserFS.
30156
301572009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30158
30159 Support Apple partition map with sector size different from 512 bytes.
30160
30161 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
30162 (apple_partition_map_iterate): Respect 'aheader.blocksize'
30163 and 'apart.partmap_size'.
30164
301652009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
301662009-08-01 Robert Millan <rmh.grub@aybabtu.com>
30167
30168 Fix cpuid command.
30169
30170 * commands/i386/cpuid.c (options): New variable.
30171 (grub_cmd_cpuid): Return real error.
30172 (GRUB_MOD_INIT(cpuid)): Declare options.
30173
301742009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
30175
30176 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30177 valid.
30178
301792009-07-31 Bean <bean123ch@gmail.com>
30180
30181 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30182 log2_inode.
30183 (grub_fshelp_node): Move inode field to the end.
30184 (grub_xfs_data): Remove inode field.
30185 (grub_xfs_inode_block): Calculate inode size using sblock.
30186 (grub_xfs_inode_offset): Likewise.
30187 (grub_xfs_read_inode): Calculate inode size using sblock.
30188 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30189 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30190 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30191 to match inode size.
30192 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30193 not accessible when data is null.
30194 (grub_xfs_open): Likewise.
30195
301962009-07-31 Bean <bean123ch@gmail.com>
30197
30198 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30199 Don't change pv->disk if it's already set.
30200
30201 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30202 (grub_raid_register): ... here.
30203 (grub_raid_rescan): Removed.
30204
30205 * include/grub/raid.h (grub_raid_rescan): Removed.
30206
30207 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30208 (fstest): Replace grub_raid_rescan with module fini function followed
30209 by init function.
30210
30211 * util/grub-probe.c: Add include file <grub/raid.h>.
30212 (probe_raid_level): New function.
30213 (probe): Detect abstraction by walking the disk device, support two
30214 level of abstraction (LVM on RAID) when detecting partition map.
30215
302162009-07-31 Pavel Roskin <proski@gnu.org>
30217
30218 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30219 to grub_zalloc(), it was erroneous.
30220 Reported by Bean <bean123ch@gmail.com>
30221
302222009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30223
30224 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
30225 embedding zone, not only the first one.
30226
302272009-07-29 Joe Auricchio <jauricchio@gmail.com>
30228
30229 * term/gfxterm.c (clear_char): New function.
30230 (grub_virtual_screen_setup): Use clear_char.
30231 (scroll_up): Likewise.
30232 (grub_virtual_screen_cls): Likewise.
30233
302342009-07-29 Felix Zielcke <fzielcke@z-51.de>
30235
30236 * util/deviceiter.c (get_acceleraid_disk_name): New static
30237 function.
30238 (grub_util_iterate_devices): Handle Accelraid devices.
30239 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
30240
302412009-07-28 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
30244 separator for the suggested gfxpayload string (';' collides with the
30245 parser and needs escaping).
30246
302472009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
30248
30249 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
30250 Clear direction flag before jumping to OS.
30251 (grub_multiboot2_real_boot): Likewise.
30252
302532009-07-28 Felix Zielcke <fzielcke@z-51.de>
30254
30255 * util/i386/pc/grub-install: Fix parsing of --disk-module
30256 option.
30257
302582009-07-28 Felix Zielcke <fzielcke@z-51.de>
30259
30260 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
30261 when embedding.
30262
302632009-07-26 Felix Zielcke <fzielcke@z-51.de>
30264
30265 * util/grub-mkconfig.in (package_version): New variable.
30266 Use it do display the version.
30267
302682009-07-25 Felix Zielcke <fzielcke@z-51.de>
30269
30270 * kern/file.c (grub_file_open): Revert to previous check with
30271 grub_errno.
30272
302732009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30274
30275 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
30276 from help line. It's out of sync with code.
30277
302782009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30279
30280 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
30281 entries on failed boot.
30282
302832009-07-25 Felix Zielcke <fzielcke@z-51.de>
30284
30285 * kern/file.c (grub_file_open): Fix an error check.
30286
302872009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
30288
30289 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
30290 partition map couldn't be identified.
30291
302922009-07-23 Pavel Roskin <proski@gnu.org>
30293
30294 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
30295 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
30296 case of little endian words becomes just an optimization.
30297 Respect const modifier.
30298 (md5_final): Use code that doesn't depend on endianness.
30299
30300 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
30301 to avoid loss of upper bits if align is unsigned and shorter
30302 than addr.
30303
303042009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30305
30306 UUID support for UFS
30307
30308 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
30309 (grub_ufs_uuid): New function.
30310 (grub_ufs_fs): add .uuid
30311
303122009-07-21 Pavel Roskin <proski@gnu.org>
30313
30314 * kern/dl.c (grub_dl_check_header): Make static.
30315
303162009-07-21 Felix Zielcke <fzielcke@z-51.de>
30317
30318 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
30319 add drivemap for Vista. It breaks Windows 7.
30320
303212009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30322
30323 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
30324 128 bytes
30325
303262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30327
30328 Add BFS support
30329
30330 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
30331 (grub_fstest_SOURCES): Likewise.
30332 (pkglib_MODULES): Add befs.mod.
30333 (befs_mod_SOURCES): New variable.
30334 (befs_mod_CFLAGS): Likewise.
30335 (befs_mod_LDFLAGS): Likewise.
30336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30337 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30339 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30340 (grub_setup_SOURCES): Likewise.
30341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30342 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30343 (grub_setup_SOURCES): Likewise.
30344 * fs/befs.c: New file.
30345 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30346 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30347 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30348 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30349 (B_KEY_INDEX_ALIGN): New declaration.
30350 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30351 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30352 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30353 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30354 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30355 (grub_afs_mount) [MODE_BFS]: Likewise.
30356 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30357 (grub_afs_fs): Use GRUB_AFS_FSNAME
30358 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30359 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30360 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30361 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30362
303632009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30364
30365 * util/getroot.c (find_root_device): Add support for MacOSX.
30366 * util/hostdisk.c: Likewise.
30367
303682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30369
30370 * font/font.c (find_glyph): Check whether a font is present to avoid
30371 segmentation fault.
30372
303732009-07-20 Joe Auricchio <jauricchio@gmail.com>
30374
30375 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30376
303772009-07-20 Pavel Roskin <proski@gnu.org>
30378
30379 * configure.ac: Trim excessively wordy excuses.
30380
303812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 Add symlink, mtime and label support to AtheFS.
30384
30385 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30386 (grub_afs_iterate_dir): Handle symlinks.
30387 (grub_afs_open): Use grub_afs_read_symlink.
30388 (grub_afs_dir): Likewise.
30389 Pass mtime.
30390 (grub_afs_label): New function.
30391 (grub_afs_fs): Add grub_afs_label.
30392 (grub_afs_read_symlink): New function.
30393
303942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30395
30396 Fix AtheFS support.
30397
30398 * fs/afs.c: Fix comments style.
30399 (grub_afs_blockrun): Declare as packed.
30400 (grub_afs_datastream): Likewise.
30401 (grub_afs_bnode): Likewise.
30402 (grub_afs_btree): Likewise.
30403 (grub_afs_sblock): Likewise.
30404 Declare `name' as char.
30405 (grub_afs_inode): Declare as packed.
30406 Change void *vnode to grub_uint32_t unused.
30407 (grub_afs_iterate_dir): Check that key_size is positive.
30408 (grub_afs_mount): Don't read superblock twice.
30409 (grub_afs_dir): Don't free node in case of error,
30410 grub_fshelp_find_file already handles this.
30411 (grub_afs_open): Likewise.
30412
304132009-07-19 Pavel Roskin <proski@gnu.org>
30414
30415 * Makefile.in: Remove LIBLZO and enable_lzo.
30416 * conf/i386-pc.rmk: Remove lzo support.
30417 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30418 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30419 support.
30420 * kern/i386/pc/lzo1x.S: Remove.
30421 * kern/i386/pc/startup.S: Remove lzo support.
30422 * util/i386/pc/grub-mkimage.c: Likewise.
30423
304242009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30425
30426 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30427 * fs/xfs.c (grub_xfs_dir): Likewise.
30428 * fs/afs.c (grub_afs_dir): Likewise.
30429 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30430 (grub_iso9660_open): Likewise.
30431 * fs/jfs.c (grub_jfs_open): Likewise.
30432 * fs/ext2.c (grub_ext2_dir): Likewise.
30433 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30434 * script/sh/lexer.c (grub_script_yylex): Likewise.
30435
304362009-07-16 Pavel Roskin <proski@gnu.org>
30437
30438 * configure.ac: Never add "-c" to CFLAGS.
30439
30440 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30441
30442 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30443 grub_cv_cc_efiemu should be used.
30444
30445 * configure.ac: Typo fixes.
30446
30447 * kern/mm.c (grub_zalloc): New function.
30448 (grub_debug_zalloc): Likewise.
30449 * include/grub/mm.h: Declare grub_zalloc() and
30450 grub_debug_zalloc().
30451 * util/misc.c (grub_zalloc): New function.
30452 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30453 instead of grub_malloc(), remove unneeded initializations.
30454 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30455 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30456 * commands/parttool.c (grub_cmd_parttool): Likewise.
30457 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30458 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30459 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30460 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30461 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30462 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30463 (grub_cmd_efiemu_pnvram): Likewise.
30464 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30465 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30466 (grub_iso9660_iterate_dir): Likewise.
30467 * fs/jfs.c (grub_jfs_opendir): Likewise.
30468 * fs/ntfs.c (list_file): Likewise.
30469 (grub_ntfs_mount): Likewise.
30470 * kern/disk.c (grub_disk_open): Likewise.
30471 * kern/dl.c (grub_dl_load_core): Likewise.
30472 * kern/elf.c (grub_elf_file): Likewise.
30473 * kern/env.c (grub_env_context_open): Likewise.
30474 (grub_env_set): Likewise.
30475 (grub_env_set_data_slot): Likewise.
30476 * kern/file.c (grub_file_open): Likewise.
30477 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30478 * loader/i386/multiboot.c (grub_module): Likewise.
30479 * loader/xnu.c (grub_xnu_create_key): Likewise.
30480 (grub_xnu_create_value): Likewise.
30481 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30482 (read_config_file): Likewise.
30483 * normal/menu_entry.c (make_screen): Likewise.
30484 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30485 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30486 * script/sh/script.c (grub_script_parse): Likewise.
30487 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30488 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30489 * video/readers/png.c (grub_png_output_byte): Likewise.
30490 (grub_video_reader_png): Likewise.
30491
304922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30493
30494 Enable all targets that can be built by default
30495
30496 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
30497 grub-mkfont and grub-fstest if they can be built
30498
304992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30500
30501 Fix hang and segmentation fault in grub-emu-usb
30502
30503 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30504 * util/usb.c (grub_libusb_devices): likewise
30505 (grub_libusb_init): rename to ...
30506 (GRUB_MOD_INIT (libusb)):...this
30507 (grub_libusb_fini): rename to ..
30508 (GRUB_MOD_FINI (libusb)):...this
30509 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30510 * include/grub/disk.h (grub_raid_init): removed, it's useless
30511 (grub_raid_fini): likewise
30512 (grub_lvm_init): likewise
30513 (grub_lvm_fini): likewise
30514 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30515 by grub_init_all
30516
305172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30518
30519 Fix libusb
30520
30521 * Makefile.in (LIBUSB): new macro
30522 * genmk.rb (Utility/print_tail): new method
30523 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
30524 (top level): call util.print_tail at the end.
30525
305262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30527
30528 Make FreeBSD accept zpool.cache
30529
30530 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
30531 type is /boot/zfs/zpool.cache
30532
305332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30534
30535 Fix 64-bit efiemu
30536
30537 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
30538 correct wrong typedef
30539 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
30540
305412009-07-15 Pavel Roskin <proski@gnu.org>
30542
30543 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30544 * kern/disk.c (struct grub_disk_cache): Likewise.
30545
30546 * commands/probe.c (options): Typo fix.
30547
30548 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
30549 Increase to 0x5a to accommodate FAT32. Adjust other offsets
30550 accordingly.
30551 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
30552
30553 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
30554 the end of "Error" to make the message more readable.
30555
30556 * boot/i386/pc/boot.S (kernel_segment): Remove.
30557 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
30558 for destination.
30559
30560 * boot/i386/pc/boot.S (boot_version): Remove.
30561 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30562 Remove.
30563
30564 * include/grub/i386/pc/boot.h: Sort all offsets.
30565 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
30566 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
30567 * boot/i386/pc/boot.S: Assert location of every offset listed in
30568 include/grub/i386/pc/boot.h.
30569
305702009-07-13 Pavel Roskin <proski@gnu.org>
30571
30572 * include/grub/i386/coreboot/machine.h: Rename
30573 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
30574 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
30575 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
30576
30577 * kern/dl.c: Force native word size to suppress warnings when
30578 compiling grub-emu.
30579
30580 * kern/device.c (grub_device_iterate): Change struct part_ent to
30581 hold the name, not a pointer to it. Use one grub_malloc() per
30582 partition, not two. Free partition_name if grub_malloc() fails.
30583 Set ents to NULL only before grub_partition_iterate() is called.
30584
305852009-07-11 Bean <bean123ch@gmail.com>
30586
30587 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30588 childname.
30589
305902009-07-10 Bean <bean123ch@gmail.com>
305912009-07-10 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * kern/ieee1275/openfw.c (grub_children_iterate)
30594 (grub_devalias_iterate): Fix size evaluation for property or path
30595 strings, which was broken since r2132.
30596
305972009-07-07 Pavel Roskin <proski@gnu.org>
30598
30599 * commands/search.c (search_file): Merge into ...
30600 (search_fs): ... this. Accept search type as argument.
30601 (grub_cmd_search): Pass search type to search_fs().
30602
30603 * include/grub/util/console.h: New file.
30604 * util/console.c: Use it instead of grub/machine/console.h.
30605 * util/grub-emu.c: Likewise.
30606
30607 * lib/arg.c (find_long_option): Remove.
30608 (find_long): Add `len' argument, make `s' const char *.
30609 (grub_arg_parse): Parse long options in place, not in a
30610 temporary buffer.
30611
306122009-07-06 Pavel Roskin <proski@gnu.org>
30613
30614 * commands/search.c (search_fs): Fix potential NULL pointer
30615 dereference.
30616
30617 * commands/search.c (search_fs): Replace QUID macro with quid_fn
30618 function pointer.
30619
306202009-07-06 Daniel Mierswa <impulze@impulze.org>
30621
30622 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
30623 comparison.
30624
306252009-07-05 Pavel Roskin <proski@gnu.org>
30626
30627 * include/grub/i386/linux.h (struct linux_kernel_params):
30628 Restore padding3, it's still needed.
30629
30630 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
30631 FreeBSD.
30632 * util/osdetect.lua: Likewise.
30633
306342009-07-05 Bean <bean123ch@gmail.com>
30635
30636 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
30637
30638 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
30639 (grub_lua_getenv): Likewise.
30640 (grub_lua_setenv): Likewise.
30641 (save_errno): New function.
30642 (push_result): Likewise.
30643 (grub_lua_enum_device): Likewise.
30644 (grub_lua_enum_file): Likewise.
30645 (grub_lua_file_open): Likewise.
30646 (grub_lua_file_close): Likewise.
30647 (grub_lua_file_seek): Likewise.
30648 (grub_lua_file_read): Likewise.
30649 (grub_lua_file_getline): Likewise.
30650 (grub_lua_file_getsize): Likewise.
30651 (grub_lua_file_getpos): Likewise.
30652 (grub_lua_file_eof): Likewise.
30653 (grub_lua_file_exist): Likewise.
30654 (grub_lua_add_menu): Likewise.
30655
30656 * script/lua/grub_lua.h (isupper): New inline function.
30657 (islower): Likewise.
30658 (ispunct): Likewise.
30659 (isxdigit): Likewise.
30660 (strcspn): Change to normal function.
30661 (strpbkr): New function declaration.
30662 (memchr): Likewise.
30663
30664 * script/lua/grub_main.c (scan_str): New function.
30665 (strcspn): Likewise.
30666 (strpbrk): Likewise.
30667 (memchr): Likewise.
30668
30669 * script/lua/linit.c (lualibs): Enable the string library.
30670
30671 * util/osdetect.lua: New file.
30672
306732009-07-04 Robert Millan <rmh.grub@aybabtu.com>
30674
30675 * include/grub/i386/linux.h (struct linux_kernel_params): Add
30676 `capabilities' member.
30677
306782009-07-02 Pavel Roskin <proski@gnu.org>
30679
30680 * genparttoollist.sh: Add missing newline at the end.
30681
306822009-07-01 Pavel Roskin <proski@gnu.org>
30683
30684 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
30685
30686 * util/hostdisk.c (open_device): Remove `const' from
30687 `sysctl_size', as sysctlbyname() can change it (in this case it
30688 doesn't actually happen).
30689
30690 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
30691 using signed long int constants.
30692
30693 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
30694 constant to avoid a warning on FreeBSD.
30695
30696 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
30697 where it's needed.
30698
30699 * Makefile.in: Install include/grub/machine symlink.
30700
30701 * Makefile.in: When installing symlinks, use "cp -fR", which
30702 works on FreeBSD and MacOSX.
30703 From Yves Blusseau <cl7m42e02@sneakemail.com>
30704
30705 * kern/dl.c (grub_dl_resolve_symbol): Make static.
30706 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
30707
30708 * util/misc.c: Move grub_reboot() and grub_halt() ...
30709 * util/grub-emu.c: ... here. Make main_env static.
30710 * include/grub/util/misc.h: Remove main_env.
30711
30712 * kern/mm.c: Use correct format to print size_t.
30713
30714 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
30715 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
30716 * kern/powerpc/dl.c: Likewise.
30717 * kern/sparc64/dl.c: Likewise.
30718 * kern/x86_64/dl.c: Likewise.
30719
307202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 Fix grub-emu build on sparc64-ieee1275.
30723
30724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
30725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
30726
307272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30728
30729 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
30730 (grub_reboot, grub_halt): New functions.
30731
30732 * util/i386/pc/misc.c: Delete. Update all users.
30733 * util/sparc64/ieee1275/misc.c: Likewise.
30734 * util/powerpc/ieee1275/misc.c: Likewise.
30735
307362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30737
30738 * conf/i386.rmk (setjmp_mod_SOURCES)
30739 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
30740 * conf/common.rmk (setjmp_mod_SOURCES)
30741 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
30742 to use $(target_cpu).
30743 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
30744 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
30745 * conf/powerpc-ieee1275.rmk: Likewise.
30746 * conf/sparc64-ieee1275.rmk: Likewise.
30747
30748 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
30749 $(target_cpu) for kern/$(target_cpu)/dl.c.
30750 * conf/i386-efi.rmk: Likewise.
30751 * conf/i386-ieee1275.rmk: Likewise.
30752 * conf/x86_64-efi.rmk: Likewise.
30753 * conf/i386-coreboot.rmk: Likewise.
30754 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
30755 $(target_cpu) for kern/$(target_cpu)/dl.c and for
30756 kern/$(target_cpu)/cache.S.
30757 * conf/sparc64-ieee1275.rmk: Likewise.
30758
307592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30760
30761 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
30762 type to `grub_uint8_t', and adjust `padding9' accordingly.
30763
307642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30765
30766 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
30767
30768 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
30769 assembly in final jump, using register constraints.
30770
30771 (grub_linux_boot): For text mode, initialize `have_vga' using
30772 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
30773
30774 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
30775 right before the final jump.
30776
30777 Set `video_mode' to 0x3.
30778
30779 Document initialization of `video_page', `video_mode' and
30780 `video_ega_bx'.
30781
307822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30783
30784 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
30785 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
30786 and set GRUB_LINUX_FLAG_QUIET appropriately.
30787
307882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 Fix build on Debian / sparc.
30791
30792 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
30793
307942009-06-28 Pavel Roskin <proski@gnu.org>
30795
30796 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30797 fix a warning.
30798
30799 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30800
308012009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30802
30803 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
30804 `err'.
30805
308062009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30807
30808 Revert r2338.
30809
30810 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
30811 file can't be opened. grub_file_open() is already supposed to set
30812 grub_errno / grub_errmsg appropriately.
30813 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30814
308152009-06-27 Pavel Roskin <proski@gnu.org>
308162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30817
30818 * include/grub/dl.h: Include grub/elf.h.
30819 (struct grub_dl): Add symtab field.
30820 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
30821 GRUB_MODULES_MACHINE_READONLY.
30822 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
30823 of the header for read-only modules.
30824 (grub_dl_unload): Free mod->symtab for read-only modules.
30825 * kern/i386/dl.c: Use mod->symtab.
30826 * kern/powerpc/dl.c: Likewise.
30827 * kern/sparc64/dl.c: Likewise.
30828 * kern/x86_64/dl.c: Likewise.
30829
30830 * conf/i386-qemu.rmk: New file.
30831 * kern/i386/qemu/startup.S: Likewise.
30832 * kern/i386/qemu/mmap.c: Likewise.
30833 * boot/i386/qemu/boot.S: Likewise.
30834 * include/grub/i386/qemu/time.h: Likewise.
30835 * include/grub/i386/qemu/serial.h: Likewise.
30836 * include/grub/i386/qemu/kernel.h: Likewise.
30837 * include/grub/i386/qemu/console.h: Likewise.
30838 * include/grub/i386/qemu/boot.h: Likewise.
30839 * include/grub/i386/qemu/init.h: Likewise.
30840 * include/grub/i386/qemu/machine.h: Likewise.
30841 * include/grub/i386/qemu/loader.h: Likewise.
30842 * include/grub/i386/qemu/memory.h: Likewise.
30843
30844 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
30845 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
30846 [qemu] (pkglib_IMAGES): Add `boot.img'.
30847 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
30848 [qemu] (boot_img_FORMAT): New variables.
30849 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
30850 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
30851 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
30852 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30853 [qemu] (kernel_img_FORMAT): New variables.
30854
30855 * configure.ac: Recognise `i386-qemu'.
30856
30857 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
30858 (for no compression).
30859 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
30860 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
30861 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
30862 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
30863 ifdefs).
30864
308652009-06-27 Pavel Roskin <proski@gnu.org>
30866
30867 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30868 read.
30869 * efiemu/prepare32.c: Likewise.
30870 * efiemu/prepare64.c: Likewise.
30871
308722009-06-26 Pavel Roskin <proski@gnu.org>
30873
30874 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30875 * include/grub/elf.h: Define symbols without "32" or "64" based
30876 on GRUB_TARGET_WORDSIZE.
30877 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30878 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30879 ELF definitions.
30880 * efiemu/loadcore64.c: Likewise.
30881 * loader/i386/bsd32.c: Likewise.
30882 * loader/i386/bsd64.c: Likewise.
30883 * kern/dl.c: Remove own ELF definitions.
30884 * util/i386/efi/grub-mkimage.c: Likewise.
30885
308862009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30887
30888 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30889 segment 0x0 unconditionally, because the reference generated by
30890 GAS is an absolute address.
30891
308922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30893
30894 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30895 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30896
308972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30898
30899 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30900 indexes. Check for -f explicitly.
30901 (search_file): Improve error message.
30902 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
30903
309042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30905
30906 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30907 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30908
309092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30910
30911 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30912 * conf/i386-ieee1275.rmk: Likewise.
30913 * conf/i386-coreboot.rmk: Likewise.
30914
30915 * kern/i386/pc/startup.S (grub_stop): Remove function.
30916 * kern/i386/ieee1275/startup.S: Likewise.
30917 * kern/i386/coreboot/startup.S: Likewise.
30918 * kern/i386/misc.S (grub_stop): New function.
30919
309202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30921
30922 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30923 * kern/i386/realmode.S (real_to_prot): ... to here.
30924
309252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30926
30927 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30928 with `kernel.img'.
30929 (kernel_elf_SOURCES): Rename to ...
30930 (kernel_img_SOURCES): ... this.
30931 (kernel_elf_HEADERS): Rename to ...
30932 (kernel_img_HEADERS): ... this. Update all users.
30933 (kernel_elf_ASFLAGS): Rename to ...
30934 (kernel_img_ASFLAGS): ... this.
30935 (kernel_elf_CFLAGS): Rename to ...
30936 (kernel_img_CFLAGS): ... this.
30937 (kernel_elf_LDFLAGS): Rename to ...
30938 (kernel_img_LDFLAGS): ... this.
30939 * conf/i386-coreboot.rmk: Likewise.
30940 * conf/powerpc-ieee1275.rmk: Likewise.
30941
30942 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30943 with "kernel.img".
30944
309452009-06-21 Pavel Roskin <proski@gnu.org>
30946
30947 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30948 to match nested functions.
30949 * loader/sparc64/ieee1275/linux.c: Likewise.
30950
30951 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30952
309532009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30954
30955 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30956 all i386 platforms.
30957
309582009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30959
30960 Fix asm file handling on ELF, and remove workarounds.
30961
30962 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
30963 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
30964 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30965 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30966
309672009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30968
30969 Load BSD ELF modules
30970
30971 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30972 and loader/i386/bsd64.c
30973 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30974 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30975 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30976 (grub_freebsd_load_elfmodule32): New declaration
30977 (grub_freebsd_load_elfmoduleobj64): Likewise
30978 (grub_freebsd_load_elf_meta32): Likewise
30979 (grub_freebsd_load_elf_meta64): Likewise
30980 (grub_freebsd_add_meta): Likewise
30981 (grub_freebsd_add_meta_module): Likewise
30982 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30983 (grub_freebsd_add_meta_module): Likewise and move module-specific
30984 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30985 (grub_cmd_freebsd): Add elf-kernel specific parts
30986 based on grub_freebsd_add_meta_module
30987 (grub_cmd_freebsd_module): Add type parsing moved from
30988 grub_freebsd_add_meta_module
30989 (grub_cmd_freebsd_module_elf): New function
30990 (cmd_freebsd_module_elf): New variable
30991 (GRUB_MOD_INIT): Register freebsd_module_elf
30992 * loader/i386/bsd32.c: New file
30993 * loader/i386/bsd64.c: Likewise
30994 * loader/i386/bsdXX.c: Likewise
30995 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30996 (grub_elf64_load): Likewise
30997 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30998 All users updated
30999 (grub_elf64_load_hook_t): Likewise
31000
310012009-06-21 Colin Watson <cjwatson@ubuntu.com>
31002
31003 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31004 variable.
31005 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31006 don't write a menu entry for recovery mode.
31007
310082009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31009
31010 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31011 after it's no longer needed.
31012
310132009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31014
31015 * include/grub/i386/loader.h (grub_linux_prot_size)
31016 (grub_linux_tmp_addr, grub_linux_real_addr)
31017 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31018 GRUB_MACHINE_PCBIOS.
31019 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31020 common grub_util_info() call to ...
31021 (generate_image): ... here.
31022 Fix use of uninitialized memory, comparison of signed with
31023 unsigned integers and memory leak.
31024 Remove bogus module address message.
31025
310262009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31027
31028 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31029 grub_raid_register
31030 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31031
310322009-06-19 Pavel Roskin <proski@gnu.org>
31033
31034 * configure.ac: Remove stray AC_MSG_CHECKING.
31035
310362009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31037
31038 * disk/scsi.c (grub_scsi_open): use continue instead of big if
31039
310402009-06-18 Pavel Roskin <proski@gnu.org>
31041
31042 * conf/common.rmk: Add fs_file.mod.
31043 * disk/fs_file.c: New file.
31044 * include/grub/disk.h (enum grub_disk_dev_id): Add
31045 GRUB_DISK_DEVICE_FILE_ID.
31046
310472009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31048
31049 Fix build with Apple's toolchain. Part 2
31050
31051 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31052 a fake start
31053
310542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31055
31056 Fix build with Apple's toolchain. Part 1
31057
31058 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31059 for long calls
31060 * configure.ac: remove a leftover AC_MSG_RESULT
31061 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
31062 Apple's toolchain
31063
310642009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31065
31066 Fix warnings
31067
31068 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31069 (decomp_block): initialize ch
31070 use grub_memcpy instead of memcpy
31071
310722009-06-17 Pavel Roskin <proski@gnu.org>
31073
31074 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31075 version, use declarations needed to use vga_text as the startup
31076 console.
31077
31078 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31079 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31080 the kernel.
31081 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31082 and grub_at_keyboard_fini(), it's done on module load and
31083 unload.
31084
310852009-06-17 Felix Zielcke <fzielcke@z-51.de>
31086
31087 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31088 file can't be found.
31089 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31090
310912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31092
31093 Fix newline handling
31094
31095 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
31096 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
31097 (grub_script_yylex): don't segfault on unterminated script
31098 newline terminates command and variable
31099
311002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31101
31102 avoid double grub_adjust_range call. Bug reported by David Simner
31103
31104 * kern/disk.c (grub_disk_write): change to raw disk access before
31105 calling disk_read
31106
311072009-06-17 Colin Watson <cjwatson@ubuntu.com>
31108
31109 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31110 spaces, for the benefit of help2man.
31111 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31112
311132009-06-16 Pavel Roskin <proski@gnu.org>
31114
31115 * kern/i386/halt.c: Include grub/machine/init.h.
31116 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31117
311182009-06-16 Felix Zielcke <fzielcke@z-51.de>
31119
31120 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31121 drivemap menuentry.
31122
311232009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31124
31125 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31126 `echo' command.
31127
311282009-06-16 Pavel Roskin <proski@gnu.org>
31129
31130 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31131 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31132 save %dx, we only need %dl and we never change it.
31133 * boot/i386/pc/cdboot.S: Don't set the root drive.
31134 * boot/i386/pc/pxeboot.S: Likewise.
31135 * include/grub/i386/pc/boot.h: Remove
31136 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31137 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31138 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31139 * kern/i386/pc/init.c (make_install_device): Remove references
31140 to grub_root_drive.
31141 * kern/i386/pc/startup.S: Likewise.
31142 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31143
311442009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31145
31146 xnu_uuid command
31147
31148 * commands/xnu_uuid.c: new file
31149 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31150 (xnu_uuid_mod_SOURCES): new variable
31151 (xnu_uuid_mod_CFLAGS): likewise
31152 (xnu_uuid_mod_LDFLAGS): likewise
31153 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31154 * conf/i386-ieee1275.rmk: likewise
31155 * conf/i386-pc.rmk: likewise
31156 * conf/powerpc-ieee1275.rmk: likewise
31157 * conf/sparc64-ieee1275.rmk: likewise
31158 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
31159
311602009-06-16 Pavel Roskin <proski@gnu.org>
31161
31162 * configure.ac: Avoid '==' in test command, it's not portable.
31163
311642009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31165
31166 Probe command
31167
31168 * commands/probe.c: new file
31169 * conf/common.rmk (pkglib_MODULES): add probe.mod
31170 (probe_mod_SOURCES): new variable
31171 (probe_mod_CFLAGS): likewise
31172 (probe_mod_LDFLAGS): likewise
31173 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31174 * conf/i386-ieee1275.rmk: likewise
31175 * conf/i386-pc.rmk: likewise
31176 * conf/powerpc-ieee1275.rmk: likewise
31177 * conf/sparc64-ieee1275.rmk: likewise
31178
311792009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31180
31181 Fix handling of string like \"hello\" and "a
31182 b"
31183
31184 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31185 (grub_script_yylex): fix parsing of quoting, escaping and newline
31186
311872009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31188
31189 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
31190 handling
31191
311922009-06-13 Jun Inoue <jun.lambda@gmail.com>
31193
31194 * util/grub-mkconfig.in: Fix parsing of --output option.
31195
311962009-06-12 Pavel Roskin <proski@gnu.org>
31197
31198 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31199 genmk.rb don't need to be generated or installed.
31200
312012009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31202
31203 * commands/i386/pc/drivemap_int13h.S: add more comments
31204
312052009-06-11 Pavel Roskin <proski@gnu.org>
31206
31207 * Makefile.in (uninstall): Uninstall manuals.
31208
31209 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31210 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31211 and update-grub_lib in two places.
31212 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31213
31214 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31215 a compiler warning.
31216
31217 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31218 `entry_lo' to fix variable shadowing.
31219
312202009-06-11 Christian Franke <franke@computer.org>
31221
31222 * kern/misc.c (__enable_execute_stack): Add missing return type
31223 to prevent gcc warning.
31224
312252009-06-11 Felix Zielcke <fzielcke@z-51.de>
31226
31227 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31228
312292009-06-11 Pavel Roskin <proski@gnu.org>
31230
31231 * Makefile.in: Don't rely on any scripts being executable.
31232 Always use $(SHELL) to run shell scripts.
31233
31234 * configure.ac: Always define ___main if using -nostdlib. This
31235 fixes tests on Cygwin.
31236
312372009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
31238
31239 UDF fix
31240
31241 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
31242 is in bytes and not in blocks
31243
312442009-06-11 Pavel Roskin <proski@gnu.org>
31245
31246 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
31247 warning.
31248
312492009-06-11 Felix Zielcke <fzielcke@z-51.de>
31250
31251 * util/grub.d/30_os-prober.in: Fix a comment. Source
31252 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
31253 to set the root device. Place drivemap command in the generated
31254 chain entry.
31255
312562009-06-11 Pavel Roskin <proski@gnu.org>
31257
31258 * configure.ac: Remove host_m32. Issues with 64-bit utilities
31259 have long been resolved.
31260
312612009-06-11 Colin Watson <cjwatson@ubuntu.com>
31262
31263 * util/grub.d/10_linux.in: Capitalise "Linux".
31264
31265 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
31266
312672009-06-11 Pavel Roskin <proski@gnu.org>
31268
31269 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
31270 fix a gcc warning and ensure that the function won't ever exit.
31271
31272 * kern/i386/ieee1275/init.c: Add missing prototype for
31273 grub_stop_floppy().
31274
31275 * loader/ieee1275/multiboot2.c [__i386__]: Include
31276 grub/cpu/multiboot.h.
31277
31278 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
31279 casts to short - they are not portable and cause warnings. Fix
31280 use of uninitialized values in input_buf. Use ARRAY_SIZE.
31281
312822009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
31283
31284 Drivemap fixes
31285
31286 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
31287 new function
31288 (grub_get_root_biosnumber_saved): new variable
31289 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
31290 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
31291 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
31292 %dx after the call if necessary
31293 * conf/common.rmk (pkglib_MODULES): remove boot.mod
31294 (boot_mod_SOURCES): remove
31295 (boot_mod_CFLAGS): remove
31296 (boot_mod_LDFLAGS): remove
31297 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
31298 (boot_mod_SOURCES): new variable
31299 (boot_mod_CFLAGS): likewise
31300 (boot_mod_LDFLAGS): likewise
31301 * conf/i386-efi.rmk: likewise
31302 * conf/i386-ieee1275.rmk: likewise
31303 * conf/i386-pc.rmk: likewise
31304 * conf/powerpc-ieee1275.rmk: likewise
31305 * conf/sparc64-ieee1275.rmk: likewise
31306 * conf/x86_64-efi.rmk: likewise
31307 * include/grub/i386/pc/biosnum.h: new file
31308 * lib/i386/pc/biosnum.c: likewise
31309 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
31310 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
31311 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
31312
313132009-06-10 Pavel Roskin <proski@gnu.org>
31314
31315 * io/gzio.c (test_header): Don't reuse one buffer for all data.
31316 Use separate variables. Read only the file size at the end, but
31317 not the checksum that we don't use.
31318
31319 * kern/file.c (grub_file_read): Use void pointer for the buffer.
31320 Adjust all callers.
31321
31322 * kern/ieee1275/openfw.c: Remove libc includes.
31323 * kern/ieee1275/cmain.c: Likewise.
31324 * include/grub/ieee1275/ieee1275.h: Likewise.
31325
31326 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31327 compiler warnings.
31328
313292009-06-10 Felix Zielcke <fzielcke@z-51.de>
31330
31331 * Makefile.in: Remove all trailing whitespace.
31332 * conf/i386-pc.rmk: Likewise.
31333 * conf/powerpc-ieee1275.rmk: Likewise.
31334 * conf/sparc64-ieee1275.rmk: Likewise.
31335 * docs/grub.texi: Likewise.
31336 * docs/texinfo.tex: Likewise.
31337 * disk/fs_uuid.c: Likewise.
31338 * disk/lvm.c: Likewise.
31339 * disk/scsi.c: Likewise.
31340 * disk/ata.c: Likewise.
31341 * disk/ieee1275/ofdisk.c: Likewise.
31342 * disk/i386/pc/biosdisk.c: Likewise.
31343 * disk/host.c: Likewise.
31344 * disk/raid.c: Likewise.
31345 * disk/efi/efidisk.c: Likewise.
31346 * disk/usbms.c: Likewise.
31347 * disk/memdisk.c: Likewise.
31348 * disk/loopback.c: Likewise.
31349 * kern/powerpc/dl.c: Likewise.
31350 * kern/device.c: Likewise.
31351 * kern/dl.c: Likewise.
31352 * kern/sparc64/dl.c: Likewise.
31353 * kern/ieee1275/ieee1275.c: Likewise.
31354 * kern/term.c: Likewise.
31355 * kern/fs.c: Likewise.
31356 * kern/i386/dl.c: Likewise.
31357 * kern/i386/pc/startup.S: Likewise.
31358 * kern/i386/pc/init.c: Likewise.
31359 * kern/i386/pc/mmap.c: Likewise.
31360 * kern/i386/pc/lzo1x.S: Likewise.
31361 * kern/i386/ieee1275/init.c: Likewise.
31362 * kern/i386/realmode.S: Likewise.
31363 * kern/i386/tsc.c: Likewise.
31364 * kern/partition.c: Likewise.
31365 * kern/corecmd.c: Likewise.
31366 * kern/file.c: Likewise.
31367 * kern/efi/efi.c: Likewise.
31368 * kern/efi/init.c: Likewise.
31369 * kern/efi/mm.c: Likewise.
31370 * kern/main.c: Likewise.
31371 * kern/err.c: Likewise.
31372 * kern/env.c: Likewise.
31373 * kern/disk.c: Likewise.
31374 * kern/generic/millisleep.c: Likewise.
31375 * kern/generic/rtc_get_time_ms.c: Likewise.
31376 * kern/misc.c: Likewise.
31377 * kern/parser.c: Likewise.
31378 * genmk.rb: Likewise.
31379 * configure.ac: Likewise.
31380 * boot/i386/pc/diskboot.S: Likewise.
31381 * boot/i386/pc/pxeboot.S: Likewise.
31382 * boot/i386/pc/boot.S: Likewise.
31383 * boot/i386/pc/lnxboot.S: Likewise.
31384 * boot/i386/pc/cdboot.S: Likewise.
31385 * parttool/pcpart.c: Likewise.
31386 * video/readers/tga.c: Likewise.
31387 * video/video.c: Likewise.
31388 * video/bitmap.c: Likewise.
31389 * lib/envblk.c: Likewise.
31390 * lib/i386/setjmp.S: Likewise.
31391 * fs/xfs.c: Likewise.
31392 * fs/afs.c: Likewise.
31393 * fs/fat.c: Likewise.
31394 * fs/ntfs.c: Likewise.
31395 * fs/udf.c: Likewise.
31396 * fs/affs.c: Likewise.
31397 * fs/iso9660.c: Likewise.
31398 * fs/hfs.c: Likewise.
31399 * fs/fshelp.c: Likewise.
31400 * fs/ext2.c: Likewise.
31401 * fs/jfs.c: Likewise.
31402 * fs/reiserfs.c: Likewise.
31403 * fs/hfsplus.c: Likewise.
31404 * fs/minix.c: Likewise.
31405 * fs/cpio.c: Likewise.
31406 * fs/sfs.c: Likewise.
31407 * fs/ufs.c: Likewise.
31408 * efiemu/prepare.c: Likewise.
31409 * efiemu/loadcore_common.c: Likewise.
31410 * efiemu/runtime/efiemu.sh: Likewise.
31411 * efiemu/runtime/efiemu.S: Likewise.
31412 * efiemu/runtime/efiemu.c: Likewise.
31413 * efiemu/pnvram.c: Likewise.
31414 * efiemu/main.c: Likewise.
31415 * efiemu/i386/pc/cfgtables.c: Likewise.
31416 * efiemu/i386/loadcore64.c: Likewise.
31417 * efiemu/i386/loadcore32.c: Likewise.
31418 * efiemu/loadcore.c: Likewise.
31419 * efiemu/symbols.c: Likewise.
31420 * efiemu/mm.c: Likewise.
31421 * include/grub/autoefi.h: Likewise.
31422 * include/grub/datetime.h: Likewise.
31423 * include/grub/term.h: Likewise.
31424 * include/grub/hfs.h: Likewise.
31425 * include/grub/lvm.h: Likewise.
31426 * include/grub/i386/tsc.h: Likewise.
31427 * include/grub/i386/linux.h: Likewise.
31428 * include/grub/i386/xnu.h: Likewise.
31429 * include/grub/i386/efiemu.h: Likewise.
31430 * include/grub/i386/pc/biosdisk.h: Likewise.
31431 * include/grub/i386/pc/memory.h: Likewise.
31432 * include/grub/i386/pc/vbe.h: Likewise.
31433 * include/grub/parttool.h: Likewise.
31434 * include/grub/video.h: Likewise.
31435 * include/grub/memory.h: Likewise.
31436 * include/grub/fs.h: Likewise.
31437 * include/grub/partition.h: Likewise.
31438 * include/grub/xnu.h: Likewise.
31439 * include/grub/efi/api.h: Likewise.
31440 * include/grub/efi/pe32.h: Likewise.
31441 * include/grub/efi/memory.h: Likewise.
31442 * include/grub/multiboot.h: Likewise.
31443 * include/grub/usbdesc.h: Likewise.
31444 * include/grub/multiboot2.h: Likewise.
31445 * include/grub/acpi.h: Likewise.
31446 * include/grub/efiemu/efiemu.h: Likewise.
31447 * include/grub/disk.h: Likewise.
31448 * include/grub/ieee1275/ieee1275.h: Likewise.
31449 * include/grub/net.h: Likewise.
31450 * include/grub/machoload.h: Likewise.
31451 * include/grub/macho.h: Likewise.
31452 * include/multiboot.h: Likewise.
31453 * genmoddep.awk: Likewise.
31454 * normal/main.c: Likewise.
31455 * normal/menu_entry.c: Likewise.
31456 * normal/menu_viewer.c: Likewise.
31457 * normal/completion.c: Likewise.
31458 * normal/cmdline.c: Likewise.
31459 * normal/misc.c: Likewise.
31460 * normal/datetime.c: Likewise.
31461 * bus/usb/usbtrans.c: Likewise.
31462 * bus/usb/ohci.c: Likewise.
31463 * bus/usb/uhci.c: Likewise.
31464 * bus/usb/usb.c: Likewise.
31465 * mmap/efi/mmap.c: Likewise.
31466 * mmap/i386/pc/mmap_helper.S: Likewise.
31467 * mmap/i386/pc/mmap.c: Likewise.
31468 * mmap/i386/mmap.c: Likewise.
31469 * mmap/i386/uppermem.c: Likewise.
31470 * mmap/mmap.c: Likewise.
31471 * commands/acpi.c: Likewise.
31472 * commands/echo.c: Likewise.
31473 * commands/blocklist.c: Likewise.
31474 * commands/loadenv.c: Likewise.
31475 * commands/usbtest.c: Likewise.
31476 * commands/boot.c: Likewise.
31477 * commands/parttool.c: Likewise.
31478 * commands/search.c: Likewise.
31479 * commands/cat.c: Likewise.
31480 * commands/i386/pc/play.c: Likewise.
31481 * commands/i386/pc/drivemap.c: Likewise.
31482 * commands/i386/pc/vbeinfo.c: Likewise.
31483 * commands/i386/pc/acpi.c: Likewise.
31484 * commands/i386/pc/vbetest.c: Likewise.
31485 * commands/ls.c: Likewise.
31486 * commands/cmp.c: Likewise.
31487 * commands/test.c: Likewise.
31488 * commands/efi/acpi.c: Likewise.
31489 * commands/gptsync.c: Likewise.
31490 * commands/help.c: Likewise.
31491 * partmap/amiga.c: Likewise.
31492 * partmap/apple.c: Likewise.
31493 * partmap/acorn.c: Likewise.
31494 * partmap/pc.c: Likewise.
31495 * partmap/sun.c: Likewise.
31496 * partmap/gpt.c: Likewise.
31497 * script/sh/lexer.c: Likewise.
31498 * script/sh/function.c: Likewise.
31499 * font/font.c: Likewise.
31500 * font/font_cmd.c: Likewise.
31501 * loader/powerpc/ieee1275/linux.c: Likewise.
31502 * loader/efi/chainloader.c: Likewise.
31503 * loader/multiboot_loader.c: Likewise.
31504 * loader/macho.c: Likewise.
31505 * loader/i386/multiboot.c: Likewise.
31506 * loader/i386/linux.c: Likewise.
31507 * loader/i386/pc/linux.c: Likewise.
31508 * loader/i386/pc/multiboot2.c: Likewise.
31509 * loader/i386/pc/chainloader.c: Likewise.
31510 * loader/i386/pc/xnu.c: Likewise.
31511 * loader/i386/bsd_trampoline.S: Likewise.
31512 * loader/i386/efi/linux.c: Likewise.
31513 * loader/i386/multiboot_elfxx.c: Likewise.
31514 * loader/i386/bsd_helper.S: Likewise.
31515 * loader/i386/bsd.c: Likewise.
31516 * loader/i386/linux_trampoline.S: Likewise.
31517 * loader/i386/xnu_helper.S: Likewise.
31518 * loader/i386/xnu.c: Likewise.
31519 * loader/i386/bsd_pagetable.c: Likewise.
31520 * loader/i386/multiboot_helper.S: Likewise.
31521 * loader/xnu.c: Likewise.
31522 * loader/xnu_resume.c: Likewise.
31523 * io/gzio.c: Likewise.
31524 * term/efi/console.c: Likewise.
31525 * term/terminfo.c: Likewise.
31526 * term/ieee1275/ofconsole.c: Likewise.
31527 * term/i386/pc/serial.c: Likewise.
31528 * term/i386/pc/vesafb.c: Likewise.
31529 * term/i386/pc/vga.c: Likewise.
31530 * term/usb_keyboard.c: Likewise.
31531 * term/gfxterm.c: Likewise.
31532 * aclocal.m4: Likewise.
31533 * util/lvm.c: Likewise.
31534 * util/grub.d/30_os-prober.in: Likewise.
31535 * util/grub.d/10_hurd.in: Likewise.
31536 * util/console.c: Likewise.
31537 * util/grub-macho2img.c: Likewise.
31538 * util/grub-probe.c: Likewise.
31539 * util/hostfs.c: Likewise.
31540 * util/i386/pc/grub-mkimage.c: Likewise.
31541 * util/i386/pc/grub-setup.c: Likewise.
31542 * util/i386/efi/grub-mkimage.c: Likewise.
31543 * util/grub-mkconfig.in: Likewise.
31544 * util/raid.c: Likewise.
31545 * util/resolve.c: Likewise.
31546 * util/grub-mkdevicemap.c: Likewise.
31547 * util/grub-emu.c: Likewise.
31548 * util/getroot.c: Likewise.
31549 * util/hostdisk.c: Likewise.
31550 * util/usb.c: Likewise.
31551 * util/grub-editenv.c: Likewise.
31552 * util/misc.c: Likewise.
31553
315542009-06-10 Felix Zielcke <fzielcke@z-51.de>
31555
31556 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
31557 `genparttoollist.sh'.
31558 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
31559 Add `*.sh' to the list find searches for and change `mdate.sh'
31560 to `mdate-sh'.
31561
315622009-06-10 Pavel Roskin <proski@gnu.org>
31563
31564 * include/grub/multiboot2.h: Provide compatibility defines for
31565 multiboot2.h.
31566 * include/multiboot2.h: Include stdint.h only if needed, using
31567 angle brackets.
31568 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
31569 grub/multiboot2.h.
31570 * loader/ieee1275/multiboot2.c: Likewise.
31571 * loader/multiboot2.c: Likewise.
31572 * loader/multiboot_loader.c: Likewise.
31573
31574 * configure.ac: Use -nostdlib when probing for the target. It
31575 should not be required to have libc for the target.
31576
31577 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
31578 they fail without libc headers for the target.
31579 * include/grub/powerpc/libgcc.h: Use weak attribute for all
31580 exports.
31581 * include/grub/sparc64/libgcc.h: Likewise. Don't use
31582 preprocessor conditionals.
31583
31584 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
31585 build system doesn't need to be aware of the tar.c internals.
31586
315872009-06-09 Michel Hermier <michel.hermier@gmail.com>
31588
31589 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
31590
315912009-06-09 Robert Millan <rmh.grub@aybabtu.com>
31592
31593 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
31594 disk limit to 26 for IDE, Virtio, Xen and SCSI.
31595
315962009-06-09 Felix Zielcke <fzielcke@z-51.de>
31597
31598 * util/i386/pc/grub-install.in: Change the error message if UUIDs
31599 aren't available if ata.mod gets used.
31600
316012009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
31602
31603 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
31604 initialising controller.
31605 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31606
316072009-06-08 Felix Zielcke <fzielcke@z-51.de>
31608
31609 * util/i386/pc/grub-install.in: Add a parameter --disk-module
31610 to choose between ata and biosdisk module on i386-pc.
31611
316122009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
31613
31614 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
31615 Subclass and Programming Interface fields in terms of the 3 byte
31616 Class Code register.
31617 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31618
31619 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
31620 interface is OHCI. Add grub_dprintf for symmetry with
31621 bus/usb/uhci.c.
31622 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
31623 interface is UHCI. Add interf variable for programming
31624 interface. Print interface with class/subclass.
31625
31626 * bus/usb/ohci.c: Set interf with correct field.
31627
31628 * bus/usb/uhci.c: Remove unneeded doubled lines.
31629 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
31630 Remove whitespace inside comment.
31631
316322009-06-08 Robert Millan <rmh.grub@aybabtu.com>
31633
31634 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
31635 as fallback an equivalent option without depth.
31636
316372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31638
31639 Not fail if unable to retrieve C/H/S on LBA disks
31640
31641 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
31642 if unable to retrieve C/H/S on LBA disks
31643
316442009-06-08 Pavel Roskin <proski@gnu.org>
31645
31646 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
31647 about aliasing.
31648
316492009-06-08 Felix Zielcke <fzielcke@z-51.de>
31650
31651 * Makefile.in (uninstall): Remove all $lib_DATA files.
31652
316532009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31654
31655 Bugfix: install on partitionless device
31656
31657 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
31658 is a whole disk
31659
316602009-06-08 Felix Zielcke <fzielcke@z-51.de>
31661
31662 * Makefile.in (uninstall): Remove all $include_DATA files.
31663
316642009-06-08 Felix Zielcke <fzielcke@z-51.de>
31665
31666 * commands/true.c: New file. Implement the true and false commands.
31667 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
31668 (true_mod_SOURCES): New variable.
31669 (true_mod_CFLAGS): Likewise.
31670 (true_mod_LDFLAGS): Likewise.
31671
316722009-06-05 Colin D Bennett <colin@gibibit.com>
31673
31674 Optimized font character lookup using binary search instead of linear
31675 search. Fonts now are required to have the character index ordered by
31676 code point.
31677
31678 * font/font.c (load_font_index): Verify that fonts have ordered
31679 character indices.
31680 (find_glyph): Use binary search instead of linear search to find a
31681 character in a font.
31682
316832009-06-05 Michael Scherer <misc@mandriva.org>
31684
31685 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
31686 uses case sensitive btree.
31687 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
31688 only for case insensitive filesystems.
31689
316902009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
31691
31692 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
31693 * conf/common.rmk (search_mod_CFLAGS): likewise
31694
316952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31696
31697 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
31698 compensate a compiler bug
31699
317002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31701
31702 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
31703 instead of '\b'
31704
317052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31706
31707 Definitions for creating asm symbols with Apple's CC
31708
31709 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
31710 [APPLE_CC] (VARIABLE): likewise
31711
317122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31713
31714 Disable lnxboot.img when compiled
31715 with Apple's CC
31716
31717 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
31718 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
31719 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
31720 [! APPLE_CC] (CODE_LENG): skip
31721 [! APPLE_CC] (setup_sects): likewise
31722 [! APPLE_CC]: skip filling
31723
317242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31725
31726 Address in trampolines based on 32-bit registers when compiled
31727 with Apple's CC
31728
31729 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
31730 for addresses
31731 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
31732
317332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31734
31735 Avoid aliases when compiling with Apple's CC for PCBIOS machine
31736
31737 * kern/misc.c [APPLE_CC] (memcpy): new function
31738 [APPLE_CC] (memmove): likewise
31739 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
31740 (memcpy): define alias conditionally on !APPLE_CC
31741 (memset): likewise
31742 (abort): likewise
31743 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
31744 APPLE_CC are defined
31745 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
31746 (grub_assert_fail): make prototype conditional
31747
317482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31749
31750 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
31751
31752 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
31753 grub-macho2img
31754 (CLEANFILES): add grub-macho2img
31755 (grub_macho2img_SOURCES): new variable
31756 * kern/i386/pc/startup.S (bss_start): new variable
31757 (bss_end): likewise
31758 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
31759 * util/grub-macho2img.c: new file
31760
317612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31762
31763 Use objconv when compiling with Apple's CC
31764
31765 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
31766 (efiemu64.o): likewise
31767 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
31768 when compiling with Apple's CC
31769 (efiemu64_s.o): likewise
31770 * configure.ac: check for objconv when compiling with Apple's CC
31771 * genmk.rb: use objconv for modules when compiled with Apple's CC
31772
317732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31774
31775 Define segment as well as section when compiling with
31776 Apple's CC
31777
31778 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
31779 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
31780 (efiemu_convert_pointer): likewise
31781 (efiemu_set_virtual_address_map): likewise
31782 (efiemu_convert_pointer): likewise
31783 (efiemu_getcrc32): likewise
31784 (init_crc32_table): likewise
31785 (reflect): likewise
31786 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
31787 (GRUB_MOD_DEP): likewise
31788
317892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31790
31791 Allow a compilation without -mcmodel=large
31792
31793 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
31794 when compiled without -mcmodel=large
31795 (filter_memory_map): remove memory post 4 GiB when compiled
31796 without -mcmodel=large
31797 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
31798 TARGET_CFLAGS when -mcmodel=large isn't supported
31799
318002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31801
31802 Remove nested functions in efiemu core
31803
31804 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
31805
318062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31807
31808 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
31809
31810 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
31811 temporary storage
31812 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31813 using Apple's CC
31814 (grub_cpu_is_tsc_supported): likewise
31815 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
31816
318172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31818
31819 Absolute addressing through constant with Apple's cc
31820
31821 * kern/i386/pc/startup.S: Define necessary constants
31822 and address through it when using ABS with Apple's CC
31823 * boot/i386/pc/diskboot.S: likewise
31824 * boot/i386/pc/boot.S: likewise
31825 * boot/i386/pc/lnxboot.S: likewise
31826 * boot/i386/pc/cdboot.S: likewise
31827 * mmap/i386/pc/mmap_helper.S: likewise
31828 * commands/i386/pc/drivemap_int13h.S: likewise
31829
318302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31831
31832 Check if compiler is apple cc
31833
31834 * Makefile.in (ASFLAGS): new variable
31835 (TARGET_ASFLAGS): likewise
31836 (TARGET_MODULE_FORMAT): likewise
31837 (TARGET_APPLE_CC): likewise
31838 (OBJCONV): likewise
31839 (TARGET_IMG_CFLAGS): likewise
31840 (TARGET_CPPFLAGS): add includedir
31841 * configure.ac: call grub_apple_cc and grub_apple_target_cc
31842 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
31843 Check for linker script only if compiler isn't Apple's CC
31844 (TARGET_MODULE_FORMAT): set
31845 (TARGET_APPLE_CC): likewise
31846 (TARGET_ASFLAGS): likewise
31847 (ASFLAGS): likewise
31848 Check for objcopy only if compiler isn't Apple's CC
31849 Check for BSS symbol only if compiler isn't Apple's CC
31850 * genmk.rb: adapt nm options if we use Apple's utils
31851 * aclocal.m4 (grub_apple_cc): new test
31852 (grub_apple_target_cc): likewise
31853
318542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31855
31856 Simplify sed expressions and improve awk
31857
31858 * Makefile.in (install-local): simplify sed expression
31859 * gencmdlist.sh: likewise
31860 * genmoddep.awk: avoid adding module as a dependency of itself
31861
318622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31863
31864 Add missing start symbols
31865
31866 * boot/i386/pc/boot.S: add start
31867 * boot/i386/pc/pxeboot.S: likewise
31868
318692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31870
31871 Fix wrong assumptions with grub-mkimage on EFI
31872
31873 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
31874 (relocate_addresses): consider both r_addend and value at offset
31875 (make_mods_section): zerofill modinfo and header
31876 (convert_elf): write prefix here
31877
318782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31879
31880 Use .asciz instead of .string
31881
31882 * i386/pc/diskboot.S: use .asciz instead of .string
31883 * i386/pc/boot.S: likewise
31884 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31885 (GRUB_MOD_NAME): likewise
31886
318872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31888
31889 gfxpayload support
31890
31891 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31892 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31893 (grub_video_setup): remove
31894 (grub_video_set_mode): new prototype
31895 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31896 (vid_mode): remove
31897 (linux_vesafb_res): compile only on PCBIOS
31898 (grub_linux_boot): support gfxpayload
31899 * loader/i386/pc/xnu.c (video_hook): new function
31900 (grub_xnu_set_video): support gfxpayload
31901 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31902 (DEFAULT_VIDEO_HEIGHT): likewise
31903 (DEFAULT_VIDEO_FLAGS): likewise
31904 (DEFAULT_VIDEO_MODE): new definition
31905 (video_hook): new function
31906 (grub_gfxterm_init): use grub_video_set_mode
31907 * util/grub.d/30_os-prober.in: remove explicit modesetting before
31908 loading xnu
31909 * video/video.c (grub_video_setup): removed
31910 (grub_video_set_mode): new function based on grub_gfxterm_init and
31911 grub_video_setup
31912
319132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31914
31915 Avoid calling biosdisk in drivemap
31916
31917 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31918 (revparse_biosdisk): likewise
31919 (list_mappings): derive name from id directly
31920 (grub_cmd_drivemap): use tryparse_diskstring
31921
319222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31923
31924 Script fixes
31925
31926 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31927 (grub_lexer_param): add tokenonhold
31928 (grub_script_create_cmdline): remove cmdline. All callers updated
31929 (grub_script_function_create): make functionname
31930 grub_script_arg. All callers updated
31931 (grub_script_execute_argument_to_string): new prototype
31932 * kern/parser.c (state_transitions): reorder
31933 (grub_parser_cmdline_state): fix a bug and make more compact
31934 * script/sh/execute.c (grub_script_execute_argument_to_string):
31935 make global
31936 (grub_script_execute_cmdline): use new format
31937 * script/sh/function.c (grub_script_function_create): make functionname
31938 grub_script_arg. All callers updated
31939 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
31940 (grub_script_yylex): remove
31941 (grub_script_yylex2): renamed to ...
31942 (grub_script_yylex): ...renamed
31943 parse the expressions like a${b}c
31944 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31945 (GRUB_PARSER_TOKEN_VAR): remove
31946 (GRUB_PARSER_TOKEN_NAME): likewise
31947 ("if"): declare as typeless
31948 ("while"): likewise
31949 ("function"): likewise
31950 ("else"): likewise
31951 ("then"): likewise
31952 ("fi"): likewise
31953 (text): remove
31954 (argument): likewise
31955 (script): accept empty scripts and make exit on error
31956 (arguments): use GRUB_PARSER_TOKEN_ARG
31957 (function): likewise
31958 (command): move error handling to script
31959 (menuentry): move grub_script_lexer_ref before
31960 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
31961 argument. All callers updated
31962
319632009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31964
31965 Prevent GRUB from probing floppies during boot.
31966
31967 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31968 * commands/search.c (options): Add --no-floppy.
31969 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31970 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31971 --no-floppy when searching for UUIDs.
31972
319732009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31974
31975 Simplify the code duplication in commands/search.c.
31976
31977 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31978 (search_fs): ... this. Update all users.
31979
319802009-06-03 Felix Zielcke <fzielcke@z-51.de>
31981
31982 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31983
319842009-05-28 Pavel Roskin <proski@gnu.org>
31985
31986 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31987 Remove the original symlink explicitly.
31988
31989 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31990 just one slash. That's how grub_fshelp_find_file() does it.
31991
319922009-05-26 Pavel Roskin <proski@gnu.org>
31993
31994 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31995 to `str'.
31996
31997 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31998 possibly unused.
31999
320002009-05-25 Christian Franke <franke@computer.org>
32001
32002 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32003 register.
32004 (grub_atapi_identify): Add wait after drive select.
32005 (grub_ata_identify): Do more strict status register check before
32006 calling grub_atapi_identify (). Suppress error message if status
32007 register is 0x00 after command failure. Add status register
32008 check after PIO read to avoid bogus identify due to stuck DRQ.
32009 Thanks to Pavel Roskin for testing.
32010 (grub_device_initialize): Remove unsafe status register check.
32011 Thanks to 'phcoder' for problem report and patch.
32012 Prevent sign extension in debug message.
32013
320142009-05-23 Colin D Bennett <colin@gibibit.com>
32015
32016 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32017 definition file, and functions defined in `normal/menu.c' have had
32018 their prototypes moved to `include/grub/menu.h' for consistency.
32019
32020 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32021 from normal.h.
32022 (grub_menu_get_entry): Likewise.
32023 (grub_menu_get_timeout): Likewise.
32024 (grub_menu_set_timeout): Likewise.
32025 (grub_menu_execute_entry): Likewise.
32026 (grub_menu_execute_with_fallback): Likewise.
32027 (grub_menu_entry_run): Likewise.
32028
32029 * include/grub/normal.h: Re-ordered and grouped function
32030 prototypes by file that the function is defined in.
32031 (grub_menu_execute_callback): Removed; moved to menu.h.
32032 (grub_menu_get_entry): Likewise.
32033 (grub_menu_get_timeout): Likewise.
32034 (grub_menu_set_timeout): Likewise.
32035 (grub_menu_execute_entry): Likewise.
32036 (grub_menu_execute_with_fallback): Likewise.
32037 (grub_menu_entry_run): Likewise.
32038 (grub_menu_addentry): Renamed from this ...
32039 (grub_normal_add_menu_entry): ... to this.
32040
32041 * normal/main.c (grub_menu_addentry): Renamed from this ...
32042 (grub_normal_add_menu_entry): ... to this.
32043
32044 * script/sh/execute.c (grub_script_execute_menuentry): Update
32045 reference to renamed grub_menu_addentry function.
32046
320472009-05-23 Felix Zielcke <fzielcke@z-51.de>
32048
32049 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32050
320512009-05-22 Pavel Roskin <proski@gnu.org>
32052
32053 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32054 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32055 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32056 compiling for the i386 targets, but not for the utilities.
32057
32058 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32059 to grub_uint8_t.
32060 (grub_root_drive): Likewise.
32061 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32062 remove alignment.
32063 (grub_root_drive): Change size to byte.
32064 (grub_start_addr): Remove.
32065 (grub_end_addr): Likewise.
32066 (grub_apm_bios_info): Likewise.
32067
320682009-05-21 Felix Zielcke <fzielcke@z-51.de>
32069
32070 * normal/i386: Remove.
32071 * normal/powerpc: Likewise.
32072 * normal/sparc64: Likewise.
32073 * normal/x86_64: Likewise.
32074
320752009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32076
32077 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
32078 * loader/i386/linux_trampoline.S: Fix indentation
32079 * loader/i386/xnu_helper.S: Likewise
32080
320812009-05-18 Colin D Bennett <colin@gibibit.com>
32082
32083 Display error messages when parsing a Lua statement fails.
32084 Previously, executing a syntactically invalid statement like
32085 ")foo" or "bar;" would silently fail.
32086
32087 * script/lua/grub_main.c (handle_lua_error): New function.
32088 (grub_lua_parse_line): Improved reporting of Lua parser and
32089 execution errors.
32090
320912009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32092
32093 Remove -Werror which causes build to fail on some systems
32094
32095 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32096 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32097 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
32098
320992009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32100
32101 trampoline for linux on 64-bit platform
32102
32103 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32104 loader/i386/efi/linux_trampoline.S
32105 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
32106 declaration
32107 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32108 here
32109 * loader/i386/linux_trampoline.S: moved here
32110 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32111 trampoline
32112 (jumpvector): removed
32113 (grub_linux_trampoline_start): new declaration
32114 (grub_linux_trampoline_end): likewise
32115 (grub_linux_boot): use trampoline when on 64-bit platform
32116 * loader/i386/linux.c: likewise
32117
321182009-05-16 Pavel Roskin <proski@gnu.org>
32119
32120 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32121 const to avoid a warning.
32122 (grub_lua_setenv): Likewise.
32123 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32124 lmsg to fix a warning.
32125
321262009-05-16 Felix Zielcke <fzielcke@z-51.de>
32127
32128 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
32129 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32130 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32131 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32132 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32133 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32134 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32135 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32136
321372009-05-16 Felix Zielcke <fzielcke@z-51.de>
32138
32139 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32140
321412009-05-16 Bean <bean123ch@gmail.com>
32142
32143 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32144 (lua_mod_SOURCES): New variable.
32145 (lua_mod_CFLAGS): Likewise.
32146 (lua_mod_LDFLAGS): Likewise.
32147
32148 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32149 (setjmp_mod_SOURCES): New variable.
32150 (setjmp_mod_CFLAGS): Likewise.
32151 (setjmp_LDFLAGS): Likewise.
32152
32153 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
32154 (setjmp_mod_SOURCES): New variable.
32155 (setjmp_mod_CFLAGS): Likewise.
32156 (setjmp_LDFLAGS): Likewise.
32157
32158 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32159 (setjmp_mod_SOURCES): New variable.
32160 (setjmp_mod_CFLAGS): Likewise.
32161 (setjmp_LDFLAGS): Likewise.
32162
32163 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32164 (setjmp_mod_SOURCES): New variable.
32165 (setjmp_mod_CFLAGS): Likewise.
32166 (setjmp_LDFLAGS): Likewise.
32167
32168 * normal/i386/setjmp.S: Moved from here ...
32169 * lib/i386/setjmp.S: ... Moved here
32170 * normal/x86_64/setjmp.S: Moved from here ...
32171 * lib/x86_64/setjmp.S: ... Moved here
32172 * normal/powerpc/setjmp.S: Moved from here ...
32173 * lib/powerpc/setjmp.S: ... Moved here
32174 * normal/sparc64/setjmp.S: Moved from here ...
32175 * lib/sparc64/setjmp.S: ... Moved here
32176
32177 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32178 returns_twice in mingw.
32179
32180 * script/lua/grub_lib.c: New file.
32181 * script/lua/grub_lib.h: Likewise.
32182 * script/lua/grub_lua.h: Likewise.
32183 * script/lua/grub_main.c: Likewise.
32184 * script/lua/lapi.c: Likewise.
32185 * script/lua/lapi.h: Likewise.
32186 * script/lua/lauxlib.c: Likewise.
32187 * script/lua/lauxlib.h: Likewise.
32188 * script/lua/lbaselib.c: Likewise.
32189 * script/lua/lcode.c: Likewise.
32190 * script/lua/lcode.h: Likewise.
32191 * script/lua/ldblib.c: Likewise.
32192 * script/lua/ldebug.c: Likewise.
32193 * script/lua/ldebug.h: Likewise.
32194 * script/lua/ldo.c: Likewise.
32195 * script/lua/ldo.h: Likewise.
32196 * script/lua/ldump.c: Likewise.
32197 * script/lua/lfunc.c: Likewise.
32198 * script/lua/lfunc.h: Likewise.
32199 * script/lua/lgc.c: Likewise.
32200 * script/lua/lgc.h: Likewise.
32201 * script/lua/linit.c: Likewise.
32202 * script/lua/liolib.c: Likewise.
32203 * script/lua/llex.c: Likewise.
32204 * script/lua/llex.h: Likewise.
32205 * script/lua/llimits.h: Likewise.
32206 * script/lua/lmathlib.c: Likewise.
32207 * script/lua/lmem.c: Likewise.
32208 * script/lua/lmem.h: Likewise.
32209 * script/lua/loadlib.c: Likewise.
32210 * script/lua/lobject.c: Likewise.
32211 * script/lua/lobject.h: Likewise.
32212 * script/lua/lopcodes.c: Likewise.
32213 * script/lua/lopcodes.h: Likewise.
32214 * script/lua/loslib.c: Likewise.
32215 * script/lua/lparser.c: Likewise.
32216 * script/lua/lparser.h: Likewise.
32217 * script/lua/lstate.c: Likewise.
32218 * script/lua/lstate.h: Likewise.
32219 * script/lua/lstring.c: Likewise.
32220 * script/lua/lstring.h: Likewise.
32221 * script/lua/lstrlib.c: Likewise.
32222 * script/lua/ltable.c: Likewise.
32223 * script/lua/ltable.h: Likewise.
32224 * script/lua/ltablib.c: Likewise.
32225 * script/lua/ltm.c: Likewise.
32226 * script/lua/ltm.h: Likewise.
32227 * script/lua/lua.h: Likewise.
32228 * script/lua/luaconf.h: Likewise.
32229 * script/lua/lualib.h: Likewise.
32230 * script/lua/lundump.c: Likewise.
32231 * script/lua/lundump.h: Likewise.
32232 * script/lua/lvm.c: Likewise.
32233 * script/lua/lvm.h: Likewise.
32234 * script/lua/lzio.c: Likewise.
32235 * script/lua/lzio.h: Likewise.
32236
322372009-05-16 Bean <bean123ch@gmail.com>
32238
32239 * include/grub/kernel.h (grub_module_header_types): Add type
32240 OBJ_TYPE_CONFIG.
32241
32242 * kern/main.c (grub_load_config): New function.
32243 (grub_main): Call grub_load_config to read boot config.
32244
32245 * grub-mkimage (generate_image): New parameter config_path.
32246 (options): New option --config.
32247 (main): Parse --config option, and pass it to generate_image.
32248
322492009-05-14 Christian Franke <franke@computer.org>
32250
32251 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
32252 This fixes build on Cygwin.
32253
322542009-05-14 Pavel Roskin <proski@gnu.org>
32255
32256 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
32257 jump. This saves two bytes, so the typical case of 2 swapped
32258 drives would fit 32 bytes.
32259
322602009-05-13 Pavel Roskin <proski@gnu.org>
32261
32262 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
32263 grub_uint32_t to avoid a warning.
32264
32265 * loader/i386/linux.c (allocate_pages): When assigning
32266 real_mode_mem, cast through grub_size_t to fix a warning. The
32267 code already makes sure that the value would fit a pointer.
32268 (grub_linux_setup_video): Cast render_target->data to
32269 grub_size_t to fix a warning.
32270
322712009-05-13 Javier Martín <lordhabbit@gmail.com>
32272
32273 * commands/i386/pc/drivemap.c: New file - implement drivemap
32274 command.
32275 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
32276 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
32277
322782009-05-13 Pavel Roskin <proski@gnu.org>
32279
32280 * util/i386/pc/grub-setup.c (setup): Remove unused variable
32281 embedding_area_exists.
32282
322832009-05-13 Robert Millan <rmh.grub@aybabtu.com>
32284
32285 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
32286 it easier to understand / work with.
32287 Improve warning messages for cases where there's no embedding area,
32288 or when it is too small (or core.img too large).
32289
322902009-05-13 Pavel Roskin <proski@gnu.org>
32291
32292 * loader/i386/pc/multiboot2.c: Add necessary includes for
32293 grub_multiboot2_real_boot().
32294
32295 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
32296 PX record is always little-endian. We only need the lower 2
32297 bytes of the mode.
32298
32299 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
32300 facilitate code reuse.
32301 (grub_cpio_mount): Use "struct head", not a char buffer. This
32302 fixes a warning reported by gcc 4.4.
32303
32304 * kernel/disk.c (grub_disk_read): Use void pointer for the
32305 buffer.
32306 (grub_disk_write): Use const void pointer for the buffer.
32307 Adjust all callers. Remove unnecessary casts.
32308
323092009-05-10 Robert Millan <rmh.grub@aybabtu.com>
32310
32311 * util/i386/pc/grub-install.in: Update copyright year.
32312
323132009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32314
32315 gptsync
32316
32317 * commands/gptsync.c: new file
32318 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
32319 (gptsync_mod_SOURCES): new variable
32320 (gptsync_mod_CFLAGS): likewise
32321 (gptsync_mod_LDFLAGS): likewise
32322 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
32323 new definition
32324 (GRUB_PC_PARTITION_TYPE_HFS): likewise
32325 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
32326 * conf/i386-ieee1275.rmk: likewise
32327 * conf/i386-pc.rmk: likewise
32328 * conf/powerpc-ieee1275.rmk: likewise
32329
323302009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32331
32332 Fixed grub-emu
32333
32334 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
32335 (grub_dl_ref): likewise
32336
323372009-05-08 Robert Millan <rmh.grub@aybabtu.com>
32338
32339 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
32340 split in two functions (one for msdos and one for gpt).
32341
323422009-05-08 Pavel Roskin <proski@gnu.org>
32343
32344 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32345 not modified.
32346
32347 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32348 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32349 Initialize them with -1. Add sanity check for bad1. Eliminate
32350 nerr variable.
32351
323522009-05-08 David S. Miller <davem@davemloft.net>
32353
32354 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32355
323562009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32357
32358 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
32359 existence.
32360
323612009-05-05 Felix Zielcke <fzielcke@z-51.de>
32362
32363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32364 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
32365
323662009-05-05 David S. Miller <davem@davemloft.net>
32367
32368 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32369
323702009-05-05 Pavel Roskin <proski@gnu.org>
32371
32372 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32373 of grub_dl_ref() and grub_dl_unref().
32374 * commands/parttool.c: Remove preprocessor conditionals around
32375 grub_dl_ref() and grub_dl_unref().
32376 * fs/affs.c: Likewise.
32377 * fs/afs.c: Likewise.
32378 * fs/cpio.c: Likewise.
32379 * fs/ext2.c: Likewise.
32380 * fs/fat.c: Likewise.
32381 * fs/hfs.c: Likewise.
32382 * fs/hfsplus.c: Likewise.
32383 * fs/iso9660.c: Likewise.
32384 * fs/jfs.c: Likewise.
32385 * fs/minix.c: Likewise.
32386 * fs/ntfs.c: Likewise.
32387 * fs/reiserfs.c: Likewise.
32388 * fs/sfs.c: Likewise.
32389 * fs/udf.c: Likewise.
32390 * fs/ufs.c: Likewise.
32391 * fs/xfs.c: Likewise.
32392 * include/grub/dl.h: Likewise.
32393 * loader/xnu.c: Likewise.
32394
323952009-05-04 Pavel Roskin <proski@gnu.org>
32396
32397 * commands/acpi.c: Remove unused variable my_mod.
32398 * partmap/amiga.c: Likewise.
32399 * partmap/apple.c: Likewise.
32400 * partmap/gpt.c: Likewise.
32401 * partmap/pc.c: Likewise.
32402 * partmap/sun.c: Likewise.
32403 * term/gfxterm.c: Likewise.
32404 * term/i386/pc/vesafb.c: Likewise.
32405 * term/i386/pc/vga.c: Likewise.
32406
324072009-05-04 David S. Miller <davem@davemloft.net>
32408
32409 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32410 pointer args to grub_ieee1275_get_property().
32411
32412 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32413
32414 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32415 devices, and do not traverse down under controller nodes.
32416
32417 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32418 (grub_ofdisk_open): Use it to un-escape "," characters.
32419 * kern/disk.c (find_part_sep): New.
32420 (grub_disk_open): Use it to find the first non-escaped ','
32421 character in the disk name.
32422 * util/ieee1275/devicemap.c (escape_of_path): New.
32423 (grub_util_emit_devicemap_entry): Use it.
32424 * util/sparc64/ieee1275/grub-install.in: Update script to
32425 strip partition specifiers properly by not triggering on
32426 '\' escaped ',' characters.
32427
324282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32429
32430 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32431 to 0x300.
32432 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32433 resolutions.
32434 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32435 on documentation from Wikipedia).
32436
324372009-05-04 Pavel Roskin <proski@gnu.org>
32438
32439 * disk/ata.c: Spelling fixes.
32440 * disk/raid.c: Likewise.
32441 * disk/usbms.c: Likewise.
32442 * disk/dmraid_nvidia.c: Likewise.
32443 * kern/ieee1275/openfw.c: Likewise.
32444 * kern/ieee1275/init.c: Likewise.
32445 * kern/ieee1275/cmain.c: Likewise.
32446 * boot/i386/pc/cdboot.S: Likewise.
32447 * video/readers/png.c: Likewise.
32448 * video/i386/pc/vbe.c: Likewise.
32449 * fs/udf.c: Likewise.
32450 * fs/hfs.c: Likewise.
32451 * fs/reiserfs.c: Likewise.
32452 * efiemu/runtime/efiemu.c: Likewise.
32453 * efiemu/main.c: Likewise.
32454 * efiemu/mm.c: Likewise.
32455 * include/grub/elf.h: Likewise.
32456 * include/grub/xnu.h: Likewise.
32457 * include/grub/usbdesc.h: Likewise.
32458 * include/grub/usb.h: Likewise.
32459 * include/grub/script_sh.h: Likewise.
32460 * include/grub/lib/LzmaEnc.h: Likewise.
32461 * include/grub/efiemu/efiemu.h: Likewise.
32462 * include/grub/command.h: Likewise.
32463 * normal/menu.c: Likewise.
32464 * normal/main.c: Likewise.
32465 * normal/datetime.c: Likewise.
32466 * bus/usb/uhci.c: Likewise.
32467 * mmap/i386/uppermem.c: Likewise.
32468 * mmap/mmap.c: Likewise.
32469 * commands/acpi.c: Likewise.
32470 * commands/test.c: Likewise.
32471 * partmap/apple.c: Likewise.
32472 * font/font.c: Likewise.
32473 * loader/sparc64/ieee1275/linux.c: Likewise.
32474 * loader/macho.c: Likewise.
32475 * loader/i386/bsd_trampoline.S: Likewise.
32476 * loader/i386/bsd.c: Likewise.
32477 * loader/xnu.c: Likewise.
32478 * term/i386/pc/vesafb.c: Likewise.
32479 * term/usb_keyboard.c: Likewise.
32480 * util/resolve.c: Likewise.
32481 * util/getroot.c: Likewise.
32482
324832009-05-04 Felix Zielcke <fzielcke@z-51.de>
32484
32485 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32486
324872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32488
32489 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32490 build error.
32491
324922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32493
32494 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32495 parameter only available on BIOS.
32496
324972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32498
32499 Removed wrong semicolon in declaration
32500
32501 * grub/misc.h (grub_dprintf): remove semicolon
32502
325032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32504
32505 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32506 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32507 is done by grub_cmd_linux() now).
32508 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32509 restore video to text mode.
32510 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32511 indicates lack of "vga=" parameter. "vga=0" is mapped to
32512 `GRUB_LINUX_VID_MODE_NORMAL'.
32513
325142009-05-04 Felix Zielcke <fzielcke@z-51.de>
32515
32516 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32517 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32518 and `normal/script.c'. Add `kern/rescue_reader.c',
32519 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
32520 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
32521 `grub_script.tab.c'.
32522
32523 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32528
32529 * Makefile.in: Remove duplicated 2008 in Copyright line.
32530
325312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32532
32533 * util/misc.c (grub_util_warn): New function. Emits a warning
32534 unconditionally.
32535 * include/grub/util/misc.h (grub_util_warn): New declaration.
32536
32537 * util/i386/pc/grub-install.in: Understand --force and pass it down
32538 to grub-setup.
32539
32540 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
32541 down to setup().
32542 (setup): Improve error messages and add warnings when requested to
32543 install in odd layouts. Refuse to install using blocklists unless
32544 --force was set.
32545
325462009-05-04 martin f. krafft <madduck@madduck.net>
32547
32548 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32549
325502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32551
32552 Updated copyright year
32553
32554 * fs/hfsplus.c: updated copyright year
32555
325562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32557
32558 HFS+ UUID
32559
32560 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
32561 in the space previously used by unused3
32562 (grub_hfsplus_uuid): new function
32563 (grub_hfsplus_fs): added uuid field
32564
325652009-05-03 Pavel Roskin <proski@gnu.org>
32566
32567 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
32568 suppress warnings. It's no longer needed.
32569 * disk/host.c: Likewise.
32570 * disk/ata_pthru.c: Likewise.
32571 * disk/loopback.c: Likewise.
32572 * hook/datehook.c: Likewise.
32573 * parttool/pcpart.c: Likewise.
32574 * fs/i386/pc/pxe.c: Likewise.
32575 * fs/ntfscomp.c: Likewise.
32576 * efiemu/main.c: Likewise.
32577 * mmap/mmap.c: Likewise.
32578 * commands/crc.c: Likewise.
32579 * commands/hexdump.c: Likewise.
32580 * commands/hdparm.c: Likewise.
32581 * commands/acpi.c: Likewise.
32582 * commands/echo.c: Likewise.
32583 * commands/minicmd.c: Likewise.
32584 * commands/blocklist.c: Likewise.
32585 * commands/memrw.c: Likewise.
32586 * commands/loadenv.c: Likewise.
32587 * commands/usbtest.c: Likewise.
32588 * commands/lsmmap.c: Likewise.
32589 * commands/boot.c: Likewise.
32590 * commands/parttool.c: Likewise.
32591 * commands/configfile.c: Likewise.
32592 * commands/search.c: Likewise.
32593 * commands/ieee1275/suspend.c: Likewise.
32594 * commands/cat.c: Likewise.
32595 * commands/i386/pc/pxecmd.c: Likewise.
32596 * commands/i386/pc/play.c: Likewise.
32597 * commands/i386/pc/halt.c: Likewise.
32598 * commands/i386/pc/vbeinfo.c: Likewise.
32599 * commands/i386/pc/vbetest.c: Likewise.
32600 * commands/lspci.c: Likewise.
32601 * commands/date.c: Likewise.
32602 * commands/handler.c: Likewise.
32603 * commands/ls.c: Likewise.
32604 * commands/test.c: Likewise.
32605 * commands/cmp.c: Likewise.
32606 * commands/efi/loadbios.c: Likewise.
32607 * commands/efi/fixvideo.c: Likewise.
32608 * commands/halt.c: Likewise.
32609 * commands/help.c: Likewise.
32610 * commands/reboot.c: Likewise.
32611 * hello/hello.c: Likewise.
32612 * script/sh/main.c: Likewise.
32613 * loader/xnu.c: Likewise.
32614 * term/terminfo.c: Likewise.
32615 * term/i386/pc/serial.c: Likewise.
32616 * term/usb_keyboard.c: Likewise.
32617
326182009-05-03 David S. Miller <davem@davemloft.net>
32619
32620 * normal/menu.c: Include grub/parser.h
32621
326222009-05-03 Pavel Roskin <proski@gnu.org>
32623
32624 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
32625 not char*.
32626 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
32627 Suggested by Javier Martín <lordhabbit@gmail.com>
32628
32629 * util/i386/pc/grub-mkrescue.in: Allow for the case when
32630 efiemu??.o doesn't exist.
32631 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
32632 copying.
32633
326342009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
32635
32636 FreeBSD 64-bit support
32637
32638 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
32639 and loader/i386/bsd_trampoline.S
32640 (bsd_mod_ASFLAGS): new variable
32641 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
32642 (FREEBSD_MODTYPE_KERNEL64): likewise
32643 (grub_bsd64_trampoline_start): likewise
32644 (grub_bsd64_trampoline_end): likewise
32645 (grub_bsd64_trampoline_selfjump): likewise
32646 (grub_bsd64_trampoline_gdt): likewise
32647 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
32648 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
32649 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
32650 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
32651 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
32652 of "attrib" member
32653 * loader/i386/bsd_pagetable.c: new file
32654 * loader/i386/bsd_trampoline.S: likewise
32655 * loader/i386/bsd.c (ALIGN_QWORD): new macro
32656 (ALIGN_VAR): likewise
32657 (entry_hi): new variable
32658 (kern_end_mdofs): likewise
32659 (is_64bit): likewise
32660 (grub_freebsd_add_meta): use ALIGN_VAR
32661 (grub_e820_mmap): new declaration
32662 (grub_freebsd_add_mmap): new function
32663 (grub_freebsd_add_meta_module): support 64 bit kernels
32664 (grub_freebsd_list_modules): use ALIGN_VAR
32665 (gdt_descriptor): new declaration
32666 (grub_freebsd_boot): support 64 bit kernels
32667 (grub_bsd_elf64_hook): new function
32668 (grub_bsd_load_elf): support elf64
32669
326702009-05-03 Bean <bean123ch@gmail.com>
32671
32672 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
32673 after we get the result of if statement.
32674
326752009-05-03 Bean <bean123ch@gmail.com>
32676
32677 * Makefile.in (enable_efiemu): New variable.
32678
32679 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
32680 set.
32681 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
32682 path.
32683 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
32684 path, add -mno-red-zone option.
32685 (efiemu64_s.o): Likewise.
32686 (efiemu64.o): Use macro $^ for source file.
32687
32688 * configure.ac (--enable-efiemu): New option.
32689
326902009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
32691
32692 xnu support
32693
32694 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
32695 (pkglib_MODULES): add xnu.mod
32696 (xnu_mod_SOURCES): new variable
32697 (xnu_mod_CFLAGS): likewise
32698 (xnu_mod_LDFLAGS): likewise
32699 (xnu_mod_ASFLAGS): likewise
32700 * conf/i386-pc.rmk: likewise
32701 * conf/x86_64-efi.rmk: likewise
32702 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
32703 new declaration
32704 * include/grub/i386/macho.h: new file
32705 * include/grub/i386/xnu.h: likewise
32706 * include/grub/macho.h: likewise
32707 * include/grub/machoload.h: likewise
32708 * include/grub/x86_64/macho.h: likewise
32709 * include/grub/x86_64/xnu.h: likewise
32710 * include/grub/xnu.h: likewise
32711 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
32712 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
32713 * loader/i386/efi/xnu.c: new file
32714 * loader/i386/pc/xnu.c: likewise
32715 * loader/i386/xnu.c: likewise
32716 * loader/i386/xnu_helper.S: likewise
32717 * loader/macho.c: likewise
32718 * loader/xnu.c: likewise
32719 * loader/xnu_resume.c: likewise
32720 * util/grub-dumpdevtree: likewise
32721 * include/grub/i386/pit.h: include grub/err.h
32722 (grub_pit_wait): export
32723 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
32724
327252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32726
32727 Efiemu
32728
32729 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
32730 _linux_efi, linux_efi.
32731 new files in grub-emu
32732 new targets efiemu32.o and efiemu64.o
32733 * loader/linux_normal_efiemu.c: likewise
32734 * loader/i386/efi/linux.c: added preliminary efiemu support
32735 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
32736 files to copy
32737 * include/grub/autoefi.h: new file
32738 * include/grub/i386/efiemu.h: likewise
32739 * include/grub/i386/pc/efiemu.h: likewise
32740 * include/grub/efi/api.h: add LL suffix when necessary
32741 new definitions relating to tables
32742 * include/grub/efiemu/efiemu.h: new file
32743 * include/grub/efiemu/runtime.h: likewise
32744 * efiemu/prepare.c: likewise
32745 * efiemu/loadcore_common.c: likewise
32746 * efiemu/loadcore64.c: likewise
32747 * efiemu/runtime/efiemu.sh: likewise
32748 * efiemu/runtime/efiemu.S: likewise
32749 * efiemu/runtime/efiemu.c: likewise
32750 * efiemu/runtime/config.h: likewise
32751 * efiemu/prepare32.c: likewise
32752 * efiemu/main.c: likewise
32753 * efiemu/modules/pnvram.c: likewise
32754 * efiemu/modules/i386: likewise
32755 * efiemu/modules/i386/pc: likewise
32756 * efiemu/modules/acpi.c: likewise
32757 * efiemu/i386/pc/cfgtables.c: likewise
32758 * efiemu/i386/loadcore64.c: likewise
32759 * efiemu/i386/loadcore32.c: likewise
32760 * efiemu/prepare64.c: likewise
32761 * efiemu/loadcore.c: likewise
32762 * efiemu/symbols.c: likewise
32763 * efiemu/mm.c: likewise
32764 * efiemu/loadcore32.c: likewise
32765
327662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32767
32768 ACPI spoofing
32769
32770 * commands/acpi.c: new file
32771 * commands/i386/pc/acpi.c: likewise
32772 * commands/efi/acpi.c: likewise
32773 * include/grub/acpi.h: likewise
32774 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
32775 (acpi_mod_SOURCES): new variable
32776 (acpi_mod_CFLAGS): likewise
32777 (acpi_mod_LDFLAGS): likewise
32778 * conf/i386-efi.rmk: likewise
32779 * conf/x86_64-efi.rmk: likewise
32780
327812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32782
32783 Missing part from mmap patch
32784
32785 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
32786 (grub_mmap_unregister)
32787 (grub_mmap_free_and_unregister): use grub_mmap_register
32788
327892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32790
32791 Mmap services
32792
32793 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
32794 * loader/i386/linux.c (find_mmap_size): likewise
32795 (allocate_pages): likewise
32796 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
32797 (grub_fill_multiboot_mmap): likewise
32798 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
32799 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
32800 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
32801 (OPENBSD_MMAP_RESERVED): likewise
32802 * include/grub/i386/pc/memory.h: include grub/memory.h
32803 (grub_lower_mem): removed
32804 (grub_upper_mem): likewise
32805 (GRUB_MACHINE_MEMORY_ACPI): new definition
32806 (GRUB_MACHINE_MEMORY_NVS): likewise
32807 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
32808 (GRUB_MACHINE_MEMORY_HOLE): likewise
32809 (grub_machine_mmap_register): likewise
32810 (grub_machine_mmap_unregister): likewise
32811 (grub_machine_get_upper): likewise
32812 (grub_machine_get_lower): likewise
32813 (grub_machine_get_post64): likewise
32814 * include/grub/i386/efi/memory.h: new file
32815 * include/grub/x86_64/efi/memory.h: likewise
32816 * include/grub/efi/memory.h: likewise
32817 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
32818 (mmap_mod_SOURCES): new variable
32819 (mmap_mod_LDFLAGS): likewise
32820 (mmap_mod_ASFLAGS): likewise
32821 * conf/i386-coreboot.rmk: likewise
32822 * conf/i386-ieee1275.rmk: likewise
32823 * conf/i386-efi.rmk: likewise
32824 * conf/x86_64-efi.rmk: likewise
32825 * include/grub/types.h (UINT_TO_PTR): new macro
32826 (PTR_TO_UINT32): likewise
32827 (PTR_TO_UINT64): likewise
32828 * include/grub/memory.h: new file
32829 * mmap/i386/pc/mmap.c: likewise
32830 * mmap/i386/pc/mmap_helper.S: likewise
32831 * mmap/i386/uppermem.c: likewise
32832 * mmap/mmap.c: likewise
32833 * mmap/efi/mmap.c: likewise
32834 * kern/i386/coreboot/init.c (grub_machine_init): don't use
32835 grub_upper_mem
32836 * kern/i386/pc/init.c (grub_lower_mem): removed variable
32837 (grub_upper_mem): likewise
32838 (grub_machine_init): don't use grub_upper_mem,
32839 make grub_lower_mem local
32840 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
32841 grub_mmap_iterate and grub_mmap_get_upper
32842 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
32843
328442009-05-02 Bean <bean123ch@gmail.com>
32845
32846 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
32847 script/sh/parser.y.
32848 (pkglib_MODULES): Add normal.mod and sh.mod.
32849 (normal_SOURCES): New variable.
32850 (normal_mod_CFLAGS): Likewise.
32851 (normal_mod_LDFLAGS): Likewise.
32852 (sh_mod_SOURCES): Likewise.
32853 (sh_mod_CFLAGS): Likewise.
32854 (sh_mod_LDFLAGS): Likewise.
32855
32856 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
32857 script/sh/lexer.c_DEPENDENCIES.
32858 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
32859 kern/rescue_reader.c and kern/rescue_parser.c.
32860 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
32861 (grub_emu_SOURCES): Change source files.
32862 (pkglib_MODULES): Remove normal.mod.
32863 (normal_SOURCES): Removed.
32864 (normal_mod_CFLAGS): Likewise.
32865 (normal_mod_LDFLAGS): Likewise.
32866 * conf/i386-coreboot.rmk: Likewise.
32867 * conf/i386-efi.rmk: Likewise.
32868 * conf/i386-ieee1276.rmk: Likewise.
32869 * conf/powerpc-ieee1275.rmk: Likewise.
32870 * conf/sparc64-ieee1275.rmk: Likewise.
32871 * conf/x86_64-efi.rmk: Likewise.
32872
32873 * include/grub/command.h (grub_command_execute): New inline function.
32874
32875 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32876
32877 * include/grub/normal.h: Remove <grub/setjmp.h>.
32878 (grub_fs_module_list): Moved to normal/autofs.c.
32879 (grub_exit_env): Removed.
32880 (grub_command_execute): Likewise.
32881 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32882 parameter script.
32883 (read_command_list): New function declaration.
32884 (read_fs_list): Likewise.
32885
32886 * include/parser.h: Include <grub/reader.h>.
32887 (grub_parser_split_cmdline): Change type of getline parameter.
32888 (grub_parser): New structure.
32889 (grub_parser_class): New variable.
32890 (grub_parser_execute): New function declaration.
32891 (grub_register_rescue_parser): Likewise.
32892 (grub_parser_register): New inline function.
32893 (grub_parser_unregister): Likewise.
32894 (grub_parser_get_current): Likewise.
32895 (grub_parser_set_current): Likewise.
32896
32897 * include/grub/reader.h: New file.
32898 * kern/reader.c: Likewise.
32899 * kern/rescue_parser.c: Likewise.
32900 * kern/rescue_reader.c: Likewise.
32901 * normal/autofs.c: Likewise.
32902 * normal/dyncmd.c: Likewise.
32903
32904 * include/grub/rescue.h: Removed.
32905 * normal/command.h: Likewise.
32906
32907 * include/grub/script.h: Moved to ...
32908 * include/grub/script_sh.h: ... Moved here.
32909 * normal/execute.c: Moved to ...
32910 * script/sh/execute.c: ... Moved here.
32911 * normal/function.c: Moved to ...
32912 * script/sh/function.c: ... Moved here.
32913 * normal/lexer.c: Moved to ...
32914 * script/sh/lexer.c: ... Moved here.
32915 * normal/parser.y: Moved to ...
32916 * script/sh/parser.y: ... Moved here.
32917 * normal/script.c: Moved to ...
32918 * script/sh/script.c: ... Moved here.
32919
32920 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32921 <grub/reader.h>.
32922 (grub_exit_env): Removed.
32923 (fs_module_list): Moved to normal/autofs.c.
32924 (grub_file_getline): Don't handle comment here.
32925 (free_menu): Skip removed field entry->commands.
32926 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32927 script parameter.
32928 (read_config_file): Removed nested parameter, change getline function.
32929 (grub_enter_normal_mode): Removed.
32930 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32931 (read_command_list): Likewise.
32932 (autoload_fs_module): Moved to normal/autofs.c.
32933 (read_fs_list): Likewise.
32934 (reader_nested): New variable.
32935 (grub_normal_execute): Run parser.sh to switch to sh parser.
32936 (grub_cmd_rescue): Removed.
32937 (cmd_normal): Removed.
32938 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32939 rescue command.
32940 (grub_cmdline_run): New function.
32941 (grub_normal_reader_init): Likewise.
32942 (grub_normal_read_line): Likewise.
32943 (grub_env_write_pager): Likewise.
32944 (cmdline): New variable.
32945 (grub_normal_reader): Likewise.
32946 (GRUB_MOD_INIT): Register normal reader and set as current, register
32947 pager hook, register normal command with grub_register_command_prio,
32948 so that it won't show up in command.lst.
32949 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32950 grub_fs_autoload_hook.
32951
32952 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32953 (grub_menu_execute_entry): Replace grub_script_execute with
32954 grub_parser_execute, change parameter to grub_command_execute.
32955
32956 * normal/menu_text.c: Remove <grub/script.h>.
32957
32958 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32959 and <grub/parser.h>.
32960 (run): Change editor_getline to use new parser interface. Change
32961 parameter to grub_command_execute.
32962
32963 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32964 <grub/reader.h> and <grub/parser.h>.
32965 (grub_load_normal_mode): Execute normal command.
32966 (grub_main): Call grub_register_core_commands,
32967 grub_register_rescue_parser and grub_register_rescue_reader, use
32968 grub_reader_loop to enter input loop.
32969
32970 * kern/parser.c (grub_parser_split_cmdline): Change type of
32971 getline parameter.
32972 (grub_parser_class): New variable.
32973 (grub_parser_execute): New function.
32974
32975 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32976 * loader/multiboot2.c: Likewise.
32977 * loader/sparc64/ieee1275/linux.c: Likewise.
32978
32979 * util/grub-emu.c (read_command_list): New dummy function.
32980
329812009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32984 count to 16 for CCISS and IDA.
32985
329862009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 * normal/menu_text.c (grub_wait_after_message): Print a newline
32989 after waiting for user input.
32990
32991 * loader/i386/linux.c: Include `<grub/normal.h>'.
32992 (grub_cmd_linux): Improve the error message about `ask' mode, by
32993 waiting for user input so it's not missed (we can do this, since
32994 user requested interaction).
32995
329962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32997
32998 Added missing lst to grub-mkrescue
32999
33000 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33001 and ${input_dir}/parttool.lst
33002
330032009-04-30 David S. Miller <davem@davemloft.net>
33004
33005 * util/hostdisk.c (device_is_wholedisk): New function.
33006 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33007 zero only if device_is_wholedisk() returns true.
33008
33009 * util/hostdisk.c (convert_system_partition_to_system_disk):
33010 Handle virtual disk devices named /dev/vdiskX as found on sparc
33011 and powerpc.
33012
33013 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33014 lettered partition specifier is found, convert to numbered.
33015
330162009-04-29 David S. Miller <davem@davemloft.net>
33017
33018 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33019 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33020
33021 * normal/command.c: Add missing newline at end of file.
33022
33023 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33024 warnings.
33025 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33026 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33027 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33028 ihandles have a 32-bit type but need to be stored in a "void *".
33029
330302009-04-28 Pavel Roskin <proski@gnu.org>
33031
33032 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33033 not disk. Adjust all dependencies.
33034 (grub_fs_uuid_close): Use grub_device_close(), not
33035 grub_disk_close().
33036
33037 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33038 parent's partition, don't copy it by reference, as it gets freed
33039 on close.
33040
330412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33042
33043 Preboot hooks support
33044
33045 * commands/boot.c (struct grub_preboot_t): new declaration
33046 (preboots_head): new variable
33047 (preboots_tail): likewise
33048 (grub_loader_register_preboot_hook): new function
33049 (grub_loader_unregister_preboot_hook): likewise
33050 (grub_loader_set): launch preboot hooks
33051 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33052 (grub_loader_register_preboot_hook): new declaration
33053 (grub_loader_unregister_preboot_hook): likewise
33054
330552009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33056
33057 Warning fix
33058
33059 * disk/scsi.c (grub_scsi_open): added missing cast when
33060 calling grub_dprintf
33061
330622009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33063
33064 Bug and warning fixes
33065
33066 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
33067 declaration
33068 * commands/test.c (test_parse): fixed bug with file tests and corrected
33069 declaration of find_file
33070
330712009-04-26 Pavel Roskin <proski@gnu.org>
33072
33073 * Makefile.in: Don't install empty manual pages if help2man is
33074 missing. Use help2man option for output, not shell redirection.
33075
330762009-04-26 David S. Miller <davem@davemloft.net>
33077
33078 * util/grub-mkdevicemap.c (make_device_map): Add missing
33079 NESTED_FUNC_ATTR to process_device().
33080
330812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33082
33083 Test command
33084
33085 * commands/test.c: rewritten to use bash-like test
33086
330872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33088
33089 Parttool autoloading and improvements
33090
33091 * Makefile.in (pkglib_DATA): add parttool.lst
33092 (parttool.lst): new target
33093 * genmk.rb: generate parttool-*
33094 (CLEANFILES): add #{parttool}
33095 (PARTTOOLFILES): new variable
33096 * genparttoollist.sh: new file
33097 * parttool/pcpart.c (grub_pcpart_boot): more feedback
33098 (grub_pcpart_type): likewise
33099 * commands/parttool.c (helpmsg): new variable
33100 (grub_cmd_parttool): output help if not enough arguments are supplied
33101 autoload modules
33102 (GRUB_MOD_INIT(parttool)): use helpmsg
33103
331042009-04-24 David S. Miller <davem@davemloft.net>
33105
33106 Avoiding opening same device multiple times in device iterator.
33107
33108 * kern/device.c: (grub_device_iterate): Define struct part_ent,
33109 and use it to build a list of partitions in iterate_disk() and
33110 iterate_partition().
33111
33112 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33113 on disk->data.
33114
33115 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33116 grub_devalias_iterate() result instead of unconditional 0.
33117 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33118 Also, capture hook return value, either directly or via
33119 grub_children_iterate(), and propagate to caller.
33120 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33121 grub_children_iterate): Return value is now 'int' instead of
33122 'grub_err_t'.
33123 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33124 like a proper iterator, stopping when hooks return non-zero.
33125 (grub_devalias_iterate): Likewise.
33126
331272009-04-23 David S. Miller <davem@davemloft.net>
33128
33129 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33130
331312009-04-22 David S. Miller <davem@davemloft.net>
33132
33133 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33134 is larger than address_cells, use that value for address_cells too.
33135
33136 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33137 IEEE1275_MAX_PATH_LEN): Define.
33138 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33139 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33140 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33141 'devtype'. Explicitly NULL terminate devalias expansion.
33142
33143 * util/sparc64/ieee1275/misc.c: New file.
33144 * util/sparc64/ieee1275/grub-setup.c: New file.
33145 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33146 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33147 * util/sparc64/ieee1275/grub-install.in: New file.
33148 * util/ieee1275/ofpath.c: New file.
33149 * util/ieee1275/devicemap.c: New file.
33150 * util/devicemap.c: New file.
33151 * util/deviceiter.c: New file.
33152 * kern/sparc64/ieee1275/init.c: New file.
33153 * include/grub/util/ofpath.h: New file.
33154 * include/grub/util/deviceiter.h: New file.
33155 * util/grub-mkdevicemap.c: Include deviceiter.h.
33156 Implement using grub_util_emit_devicemap_entry and
33157 grub_util_iterate_devices.
33158 * conf/i386-corebook.rmk: Build util/deviceiter.c and
33159 util/devicemap.c into grub-mkdevicemap
33160 * conf/i386-efi.rmk: Likewise.
33161 * conf/i386-ieee1275.rmk: Likewise.
33162 * conf/i386-pc.rmk: Likewise.
33163 * conf/powerpc-ieee1275.rmk: Likewise.
33164 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
33165 images and installation utilities. Build kernel as image
33166 instead of as elf binary. Use common rules as much as possible.
33167
331682009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
33169
33170 Correct GPT definition
33171
33172 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
33173 of "attrib" member
33174
331752009-04-19 Felix Zielcke <fzielcke@z-51.de>
33176
33177 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33178
331792009-04-19 David S. Miller <davem@davemloft.net>
33180
33181 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33182 (grub_rescue_cmd_linux): Rename to...
33183 (grub_cmd_linux): and fix prototype.
33184 (grub_rescue_cmd_initrd): Rename to...
33185 (grub_cmd_initrd): and fix prototype.
33186 (cmd_linux, cmd_initrd): New.
33187 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33188 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33189
331902009-04-17 Pavel Roskin <proski@gnu.org>
33191
33192 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33193 format.
33194 (grub_ohci_transfer): Likewise.
33195
33196 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33197
33198 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33199 return without a value. Fix inconsistent indentation.
33200
33201 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33202 match struct grub_fs.
33203
33204 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33205 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33206 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33207 * commands/lspci.c (grub_lspci_iter): Likewise.
33208
332092009-04-16 Bean <bean123ch@gmail.com>
33210
33211 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33212 value.
33213
332142009-04-15 Pavel Roskin <proski@gnu.org>
33215
33216 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33217 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33218 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33219 definitions.
33220
332212009-04-15 Felix Zielcke <fzielcke@z-51.de>
33222
33223 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
33224 that no multiple data or metadata areas are supported and `Unknown
33225 metadata header'.
33226
332272009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
33228
33229 Move loader out of the kernel
33230
33231 * kern/loader.c: moved to ...
33232 * commands/boot.c: ... moved here
33233 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33234 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33235 * include/grub/kernel.h (grub_machine_fini): export
33236 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33237 (grub_loader_set): likewise
33238 (grub_loader_unset): likewise
33239 (grub_loader_boot): likewise
33240 * conf/common.rmk: new module boot.mod
33241 (pkglib_MODULES): add boot.mod
33242 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
33243 (grub_emu_SOURCES): likewise
33244 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
33245 (grub_emu_SOURCES): likewise
33246 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
33247 (grub_emu_SOURCES): likewise
33248 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
33249 (grub_emu_SOURCES): likewise
33250 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
33251 (grub_emu_SOURCES): likewise
33252 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
33253 (grub_emu_SOURCES): likewise
33254 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
33255 (grub_emu_SOURCES): likewise
33256
332572009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
33258
33259 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
33260
33261 * kern/misc.c (grub_itoa): Removed function
33262 (grub_ltoa): likewise
33263 (grub_vsprintf): use grub_lltoa
33264
332652009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
33266
33267 Restore grub-emu
33268
33269 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
33270 * conf/i386-coreboot.rmk: likewise
33271 * conf/i386-ieee1275.rmk: likewise
33272 * conf/powerpc-ieee1275.rmk: likewise
33273
332742009-04-15 Felix Zielcke <fzielcke@z-51.de>
33275
33276 * INSTALL: Add that `./autogen.sh' needs to be run before
33277 `./configure.'.
33278
332792009-04-14 Bean <bean123ch@gmail.com>
33280
33281 * Makefile.in (pkglib_DATA): Add handler.lst.
33282 (handler.lst): New rule.
33283
33284 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
33285 * conf/i386-coreboot.rmk: Likewise.
33286 * conf/i386-ieee1275.rmk: Likewise.
33287 * conf/i386-efi.rmk: Likewise.
33288 * conf/x86_64-efi.rmk: Likewise.
33289 * conf/powerpc-ieee1275.rmk: Likewise.
33290 * conf/sparc64-ieee1275.rmk: Likewise.
33291
33292 * genhandlerlist.sh: New file.
33293
33294 * genmk.rb: Add rules to generate handler.lst.
33295
33296 * include/grub/normal.h (grub_file_getline): New function definition.
33297 (read_handler_list): Likewise.
33298 (free_handler_list): Likewise.
33299
33300 * include/grub/term.h (grub_term_register_input): Add name parameter
33301 for auto generation of handler.lst.
33302 (grub_term_register_output): Likewise.
33303
33304 * normal/handler.c: New file.
33305
33306 * normal/main.c (get_line): Renamed to grub_file_getline.
33307 (read_config_file): Use the newly renamed grub_file_getline.
33308 (read_command_list): Likewise.
33309 (read_fs_list): Likewise.
33310 (grub_normal_execute): Call read_handler_list to parse handler.lst.
33311 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
33312
33313 * term/efi/console.c (grub_console_init): Add name parameter for auto
33314 generation of handler.lst.
33315 * term/gfxterm.c: Likewise.
33316 * term/i386/pc/at_keyboard.c: Likewise.
33317 * term/i386/pc/console.c: Likewise.
33318 * term/i386/pc/serial.c: Likewise.
33319 * term/i386/pc/vesafb.c: Likewise.
33320 * term/i386/pc/vga.c: Likewise.
33321 * term/i386/pc/vga_text.c: Likewise.
33322 * term/ieee1275/ofconsole.c: Likewise.
33323 * term/usb_keyboard.c: Likewise.
33324
333252009-04-14 Bean <bean123ch@gmail.com>
33326
33327 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
33328 properly with null character.
33329
333302009-04-14 Felix Zielcke <fzielcke@z-51.de>
33331
33332 * configure: Remove.
33333 * config.h.in: Likewise.
33334 * stamp-h.in: Likewise.
33335 * DISTLIST: Likewise.
33336 * conf/common.mk: Likewise.
33337 * conf/i386-coreboot.mk: Likewise.
33338 * conf/i386-efi.mk: Likewise.
33339 * conf/i386-ieee1275.mk: Likewise.
33340 * conf/i386.mk: Likewise.
33341 * conf/i386-pc.mk: Likewise.
33342 * conf/powerpc-ieee1275.mk: Likewise.
33343 * conf/sparc64-ieee1275.mk: Likewise.
33344 * conf/x86_64-efi.mk: Likewise.
33345
33346 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33347 develop on GRUB.
33348
333492009-04-14 John Stanley <jpsinthemix@verizon.net>
33350 David S. Miller <davem@davemloft.net>
33351
33352 * util/hostdisk.c (make_device_name): Fix buffer length
33353 calculations.
33354
333552009-04-14 Felix Zielcke <fzielcke@z-51.de>
33356
33357 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33358 <sys/param.h> and <sys/sysctl.h>.
33359 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33360 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33361 opening the device and reset them afterwards.
33362
333632009-04-13 Pavel Roskin <proski@gnu.org>
33364
33365 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33366 Reported by John Stanley <jpsinthemix@verizon.net>
33367
333682009-04-13 Robert Millan <rmh@aybabtu.com>
33369
33370 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
33371 that name for menuentries when appropriate.
33372
333732009-04-13 Felix Zielcke <fzielcke@z-51.de>
33374
33375 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33376
333772009-04-13 Robert Millan <rmh@aybabtu.com>
33378
33379 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33380 to Linux, simply abort telling the user it's no longer supported.
33381
333822009-04-13 Felix Zielcke <fzielcke@z-51.de>
33383
33384 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
33385 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
33386 `freebsd_loadenv' only when devices.hints exist.
33387
333882009-04-13 Pavel Roskin <proski@gnu.org>
33389
33390 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33391
333922009-04-13 Felix Zielcke <fzielcke@z-51.de>
33393
33394 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33395 partition number.
33396 (grub_drive): Likewise.
33397
333982009-04-13 David S. Miller <davem@davemloft.net>
33399
33400 * kern/sparc64/ieee1275/ieee1275.c: New file.
33401 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33402 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33403 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33404 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33405 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33406 grub_ieee1275_alloc_physmem): Declare new exported functions.
33407
33408 * include/grub/sparc64/ieee1275/loader.h: New file.
33409 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33410 * include/grub/sparc64/kernel.h: Likewise.
33411 * loader/sparc64/ieee1275/linux.c: Likewise.
33412
33413 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33414 (grub_fstest_SOURCES): Likewise.
33415
33416 * util/hostdisk.c (make_device_name): Do not make any assumptions
33417 about the length of drive names.
33418
33419 * kern/dl.c (grub_dl_load_file): Close file immediately when
33420 we are done using it.
33421
334222009-04-12 David S. Miller <davem@davemloft.net>
33423
33424 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33425 values. Noticed by Pavel Roskin.
33426
33427 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33428 target compiler.
33429
33430 * genmk.rb: Add more flexible image type specification, also
33431 pass --strip-unneeded to objcopy.
33432 * conf/i386-pc.rmk: Use *_FORMAT.
33433 * conf/i386-pc.mk: Rebuilt.
33434
33435 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33436 (OFDISK_HASH_SZ): Define.
33437 (ofdisk_hash): New hash table.
33438 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33439 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33440 instead of device phandle which is not unique.
33441
33442 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33443 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33444 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33445 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33446 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33447 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33448 GRUB_KERNEL_MACHINE_DATA_END): Define.
33449 (grub_kernel_image_size, grub_total_module_size): Declare.
33450
334512009-04-12 Pavel Roskin <proski@gnu.org>
33452
33453 * configure.ac: Change the logic when we check for target tools.
33454 Do it when the target is specified and it's different from the
33455 specified value of the host.
33456
334572009-04-11 Felix Zielcke <fzielcke@z-51.de>
33458
33459 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33460 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33461 GNU/kFreeBSD. Check if a device is a character device. Use
33462 DIOCGMEDIASIZE to get the size.
33463 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33464 support for GNU/kFreeBSD.
33465 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33466 is a character device instead of a block device. Add support for
33467 FreeBSD device names.
33468
33469 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33470 is a character device instead of a block device.
33471
33472 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33473 is a character device instead of a block device.
33474
334752009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33476
33477 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33478 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33479 FreeBSD. Check if a device is a character device. Use
33480 DIOCGMEDIASIZE to get the size.
33481 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33482 support for FreeBSD.
33483 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33484 is a character device instead of a block device. Add support for
33485 FreeBSD device names.
33486
33487 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33488 a character device instead of a block device.
33489 (grub_util_check_char_device): New function.
33490
33491 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33492 a character device instead of a block device.
33493
33494 * include/grub/util/getroot.h (grub_util_check_char_device): New
33495 prototype.
33496
334972009-04-11 David S. Miller <davem@davemloft.net>
33498
33499 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33500 static libgcc.
33501 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33502 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33503 function, if present.
33504 (__bswapdi2): Likewise.
33505
33506 * include/grub/sparc64/ieee1275/boot.h: New file.
33507 * boot/sparc64/ieee1275/boot.S: Likewise.
33508 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33509
33510 * kern/misc.c (grub_ltoa): New function.
33511 (grub_vsprintf): Use it to format 'long' integers.
33512
335132009-04-10 David S. Miller <davem@davemloft.net>
33514
33515 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33516 slots are of type grub_ieee1275_cell_t.
33517 (grub_nand_read): Likewise.
33518 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33519 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33520 macros are used to compare values in arg/ret block of the call.
33521 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33522 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
33523 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
33524 grub_ieee1275_instance_to_path, grub_ieee1275_write,
33525 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
33526 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
33527 grub_ieee1275_close, grub_ieee1275_set_property,
33528 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
33529 grub_ieee1275_cell_t.
33530 * kern/ieee1275/openfw.c (grub_map): Likewise.
33531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
33532 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
33533
33534 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
33535 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
33536 (grub_devalias_iterate): Likewise.
33537
335382009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
33539
33540 UFS improvements
33541
33542 * fs/ufs.c (INODE_NBLOCKS): new definition
33543 (struct grub_ufs_dirent): added fields for non-BSD dirents
33544 (grub_ufs_get_file_block): fixed double indirect handling
33545 (grub_ufs_lookup_symlink): use more robust way to determine whether
33546 symlink is inline
33547 (grub_ufs_find_file): support for non-BSD dirents
33548 (grub_ufs_dir): support for non-BSD dirents
33549
335502009-04-10 Bean <bean123ch@gnail.com>
33551
33552 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
33553 attribute, otherwise the size would be wrong for i386 platform.
33554
33555 * include/grub/pci.h (grub_pci_read_word): New inline function.
33556 (grub_pci_read_byte): Likewise.
33557 (grub_pci_write): Likewise.
33558 (grub_pci_write_word): Likewise.
33559 (grub_pci_write_byte): Likewise.
33560
33561 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
33562
33563 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
33564 (find_framebuf): Scan pci to locate the frame buffer address.
33565
33566 * commands/efi/fixvideo.c: New file.
33567
33568 * commands/efi/loadbios.c: Likewise.
33569
33570 * commands/memrw.c: Likewise.
33571
33572 * util/grub-dumpbios.in: Likewise.
33573
33574 * conf/common.rmk (grub-dumpbios): New utility.
33575 (pkglib_MODULES): New module memrw.mod.
33576 (memrw_mod_SOURCE): New macro.
33577 (memrw_mod_CFLAGS): Likewise.
33578 (memrw_mod_LDFLAGS): Likewise.
33579
33580 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
33581 fixvideo.mod.
33582 (loadbios_mod_SOURCE): New macro.
33583 (loadbios_mod_CFLAGS): Likewise.
33584 (loadbios_mod_LDFLAGS): Likewise.
33585 (fixvideo_mod_SOURCE): Likewise.
33586 (fixvideo_mod_CFLAGS): Likewise.
33587 (fixvideo_mod_LDFLAGS): Likewise.
33588
33589 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
33590 fixvideo.mod.
33591 (loadbios_mod_SOURCE): New macro.
33592 (loadbios_mod_CFLAGS): Likewise.
33593 (loadbios_mod_LDFLAGS): Likewise.
33594 (fixvideo_mod_SOURCE): Likewise.
33595 (fixvideo_mod_CFLAGS): Likewise.
33596 (fixvideo_mod_LDFLAGS): Likewise.
33597
335982009-04-08 Felix Zielcke <fzielcke@z-51.de>
33599
33600 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33601
336022009-04-07 David S. Miller <davem@davemloft.net>
33603
33604 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
33605 support for R_SPARC_OLO10 relocations. Fix compile warning for
33606 R_SPARC_WDISP30 case.
33607 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
33608
336092009-04-06 Pavel Roskin <proski@gnu.org>
33610
33611 * include/grub/misc.h (ARRAY_SIZE): New macro.
33612 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
33613 New macro.
33614 * loader/i386/linux.c (allocate_pages): Use free_pages().
33615 (grub_linux_unload): Don't use free_pages().
33616 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
33617 wrong index. Treat all other modes as text modes.
33618 (grub_cmd_linux): Initialize vid_mode unconditionally to
33619 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
33620
33621 * commands/help.c (print_command_help): Use cmd->prio, not
33622 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
33623
336242009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
33625
33626 Parttool
33627
33628 * parttool/pcpart.c: new file
33629 * commands/parttool.c: likewise
33630 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
33631 (parttool_mod_SOURCES): new variable
33632 (parttool_mod_CFLAGS): likewise
33633 (parttool_mod_LDFLAGS): likewise
33634 (pcpart_mod_SOURCES): likewise
33635 (pcpart_mod_CFLAGS): likewise
33636 (pcpart_mod_LDFLAGS): likewise
33637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
33638 and parttool/pcpart.c
33639 * conf/i386-efi.rmk: likewise
33640 * conf/i386-ieee1275.rmk: likewise
33641 * conf/i386-pc.rmk: likewise
33642 * conf/powerpc-ieee1275.rmk: likewise
33643 * conf/sparc64-ieee1275.rmk: likewise
33644 * conf/x86_64-ieee1275.rmk: likewise
33645
336462009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33647
33648 Support for mtime and further expandability of dir command
33649
33650 * include/grub/lib/datetime.h: moved to ...
33651 * include/grub/datetime.h: ... moved here and added
33652 declaration of grub_unixtime2datetime. All users updated
33653 * include/grub/fs.h: new syntax for dir and mtime functions in
33654 struct grub_fs
33655 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
33656 and GRUB_FSHELP_FLAGS_MASK
33657 * commands/ls.c (grub_ls_list_files): Write mtime in long format
33658 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
33659 (grub_ext2_mtime): new function
33660 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
33661 (grub_hfsplus_mtime): new function
33662 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
33663 (GRUB_UFS_ATTR_FILE): likewise
33664 (GRUB_UFS_ATTR_LNK): likewise
33665 (struct grub_ufs_sblock): new fields mtime
33666 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
33667 all users updated
33668 (grub_ufs_dir): mtime support
33669 (grub_ufs_mtime): new function
33670 * fs/affs.c (grub_affs_dir): use new dir syntax
33671 * fs/afs.c (grub_afs_dir): likewise
33672 * fs/cpio.c (grub_cpio_dir): likewise
33673 * fs/fat.c (grub_fat_find_dir): likewise
33674 * fs/hfs.c (grub_hfs_dir): likewise
33675 * fs/iso9660.c (grub_iso9660_dir): likewise
33676 * fs/jfs.c (grub_jfs_dir): likewise
33677 * fs/minix.c (grub_minix_dir): likewise
33678 * fs/ntfs.c (grub_ntfs_dir): likewise
33679 * fs/reiserfs.c (grub_reiserfs_dir): likewise
33680 * fs/sfs.c (grub_sfs_dir): likewise
33681 * fs/xfs.c (grub_xfs_dir): likewise
33682 * util/hostfs.c (grub_hostfs_dir): likewise
33683 * lib/datetime.c: moved to ...
33684 * normal/datetime.c: ... moved here
33685 (grub_unixtime2datetime): new function
33686 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
33687 * normal/completion.c (iterate_dir): use new dir syntax
33688 * normal/misc.c (grub_normal_print_device_info): tell the
33689 last modification time of a volume
33690 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
33691 * conf/common.rmk: added lib/datetime.c to ls.mod
33692 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
33693 (normal_mod_SOURCES): likewise
33694 (datetime_mod_SOURCES): Removed lib/datetime.c
33695 * conf/i386-efi.rmk: likewise
33696 * conf/i386-ieee1275.rmk: likewise
33697 * conf/i386-pc.rmk: likewise
33698 * conf/powerpc-ieee1275.rmk: likewise
33699 * conf/sparc64-ieee1275.rmk: likewise
33700 * conf/x86_64-efi.rmk: likewise
33701
337022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33703
33704 Trim trailing spaces in FAT label and support mtools-like labels
33705
33706 * fs/fat.c (grub_fat_iterate_dir): New function based
33707 on grub_fat_find_dir
33708 (grub_fat_find_dir): use grub_fat_iterate_dir
33709 (grub_fat_label): likewise
33710
337112009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33712
33713 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
33714 and command.h
33715 remove extraneous kernel_elf_HEADERS
33716
337172009-04-04 Bean <bean123ch@gnail.com>
33718
33719 * include/grub/util/misc.h: Add dummy function fsync for mingw.
33720
33721 * util/misc.c: Likewise.
33722
337232009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33724
33725 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
33726 instead of grub_printf.
33727
337282009-04-03 Robert Millan <rmh@aybabtu.com>
33729
33730 * loader/i386/linux.c (grub_linux_setup_video): Fill
33731 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
33732 values from `mode info' structure instead of hardcoded
33733 values.
33734
337352009-04-01 Pavel Roskin <proski@gnu.org>
33736
33737 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
33738 unused now.
33739 * genmk.rb: Likewise.
33740 * configure.ac: Likewise.
33741
337422009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
33743
33744 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
33745 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
33746
337472009-04-01 David S. Miller <davem@davemloft.net>
33748
33749 * normal/sparc64/setjmp.S: Fix setjmp implementation.
33750 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
33751 (grub_setjmp): Mark with 'returns_twice' attribute.
33752 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
33753 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
33754 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
33755
337562009-04-01 Robert Millan <rmh@aybabtu.com>
33757
33758 Reapply fix from 2008-07-28 which was accidentally reverted; also
33759 perform the same fix to a similar check in same function.
33760
33761 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33762 with the same number are found, just use issue a warning with
33763 grub_dprintf(), as this error has been reported to be non-fatal.
33764
337652009-03-31 Pavel Roskin <proski@gnu.org>
33766
33767 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
33768 for cross-compilation.
33769
337702009-03-30 Robert Millan <rmh@aybabtu.com>
33771
33772 Fix i386-ieee1275 build.
33773
33774 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
33775 Remove declaration.
33776
337772009-03-30 Pavel Roskin <proski@gnu.org>
33778
33779 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
33780 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
33781 zero-terminated, rely only on the strlen value. Fix comparison
33782 of strings differing in length.
33783
337842009-03-30 Robert Millan <rmh@aybabtu.com>
33785
33786 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
33787 checking for abi version. Improve error messages on BIOS to notify
33788 user about `linux16' command.
33789
337902009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33791
33792 Leak fixes
33793
33794 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
33795 in case of collision
33796 * disk/scsi.c (grub_scsi_open): free scsi in case of error
33797
337982009-03-29 Robert Millan <rmh@aybabtu.com>
33799
33800 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
33801 set `vid_mode' accordingly.
33802 (grub_linux_boot): Process `vid_mode' and set video mode.
33803
338042009-03-29 Robert Millan <rmh@aybabtu.com>
33805
33806 * util/grub.d/10_linux.in (linux_entry): New function.
33807 Factorize generation of Linux boot entries.
33808
338092009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
33810
33811 Make the format of Environment Block plain text. The boot loader
33812 part is not tested well yet.
33813
33814 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
33815 (buffer): Removed.
33816 (envblk): Likewise.
33817 (usage): Remove "info" and "clear". Add "unset". Update the
33818 description of "set", as this does not delete variables any
33819 longer.
33820 (create_envblk_file): Complete rewrite.
33821 (open_envblk_file): Likewise.
33822 (cmd_info): Removed.
33823 (cmd_list): Likewise.
33824 (cmd_set): Likewise.
33825 (cmd_clear): Likewise.
33826 (list_variables): New function.
33827 (write_envblk): Likewise.
33828 (set_variables): Likewise.
33829 (unset_variables): Likewise.
33830 (main): Complete rewrite.
33831
33832 * commands/loadenv.c (buffer): Removed.
33833 (envblk): Likewise.
33834 (open_envblk_file): New function.
33835 (read_envblk_file): Complete rewrite.
33836 (grub_cmd_load_env): Likewise.
33837 (grub_cmd_list_env): Likewise.
33838 (struct blocklist): New struct.
33839 (free_blocklists): New function.
33840 (check_blocklists): Likewise.
33841 (write_blocklists): Likewise.
33842 (grub_cmd_save_env): Complete rewrite.
33843
33844 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
33845 a plain text signature.
33846 (GRUB_ENVBLK_MAXLEN): Removed.
33847 (struct grub_envblk): Complete rewrite.
33848 (grub_envblk_find): Removed.
33849 (grub_envblk_insert): Likewise.
33850 (grub_envblk_open): New prototype.
33851 (grub_envblk_set): Likewise.
33852 (grub_envblk_delete): Put const to VALUE.
33853 (grub_envblk_iterate): Put const to NAME and VALUE.
33854 (grub_envblk_close): New prototype.
33855 (grub_envblk_buffer): New inline function.
33856 (grub_envblk_size): Likewise.
33857
33858 * lib/envblk.c: Include grub/mm.h.
33859 (grub_env_find): Removed.
33860 (grub_envblk_open): New function.
33861 (grub_envblk_close): Likewise.
33862 (escaped_value_len): Likewise.
33863 (find_next_line): Likewise.
33864 (grub_envblk_insert): Removed.
33865 (grub_envblk_set): New function.
33866 (grub_envblk_delete): Complete rewrite.
33867 (grub_envblk_iterate): Likewise.
33868
338692009-03-28 Robert Millan <rmh@aybabtu.com>
33870
33871 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33872 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33873 variables. Use 16-bit loader.
33874 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33875 loader.
33876 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33877 (grub_linux16_boot): ... this. Update all users.
33878 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33879 (grub_linux_boot): ... this. Update all users.
33880
33881 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33882 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33883 commands to `linux16' and `initrd16'.
33884 (GRUB_MOD_FINI(linux)): Rename to ...
33885 (GRUB_MOD_FINI(linux16)): ... this.
33886
338872009-03-24 Pavel Roskin <proski@gnu.org>
33888
33889 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33890 not just for compilation.
33891
338922009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33893
33894 Move multiboot helper out of kernel
33895
33896 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33897 `loader/i386/multiboot_helper.S'.
33898 * conf/i386-coreboot.rmk: Likewise
33899 * conf/i386-ieee1275.rmk: Likewise
33900
33901 * kern/i386/loader.S: Move multiboot helpers from here...
33902 * loader/i386/multiboot_helper.S: ...moved here
33903 * include/grub/i386/loader.h: Move declarations of multiboot
33904 helpers from here...
33905 * include/grub/i386/multiboot.h: ...moved here
33906 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33907
339082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33909
33910 * kern/env.c (grub_env_context_open): Added an argument to specify
33911 whether a new context inherits exported variables from current
33912 one. This is useful when making a sandbox to interpret a config
33913 file.
33914 All callers updated.
33915
33916 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33917
339182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33919
33920 * kern/env.c (grub_env_context_close): Fix memory leaks.
33921
339222009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33923
33924 * normal/main.c (grub_normal_execute): Added an argument
33925 BATCH to specify if an interactive interface should be provided
33926 after reading a config file.
33927 All callers updated.
33928 (read_command_list): Prevent being executed twice.
33929 (read_fs_list): Likewise.
33930
33931 * include/grub/normal.h (grub_normal_execute): Updated the
33932 prototype.
33933
339342009-03-22 Pavel Roskin <proski@gno.org>
33935
33936 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33937 _start.
33938 * kern/i386/pc/startup.S: Likewise.
33939 * kern/i386/efi/startup.S: Likewise.
33940 * kern/i386/ieee1275/startup.S: Likewise.
33941 * kern/i386/coreboot/startup.S: Likewise.
33942 * kern/x86_64/efi/startup.S: Likewise.
33943
33944 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33945 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33946 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33947
339482009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33949
33950 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33951
33952 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33953 limit detection.
33954 Use vaddr of correct segment for entry_point.
33955
339562009-03-21 Bean <bean123ch@gmail.com>
33957
33958 * commands/blocklist.c: Add include file <grub/command.h>, remove
33959 <grub/normal.h> and <grub/arg.h>.
33960 (grub_cmd_blocklist): Use the new command interface.
33961 (GRUB_MOD_INIT): Likewise.
33962 (GRUB_MOD_FINI): Likewise.
33963 * commands/boot.c: Likewise.
33964 * commands/cat.c: Likewise.
33965 * commands/cmp.c: Likewise.
33966 * commands/configfile.c: Likewise.
33967 * commands/crc.c: Likewise.
33968 * commands/echo.c: Likewise.
33969 * commands/halt.c: Likewise.
33970 * commands/handler.c: Likewise.
33971 * commands/hdparm.c: Likewise.
33972 * commands/help.c: Likewise.
33973 * commands/hexdump.c: Likewise.
33974 * commands/loadenv.c: Likewise.
33975 * commands/ls.c: Likewise.
33976 * commands/lsmmap.c: Likewise.
33977 * commands/lspci.c: Likewise.
33978 * commands/loadenv.c: Likewise.
33979 * commands/read.c: Likewise.
33980 * commands/reboot.c: Likewise.
33981 * commands/search.c: Likewise.
33982 * commands/sleep.c: Likewise.
33983 * commands/test.c: Likewise.
33984 * commands/usbtest.c: Likewise.
33985 * commands/videotest.c: Likewise.
33986 * commands/i386/cpuid.c: Likewise.
33987 * commands/i386/pc/halt.c: Likewise.
33988 * commands/i386/pc/play.c: Likewise.
33989 * commands/i386/pc/pxecmd.c: Likewise.
33990 * commands/i386/pc/vbeinfo.c: Likewise.
33991 * commands/i386/pc/vbetest.c: Likewise.
33992 * commands/ieee1275/suspend.c: Likewise.
33993 * disk/loopback.c: Likewise.
33994 * font/font_cmd.c: Likewise.
33995 * hello/hello.c: Likewise.
33996 * loader/efi/appleloader.c: Likewise.
33997 * loader/efi/chainloader.c: Likewise.
33998 * loader/i386/bsd.c: Likewise.
33999 * loader/i386/efi/linux.c: Likewise.
34000 * loader/i386/ieee1275/linux.c: Likewise.
34001 * loader/i386/linux.c: Likewise.
34002 * loader/i386/pc/chainloader.c: Likewise.
34003 * loader/i386/pc/linux.c: Likewise.
34004 * loader/powerpc/ieee1275/linux.c: Likewise.
34005 * loader/multiboot_loader.c: Likewise.
34006 * term/gfxterm.c: Likewise.
34007 * term/i386/pc/serial.c: Likewise.
34008 * term/terminfo.c: Likewise.
34009
34010 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34011 * term/i386/pc/vga.c: Likewise.
34012 * video/readers/jpeg.c: Likewise.
34013 * video/readers/png.c: Likewise.
34014 * video/readers/tga.c: Likewise.
34015
34016 * util/grub-fstest (cmd_loopback): Removed.
34017 (cmd_blocklist): Likewise.
34018 (cmd_ls): Likewise.
34019 (grub_register_command): Likewise.
34020 (grub_unregister_command): Likewise.
34021 (execute_command): Use grub_command_find to locate command and execute
34022 it.
34023
34024 * include/grub/efi/chainloader.h: Removed.
34025 * loader/efi/chainloader_normal.c: Likewise.
34026 * loader/i386/bsd_normal.c: Likewise.
34027 * loader/i386/pc/chainloader_normal.c: Likewise.
34028 * loader/i386/pc/multiboot_normal.c: Likewise.
34029 * loader/linux_normal.c: Likewise.
34030 * loader/multiboot_loader_normal.c: Likewise.
34031 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34032
34033 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34034 and grub_register_command_p1.
34035
34036 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34037 kern/command.c, lib/arg.c and commands/extcmd.c.
34038 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34039 (minicmd_mod_SOURCES): New variable.
34040 (minicmd_mod_CFLAGS): Likewise.
34041 (minicmd_mod_LDFLAGS): Likewise.
34042 (extcmd_mod_SOURCES): Likewise.
34043 (extcmd_mod_CFLAGS): Likewise.
34044 (extcmd_mod_LDFLAGS): Likewise.
34045 (boot_mod_SOURCES): Removed.
34046 (boot_mod_CFLAGS): Likewise.
34047 (boot_mod_LDFLAGS): Likewise.
34048
34049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34050 kern/corecmd.c.
34051 (kernel_img_HEADERS): Add command.h.
34052 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34053 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34054 and lib/arg.c.
34055 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34056 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34057 remove the corresponding normal mode command.
34058 (normal_mod_SOURCES): Remove normal/arg.c.
34059 * conf/i386-coreboot.rmk: Likewise.
34060 * conf/i386-efi.rmk: Likewise.
34061 * conf/i386-ieee1275.rmk: Likewise.
34062 * conf/powerpc-ieee1275.rmk: Likewise.
34063 * conf/x86_64-efi.rmk: Likewise.
34064
34065 * include/grub/arg.h: Move from here ...
34066 * include/grub/lib/arg.h: ... to here.
34067
34068 * normal/arg.c: Move from here ...
34069 * lib/arg.c: ... to here.
34070
34071 * commands/extcmd.c: New file.
34072 * commands/minicmd.c: Likewise.
34073 * include/grub/command.h: Likewise.
34074 * include/grub/extcmd.h: Likewise.
34075 * kern/command.c: Likewise.
34076 * kern/corecmd.c: Likewise.
34077
34078 * kern/list.c (grub_list_iterate): Return int instead of void.
34079 (grub_list_insert): New function.
34080 (grub_prio_list_insert): Likewise.
34081
34082 * kern/rescue.c (grub_rescue_command): Removed.
34083 (grub_rescue_command_list): Likewise.
34084 (grub_rescue_register_command): Likewise.
34085 (grub_rescue_unregister_command): Likewise.
34086 (grub_rescue_cmd_boot): Move to minicmd.c
34087 (grub_rescue_cmd_help): Likewise.
34088 (grub_rescue_cmd_info): Likewise.
34089 (grub_rescue_cmd_boot): Likewise.
34090 (grub_rescue_cmd_testload): Likewise.
34091 (grub_rescue_cmd_dump): Likewise.
34092 (grub_rescue_cmd_rmmod): Likewise.
34093 (grub_rescue_cmd_lsmod): Likewise.
34094 (grub_rescue_cmd_exit): Likewise.
34095 (grub_rescue_print_devices): Moved to corecmd.c.
34096 (grub_rescue_print_files): Likewise.
34097 (grub_rescue_cmd_ls): Likewise.
34098 (grub_rescue_cmd_insmod): Likewise.
34099 (grub_rescue_cmd_set): Likewise.
34100 (grub_rescue_cmd_unset): Likewise.
34101 (attempt_normal_mode): Use grub_command_find to get normal module.
34102 (grub_enter_rescue_mode): Use grub_register_core_commands to register
34103 commands, remove grub_rescue_register_command calls.
34104
34105 * normal/command.c (grub_register_command): Removed.
34106 (grub_unregister_command): Likewise.
34107 (grub_command_find): Likewise.
34108 (grub_iterate_commands): Likewise.
34109 (rescue_command): Likewise.
34110 (export_command): Moved to corecmd.c.
34111 (set_command): Removed.
34112 (unset_command): Likewise.
34113 (insmod_command): Likewise.
34114 (rmmod_command): Likewise.
34115 (lsmod_command): Likewise.
34116 (grub_command_init): Likewise.
34117
34118 * normal/completion.c (iterate_command): Use cmd->prio to check for
34119 active command.
34120 (complete_arguments): Use grub_extcmd_t structure to find options.
34121 (grub_normal_do_completion): Change function grub_iterate_commands to
34122 grub_command_iterate.
34123
34124 * normal/execute.c (grub_script_execute_cmd): No need to parse
34125 argument here.
34126
34127 * normal/main.c (grub_dyncmd_dispatcher): New function.
34128 (read_command_list): Register unload commands as dyncmd.
34129 (grub_cmd_normal): Use new command interface, register rescue,
34130 unregister normal at entry, register normal, unregister rescue at exit.
34131
34132 * include/grub/list.h (grub_list_test_t): New type.
34133 (grub_list_iterate): Return int instead of void.
34134 (grub_list_insert): New function.
34135 (GRUB_AS_NAMED_LIST_P): New macro.
34136 (GRUB_AS_PRIO_LIST): Likewise.
34137 (GRUB_AS_PRIO_LIST_P): Likewise.
34138 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34139 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34140 (grub_prio_list): New structure.
34141 (grub_prio_list_insert): New function.
34142 (grub_prio_list_remove): New inline function.
34143
34144 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34145 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34146 (GRUB_COMMAND_FLAG_MENU): Likewise.
34147 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34148 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34149 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34150 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34151 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
34152 (grub_command): Likewise.
34153 (grub_register_command): Likewise.
34154 (grub_command_find): Likewise.
34155 (grub_iterate_commands): Likewise.
34156 (grub_command_init): Likewise.
34157 (grub_arg_parse): Likewise.
34158 (grub_arg_show_help): Likewise.
34159
34160 * include/grub/rescue.h (grub_rescue_register_command): Removed.
34161 (grub_rescue_unregister_command): Likewise.
34162
34163 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
34164 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
34165 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
34166
34167 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
34168 grub_rescue_cmd_initrd.
34169 * include/grub/i386/loader.h: Likewise.
34170 * include/grub/x86_64/loader.h: Likewise.
34171
34172 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
34173
341742009-03-21 Bean <bean123ch@gmail.com>
34175
34176 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34177 instead of stat in mingw environment.
34178
34179 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34180
34181 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34182
34183 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34184 AC_CONFIG_LINKS.
34185
341862009-03-21 Bean <bean123ch@gmail.com>
34187
34188 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34189 out of range error.
34190
341912009-03-18 Michel Dänzer <michel@daenzer.net>
34192
34193 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34194 checking inode flags for EXT4_EXTENTS_FLAG.
34195
341962009-03-18 Robert Millan <rmh@aybabtu.com>
34197
34198 * loader/i386/linux.c: Include `<grub/video.h>' and
34199 `<grub/i386/pc/vbe.h>'..
34200 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34201 (grub_linux32_boot): Attempt to configure video settings with
34202 grub_linux_setup_video().
34203 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34204 to avoid grub_console_fini() which would step out of graphical mode
34205 unconditionally.
34206
342072009-03-14 Robert Millan <rmh@aybabtu.com>
34208
34209 Fix build on powerpc.
34210 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34211
342122009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34213
34214 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34215 background image command.
34216
342172009-03-12 Colin D Bennett <colin@gibibit.com>
34218
34219 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34220 (grub_gfxterm_putchar): Extract pairs of identical calls to
34221 draw_cursor out of conditional blocks.
34222
342232009-03-11 Pavel Roskin <proski@gnu.org>
34224
34225 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34226 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34227
342282009-03-11 Robert Millan <rmh@aybabtu.com>
34229
34230 * loader/i386/multiboot_elfxx.c
34231 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34232
342332009-03-11 Felix Zielcke <fzielcke@z-51.de>
34234
34235 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34236 `kern/handler.c'.
34237
342382009-03-11 Robert Millan <rmh@aybabtu.com>
34239
34240 * loader/i386/multiboot.c (code_size): New variable.
34241 (grub_multiboot): Define offsets by adding to `code_size' rather
34242 than subtracting from `grub_multiboot_payload_size'. Provide
34243 4-byte alignment to MBI and others by increasing
34244 `boot_loader_name_length' appropriately.
34245
34246 * loader/i386/multiboot_elfxx.c
34247 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
34248
342492009-03-09 Felix Zielcke <fzielcke@z-51.de>
34250
34251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
34252 `fs/ext2.c'.
34253
342542009-03-08 Robert Millan <rmh@aybabtu.com>
34255
34256 Make loader/i386/linux.c usable on i386-pc again.
34257
34258 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
34259 memory to heap.
34260 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
34261 `#error' stanza.
34262
342632009-03-07 Bean <bean123ch@gmail.com>
34264
34265 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
34266 allocation.
34267
342682009-03-06 Robert Millan <rmh@aybabtu.com>
34269
34270 Fix display issue on terminals with screen size other than 80x25
34271 (e.g. gfxterm with resolution higher than 640x480).
34272
34273 * normal/main.c (grub_normal_init_page): Display title text in a
34274 position relative to the center of the terminal instead of relying
34275 on a hardcoded offset.
34276
342772009-03-04 Robert Millan <rmh@aybabtu.com>
34278
34279 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
34280 installed.
34281
34282 * Makefile.in (host_kernel): New variable.
34283 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
34284 scripts instead of just the windows one.
34285 * configure.ac: Initialize and AC_SUBST `host_kernel'.
34286
342872009-03-04 Felix Zielcke <fzielcke@z-51.de>
34288
34289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
34290 `kern/handler.c'.
34291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34293 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34296 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34297
342982009-03-04 Felix Zielcke <fzielcke@z-51.de>
34299
34300 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
34301 or if there's no space for the disk label and print the partition number on a
34302 invalid magic.
34303
343042009-03-04 Felix Zielcke <fzielcke@z-51.de>
34305
34306 * util/misc.c: Include <time.h>.
34307 (grub_millisleep): New function.
34308
343092009-03-04 Bean <bean123ch@gmail.com>
34310
34311 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
34312 another option -mno-red-zone.
34313
34314 * commands/handler.c: Change module description.
34315
34316 * kern/handler.c: Add missing space at the end of description line.
34317
34318 * kern/list.c: Likewise.
34319
343202009-03-03 Robert Millan <rmh@aybabtu.com>
34321
34322 Move more components to the relocation area, and fix mbi pointer
34323 handling to use the destination rather than the origin (thanks to
34324 Vladimir Serbinenko for spotting).
34325
34326 * loader/i386/multiboot.c (mbi_dest): New variable.
34327 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
34328 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
34329 relocation area.
34330
343312009-03-01 Bean <bean123ch@gmail.com>
34332
34333 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
34334 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
34335 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
34336 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
34337
34338 * loader/i386/efi/linux.c (acpi_guid): New variable.
34339 (acpi_guid): Likewise.
34340 (EBDA_SEG_ADDR): New constant.
34341 (LOW_MEM_ADDR): Likewise.
34342 (FAKE_EBDA_SEG): Likewise.
34343 (fake_bios_data): New function.
34344 (grub_linux_boot): Call fake_bios_data.
34345
343462009-03-01 Bean <bean123ch@gmail.com>
34347
34348 * commands/terminal.c: Removed.
34349
34350 * commands/handler.c: New file.
34351
34352 * include/grub/list.h: Likewise.
34353
34354 * include/grub/handler.h: Likewise.
34355
34356 * kern/list.c: Likewise.
34357
34358 * kern/handler.c: Likewise.
34359
34360 * kern/term.h: Include header file <grub/handler.h>.
34361 (grub_term_input): Move next field to the beginning.
34362 (grub_term_output): Likewise.
34363 (grub_term_input_class): New variable.
34364 (grub_term_output_class): Likewise.
34365 (grub_term_register_input): Changed to inline function.
34366 (grub_term_register_output): Likewise.
34367 (grub_term_unregister_input): Likewise.
34368 (grub_term_unregister_output): Likewise.
34369 (grub_term_set_current_input): Likewise.
34370 (grub_term_set_current_output): Likewise.
34371 (grub_term_get_current_input): Likewise.
34372 (grub_term_get_current_output): Likewise.
34373 (grub_term_iterate_input): Removed.
34374 (grub_term_iterate_output): Likewise.
34375
34376 * kern/term.c (grub_term_list_input): Removed.
34377 (grub_term_list_output): Likewise.
34378 (grub_term_input_class): New variable.
34379 (grub_term_output_class): Likewise.
34380 (grub_cur_term_input): Change variable as macro.
34381 (grub_cur_term_output): Likewise.
34382 (grub_term_register_input): Removed.
34383 (grub_term_register_output): Likewise.
34384 (grub_term_unregister_input): Likewise.
34385 (grub_term_unregister_output): Likewise.
34386 (grub_term_set_current_input): Likewise.
34387 (grub_term_set_current_output): Likewise.
34388 (grub_term_iterate_input): Likewise.
34389 (grub_term_iterate_output): Likewise.
34390 (grub_term_get_current_input): Likewise.
34391 (grub_term_get_current_output): Likewise.
34392
34393 * util/grub-editenv.c: Include header file <grub/handler.h>.
34394 (grub_term_get_current_input): Removed.
34395 (grub_term_get_current_output): Likewise.
34396 (grub_term_input_class): New variable.
34397 (grub_term_output_class): Likewise.
34398
34399 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34400 (grub_term_get_current_output): Likewise.
34401 (grub_term_input_class): New variable.
34402 (grub_term_output_class): Likewise.
34403
34404 * util/grub-probe.c (grub_term_get_current_input): Removed.
34405 (grub_term_get_current_output): Likewise.
34406 (grub_term_input_class): New variable.
34407 (grub_term_output_class): Likewise.
34408
34409 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34410 (grub_term_get_current_output): Likewise.
34411 (grub_term_input_class): New variable.
34412 (grub_term_output_class): Likewise.
34413
34414 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34415 (terminal_mod_SOURCES): Likewise.
34416 (terminal_mod_CFLAGS): Likewise.
34417 (terminal_mod_LDFLAGS): Likewise.
34418
34419 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34420 handler.c.
34421 (kernel_img_SOURCES): Add list.c and handler.c.
34422 (kernel_img_HEADERS): Add list.h and handler.h.
34423
34424 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34425 handler.c.
34426 (kernel_mod_SOURCES): Add list.c and handler.c.
34427 (kernel_mod_HEADERS): Add list.h and handler.h.
34428
34429 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34430 handler.c.
34431 (kernel_elf_SOURCES): Add list.c and handler.c.
34432 (kernel_elf_HEADERS): Add list.h and handler.h.
34433
34434 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34435 handler.c.
34436 (kernel_elf_SOURCES): Add list.c and handler.c.
34437 (kernel_elf_HEADERS): Add list.h and handler.h.
34438
34439 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34440 handler.c.
34441 (kernel_mod_SOURCES): Add list.c and handler.c.
34442 (kernel_mod_HEADERS): Add list.h and handler.h.
34443
34444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34445 handler.c.
34446 (kernel_elf_SOURCES): Add list.c and handler.c.
34447 (kernel_elf_HEADERS): Add list.h and handler.h.
34448
344492009-02-27 Robert Millan <rmh@aybabtu.com>
34450
34451 Factorize elf32 / elf64 code in Multiboot loader. This will
34452 prevent it from getting out of sync again.
34453
34454 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34455 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34456 grub_multiboot_load_elf64): Move from here ...
34457 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34458 grub_multiboot_load_elf): ... to here (new file).
34459
344602009-02-27 Robert Millan <rmh@aybabtu.com>
34461
34462 * util/grub.d/10_linux.in: Rename "single-user mode" to
34463 "recovery mode".
34464
344652009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34466
34467 Don't leak in SCSI code.
34468 * disk/scsi.c (grub_scsi_close): free `scsi'.
34469
344702009-02-27 Robert Millan <rmh@aybabtu.com>
34471
34472 * loader/i386/pc/multiboot.c: Move from here ...
34473 * loader/i386/multiboot.c: ... to here. Update all users.
34474
344752009-02-27 Robert Millan <rmh@aybabtu.com>
34476
34477 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34478 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34479
344802009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34481
34482 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34483 b-tree.
34484
344852009-02-27 Robert Millan <rmh@aybabtu.com>
34486
34487 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34488 `0x' qualifier as 0 when base is specified as parameter).
34489
344902009-02-24 Bean <bean123ch@gmail.com>
34491
34492 * configure.ac: Check for -mcmodel=large in x86_64 target.
34493
34494 * include/grub/efi/api.h (efi_call_10): New macro.
34495 (efi_wrap_10): New function.
34496
34497 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34498 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34499 (GRUB_PE32_REL_BASED_LOW): Likewise.
34500 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34501 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34502 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34503 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34504 (GRUB_PE32_REL_BASED_REL): Likewise.
34505 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34506 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34507 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34508
34509 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34510 issue.
34511
34512 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34513 (efi_wrap_10): New function.
34514
34515 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34516
34517 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34518 MB/MBP model (NV chipset).
34519 (devdata_devs): Add devpath_5 to the list.
34520
34521 * load/i386/efi/linux.c (video_base): Remove variable.
34522 (RGB_MASK): New macro.
34523 (RGB_MAGIC): Likewise.
34524 (LINE_MIN): Likewise.
34525 (LINE_MAX): Likewise.
34526 (FBTEST_STEP): Likewise.
34527 (FBTEST_COUNT): Likewise.
34528 (fb_list): New variable.
34529 (grub_find_video_card): Remove function.
34530 (find_framebuf): New function.
34531 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
34532 line length.
34533
34534 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
34535 problem for x86_64.
34536
345372009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
34538
34539 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
34540
34541 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
34542 coding tool name.
34543
345442009-02-22 Robert Millan <rmh@aybabtu.com>
34545
34546 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
34547 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
34548 in our relocation, instead of using it directly from heap. Also
34549 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
34550
345512009-02-21 Robert Millan <rmh@aybabtu.com>
34552
34553 Implement USB keyboard support (based on patch by Marco Gerards)
34554
34555 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
34556 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
34557 (usb_keyboard_mod_LDFLAGS): New variables.
34558
34559 * term/usb_keyboard.c: New file.
34560
345612009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
34562
34563 Corrected wrong declaration
34564
34565 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
34566
345672009-02-14 Christian Franke <franke@computer.org>
34568
34569 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
34570 (grub_lspci_iter): Print class code and programming interface byte.
34571
345722009-02-14 Christian Franke <franke@computer.org>
34573
34574 * gendistlist.sh: Ignore `.svn' directories.
34575
345762009-02-14 Felix Zielcke <fzielcke@z-51.de>
34577
34578 * fs/fat.c: Add 2009 to Copyright line.
34579
345802009-02-14 Christian Franke <franke@computer.org>
34581
34582 * commands/hdparm.c: New file. Provides `hdparm' command
34583 which sends ATA commands via grub_disk_ata_pass_through ().
34584
34585 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
34586
34587 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
34588 and <grub/cpu/io.h> to include/grub/ata.h.
34589 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
34590 (GRUB_CDROM_SECTOR_SIZE): Remove.
34591 (GRUB_ATA_*): Move to include/grub/ata.h.
34592 (GRUB_ATAPI_*): Likewise.
34593 (enum grub_ata_commands): Likewise.
34594 (enum grub_ata_timeout_milliseconds): Likewise.
34595 (struct grub_ata_device): Likewise.
34596 (grub_ata_regset): Likewise.
34597 (grub_ata_regget): Likewise.
34598 (grub_ata_regset2): Likewise.
34599 (grub_ata_regget2): Likewise.
34600 (grub_ata_check_ready): Likewise.
34601 (grub_ata_wait_not_busy): Remove static, exported in
34602 include/grub/ata.h.
34603 (grub_ata_wait_drq): Likewise.
34604 (grub_ata_pio_read): Likewise.
34605
34606 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
34607 function for hdparm.mod.
34608
34609 * include/grub/ata.h: New file, contains declarations from
34610 disk/ata.c.
34611 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
34612
34613 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
34614 (grub_disk_ata_pass_through): New exported variable.
34615
34616 * kern/disk.c (grub_disk_ata_pass_through): New variable.
34617
346182009-02-13 Colin D Bennett <colin@gibibit.com>
34619
34620 Support multiple fallback entries, and provide an API to support
34621 executing default+fallback menu entries. Renamed the `terminal' menu
34622 viewer to `text'.
34623
34624 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
34625 variable declaration.
34626 (grub_menu_execute_callback): New structure declaration.
34627 (grub_menu_execute_callback_t): New typedef.
34628 (grub_menu_execute_with_fallback): New function declaration.
34629 (grub_menu_get_entry): Likewise.
34630 (grub_menu_get_timeout): Likewise.
34631 (grub_menu_set_timeout): Likewise.
34632
34633 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
34634
34635 * normal/menu.c (grub_wait_after_message): Moved to
34636 `normal/menu_text.c'.
34637 (draw_border): Likewise.
34638 (print_message): Likewise.
34639 (print_entry): Likewise.
34640 (print_entries): Likewise.
34641 (grub_menu_init_page): Likewise.
34642 (get_entry_number): Likewise.
34643 (print_timeout): Likewise.
34644 (run_menu): Likewise.
34645 (grub_menu_execute_entry): Likewise.
34646 (show_text_menu): Likewise.
34647 (get_and_remove_first_entry_number): New function.
34648 (grub_menu_execute_with_fallback): Likewise.
34649 (get_entry): Renamed to ...
34650 (grub_menu_get_entry): .. this and made it global.
34651 (get_timeout): Renamed to ...
34652 (grub_menu_get_timeout): ... this and made it global.
34653 (set_timeout): Renamed to ...
34654 (grub_menu_set_timeout): ... this and made it global.
34655 (grub_normal_terminal_menu_viewer): Renamed to ...
34656 (grub_normal_text_menu_viewer): ... this.
34657
34658 * normal/menu_text.c: New file. Extracted text-menu-specific code
34659 from normal/menu.c.
34660
34661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
34662 (normal_mod_SOURCES): Likewise.
34663
34664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34665 (normal_mod_SOURCES): Likewise.
34666
34667 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34668 (normal_mod_SOURCES): Likewise.
34669
34670 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
34671 (normal_mod_SOURCES): Likewise.
34672
34673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34674 (normal_mod_SOURCES): Likewise.
34675
34676 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34677 (normal_mod_SOURCES): Likewise.
34678
34679 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34680 (normal_mod_SOURCES): Likewise.
34681
346822009-02-11 Robert Millan <rmh@aybabtu.com>
34683
34684 * util/grub.d/00_header.in: Update old reference to `font' command.
34685
346862009-02-10 Felix Zielcke <fzielcke@z-51.de>
34687
34688 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
34689
34690 Based on patch from Javier Martín.
34691
346922009-02-09 Felix Zielcke <fzielcke@z-51.de>
34693
34694 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
34695 to avoid false positives with FAT.
34696 (grub_fstest_SOURCES): Likewise.
34697 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34698 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34700 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34701 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34702 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34703
347042009-02-09 Felix Zielcke <fzielcke@z-51.de>
34705
34706 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
34707 bpb.version_specific.fat12_or_fat16.fstype and
34708 bpb.version_specific.fat32.fstype.
34709
347102009-02-08 Robert Millan <rmh@aybabtu.com>
34711
34712 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
34713
347142009-02-08 Robert Millan <rmh@aybabtu.com>
34715
34716 * Makefile.in (host_os, host_cpu): New variables.
34717 (target_os): Remove. Update all users.
34718
347192009-02-08 Marco Gerards <marco@gnu.org>
34720
34721 * Makefile.in (enable_grub_emu_usb): New variable.
34722 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
34723 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
34724 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
34725 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
34726 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
34727 `usbtest.mod' and `usbms.mod'.
34728 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
34729 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
34730 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
34731 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
34732 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
34733 variables.
34734
34735 * disk/usbms.c: New file.
34736
34737 * include/grub/usb.h: Likewise.
34738
34739 * include/grub/usbtrans.h: Likewise.
34740
34741 * include/grub/usbdesc.h: Likewise.
34742
34743 * bus/usb/usbtrans.c: Likewise.
34744
34745 * bus/usb/ohci.c: Likewise.
34746
34747 * bus/usb/uhci.c: Likewise.
34748
34749 * bus/usb/usbhub.c: Likewise.
34750
34751 * bus/usb/usb.c: Likewise.
34752
34753 * commands/usbtest.c: Likewise.
34754
34755 * util/usb.c: Likewise.
34756
34757 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
34758
34759 * configure.ac: Test for libusb presence.
34760
34761 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
34762
347632009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
34764
34765 * kern/mm.c: Add more comments.
34766
347672009-02-08 Robert Millan <rmh@aybabtu.com>
34768
34769 Patch from Javier Martín.
34770 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
34771 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
34772
347732009-02-08 Robert Millan <rmh@aybabtu.com>
34774
34775 * fs/cpio.c: Split tar functionality to ...
34776 * fs/tar.c: ... here (new file). Update all users.
34777
347782009-02-07 Robert Millan <rmh@aybabtu.com>
34779
34780 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
34781 backward-incompatible features.
34782
34783 Based on patch from Javier Martín, with some adjustments.
34784
347852009-02-07 Michael Scherer <misc@mandriva.org>
34786
34787 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34788
347892009-02-07 Robert Millan <rmh@aybabtu.com>
34790
34791 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
34792 position of `disk/lvm.c' to ensure grub_init_all() always picks it
34793 after the RAID stuff.
34794
347952009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34796
34797 Fixes problem when running vbetest command as reported by
34798 Vladimir Serbinenko <phcoder@gmail.com>.
34799
34800 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34801
348022009-02-04 Felix Zielcke <fzielcke@z-51.de>
34803
34804 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
34805 /dev/md/NpN style mdraid devices.
34806
348072009-02-03 Felix Zielcke <fzielcke@z-51.de>
34808
34809 * util/unifont2pff.rb: Remove.
34810
348112009-02-03 Felix Zielcke <fzielcke@z-51.de>
34812
34813 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34814 `#'.
34815
348162009-02-03 Felix Zielcke <fzielcke@z-51.de>
34817
34818 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
34819 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34820 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34821 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34823 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34825
348262009-02-02 Christian Franke <franke@computer.org>
34827
34828 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34829
348302009-02-01 Felix Zielcke <fzielcke@z-51.de>
34831
34832 * INSTALL: Note that we now require at least autoconf 2.59 and
34833 that LZO is optional.
34834
348352009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34836
34837 Base on patch on bug #24154 created by Tomas Tintera
34838 <trosos@seznam.cz>.
34839
34840 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
34841
348422009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34843
34844 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
34845 <bero@arklinux.org>.
34846
34847 * normal/parser.y (script_init): Add missing semicolon.
34848
348492009-01-31 Colin D Bennett <colin@gibibit.com>
34850
34851 * normal/main.c: Add include to grub/menu_viewer.h.
34852 (free_menu_entry_classes): Added.
34853 (grub_normal_menu_addentry): Added class property handling.
34854 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
34855 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
34856
34857 * normal/menu_viewer.c: New file.
34858
34859 * normal/menu.c (run_menu_entry): Renamed to ...
34860 (grub_menu_execute_entry): ... this and made it as global.
34861 (grub_menu_run): Renamed to ...
34862 (show_text_menu): ... this and made it local.
34863 (show_text_menu): Adapt to new function names.
34864 (grub_normal_terminal_menu_viewer): New global variable.
34865
34866 * include/grub/menu.h: New file.
34867
34868 * include/grub/menu_viewer.h: New file.
34869
34870 * include/grub/normal.h: Added include to grub/menu.h.
34871 (grub_menu_entry): Moved to include/grub/menu.h.
34872 (grub_menu_entry_t): Likewise.
34873 (grub_menu): Likewise.
34874 (grub_menu_t): Likewise.
34875 (grub_normal_terminal_menu_viewer): Added.
34876 (grub_menu_execute_entry): Likewise.
34877 (grub_menu_run): Removed.
34878
34879 * DISTLIST: Added include/grub/menu.h.
34880 Added include/grub/menu_viewer.h.
34881 Added normal/menu_viewer.c.
34882
348832009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34884
34885 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34886 arglist for menutitle arguments.
34887
34888 * normal/main.c (grub_normal_menu_addentry): Likewise.
34889
34890 * normal/parser.y (menuentry): Likewise.
34891
34892 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34893
34894 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34895 (grub_script_create_cmdmenu): Likewise.
34896
34897 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34898
34899 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34900 changes.
34901
34902 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34903
34904 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34905
34906 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34907
34908 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34909
34910 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34911
34912 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34913
349142009-01-30 Christian Franke <franke@computer.org>
34915
34916 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34917 in option help text.
34918
349192009-01-27 Pavel Roskin <proski@gnu.org>
34920
34921 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34922
349232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34924
34925 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34926
34927 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34928
34929 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34930 unregister function.
34931
349322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34933
34934 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34935
34936 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34937
34938 * util/grub-mkfont.c (usage): Fix typo.
34939
34940 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34941
349422009-01-26 Daniel Mierswa <impulze@impulze.org>
34943
34944 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34945
34946 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34947
34948 * kern/misc.c (grub_strcasecmp): New function.
34949 (grub_strcasecmp): Use grub_size_t instead of int for length.
34950 Fix return value.
34951 * include/grub/misc.h: Update function prototypes.
34952
349532009-01-26 Robert Millan <rmh@aybabtu.com>
34954
34955 * configure.ac: Fix cross-compilation check.
34956
349572009-01-22 Christian Franke <franke@computer.org>
34958
34959 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34960 (precision) digit string. Allow `.format2' without `format1' (width).
34961 Limit input chars for `%s' output to `format2' if specified. This is
34962 compatible with standard printf ().
34963
349642009-01-22 Christian Franke <franke@computer.org>
34965
34966 * disk/ata.c (grub_ata_wait_status): Replace by ...
34967 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34968 other status bits may be invalid while BSY is asserted.
34969 (grub_ata_check_ready): New function.
34970 (grub_ata_cmd): Removed.
34971 (grub_ata_wait_drq): New function.
34972 (grub_ata_strncpy): Remove inline.
34973 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34974 and error check now done by grub_ata_wait_drq ().
34975 (grub_ata_pio_write): Likewise.
34976 (grub_atapi_identify): Set DEV before check for !BSY. Use
34977 grub_ata_wait_drq () to wait for data.
34978 (grub_ata_device_initialize): Add status register check to
34979 detect missing SATA slave devices. Add debug messages.
34980 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34981 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34982 transfer loop by grub_ata_pio_write ().
34983 (grub_ata_identify): Set DEV before check for !BSY. Use
34984 grub_ata_wait_drq () to wait for data.
34985 (grub_ata_setaddress): Set DEV before check for !BSY.
34986 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34987 read/write in one loop. Fix invalid command on write. Fix incomplete
34988 command on (size % batch) == 0. Add missing error check after write of
34989 last block. Add debug messages.
34990 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34991
349922009-01-19 Christian Franke <franke@computer.org>
34993
34994 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34995 (GRUB_ATAPI_IREASON_*): Likewise.
34996 (grub_ata_pio_write): Fix timeout error return.
34997 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34998 (grub_atapi_wait_drq): New function.
34999 (grub_atapi_packet): New parameter `size'.
35000 Use grub_atapi_wait_drq () and direct write instead of
35001 grub_ata_pio_write ().
35002 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35003 reads the number of bytes requested by the device for each DRQ
35004 assertion.
35005 (grub_atapi_write): Remove old implementation, return not
35006 implemented instead.
35007
350082009-01-19 Christian Franke <franke@computer.org>
35009
35010 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35011 of 512 to calculate data size.
35012 (grub_scsi_read12): Likewise.
35013 (grub_scsi_write10): Likewise.
35014 (grub_scsi_write12): Likewise.
35015 (grub_scsi_read): Adjust size according to blocksize.
35016 Add checks for invalid blocksize and unaligned transfer.
35017
350182009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35019
35020 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35021
35022 * term/gfxterm.c (write_char): Fix background rendering for wide
35023 width glyphs.
35024
350252009-01-19 Robert Millan <rmh@aybabtu.com>
35026
35027 * config.guess: Update to latest version from config git.
35028 * config.sub: Likewise.
35029
350302009-01-17 Felix Zielcke <fzielcke@z-51.de>
35031
35032 * Makefile.in: Change font compilation to use new grub-mkfont instead
35033 of java version.
35034
35035 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35036 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35037 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35039 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35040 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35041 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35042 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35043 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35044
350452009-01-16 Christian Franke <franke@computer.org>
35046
35047 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35048 (enum grub_ata_timeout_milliseconds): New enum.
35049 (grub_ata_wait_status): Add parameter milliseconds.
35050 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35051 recovery from timed-out commands.
35052 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35053 return grub_errno instead of REG_ERROR.
35054 (grub_ata_pio_write): Add parameter milliseconds.
35055 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35056 Pass milliseconds to grub_ata_wait_status () and
35057 grub_ata_pio_read ().
35058 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35059 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35060 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35061 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35062 It is not suitable for device detection, because DEV bit is ignored,
35063 the command may run too long, and not all devices set the signature
35064 properly.
35065 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35066 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35067 Fix device selection, DEV bit must be set first to address the registers
35068 of the correct device.
35069 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35070 grub_ata_pio_read/write ().
35071 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35072 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35073
350742009-01-13 Carles Pina i Estany <carles@pina.cat>
35075
35076 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35077
350782009-01-13 Bean <bean123ch@gmail.com>
35079
35080 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35081
350822009-01-13 Bean <bean123ch@gmail.com>
35083
35084 * Makefile.in: (enable_grub_mkfont): New variable.
35085 (freetype_cflags): Likewise.
35086 (freetype_libs): Likewise.
35087
35088 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35089 (grub_mkfont_SOURCES): New variable.
35090 (grub_mkfont_CFLAGS): Likewise.
35091 (grub_mkfont_LDFLAGS): Likewise.
35092
35093 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35094 library if `--enable-grub-mkfont' is requested.
35095 (enable_grub_mkfont): New variable.
35096 (freetype_cflags): Likewise.
35097 (freetype_libs): Likewise.
35098
35099 * util/grub-mkfont.c: New file.
35100
351012009-01-12 Christian Franke <franke@computer.org>
35102
35103 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35104 mode check. Fix setting of compat_use[].
35105
351062009-01-10 Robert Millan <rmh@aybabtu.com>
35107
35108 Update a few copyright years which we forgot to do in 2008 (only for
35109 files whose changes made in 2008 were copyright-significant)
35110
35111 * Makefile.in: Add 2008 to Copyright line.
35112 * disk/ieee1275/ofdisk.c: Likewise.
35113 * disk/efi/efidisk.c: Likewise.
35114 * kern/dl.c: Likewise.
35115 * kern/sparc64/ieee1275/init.c: Likewise.
35116 * kern/mm.c: Likewise.
35117 * kern/efi/mm.c: Likewise.
35118 * boot/i386/pc/boot.S: Likewise.
35119 * genfslist.sh: Likewise.
35120 * fs/iso9660.c: Likewise.
35121 * fs/hfs.c: Likewise.
35122 * fs/jfs.c: Likewise.
35123 * fs/minix.c: Likewise.
35124 * fs/ufs.c: Likewise.
35125 * gensymlist.sh.in: Likewise.
35126 * genkernsyms.sh.in: Likewise.
35127 * include/grub/misc.h: Likewise.
35128 * include/grub/types.h: Likewise.
35129 * include/grub/symbol.h: Likewise.
35130 * include/grub/elf.h: Likewise.
35131 * include/grub/kernel.h: Likewise.
35132 * include/grub/disk.h: Likewise.
35133 * include/grub/dl.h: Likewise.
35134 * include/grub/i386/linux.h: Likewise.
35135 * include/grub/i386/pc/biosdisk.h: Likewise.
35136 * include/grub/efi/api.h: Likewise.
35137 * include/grub/efi/pe32.h: Likewise.
35138 * include/grub/util/misc.h: Likewise.
35139 * normal/execute.c: Likewise.
35140 * normal/arg.c: Likewise.
35141 * normal/completion.c: Likewise.
35142 * normal/lexer.c: Likewise.
35143 * normal/parser.y: Likewise.
35144 * normal/misc.c: Likewise.
35145 * commands/i386/pc/vbeinfo.c: Likewise.
35146 * commands/hexdump.c: Likewise.
35147 * commands/terminal.c: Likewise.
35148 * commands/ls.c: Likewise.
35149 * commands/help.c: Likewise.
35150 * partmap/pc.c: Likewise.
35151 * loader/efi/chainloader.c: Likewise.
35152 * loader/multiboot_loader.c: Likewise.
35153 * loader/i386/pc/multiboot2.c: Likewise.
35154 * term/efi/console.c: Likewise.
35155 * term/i386/pc/serial.c: Likewise.
35156 * util/lvm.c: Likewise.
35157 * util/console.c: Likewise.
35158 * util/i386/efi/grub-mkimage.c: Likewise.
35159 * util/raid.c: Likewise.
35160
351612009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
35162
35163 * commands/videotest.c: Removed include to grub/machine/memory.h.
35164
35165 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
35166 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
35167 (video_mod_SOURCES): Removed.
35168 (video_mod_CFLAGS): Likewise.
35169 (video_mod_LDFLAGS): Likewise.
35170 (gfxterm_mod_SOURCES): Likewise.
35171 (gfxterm_mod_CFLAGS): Likewise.
35172 (gfxterm_mod_LDFLAGS): Likewise.
35173 (videotest_mod_SOURCES): Likewise.
35174 (videotest_mod_CFLAGS): Likewise.
35175 (videotest_mod_LDFLAGS): Likewise.
35176 (bitmap_mod_SOURCES): Likewise.
35177 (bitmap_mod_CFLAGS): Likewise.
35178 (bitmap_mod_LDFLAGS): Likewise.
35179 (tga_mod_SOURCES): Likewise.
35180 (tga_mod_CFLAGS): Likewise.
35181 (tga_mod_LDFLAGS): Likewise.
35182 (jpeg_mod_SOURCES): Likewise.
35183 (jpeg_mod_CFLAGS): Likewise.
35184 (jpeg_mod_LDFLAGS): Likewise.
35185 (png_mod_SOURCES): Likewise.
35186 (png_mod_CFLAGS): Likewise.
35187 (png_mod_LDFLAGS): Likewise.
35188
35189 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35190 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35191 (video_mod_SOURCES): Added.
35192 (video_mod_CFLAGS): Likewise.
35193 (video_mod_LDFLAGS): Likewise.
35194 (videotest_mod_SOURCES): Likewise.
35195 (videotest_mod_CFLAGS): Likewise.
35196 (videotest_mod_LDFLAGS): Likewise.
35197 (bitmap_mod_SOURCES): Likewise.
35198 (bitmap_mod_CFLAGS): Likewise.
35199 (bitmap_mod_LDFLAGS): Likewise.
35200 (tga_mod_SOURCES): Likewise.
35201 (tga_mod_CFLAGS): Likewise.
35202 (tga_mod_LDFLAGS): Likewise.
35203 (jpeg_mod_SOURCES): Likewise.
35204 (jpeg_mod_CFLAGS): Likewise.
35205 (jpeg_mod_LDFLAGS): Likewise.
35206 (png_mod_SOURCES): Likewise.
35207 (png_mod_CFLAGS): Likewise.
35208 (png_mod_LDFLAGS): Likewise.
35209 (gfxterm_mod_SOURCES): Likewise.
35210 (gfxterm_mod_CFLAGS): Likewise.
35211 (gfxterm_mod_LDFLAGS): Likewise.
35212
35213 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35214 grub/machine/console.h.
35215
352162009-01-04 Jerone Young <jerone@gmail.com>
35217
35218 Make on screen instructions clearer
35219
35220 Based on patch created by Jidanni <jidanni@jidanni.org>
35221
35222 * normal/menu.c: print clearer instructions on the screen
35223
352242009-01-02 Colin D Bennett <colin@gibibit.com>
35225
35226 New font engine.
35227
35228 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35229 build system and fixed gfxterm.c to work with different sized fonts.
35230
35231 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
35232
35233 * configure: Re-generated.
35234
35235 * DISTLIST: Removed font/manager.c.
35236 Added font/font.c.
35237 Added font/font_cmd.c.
35238
35239 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
35240 compilation.
35241
35242 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
35243
35244 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
35245
35246 * kern/term.c: Changed users of grub_utf8_to_ucs4.
35247
35248 * normal/menu.c: Likewise.
35249
35250 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
35251 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
35252
35253 * include/grub/font.h: Replaced with new file.
35254
35255 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
35256 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
35257 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
35258 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
35259 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
35260 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
35261 fg_red, fg_green, fg_blue, fg_alpha.
35262 (grub_video_adapter): Removed blit_glyph.
35263 (grub_video_blit_glyph): Removed.
35264
35265 * font/manager.c: Removed file.
35266
35267 * font/font.c: New file.
35268
35269 * font/font_cmd.c: Likewise.
35270
35271 * video/video.c (grub_video_blit_glyph): Removed.
35272
35273 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
35274 (grub_video_vbe_map_rgba): Likewise.
35275 (grub_video_vbe_unmap_color_int): Likewise.
35276 (grub_video_vbe_blit_glyph): Removed.
35277 (grub_video_vbe_adapter): Removed blit_glyph.
35278
35279 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
35280 (get_pixel): Likewise.
35281 (set_pixel): Likewise.
35282
35283 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
35284
35285 * term/gfxterm.c: Adapted to new font engine.
35286
35287 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
35288
35289 * term/i386/pc/vga.c: Likewise.
35290
35291 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
35292
35293 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35294
35295 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35296
35297 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35298
35299 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35300
35301 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35302
35303 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35304
35305 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35306
35307 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35308
35309 * util/grub.d/00_header.in: Changed to use new loadfont command.
35310
35311 * util/grub-mkconfig_lib.in: Changed font extension.
35312
353132008-12-28 Felix Zielcke <fzielcke@z-51.de>
35314
35315 * util/getroot.c (grub_util_get_grub_dev): Add support for
35316 /dev/md/dNNpNN style partitionable mdraid devices.
35317
353182008-12-12 Alex Smith <alex@alex-smith.me.uk>
35319
35320 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
35321 at a time limit of the PXE TFTP API correctly.
35322 (grub_pxefs_close): Likewise.
35323
353242008-11-29 Robert Millan <rmh@aybabtu.com>
35325
35326 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
35327 grub_ata_device_initialize() calls.
35328
353292008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
35330
35331 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
35332 iteration failed.
35333 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
35334
353352008-11-28 Robert Millan <rmh@aybabtu.com>
35336
35337 Fix build on powerpc-ieee1275. Based on patch created by
35338 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
35339 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35340 `kern/ieee1275/mmap.c'.
35341 * include/grub/powerpc/ieee1275/memory.h: New file.
35342
35343 Provide grub-install on coreboot.
35344 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
35345 (grub_install_SOURCES): New variable.
35346 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35347 usable on coreboot.
35348
353492008-11-25 Felix Zielcke <fzielcke@z-51.de>
35350
35351 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35352 to `grub_term_input_t'.
35353 (grub_term_get_current_output): Change return type to
35354 `grub_term_output_t'.
35355
353562008-11-22 Robert Millan <rmh@aybabtu.com>
35357
35358 Fix breakage on coreboot due to declaration mismatch.
35359 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35360 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35361 grub_vga_text_cls().
35362
35363 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
35364 comments. Avoid copying one more byte than necessary (just in case).
35365
35366 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35367 to 0x200000 (avoids trouble with some OFW implementations, and matches
35368 with the one in Yaboot).
35369 Reported by Manoel Abranches
35370
353712008-11-20 Robert Millan <rmh@aybabtu.com>
35372
35373 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35374 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35375
35376 * util/grub-mkconfig_lib.in (grub_warn): New function.
35377 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35378 warnings, to obtain consistent formatting.
35379 * util/grub.d/00_header.in: Likewise.
35380 * util/update-grub_lib.in: Likewise.
35381
35382 * loader/i386/linux.c (allocate_pages): Fix a warning.
35383 Move comment text to `#error' stanza.
35384
35385 Harmonize ieee1275's grub_available_iterate() with the generic
35386 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35387 build problem on i386-ieee1275):
35388 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35389 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35390 parameter `type'. Update all users of this function.
35391 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35392 `kern/ieee1275/mmap.c'.
35393 * kern/ieee1275/init.c
35394 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35395 with ...
35396 (grub_machine_mmap_iterate): ... this.
35397 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35398 return type to `grub_err_t'. Update all implementations of this
35399 function prototype.
35400 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35401 Likewise.
35402
35403 Add `lsmmap' command (lists firmware-provided memory map):
35404 * commands/lsmmap.c: New file.
35405 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35406 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35407 variables.
35408 * conf/powerpc-ieee1275.rmk: Likewise.
35409 * conf/i386-coreboot.rmk: Likewise.
35410 * conf/i386-ieee1275.rmk: Likewise.
35411
354122008-11-19 Robert Millan <rmh@aybabtu.com>
35413
35414 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
35415 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35416 constraints to initrd allocation (based on code from
35417 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35418 for Linux to find it.
35419
354202008-11-14 Robert Millan <rmh@aybabtu.com>
35421
35422 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35423 order to cope with duplicate slashes.
35424
354252008-11-14 Robert Millan <rmh@aybabtu.com>
35426
35427 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35428 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35429 don't want to mess with lower memory, because it is used in the Linux
35430 loader.
35431
35432 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
35433 an appropriate place in lower memory, between 0x10000 and 0x90000,
35434 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35435 is in our heap (probably as a result of it being corrupted during
35436 decompression). Add #error instance with comment to explain why this
35437 loader isn't currently usable on PC/BIOS.
35438
354392008-11-14 Robert Millan <rmh@aybabtu.com>
35440
35441 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
35442 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
35443
354442008-11-12 Robert Millan <rmh@aybabtu.com>
35445
35446 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35447
35448 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35449 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35450 from here ...
35451 * include/grub/i386/pc/memory.h: ... to here.
35452
354532008-11-12 Robert Millan <rmh@aybabtu.com>
35454
35455 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35456 split).
35457
35458 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35459 (grub_console_cur_color, grub_console_real_putchar)
35460 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35461 (grub_console_setcolorstate, grub_console_setcolor)
35462 (grub_console_getcolor): Move from here ...
35463 * include/grub/i386/vga_common.h: ... to here (new file).
35464
35465 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35466 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35467 `<grub/i386/io.h>'.
35468 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35469 `<grub/i386/vga_common.h>'.
35470
354712008-11-12 Robert Millan <rmh@aybabtu.com>
35472
35473 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35474 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35475 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35476 variables.
35477 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35478 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35479
35480 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35481 grub_console_init() with call to grub_vga_text_init().
35482 (grub_machine_fini): Replace call to
35483 grub_console_fini() with call to grub_vga_text_fini() and
35484 grub_at_keyboard_fini().
35485
35486 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35487 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35488 (grub_console_setcolorstate, grub_console_setcolor)
35489 (grub_console_getcolor): New function prototypes.
35490
35491 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35492 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35493 (grub_vga_text_setcursor): Static-ize.
35494 (grub_vga_text_term): New structure.
35495 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35496
35497 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35498 (grub_console_cur_color, grub_console_standard_color)
35499 (grub_console_normal_color, grub_console_highlight_color)
35500 (map_char, grub_console_putchar, grub_console_getcharwidth)
35501 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35502 (grub_console_getcolor): Move from here ...
35503 * term/i386/vga_common.c: ... to here (same function names).
35504
355052008-11-12 Robert Millan <rmh@aybabtu.com>
35506
35507 Use newly-added Multiboot support in coreboot.
35508
35509 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35510 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35511
35512 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35513 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35514 (codestart): Store the MBI in `startup_multiboot_info' when we're
35515 being loaded using Multiboot.
35516
35517 * kern/i386/coreboot/init.c (grub_machine_init): Move
35518 grub_at_keyboard_init() call to beginning of function (useful for
35519 debugging). Call grub_machine_mmap_init() before attempting to use
35520 grub_machine_mmap_iterate().
35521 (grub_lower_mem, grub_upper_mem): Move from here ...
35522 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
35523 here (new file).
35524
35525 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
35526 function prototype.
35527
355282008-11-12 Robert Millan <rmh@aybabtu.com>
35529
35530 Fix a regression introduced by the at_keyboard.mod split. Because
35531 some terminals are default on some platforms and non-default on
35532 others, the first terminal being registered determines which is
35533 going to be default.
35534
35535 * kern/term.c (grub_term_register_input): If this is the first
35536 terminal being registered, set it as the current one.
35537 (grub_term_register_output): Likewise.
35538
35539 * term/efi/console.c (grub_console_init): Do not call
35540 grub_term_set_current_output() or grub_term_set_current_input().
35541 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
35542 * term/i386/pc/console.c (grub_console_init): Likewise.
35543 (grub_console_fini): Do not call grub_term_set_current_input()
35544 (but leave grub_term_set_current_output() to restore text mode).
35545
355462008-11-10 Robert Millan <rmh@aybabtu.com>
35547
35548 * util/grub.d/00_header.in: Add backward compatibility check for
35549 versions of terminal.mod that don't understand `terminal_input' or
35550 `terminal_output'.
35551
355522008-11-09 Robert Millan <rmh@aybabtu.com>
35553
35554 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
35555 `terminal_input' / `terminal_output', not `terminal'.
35556
355572008-11-08 Robert Millan <rmh@aybabtu.com>
35558
35559 * Makefile.in (include_DATA): Fix srcdir=. assumption.
35560 (DISTCLEANFILES): Add `build_env.mk'.
35561
355622008-11-08 Robert Millan <rmh@aybabtu.com>
35563
35564 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
35565 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35566 members. Update all users.
35567 * util/console.c (grub_ncurses_term): Split in ...
35568 (grub_ncurses_term_input): ... this, and ...
35569 (grub_ncurses_term_output): ... this. Update all users.
35570 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
35571
355722008-11-08 Robert Millan <rmh@aybabtu.com>
35573
35574 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
35575 (PKGDATA): Add $(pkgdata_SRCDIR).
35576 (pkglib_BUILDDIR): New variable.
35577 (pkgdata_SRCDIR): New variable.
35578 (build_env.mk): New target.
35579 (include_DATA): New variable.
35580 (install-local): Install $(include_DATA) files in $(includedir).
35581
355822008-11-07 Pavel Roskin <proski@gnu.org>
35583
35584 * gendistlist.sh: Use C locale for sorting to ensure consistent
35585 output on all systems.
35586
35587 * util/grub.d/00_header.in: Remove incorrect space before
35588 "serial".
35589
355902008-11-07 Robert Millan <rmh@aybabtu.com>
35591
35592 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
35593 per specification.
35594 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
35595 * loader/multiboot_loader.c (find_multi_boot2_header): New function
35596 (based on find_multi_boot1_header).
35597 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
35598 using find_multi_boot2_header(), and abort if neither Multiboot or
35599 Multiboot headers were found.
35600
356012008-11-07 Robert Millan <rmh@aybabtu.com>
35602
35603 Modularize at_keyboard.mod:
35604
35605 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
35606 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
35607 (at_keyboard_mod_LDFLAGS): New variables.
35608
35609 Actual terminal split:
35610
35611 * include/grub/term.h (struct grub_term): Split in ...
35612 (struct grub_term_input): ... this, and ...
35613 (struct grub_term_output): ... this. Update all users.
35614 (grub_term_set_current): Split in ...
35615 (grub_term_set_current_input): ... this, and ...
35616 (grub_term_set_current_output): ... this.
35617 (grub_term_get_current): Split in ...
35618 (grub_term_get_current_input): ... this, and ...
35619 (grub_term_get_current_output): ... this.
35620 (grub_term_register): Split in ...
35621 (grub_term_register_input): ... this, and ...
35622 (grub_term_register_output): ... this.
35623 (grub_term_unregister): Split in ...
35624 (grub_term_unregister_input): ... this, and ...
35625 (grub_term_unregister_output): ... this.
35626 (grub_term_iterate): Split in ...
35627 (grub_term_iterate_input): ... this, and ...
35628 (grub_term_iterate_output): ... this.
35629
35630 * kern/term.c (grub_term_list): Split in ...
35631 (grub_term_list_input): ... this, and ...
35632 (grub_term_list_output): ... this. Update all users.
35633 (grub_cur_term): Split in ...
35634 (grub_cur_term_input): ... this, and ...
35635 (grub_cur_term_output): ... this. Update all users.
35636 (grub_term_set_current): Split in ...
35637 (grub_term_set_current_input): ... this, and ...
35638 (grub_term_set_current_output): ... this.
35639 (grub_term_get_current): Split in ...
35640 (grub_term_get_current_input): ... this, and ...
35641 (grub_term_get_current_output): ... this.
35642 (grub_term_register): Split in ...
35643 (grub_term_register_input): ... this, and ...
35644 (grub_term_register_output): ... this.
35645 (grub_term_unregister): Split in ...
35646 (grub_term_unregister_input): ... this, and ...
35647 (grub_term_unregister_output): ... this.
35648 (grub_term_iterate): Split in ...
35649 (grub_term_iterate_input): ... this, and ...
35650 (grub_term_iterate_output): ... this.
35651
35652 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
35653 a check for input and one for output (and only attempt to get keys
35654 from user when input works).
35655
35656 * util/grub-probe.c (grub_term_get_current): Split in ...
35657 (grub_term_get_current_input): ... this, and ...
35658 (grub_term_get_current_output): ... this.
35659 * util/grub-fstest.c: Likewise.
35660 * util/i386/pc/grub-setup.c: Likewise.
35661 * util/grub-editenv.c: Likewise.
35662
35663 Portability adjustments:
35664
35665 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
35666 `term/i386/pc/at_keyboard.c'.
35667 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
35668 grub_keyboard_controller_init() (now handled by terminal .init).
35669 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
35670 grub_at_keyboard_init().
35671 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
35672 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
35673 at_keyboard.mod via input terminal interface).
35674 * include/grub/i386/coreboot/console.h: Convert into a stub for
35675 `<grub/i386/pc/console.h>'.
35676
35677 Migrate full terminals to new API:
35678
35679 * term/efi/console.c (grub_console_term): Split into ...
35680 (grub_console_term_input): ... this, and ...
35681 (grub_console_term_output): ... this. Update all users.
35682 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
35683 (grub_ofconsole_init): Split into ...
35684 (grub_ofconsole_init_input): ... this, and ...
35685 (grub_ofconsole_init_output): ... this.
35686 (grub_ofconsole_term): Split into ...
35687 (grub_ofconsole_term_input): ... this, and ...
35688 (grub_ofconsole_term_output): ... this. Update all users.
35689 * term/i386/pc/serial.c (grub_serial_term): Split into ...
35690 (grub_serial_term_input): ... this, and ...
35691 (grub_serial_term_output): ... this. Update all users.
35692 * term/i386/pc/console.c (grub_console_term): Split into ...
35693 (grub_console_term_input): ... this, and ...
35694 (grub_console_term_output): ... this. Update all users.
35695 (grub_console_term_input): Only enable it on PC/BIOS platform.
35696 (grub_console_init): Remove grub_keyboard_controller_init() call.
35697
35698 Migrate input terminals to new API:
35699
35700 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
35701 `i386' and `i386/pc' to enable build on x86_64 (this driver is
35702 i386-specific anyway).
35703 (grub_console_checkkey): Rename to ...
35704 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
35705 users.
35706 (grub_keyboard_controller_orig): New variable.
35707 (grub_console_getkey): Rename to ...
35708 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
35709 users.
35710 (grub_keyboard_controller_init): Static-ize. Save original
35711 controller value so that it can be restored ...
35712 (grub_keyboard_controller_fini): ... here (new function).
35713 (grub_at_keyboard_term): New structure.
35714 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
35715 functions.
35716
35717 Migrate output terminals to new API:
35718
35719 * term/i386/pc/vga.c (grub_vga_term): Change type to
35720 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35721 members. Update all users.
35722 * term/gfxterm.c (grub_video_term): Change type to
35723 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35724 members. Update all users.
35725 * include/grub/i386/pc/console.h (grub_console_checkkey)
35726 (grub_console_getkey): Do not export (no longer needed by gfxterm,
35727 etc).
35728
35729 Migrate `terminal' command and userland tools to new API:
35730
35731 * commands/terminal.c (grub_cmd_terminal): Split into ...
35732 (grub_cmd_terminal_input): ... this, and ...
35733 (grub_cmd_terminal_output): ... this.
35734 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
35735 `terminal_input' and `terminal_output'.
35736 * util/grub.d/00_header.in: Adjust `terminal' calls to new
35737 `terminal_input' / `terminal_output' API.
35738 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
35739 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
35740 provided ${GRUB_TERMINAL}, convert it).
35741
357422008-11-04 Robert Millan <rmh@aybabtu.com>
35743
35744 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
35745 for FreeBSD.
35746 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
35747
357482008-11-03 Bean <bean123ch@gmail.com>
35749
35750 * kern/elf.c (grub_elf32_load): Revert to previous code.
35751 (grub_elf64_load): Likewise.
35752
35753 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
35754
357552008-11-01 Robert Millan <rmh@aybabtu.com>
35756
35757 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
35758 (TARGET_CPPFLAGS): Likewise.
35759 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
35760
357612008-11-01 Carles Pina i Estany <carles@pina.cat>
35762
35763 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
35764
357652008-10-29 Guillem Jover <guillem.jover@nokia.com>
35766
35767 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
35768 addition of objects until the code is not going to be able to fail.
35769
357702008-10-29 Guillem Jover <guillem.jover@nokia.com>
35771
35772 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
35773 (add a missing NULL check, and correct them by moving the pointer
35774 operations after the actual check).
35775
357762008-10-29 Robert Millan <rmh@aybabtu.com>
35777
35778 * util/i386/pc/grub-install.in: Handle empty string as output from
35779 make_system_path_relative_to_its_root().
35780
357812008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
35782
35783 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
35784 circular metadata worst case scenario. If the metadata is circular
35785 then copy the wrap in place.
35786 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
35787 project lib/format_text/layout.h
35788 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
35789
357902008-10-03 Felix Zielcke <fzielcke@z-51.de>
35791
35792 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
35793
357942008-10-03 Felix Zielcke <fzielcke@z-51.de>
35795
35796 * util/update-grub_lib.in: Mention filename in warning message.
35797
357982008-09-29 Felix Zielcke <fzielcke@z-51.de>
35799
35800 * NEWS: Update for rename of update-grub to grub-mkconfig.
35801
358022008-09-29 Felix Zielcke <fzielcke@z-51.de>
35803
35804 * util/update-grub_lib.in: Copy to ...
35805 * util/grub-mkconfig_lib.in: ... this. Update all users.
35806 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
35807 * util/update-grub.in: Rename to ...
35808 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
35809 option. Add `--output' option to allow users to specify the generated
35810 configuration file. Default to stdout.
35811 (update_grub_dir): Rename to ...
35812 (grub_mkconfig_dir): ... this.
35813 (grub_cfg): Default to an empty string.
35814 * conf/common.rmk (update-grub): Rename to ...
35815 (grub-mkconfig): ... this.
35816 (update-grub_lib): Copy to ...
35817 (grub-mkconfig_lib): ... this.
35818 (update-grub_SCRIPTS): Copy to ...
35819 (grub-mkconfig_SCRIPTS): ... this. Update all users.
35820 (update-grub_DATA): Rename to ...
35821 (grub-mkconfig_DATA): ... this.
35822
358232008-09-28 Robert Millan <rmh@aybabtu.com>
35824
35825 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
35826 to `modified'. Add the real `created' field.
35827 (grub_iso9660_uuid): Use `modified' rather than `created' for
35828 constructing the UUID.
35829
358302008-09-28 Felix Zielcke <fzielcke@z-51.de>
35831
35832 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
35833 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
35834
358352008-09-28 Bean <bean123ch@gmail.com>
35836
35837 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
35838 Thanks to Christian Franke for finding this bug.
35839
358402008-09-25 Robert Millan <rmh@aybabtu.com>
35841
35842 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
35843 instances of grub_util_get_disk_name() (see previous commit).
35844
358452008-09-25 Robert Millan <rmh@aybabtu.com>
35846
35847 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
35848 `util/i386/get_disk_name.c'.
35849 * conf/i386-efi.rmk: Likewise.
35850 * conf/x86_64-efi.rmk: Likewise.
35851 * conf/i386-coreboot.rmk: Likewise.
35852 * conf/i386-ieee1275.rmk: Likewise.
35853 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
35854 `util/ieee1275/get_disk_name.c'.
35855 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
35856 * util/ieee1275/get_disk_name.c: Remove file.
35857 * util/i386/get_disk_name.c: Remove file.
35858 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
35859 "hd%d" for device.map entries, rather than using
35860 grub_util_get_disk_name().
35861
358622008-09-24 Carles Pina i Estany <carles@pina.cat>
35863
35864 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
35865 warning.
35866 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
35867
358682008-09-24 Carles Pina i Estany <carles@pina.cat>
35869
35870 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35871 Changed to 0x5100.
35872 (GRUB_TERM_PPAGE): Changed to 0x4900.
35873
358742008-09-24 Robert Millan <rmh@aybabtu.com>
35875
35876 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35877 macros (they were i386-pc specific).
35878 * include/grub/sparc64/ieee1275/console.h: Likewise.
35879 * include/grub/efi/console.h: Likewise.
35880
358812008-09-22 Bean <bean123ch@gmail.com>
35882
35883 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35884 resident and in attribute list.
35885
35886 * include/grub/ntfs.h (BMP_LEN): Removed.
35887
358882008-09-22 Bean <bean123ch@gmail.com>
35889
35890 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
35891 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35892
35893 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35894 error occurs, as grub_disk_open will call grub_disk_close, which will
35895 call p->close (scsi).
35896
358972008-09-21 Felix Zielcke <fzielcke@z-51.de>
35898
35899 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35900 (AC_PREREQ): Bumped to 2.59.
35901 (AC_TRY_COMPILE): Replace obsolete macro with ...
35902 (AC_COMPILE_IFELSE): ... this.
35903 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35904 (AC_LINK_IFELSE): ... this.
35905
359062008-09-21 Felix Zielcke <fzielcke@z-51.de>
35907
35908 * autogen.sh: Add a call to `gendistlist.sh'.
35909
359102008-09-19 Christian Franke <franke@computer.org>
35911
35912 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35913 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35914 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35915 Export __enable_execute_stack() to modules.
35916 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35917 New function.
35918
359192008-09-09 Felix Zielcke <fzielcke@z-51.de>
35920
35921 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35922 Sort the list.
35923
359242008-09-09 Felix Zielcke <fzielcke@z-51.de>
35925
35926 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
35927 #include <grub/util/hostdisk.h>.
35928
359292008-09-08 Robert Millan <rmh@aybabtu.com>
35930
35931 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35932 segments when their filesz is zero (grub_file_read() interprets
35933 zero-size as "read until EOF", which results in memory corruption).
35934 Use `lowest_segment' rather than 0 for calculating the current
35935 segment load address.
35936
359372008-09-08 Robert Millan <rmh@aybabtu.com>
35938
35939 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35940 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35941 clobbered useful information.
35942
359432008-09-08 Robert Millan <rmh@aybabtu.com>
35944
35945 * include/grub/util/biosdisk.h: Move to ...
35946 * include/grub/util/hostdisk.h: ... here. Update all users.
35947 * util/biosdisk.c: Move to ...
35948 * util/hostdisk.c: ... here. Update all users.
35949
359502008-09-07 Robert Millan <rmh@aybabtu.com>
35951
35952 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35953 variables.
35954 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35955 and length can be stored directly in the `mbi->mmap_addr' and
35956 `mbi->mmap_length' struct fields.
35957
359582008-09-07 Robert Millan <rmh@aybabtu.com>
35959
35960 * conf/i386.rmk: New file. Provides declaration for building
35961 `cpuid.mod'.
35962 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35963 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35964 variables.
35965 Include `conf/i386.mk'.
35966 * conf/i386-efi.rmk: Likewise.
35967 * conf/x86_64-efi.rmk: Likewise.
35968 * conf/i386-coreboot.rmk: Likewise.
35969 * conf/i386-ieee1275.rmk: Likewise.
35970
359712008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35972
35973 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35974 Adds optimization support for BGR based modes.
35975
35976 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35977 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35978 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35979 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35980 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35981 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35982 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35983 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35984 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35985 (grub_video_i386_vbeblit_index_index): Likewise.
35986 (grub_video_i386_vbeblit_replace_directN): Added.
35987 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35988 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35989 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35990 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35991 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35992 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35993 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35994 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35995 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35996 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35997 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35998 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35999 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36000
36001 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36002 (grub_video_i386_vbefill_R8G8B8): Likewise.
36003 (grub_video_i386_vbefill_index): Likewise.
36004 (grub_video_i386_vbefill_direct32): Added.
36005 (grub_video_i386_vbefill_direct24): Likewise.
36006 (grub_video_i386_vbefill_direct16): Likewise.
36007 (grub_video_i386_vbefill_direct8): Likewise.
36008
36009 * include/grub/video.h (grub_video_blit_format): Removed
36010 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36011 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36012 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36013 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36014 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
36015
36016 * video/video.c (grub_video_get_blit_format): Updated to use new
36017 blit formats. Added handling for 16 bit color modes.
36018
36019 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
36020 fillers.
36021 (common_blitter): Updated to use new blitters.
36022
36023 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36024 Removed.
36025 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36026 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36027 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36028 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36029 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36030 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36031 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36032 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36033 (grub_video_i386_vbeblit_index_index): Likewise.
36034 (grub_video_i386_vbeblit_replace_directN): Added.
36035 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36036 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36037 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36038 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36039 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36040 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36041 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36042 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36043 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36044 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36045 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36046 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36047 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36048
36049 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36050 (grub_video_i386_vbefill_R8G8B8): Likewise.
36051 (grub_video_i386_vbefill_index): Likewise.
36052 (grub_video_i386_vbefill_direct32): Added.
36053 (grub_video_i386_vbefill_direct24): Likewise.
36054 (grub_video_i386_vbefill_direct16): Likewise.
36055 (grub_video_i386_vbefill_direct8): Likewise.
36056
36057 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36058 types.
36059
36060 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36061 types.
36062
36063 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36064 blitter types.
36065
36066 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36067 types.
36068
360692008-09-06 Felix Zielcke <fzielcke@z-51.de>
36070
36071 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36072 RAID level 1.
36073
360742008-09-06 Felix Zielcke <fzielcke@z-51.de>
36075
36076 * fs/iso9660.c (grub_iso9660_date): New structure.
36077 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36078 (grub_iso9660_uuid): New function.
36079
360802008-09-05 Bean <bean123ch@gmail.com>
36081
36082 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36083
36084 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36085 insensitive bit for names in Win32 and Win32 & DOS namespace.
36086
36087 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36088
36089 * include/grub/types.h (LONG_MAX): Likewise.
36090
360912008-09-04 Felix Zielcke <fzielcke@z-51.de>
36092
36093 * util/getroot.c: Include <config.h>.
36094 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36095 add support for /dev/md/N devices and handle LVM double dash escaping.
36096
360972008-09-04 Felix Zielcke <fzielcke@z-51.de>
36098
36099 * config.guess: Update to latest version from config git.
36100 * config.sub: Likewise.
36101
361022008-09-03 Robert Millan <rmh@aybabtu.com>
36103
36104 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36105 `disk->total_sectors'.
36106
361072008-09-01 Colin D Bennett <colin@gibibit.com>
36108
36109 * include/grub/normal.h: Fixed incorrect comment for
36110 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36111
361122008-09-01 Colin D Bennett <colin@gibibit.com>
36113
36114 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36115 values with defines.
36116
36117 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36118 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36119 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36120 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36121 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36122 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36123 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36124 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36125 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36126 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36127 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36128 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36129 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36130 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36131 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36132 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36133 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36134 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36135 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36136
361372008-08-31 Robert Millan <rmh@aybabtu.com>
36138
36139 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36140 declaration.
36141 (grub_multiboot): Fix a few warnings.
36142
361432008-08-31 Robert Millan <rmh@aybabtu.com>
36144
36145 * loader/i386/pc/multiboot.c: Update comment not to say that
36146 boot_device support is unimplemented.
36147
361482008-08-31 Robert Millan <rmh@aybabtu.com>
36149
36150 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36151 or memory map support are unimplemented.
36152
361532008-08-31 Colin D Bennett <colin@gibibit.com>
36154
36155 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36156
361572008-08-31 Colin D Bennett <colin@gibibit.com>
36158
36159 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
36160 total video memory in 'vbeinfo' output; show color format details for
36161 each video mode.
36162
361632008-08-30 Pavel Roskin <proski@gnu.org>
36164
36165 * util/genmoddep.c: Remove for real this time.
36166 * DISTLIST: Remove util/genmoddep.c.
36167
361682008-08-30 Robert Millan <rmh@aybabtu.com>
36169
36170 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
36171 as required by Multiboot spec (it was already 4-byte aligned, but
36172 only by chance).
36173
361742008-08-29 Pavel Roskin <proski@gnu.org>
36175
36176 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36177 * kern/powerpc/ieee1275/startup.S: ... this.
36178 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36179 * DISTLIST: Likewise.
36180
36181 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36182 grub/cpu/kernel.h. Add start label for consistency with other
36183 platforms. Add grub_prefix immediately after start. Add jump
36184 to the code after grub_prefix.
36185 * include/grub/powerpc/kernel.h: Provide valid values for
36186 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36187
361882008-08-29 Bean <bean123ch@gmail.com>
36189
36190 * configure.ac: Change host_os to cygwin for mingw.
36191 (asprintf): New check for function.
36192
36193 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36194 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36195
36196 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
36197 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
36198 sync, sleep and grub_util_get_disk_size for mingw.
36199
36200 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36201 to get size in mingw.
36202 (open_device): Use flag O_BINARY if it's defined.
36203 (find_root_device): Add dummy code for mingw.
36204
36205 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36206 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36207 (get_scsi_disk_name): Return 0 for mingw.
36208
36209 * util/hostfs.c: #include <grub/util/misc.h>.
36210 (grub_hostfs_open): Use "rb" flag to open file, use
36211 grub_util_get_disk_size to get disk size for mingw.
36212
36213 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36214 (asprintf): New function if HAVE_ASPRINTF is not set.
36215 (sync): New function for mingw.
36216 (sleep): Likewise.
36217 (grub_util_get_disk_size): Likewise.
36218
362192008-08-28 Pavel Roskin <proski@gnu.org>
36220
36221 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36222 kern/time.c.
36223
362242008-08-28 Robert Millan <rmh@aybabtu.com>
36225
36226 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36227
362282008-08-28 Robert Millan <rmh@aybabtu.com>
36229
36230 Change find_grub_drive() syntax so it doesn't prevent it from
36231 detecting NULL names as errors.
36232
36233 * util/biosdisk.c (find_grub_drive): Move free slot search code
36234 from here ...
36235 (find_free_slot): ... to here.
36236 (read_device_map): Use find_free_slot() to search for free slots.
36237
362382008-08-27 Marco Gerards <marco@gnu.org>
36239
36240 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
36241 (scsi_mod_SOURCES): New variable.
36242 (scsi_mod_CFLAGS): Likewise
36243 (scsi_mod_LDFLAGS): Likewise.
36244
36245 * disk/scsi.c: New file.
36246
36247 * include/grub/scsi.h: Likewise.
36248
36249 * include/grub/scsicmd.h: Likewise.
36250
36251 * disk/ata.c: Include <grub/scsi.h>.
36252 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
36253 instead.
36254 (grub_ata_iterate): Skip ATAPI devices.
36255 (grub_ata_open): Only handle ATAPI devices.
36256 (struct grub_atapi_read): Removed.
36257 (grub_atapi_readsector): Likewise.
36258 (grub_ata_read): No longer handle ATAPI devices.
36259 (grub_ata_write): Likewise.
36260 (grub_atapi_iterate): New function.
36261 (grub_atapi_read): Likewise.
36262 (grub_atapi_write): Likewise.
36263 (grub_atapi_open): Likewise.
36264 (grub_atapi_close): Likewise.
36265 (grub_atapi_dev): New variable.
36266 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
36267 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
36268
36269 * include/grub/disk.h (enum grub_disk_dev_id): Add
36270 `GRUB_DISK_DEVICE_SCSI_ID'.
36271
362722008-08-26 Robert Millan <rmh@aybabtu.com>
36273
36274 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
36275 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
36276 descriptive.
36277
362782008-08-23 Bean <bean123ch@gmail.com>
36279
36280 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
36281 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36282 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
36283 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
36284 dm_nv.mod.
36285 (raid5rec_mod_SOURCES): New macro.
36286 (raid5rec_mod_CFLAGS): Likewise.
36287 (raid5rec_mod_LDFLAGS): Likewise.
36288 (raid6rec_mod_SOURCES): Likewise.
36289 (raid6rec_mod_CFLAGS): Likewise.
36290 (raid6rec_mod_LDFLAGS): Likewise.
36291 (mdraid_mod_SOURCES): Likewise.
36292 (mdraid_mod_CFLAGS): Likewise.
36293 (mdraid_mod_LDFLAGS): Likewise.
36294 (dm_nv_mod_SOURCES): Likewise.
36295 (dm_nv_mod_CFLAGS): Likewise.
36296 (dm_nv_mod_LDFLAGS): Likewise.
36297
36298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
36299 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36300 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36301
36302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
36303 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36304
36305 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36306
36307 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36308
36309 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36310
36311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36312
36313 * disk/raid5_recover.c: New file.
36314
36315 * disk/raid6_recover.c: Likewise.
36316
36317 * disk/mdraid_linux.c: Likewise.
36318
36319 * disk/dmraid_nvidia.c: Likewise.
36320
36321 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
36322 ULONG_MAX.
36323
36324 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
36325 calculate the size of raid device.
36326 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
36327 different layout of raid5.
36328 (grub_raid_scan_device): Remove code specific to mdraid.
36329 (grub_raid_list): New variable.
36330 (free_array): New function.
36331 (grub_raid_register): Likewise.
36332 (grub_raid_unregister): Likewise.
36333 (grub_raid_rescan): Likewise.
36334 (GRUB_MOD_INIT): Don't iterate device here.
36335 (GRUB_MOD_FINI): Use free_array to release resource.
36336
36337 * include/grub/raid.h: Remove macro and structure specific to mdraid.
36338 (grub_raid5_recover_func_t): New function variable type.
36339 (grub_raid6_recover_func_t): Likewise.
36340 (grub_raid5_recover_func): New variable.
36341 (grub_raid6_recover_func): Likewise.
36342 (grub_raid_register): New function.
36343 (grub_raid_unregister): Likewise.
36344 (grub_raid_rescan): Likewise.
36345 (grub_raid_block_xor): Likewise.
36346
36347 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36348 (CMD_CRC): New macro.
36349 (part): Removed.
36350 (read_file): Handle device as well as file.
36351 (cmd_crc): New function.
36352 (fstest): Handle multiple disks.
36353 (options): Remove part, raw and long, add root and diskcount.
36354 (usage): Add crc, remove -p, -r, -l, add -r and -c.
36355 (main): Find the first non option entry and ignore subsequent options,
36356 add handling for the new options, support multiple disks.
36357
36358 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36359
363602008-08-23 Bean <bean123ch@gmail.com>
36361
36362 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36363
36364 * genfslist.sh: Ignore kernel.mod.
36365
36366 * genpartmaplist.sh: Likewise.
36367
363682008-08-23 Robert Millan <rmh@aybabtu.com>
36369
36370 * util/getroot.c (find_root_device): Skip anything that starts with
36371 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36372
363732008-08-22 Felix Zielcke <fzielcke@z-51.de>
36374
36375 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36376 * util/grub.d/00_header.in: Allow the administrator to change default
36377 gfxmode via ${GRUB_GFXMODE}.
36378
363792008-08-21 Felix Zielcke <fzielcke@z-51.de>
36380
36381 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36382
363832008-08-21 Robert Millan <rmh@aybabtu.com>
36384
36385 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36386 loader.
36387 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36388 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36389
363902008-08-20 Carles Pina i Estany <carles@pina.cat>
36391
36392 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36393 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36394
363952008-08-19 Robert Millan <rmh@aybabtu.com>
36396
36397 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36398 (struct grub_virtual_screen): Remove `cursor_color'.
36399 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36400 initialization.
36401 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36402
364032008-08-18 Robert Millan <rmh@aybabtu.com>
36404
36405 Unify (identical) linux_normal.c files.
36406 * loader/i386/efi/linux_normal.c: Move from here ...
36407 * loader/linux_normal.c: ... to here. Update all users.
36408 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36409 * loader/i386/ieee1275/linux_normal.c: Likewise.
36410
364112008-08-18 Robert Millan <rmh@aybabtu.com>
36412
36413 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36414 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36415 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36416 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36417 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36418 New macros.
36419 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36420 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36421 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36422 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36423 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36424 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36425 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36426 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36427 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36428 portably using grub_getxy().
36429 Replace `-EFI' with `-bzImage' in boot message.
36430
364312008-08-17 Robert Millan <rmh@aybabtu.com>
36432
36433 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36434
364352008-08-17 Robert Millan <rmh@aybabtu.com>
36436
36437 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36438
36439 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36440 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36441 (grub_machine_mmap_iterate): New function declaration.
36442 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36443 structure.
36444 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36445 macros.
36446
36447 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36448 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36449 Move e820 parsing from here ...
36450 * kern/i386/pc/mmap.c: New file.
36451 (grub_machine_mmap_iterate): ... to here.
36452
36453 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36454 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36455 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36456 (grub_available_iterate): Redeclare to return `void', and redeclare
36457 its hook to use grub_uint64_t as addr and size parameters, and rename
36458 to ...
36459 (grub_machine_mmap_iterate): ... this. Update all users.
36460
36461 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36462 to make it more readable. Rename to ...
36463 (grub_machine_mmap_iterate): ... this.
36464
36465 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36466 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36467 (grub_multiboot): Allocate an extra region after the payload, and fill
36468 it with a Multiboot memory map. Adjust a.out loader to calculate size
36469 with the extra space.
36470 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36471 with the extra space.
36472
364732008-08-17 Carles Pina i Estany <carles@pina.cat>
36474
36475 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
36476
364772008-08-17 Felix Zielcke <fzielcke@z-51.de>
36478
36479 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36480 mdate-sh to the list `find' searches for.
36481 * DISTLIST: Regenerated.
36482
364832008-08-16 Felix Zielcke <fzielcke@z-51.de>
36484
36485 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36486 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
36487 genmoddep.awk, gensymlist.sh.in.
36488 (DISTDIRS): Add bus, docs, hook, lib.
36489 * DISTLIST: Regenerated.
36490 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
36491
364922008-08-16 Robert Millan <rmh@aybabtu.com>
36493
36494 * disk/raid.c (grub_raid_init): Handle/report errors set by
36495 grub_device_iterate().
36496 * disk/lvm.c (grub_lvm_init): Likewise.
36497
364982008-08-15 Bean <bean123ch@gmail.com>
36499
36500 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36501 and datehook.mod.
36502 (datetime_mod_SOURCES): New macro.
36503 (datetime_mod_CFLAGS): Likewise.
36504 (datetime_mod_LDFLAGS): Likewise.
36505 (date_mod_SOURCES): Likewise.
36506 (date_mod_CFLAGS): Likewise.
36507 (date_mod_LDFLAGS): Likewise.
36508 (datehook_mod_SOURCES): Likewise.
36509 (datehook_mod_CFLAGS): Likewise.
36510 (datehook_mod_LDFLAGS): Likewise.
36511
36512 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36513 and datehook.mod.
36514 (datetime_mod_SOURCES): New macro.
36515 (datetime_mod_CFLAGS): Likewise.
36516 (datetime_mod_LDFLAGS): Likewise.
36517 (date_mod_SOURCES): Likewise.
36518 (date_mod_CFLAGS): Likewise.
36519 (date_mod_LDFLAGS): Likewise.
36520 (datehook_mod_SOURCES): Likewise.
36521 (datehook_mod_CFLAGS): Likewise.
36522 (datehook_mod_LDFLAGS): Likewise.
36523
36524 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36525 and datehook.mod.
36526 (datetime_mod_SOURCES): New macro.
36527 (datetime_mod_CFLAGS): Likewise.
36528 (datetime_mod_LDFLAGS): Likewise.
36529 (date_mod_SOURCES): Likewise.
36530 (date_mod_CFLAGS): Likewise.
36531 (date_mod_LDFLAGS): Likewise.
36532 (datehook_mod_SOURCES): Likewise.
36533 (datehook_mod_CFLAGS): Likewise.
36534 (datehook_mod_LDFLAGS): Likewise.
36535
36536 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36537 and datehook.mod.
36538 (datetime_mod_SOURCES): New macro.
36539 (datetime_mod_CFLAGS): Likewise.
36540 (datetime_mod_LDFLAGS): Likewise.
36541 (date_mod_SOURCES): Likewise.
36542 (date_mod_CFLAGS): Likewise.
36543 (date_mod_LDFLAGS): Likewise.
36544 (datehook_mod_SOURCES): Likewise.
36545 (datehook_mod_CFLAGS): Likewise.
36546 (datehook_mod_LDFLAGS): Likewise.
36547
36548 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36549 and datehook.mod.
36550 (datetime_mod_SOURCES): New macro.
36551 (datetime_mod_CFLAGS): Likewise.
36552 (datetime_mod_LDFLAGS): Likewise.
36553 (date_mod_SOURCES): Likewise.
36554 (date_mod_CFLAGS): Likewise.
36555 (date_mod_LDFLAGS): Likewise.
36556 (datehook_mod_SOURCES): Likewise.
36557 (datehook_mod_CFLAGS): Likewise.
36558 (datehook_mod_LDFLAGS): Likewise.
36559
36560 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
36561
36562 * commands/date.c: New file.
36563
36564 * hook/datehook.c: Likewise.
36565
36566 * include/grub/lib/datetime.h: Likewise.
36567
36568 * include/grub/i386/cmos.h: Likewise.
36569
36570 * lib/datetime.c: Likewise.
36571
36572 * lib/i386/datetime.c: Likewise.
36573
36574 * lib/efi/datetime.c: Likewise.
36575
365762008-08-14 Robert Millan <rmh@aybabtu.com>
36577
36578 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
36579 (grub_mkelfimage_SOURCES): New variable.
36580 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
36581
36582 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
36583 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
36584 * conf/powerpc-ieee1275.rmk: Likewise.
36585 * conf/i386-ieee1275.rmk: Likewise.
36586
36587 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
36588 * kern/i386/coreboot/init.c: Likewise.
36589
36590 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
36591 with `<grub/cpu/kernel.h>'.
36592 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
36593 to ...
36594 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
36595 * kern/i386/coreboot/startup.S: Likewise.
36596
36597 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
36598 (GRUB_MOD_GAP): Remove.
36599 * include/grub/powerpc/kernel.h: New file.
36600 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
36601 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36602 * include/grub/i386/kernel.h: New file.
36603 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
36604 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
36605 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36606
36607 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
36608 `grub-mkelfimage'.
36609 Use --directory when invoking grub_mkimage.
36610
36611 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
36612 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
36613 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
36614 and GRUB_KERNEL_CPU_PREFIX.
36615
366162008-08-14 Felix Zielcke <fzielcke@z-51.de>
36617
36618 * include/grub/err.h (grub_err_printf): New function prototype.
36619 * util/misc.c (grub_err_printf): New function.
36620 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
36621 grub_printf.
36622 * kern/err.c (grub_print_error): Use grub_err_printf.
36623
366242008-08-13 Robert Millan <rmh@aybabtu.com>
36625
36626 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
36627
366282008-08-13 Robert Millan <rmh@aybabtu.com>
36629
36630 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
36631 boot entry.
36632
366332008-08-12 Robert Millan <rmh@aybabtu.com>
36634
36635 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
36636 of the relocation code from here ...
36637 (grub_multiboot): ... to here.
36638 (forward_relocator, backward_relocator): Move from here ...
36639 * kern/i386/loader.S (grub_multiboot_forward_relocator)
36640 (grub_multiboot_backward_relocator): ... to here.
36641 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
36642 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
36643 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
36644 (grub_multiboot_forward_relocator_end)
36645 (grub_multiboot_backward_relocator)
36646 (grub_multiboot_backward_relocator_end): New variables.
36647
366482008-08-12 Bean <bean123ch@gmail.com>
36649
36650 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
36651
366522008-08-11 Robert Millan <rmh@aybabtu.com>
36653
36654 * kern/i386/linuxbios/startup.S: Move from here ...
36655 * kern/i386/coreboot/startup.S: ... to here.
36656
36657 * kern/i386/linuxbios/init.c: Move from here ...
36658 * kern/i386/coreboot/init.c: ... to here.
36659
36660 * kern/i386/linuxbios/table.c: Move from here ...
36661 * kern/i386/coreboot/mmap.c: ... to here.
36662
36663 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
36664
366652008-08-11 Robert Millan <rmh@aybabtu.com>
36666
36667 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
36668 errors. Leave it to the upper layer to handle them.
36669
366702008-08-09 Christian Franke <franke@computer.org>
36671
36672 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
36673 * conf/common.rmk: Install `grub-pe2elf' only if requested.
36674 Install `grub.d/10_windows' only on Cygwin.
36675 * configure.ac: Add subst of `target_os'.
36676 Check `target_os' also before setting TARGET_OBJ2ELF.
36677 Add `--enable-grub-pe2elf'.
36678
366792008-08-08 Robert Millan <rmh@aybabtu.com>
36680
36681 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36682 (grub_last_time): Change type to grub_uint64_t.
36683 (grub_disk_open): Migrate code from to using grub_get_time_ms().
36684 (grub_disk_close): Likewise.
36685
36686 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36687 (run_menu): Migrate code from to using grub_get_time_ms().
36688
36689 * util/misc.c (grub_get_time_ms): New function.
36690
366912008-08-08 Marco Gerards <marco@gnu.org>
36692
36693 * disk/ata.c (grub_ata_regget): Change return type to
36694 `grub_uint8_t'.
36695 (grub_ata_regget2): Likewise.
36696 (grub_ata_wait_status): New function.
36697 (grub_ata_wait_busy): Removed function, updated all users to use
36698 `grub_ata_wait_status'.
36699 (grub_ata_wait_drq): Likewise.
36700 (grub_ata_cmd): New function.
36701 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
36702 error handling.
36703 (grub_ata_pio_write): Add error handling.
36704 (grub_atapi_identify): Likewise.
36705 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
36706 handling.
36707 (grub_ata_identify): Use `grub_ata_cmd' and improve error
36708 handling. Actually use the detected registers. Reorder the
36709 detection logic such that it is easier to read.
36710 (grub_ata_pciinit): Do not assign the same ID to each controller.
36711 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
36712 handling.
36713 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
36714
36715 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
36716
367172008-08-08 Marco Gerards <marco@gnu.org>
36718
36719 * NEWS: Update.
36720
367212008-08-07 Bean <bean123ch@gmail.com>
36722
36723 * include/grub/x86_64/pci.h: New file.
36724
367252008-08-07 Christian Franke <franke@computer.org>
36726
36727 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
36728 (TIMER2_GATE): Likewise.
36729 (grub_pit_wait): Add enable/disable of the timer2 gate
36730 bit of port 0x61. This fixes a possible infinite loop.
36731
367322008-08-07 Bean <bean123ch@gmail.com>
36733
36734 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
36735 kern/i386/tsc.c and kern/i386/pit.c.
36736
36737 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
36738 x86_64 platform.
36739
36740 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
36741 <grub/i386/tsc.h>.
36742
36743 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
36744
367452008-08-07 Bean <bean123ch@gmail.com>
36746
36747 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
36748
36749 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
36750
36751 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
36752 multiple inclusion. Add #include <grub/types.h>.
36753
367542008-08-06 Christian Franke <franke@computer.org>
36755
36756 * conf/common.rmk: Build and install `10_windows'.
36757 * util/grub.d/10_windows.in: New script.
36758
367592008-08-06 Pavel Roskin <proski@gnu.org>
36760
36761 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
36762
367632008-08-06 Robert Millan <rmh@aybabtu.com>
36764
36765 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
36766 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
36767
367682008-08-06 Bean <bean123ch@gmail.com>
36769
36770 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
36771 (grub_pxefs_fs_int): Remove dummy definition.
36772 (grub_pxefs_open): Use data->block_size to store the current block
36773 size setting.
36774 (grub_pxefs_read): Use block size stored in data->block_size. As the
36775 value of grub_pxe_blksize can be changed after the file is opened.
36776
367772008-08-06 Bean <bean123ch@gmail.com>
36778
36779 * fs/i386/pc/pxe.c (curr_file): new variable.
36780 (grub_pxefs_open): Simply the handling of pxe file system. Don't
36781 require the dummy internal file system anymore.
36782 (grub_pxefs_read): Removed.
36783 (grub_pxefs_close): Likewise.
36784 (grub_pxefs_fs_int): Likewise.
36785 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
36786 connection when we switch file.
36787 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
36788
367892008-08-06 Robert Millan <rmh@aybabtu.com>
36790
36791 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
36792 `halt.mod'.
36793 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
36794 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
36795
36796 * kern/i386/halt.c: New file.
36797 * kern/i386/reboot.c: Likewise.
36798 * include/grub/i386/reboot.h: Likewise.
36799 * include/grub/i386/halt.h: Likewise.
36800
36801 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
36802 Include `<grub/cpu/halt.h>'.
36803 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
36804 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
36805
36806 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
36807 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
36808 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
36809 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
36810 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
36811 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
36812 from here ...
36813 * include/grub/i386/at_keyboard.h: ... to here.
36814
368152008-08-05 Robert Millan <rmh@aybabtu.com>
36816
36817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
36818 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
36819 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
36820 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36821 `kern/generic/millisleep.c'.
36822
36823 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
36824 instead of grub_get_rtc().
36825 (grub_tsc_init): Initialize `tsc_boot_time'.
36826
36827 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
36828 (grub_machine_init): Use grub_tsc_init() rather than
36829 installing an RTC-based handler via grub_install_get_time_ms().
36830
36831 * kern/i386/pit.c: New file.
36832 * include/grub/i386/pit.h: Likewise.
36833
368342008-08-05 Bean <bean123ch@gmail.com>
36835
36836 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
36837
36838 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
36839 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
36840 (pxe_mod_SOURCES): New macro.
36841 (pxe_mod_CFLAGS): Likewise.
36842 (pxe_mod_LDFLAGS): Likewise.
36843 (pxecmd_mod_SOURCES): Likewise.
36844 (pxecmd_mod_CFLAGS): Likewise.
36845 (pxecmd_mod_LDFLAGS): Likewise.
36846
36847 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
36848 (grub_pxe_call): Likewise.
36849
36850 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
36851
36852 * commands/i386/pc/pxecmd.c: New file.
36853
36854 * fs/i386/pc/pxe.c: Likewise.
36855
36856 * include/grub/i386/pc/pxe.h: Likewise.
36857
368582008-08-05 Bean <bean123ch@gmail.com>
36859
36860 * util/console.c (grub_console_cur_color): New variable.
36861 (grub_console_standard_color): Likewise.
36862 (grub_console_normal_color): Likewise.
36863 (grub_console_highlight_color): Likewise.
36864 (color_map): Likewise.
36865 (use_color): Likewise.
36866 (NUM_COLORS): New macro.
36867 (grub_ncurses_setcolorstate): Handle color properly.
36868 (grub_ncurses_setcolor): Don't change color here, just remember the
36869 settings, color will be set in grub_ncurses_setcolorstate.
36870 (grub_ncurses_getcolor): New function.
36871 (grub_ncurses_init): Initialize color pairs.
36872 (grub_ncurses_term): New member grub_ncurses_getcolor.
36873
368742008-08-05 Colin D Bennett <colin@gibibit.com>
36875
36876 High resolution timer support. Implemented for x86 CPUs using TSC.
36877 Extracted generic grub_millisleep() so it's linked in only as needed.
36878 This requires a Pentium compatible CPU; if the RDTSC instruction is
36879 not supported, then it falls back on the generic grub_get_time_ms()
36880 implementation that uses the machine's RTC.
36881
36882 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36883 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36884 `kern/generic/millisleep.c'.
36885
36886 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36887 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36888
36889 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36890 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36891
36892 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36893
36894 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36895 `kern/generic/millisleep.c'.
36896
36897 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36898
36899 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36900
36901 * kern/generic/rtc_get_time_ms.c: New file.
36902
36903 * kern/generic/millisleep.c: New file.
36904
36905 * kern/misc.c: Don't include
36906 <kern/time.h> anymore.
36907 (grub_millisleep_generic): Removed.
36908
36909 * commands/sleep.c (grub_interruptible_millisleep): Uses
36910 grub_get_time_ms() instead of grub_get_rtc().
36911
36912 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36913 function.
36914 (grub_cpu_is_cpuid_supported): New inline function.
36915 (grub_cpu_is_tsc_supported): New inline function.
36916 (grub_tsc_init): New function prototype.
36917 (grub_tsc_get_time_ms): New function prototype.
36918
36919 * kern/i386/tsc.c (grub_get_time_ms): New file.
36920
36921 * include/grub/time.h: Include <grub/types.h.
36922 (grub_millisleep_generic): Removed.
36923 (grub_get_time_ms): New prototype.
36924 (grub_install_get_time_ms): New prototype.
36925 (grub_rtc_get_time_ms): New prototype.
36926
36927 * kern/time.c (grub_get_time_ms): New function.
36928 (grub_install_get_time_ms): New function.
36929
36930 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36931 <grub/time.h> anymore.
36932 (grub_millisleep): Removed.
36933 (grub_machine_init): Call grub_tsc_init.
36934
36935 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36936 get_time_ms() implementation.
36937
36938 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36939 (ieee1275_get_time_ms): New function.
36940 (grub_machine_init): Install get_time_ms() implementation.
36941
36942 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36943 (grub_machine_init): Call grub_tsc_init().
36944 (grub_millisleep): Removed.
36945
36946 * kern/ieee1275/init.c (grub_millisleep): Removed.
36947 (grub_machine_init): Install ieee1275_get_time_ms()
36948 implementation.
36949 (ieee1275_get_time_ms): New function.
36950 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36951 real work.
36952
369532008-08-05 Marco Gerards <marco@gnu.org>
36954
36955 * disk/ata.c: Include <grub/pci.h>.
36956 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36957 (grub_ata_initialize): Rewritten.
36958 (grub_ata_device_initialize): New function.
36959
369602008-08-04 Pavel Roskin <proski@gnu.org>
36961
36962 * kern/main.c: Include grub/mm.h.
36963
369642008-08-04 Robert Millan <rmh@aybabtu.com>
36965
36966 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36967 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36968 corruption problem).
36969
369702008-08-04 Robert Millan <rmh@aybabtu.com>
36971
36972 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36973 warnings introduced in my last commit.
36974
369752008-08-03 Robert Millan <rmh@aybabtu.com>
36976
36977 Make PCI available on all i386 architectures.
36978
36979 * include/grub/i386/pc/pci.h: Move from here ...
36980 * include/grub/i386/pci.h: ... to here.
36981
36982 * include/grub/i386/pc/pci.h: Remove.
36983 * include/grub/i386/efi/pci.h: Remove.
36984 * include/grub/x86_64/efi/pci.h: Remove.
36985
36986 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36987 `<grub/cpu/pci.h>'.
36988
36989 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36990 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36991 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36992
36993 * conf/i386-ieee1275.rmk: Likewise.
36994
369952008-08-03 Robert Millan <rmh@aybabtu.com>
36996
36997 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36998 (grub_console_setcursor): Make it possible to set cursor off.
36999
370002008-08-03 Robert Millan <rmh@aybabtu.com>
37001
37002 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37003 of modules instead of assuming which platform provides what.
37004 * util/update-grub.in: Likewise.
37005
370062008-08-03 Robert Millan <rmh@aybabtu.com>
37007
37008 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37009 instead of `grub_install_dos_part' to determine whether a drive needs
37010 to be prepended to prefix (`grub_install_dos_part' is not reliable,
37011 because it can be overridden when loading GRUB via Multiboot).
37012
370132008-08-02 Robert Millan <rmh@aybabtu.com>
37014
37015 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37016
370172008-08-02 Robert Millan <rmh@aybabtu.com>
37018
37019 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37020 of informational grub_dprintf() calls.
37021
370222008-08-02 Robert Millan <rmh@aybabtu.com>
37023
37024 * disk/memdisk.c (memdisk_size): Don't initialize.
37025 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37026
37027 * include/grub/i386/pc/kernel.h
37028 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37029 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37030 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37031 (grub_arch_memdisk_size): Remove.
37032
37033 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37034 field (was only used to transfer a constant). Add `type' field to
37035 support multiple module types.
37036 (grub_module_iterate): New function.
37037
37038 * kern/device.c (grub_device_open): Do not hide error messages
37039 when grub_disk_open() fails. Use grub_print_error() instead.
37040
37041 * kern/i386/pc/init.c (grub_arch_modules_addr)
37042 (grub_arch_memdisk_size): Remove functions.
37043 (grub_arch_modules_addr): Return the module address in high memory
37044 (now that it isn't copied anymore).
37045
37046 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37047 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37048 decompression routine (grub_total_module_size already includes that
37049 now). Don't copy modules back to low memory.
37050
37051 * kern/main.c: Include `<grub/mm.h>'.
37052 (grub_load_modules): Split out (and use) ...
37053 (grub_module_iterate): ... this function, which iterates through
37054 module objects and runs a hook.
37055 Comment out grub_mm_init_region() call, as it would cause non-ELF
37056 modules to be overwritten.
37057
37058 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37059 the memdisk image in its own region, make it part of the module list.
37060 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37061 (main): Parse --memdisk|-m option, and pass user-provided path as
37062 parameter to generate_image().
37063 (add_segments): Pass `memdisk_path' down to load_modules().
37064 (load_modules): Embed memdisk image in module section when requested.
37065 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37066 `header.type' instead of `header.offset'.
37067
37068 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37069 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37070 (memdisk_mod_LDFLAGS): New variables.
37071 * conf/i386-coreboot.rmk: Likewise.
37072 * conf/i386-ieee1275.rmk: Likewise.
37073
370742008-08-02 Robert Millan <rmh@aybabtu.com>
37075
37076 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37077 (backward_relocator): New variables. Used to allocate and relocate
37078 the payload, respectively.
37079 (grub_multiboot_load_elf32): Load into heap instead of requested
37080 address, install the appropriate relocator code in each bound of
37081 the payload, and set the entry point such that
37082 grub_multiboot_real_boot() will jump to one of them.
37083
37084 * kern/i386/loader.S (grub_multiboot_payload_size)
37085 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37086 (grub_multiboot_payload_entry_offset): New variables.
37087 (grub_multiboot_real_boot): Set cpu context to what the relocator
37088 expects, and jump to the relocator instead of the payload.
37089
37090 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37091 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37092 (grub_multiboot_payload_entry_offset): Export.
37093
370942008-08-01 Bean <bean123ch@gmail.com>
37095
37096 * normal/menu_entry.c (editor_getline): Don't return the original
37097 string as result, as it will be released by lexer once it has done
37098 using it.
37099
371002008-08-01 Robert Millan <rmh@aybabtu.com>
37101
37102 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37103 within menuentries, not before them.
37104 util/grub.d/10_hurd.in: Likewise.
37105
371062008-08-01 Bean <bean123ch@gmail.com>
37107
37108 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37109 (bufio_mod_SOURCES): New macro.
37110 (bufio_mod_CFLAGS): Likewise.
37111 (bufio_mod_LDFLAGS): Likewise.
37112
37113 * include/grub/bufio.h: New file.
37114
37115 * io/bufio.c: Likewise.
37116
37117 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37118 (grub_video_reader_png): Use grub_buffile_open to open file.
37119
37120 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37121 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37122
37123 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37124 (grub_video_reader_tga): Use grub_buffile_open to open file.
37125
37126 * font/manager.c: Include <grub/bufio.h>.
37127 (add_font): Use grub_buffile_open to open file.
37128
371292008-07-31 Robert Millan <rmh@aybabtu.com>
37130
37131 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37132 ELF segments, use a macro for arbitrarily accessing any of them instead
37133 of preparing a pointer that allows access to one at a time.
37134 (grub_multiboot_load_elf64): Likewise.
37135
371362008-07-31 Bean <bean123ch@gmail.com>
37137
37138 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37139 GRUB_KERNEL_MACHINE_DATA_END.
37140
371412008-07-30 Robert Millan <rmh@aybabtu.com>
37142
37143 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37144 Increase from 0x50 to 0x60.
37145 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37146 use UUIDs to identify the root drive for them. If that's not
37147 possible, abort.
37148 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37149 check, for cross-disk installs.
37150
371512008-07-30 Robert Millan <rmh@aybabtu.com>
37152
37153 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
37154 is non-empty, use it to set the `prefix' environment variable instead
37155 of the usual approach.
37156 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
37157 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
37158 environment variable instead of dummy make_install_device().
37159
37160 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
37161 (start): Insert a data section, with `grub_prefix' variable.
37162 * kern/i386/linuxbios/startup.S: Likewise.
37163
37164 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
37165 New variable reference.
37166 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
37167 New macro. Defines offset of `grub_prefix' within startup.S (relative
37168 to `start').
37169 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
37170 section within startup.S (relative to `start').
37171 * include/grub/i386/coreboot/kernel.h: Likewise.
37172
37173 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
37174 Overwrite grub_prefix with its contents, at the beginning of the
37175 first segment.
37176 (main): Understand -p|--prefix.
37177
371782008-07-30 Robert Millan <rmh@aybabtu.com>
37179
37180 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37181
371822008-07-30 Robert Millan <rmh@aybabtu.com>
37183
37184 * term/i386/pc/vga_text.c (grub_console_cls): Use
37185 grub_console_gotoxy() to go back to beginning of the screen.
37186 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37187
371882008-07-29 Christian Franke <franke@computer.org>
37189
37190 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37191 Add conversion of emulated mount points on Cygwin.
37192
371932008-07-29 Christian Franke <franke@computer.org>
37194
37195 * util/update-grub.in: Add a check for admin
37196 group on Cygwin.
37197 Remove old `grub.cfg.new' before creation.
37198 Add `-f' to `mv' to handle the different filesystem
37199 semantics of Windows.
37200
372012008-07-29 Bean <bean123ch@gmail.com>
37202
37203 * normal/main.c (get_line): Fix buffer overflow bug.
37204
372052008-07-28 Robert Millan <rmh@aybabtu.com>
37206
37207 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37208 (struct grub_apple_header): New struct. Describes the layout of
37209 the partmap header.
37210 (apple_partition_map_iterate): Check the header magic as well as the
37211 partition magic (which was already being checked).
37212
372132008-07-28 Pavel Roskin <proski@gnu.org>
37214
37215 * genmk.rb: Add a warning to the beginning of the output that
37216 it's a generated file and should not be edited.
37217
372182008-07-28 Robert Millan <rmh@aybabtu.com>
37219
37220 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37221 with the same number are found, just use issue a warning with
37222 grub_dprintf(), as this error has been reported to be non-fatal.
37223
372242008-07-27 Robert Millan <rmh@aybabtu.com>
37225
37226 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37227 information.
37228
372292008-07-27 Bean <bean123ch@gmail.com>
37230
37231 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37232 (grub_fat_find_dir): Ignore case when comparing filename.
37233
372342008-07-27 Bean <bean123ch@gmail.com>
37235
37236 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37237 smallino, as it's more descriptive, and i8count can be confused with
37238 the other field count.
37239 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
37240 inode type.
37241
372422008-07-27 Bean <bean123ch@gmail.com>
37243
37244 * commands/crc.c: New file.
37245
37246 * lib/crc.c: Likewise.
37247
37248 * include/grub/lib/crc.h: Likewise.
37249
37250 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
37251
37252 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
37253 (hexdump): Move this function to ...
37254
37255 * lib/hexdump.c: ... here.
37256
37257 * include/grub/hexdump.h: Renamed to ...
37258
37259 * include/grub/lib/hexdump.h: ... this.
37260
37261 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
37262
37263 * util/grub-editenv.c: Likewise.
37264
37265 * include/envblk.h: Renamed to ...
37266
37267 * include/lib/envblk.h: ... this.
37268
37269 * util/envblk.c: Renamed to ...
37270
37271 * lib/envblk.c: ... this.
37272
37273 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
37274 lib/hexdump.c.
37275 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
37276 (pkglib_MODULES): Add crc.mod.
37277 (hexdump_mod_SOURCES): Add lib/hexdump.c.
37278 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
37279 (crc_mod_SOURCES): New macro.
37280 (crc_mod_CFLAGS): Likewise.
37281 (crc_mod_LDFLAGS): Likewise.
37282
37283 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
37284
37285 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37286
37287 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37288
37289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37290
37291 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37292
372932008-07-27 Felix Zielcke <fzielcke@z-51.de>
37294
37295 * commands/help.c: Include <grub/term.h>.
37296 (TERM_WIDTH): Removed. Updated all users.
37297
372982008-07-27 Pavel Roskin <proski@gnu.org>
37299
37300 * util/getroot.c (find_root_device): Rephrase a comment to avoid
37301 spurious warnings about a comment within a comment.
37302
373032008-07-25 Robert Millan <rmh@aybabtu.com>
37304
37305 * util/getroot.c (find_root_device): Skip devices that match
37306 /dev/dm-[0-9]. This lets the real device be found for any type of
37307 abstraction (LVM, EVMS, RAID..).
37308 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
37309 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
37310 device is found first, find_root_device() will now skip it.
37311
373122008-07-24 Pavel Roskin <proski@gnu.org>
37313
37314 * include/grub/types.h: Use __builtin_bswap32() and
37315 __builtin_bswap64() with gcc 4.3 and newer.
37316
373172008-07-24 Christian Franke <franke@computer.org>
37318
37319 * util/i386/pc/grub-install.in: If `--debug' is specified,
37320 pass `--verbose' to grub-setup.
37321 Abort script if make_system_path_relative_to_its_root() fails.
37322
373232008-07-24 Bean <bean123ch@gmail.com>
37324
37325 * configure.ac: Fixed a bug caused by the previous cygwin patch,
37326 variable `target_platform' should be `platform'.
37327
373282008-07-24 Bean <bean123ch@gmail.com>
37329
37330 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
37331 (grub_png_init_fixed_block): New function.
37332 (grub_png_decode_image_data): Handle fixed huffman code compression.
37333
373342008-07-24 Bean <bean123ch@gmail.com>
37335
37336 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
37337 (grub_pe2elf_SOURCES): New macro.
37338 (CLEANFILES): Add grub-pe2elf.
37339
37340 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
37341 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
37342 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
37343 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
37344 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
37345 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37346 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37347 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37348 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37349 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37350 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37351 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37352 (GRUB_PE32_DT_FUNCTION): Likewise.
37353 (GRUB_PE32_REL_I386_DIR32): Likewise.
37354 (GRUB_PE32_REL_I386_REL32): Likewise.
37355 (grub_pe32_symbol): New structure.
37356 (grub_pe32_reloc): Likewise.
37357
37358 * util/grub-pe2elf.c: New file.
37359
37360 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37361 start symbol in non pc platform.
37362
37363 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37364
37365 The following patches are from Christian Franke.
37366
37367 * include/grub/dl.h: Remove .previous, gas supports this only
37368 for ELF format.
37369
37370 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37371 Remove .type, gas supports this only for ELF format.
37372
37373 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37374 nullbytes in symbol table. This fixes an infinite loop if table is
37375 zero filled.
37376
37377 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37378 TARGET_IMG_LDFLAGS and EXEEXT.
37379
37380 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37381 TARGET_IMG_LDFLAGS_AC.
37382 (grub_CHECK_STACK_ARG_PROBE): New function.
37383
37384 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37385
37386 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37387
37388 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37389 to set TARGET_IMG_LD* accordingly.
37390 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37391 Add call to grub_CHECK_STACK_ARG_PROBE.
37392 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37393
37394 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37395
37396 * genmk.rb: Add EXEEXT to CLEANFILES.
37397
373982008-07-23 Robert Millan <rmh@aybabtu.com>
37399
37400 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37401 define the codes for arrows and lines used for the menu).
37402 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37403 as well.
37404
37405 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37406 fonts, because the latter are too slow.
37407
374082008-07-21 Bean <bean123ch@gmail.com>
37409
37410 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37411 a20. Run keyboard test last, as it will cause macbook to halt.
37412
374132008-07-18 Pavel Roskin <proski@gnu.org>
37414
37415 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37416 load foreign architecture modules correctly anyway. Keep
37417 support for loading host architecture modules, whether we
37418 compile them or not.
37419
374202008-07-17 Pavel Roskin <proski@gnu.org>
37421
37422 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37423 change target_cpu. The compiler default can mismatch target_cpu
37424 in any case.
37425
37426 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37427 * kern/efi/efi.c: Likewise.
37428
37429 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37430 target compiler is functional.
37431 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37432 are set up.
37433
37434 * configure.ac: Default to efi platform for x86_64-apple. Allow
37435 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37436 adjustments from the rest, only do them if target is not
37437 explicitly given. Merge other adjustments with the final sanity
37438 check. Remove an extraneous check for supported CPU. Be
37439 specific which CPU and which platform is not supported.
37440
37441 * configure.ac: Default to pc platform for x86_64.
37442
374432008-07-17 Robert Millan <rmh@aybabtu.com>
37444
37445 Partial LinuxBIOS -> Coreboot rename.
37446
37447 * conf/i386-linuxbios.rmk: Renamed to ...
37448 * conf/i386-coreboot.rmk: ... this.
37449 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37450 * configure.ac: Accept "coreboot" as input platform (but maintain
37451 compatibility with "linuxbios").
37452 * include/grub/i386/linuxbios: Renamed to ...
37453 * include/grub/i386/coreboot: ... this.
37454
374552008-07-17 Bean <bean123ch@gmail.com>
37456
37457 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
37458 (appleldr_mod_SOURCE): New variable.
37459 (appleldr_mod_CFLAGS): Likewise.
37460 (appleldr_mod_LDFLAGS): Likewise.
37461 (pci_mod_SOURCES): Likewise.
37462 (pci_mod_CFLAGS): Likewise.
37463 (pci_mod_LDFLAGS): Likewise.
37464 (lspci_mod_SOURCES): Likewise.
37465 (lspci_mod_CFLAGS): Likewise.
37466 (lspci_mod_LDFLAGS): Likewise.
37467
37468 * conf/x86_64-efi.rmk: New file.
37469
37470 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37471 macro.
37472 (grub_efidisk_write): Likewise.
37473
37474 * include/efi/api.h (efi_call_0): New macro.
37475 (efi_call_1): Likewise.
37476 (efi_call_2): Likewise.
37477 (efi_call_3): Likewise.
37478 (efi_call_4): Likewise.
37479 (efi_call_5): Likewise.
37480 (efi_call_6): Likewise.
37481
37482 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37483 grub_rescue_cmd_chainloader.
37484
37485 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37486 (grub_pe32_optional_header): Change some fields based on i386 or
37487 x86_64 platform.
37488 (GRUB_PE32_PE32_MAGIC): Likewise.
37489
37490 * include/grub/efi/uga_draw.h: New file.
37491
37492 * include/grub/elf.h (STN_ABS): New constant.
37493 (R_X86_64_NONE): Relocation constant for x86_64.
37494 (R_X86_64_64): Likewise.
37495 (R_X86_64_PC32): Likewise.
37496 (R_X86_64_GOT32): Likewise.
37497 (R_X86_64_PLT32): Likewise.
37498 (R_X86_64_COPY): Likewise.
37499 (R_X86_64_GLOB_DAT): Likewise.
37500 (R_X86_64_JUMP_SLOT): Likewise.
37501 (R_X86_64_RELATIVE): Likewise.
37502 (R_X86_64_GOTPCREL): Likewise.
37503 (R_X86_64_32): Likewise.
37504 (R_X86_64_32S): Likewise.
37505 (R_X86_64_16): Likewise.
37506 (R_X86_64_PC16): Likewise.
37507 (R_X86_64_8): Likewise.
37508 (R_X86_64_PC8): Likewise.
37509
37510 * include/grub/i386/efi/pci.h: New file.
37511
37512 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37513 Change it value based on platform.
37514 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37515 (GRUB_E820_RAM): Likewise.
37516 (GRUB_E820_RESERVED): Likewise.
37517 (GRUB_E820_ACPI): Likewise.
37518 (GRUB_E820_NVS): Likewise.
37519 (GRUB_E820_EXEC_CODE): Likewise.
37520 (GRUB_E820_MAX_ENTRY): Likewise.
37521 (grub_e820_mmap): New structure.
37522 (linux_kernel_header): Change the efi field according to different
37523 kernel version, also field from linux_kernel_header.
37524
37525 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
37526
37527 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
37528 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
37529 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
37530 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
37531 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
37532 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
37533 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
37534 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
37535 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
37536 (GRUB_PCI_ADDR_IO_MASK): Likewise.
37537
37538 * include/grub/x86_64/efi/kernel.h: New file.
37539
37540 * include/grub/x86_64/efi/loader.h: Likewise.
37541
37542 * include/grub/x86_64/efi/machine.h: Likewise.
37543
37544 * include/grub/x86_64/efi/pci.h: Likewise.
37545
37546 * include/grub/x86_64/efi/time.h: Likewise.
37547
37548 * include/grub/x86_64/linux.h: Likewise.
37549
37550 * include/grub/x86_64/setjmp.h: Likewise.
37551
37552 * include/grub/x86_64/time.h: Likewise.
37553
37554 * include/grub/x86_64/types.h: Likewise.
37555
37556 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
37557 GRUB_TARGET_SIZEOF_VOID_P.
37558
37559 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
37560 (grub_efi_locate_handle): Likewise.
37561 (grub_efi_open_protocol): Likewise.
37562 (grub_efi_set_text_mode): Likewise.
37563 (grub_efi_stall): Likewise.
37564 (grub_exit): Likewise.
37565 (grub_reboot): Likewise.
37566 (grub_halt): Likewise.
37567 (grub_efi_exit_boot_services): Likewise.
37568 (grub_get_rtc): Likewise.
37569
37570 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
37571 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
37572 (grub_efi_allocate_pages): Wrap efi calls.
37573 (grub_efi_free_pages): Wrap efi calls.
37574 (grub_efi_get_memory_map): Wrap efi calls.
37575
37576 * kern/x86_64/dl.c: New file.
37577
37578 * kern/x86_64/efi/callwrap.S: Likewise.
37579
37580 * kern/x86_64/efi/startup.S: Likewise.
37581
37582 * loader/efi/appleloader.c: Likewise.
37583
37584 * loader/efi/chainloader.c (cmdline): New variable.
37585 (grub_chainloader_unload): Wrap efi calls.
37586 (grub_chainloader_boot): Likewise.
37587 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
37588 command line.
37589
37590 * loader/efi/chainloader_normal.c (chainloader_command):
37591 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
37592 command line.
37593
37594 * loader/i386/efi/linux.c (allocate_pages): Change allocation
37595 method.
37596 (grub_e820_add_region): New function.
37597 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
37598 booting.
37599 (grub_find_video_card): New function.
37600 (grub_linux_setup_video): New function.
37601 (grub_rescue_cmd_linux): Probe for video information.
37602
37603 * normal/x86_64/setjmp.S: New file.
37604
37605 * term/efi/console.c (map_char): New function.
37606 (grub_console_putchar): Map unicode char.
37607 (grub_console_checkkey): Wrap efi calls.
37608 (grub_console_getkey): Likewise.
37609 (grub_console_getwh): Likewise.
37610 (grub_console_gotoxy): Likewise.
37611 (grub_console_cls): Likewise.
37612 (grub_console_setcolorstate): Likewise.
37613 (grub_console_setcursor): Likewise.
37614
37615 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
37616
376172008-07-16 Pavel Roskin <proski@gnu.org>
37618
37619 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
37620 format strings.
37621
37622 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
37623 pointer, not an integer. This fixes a warning and prevents
37624 precision loss on 64-bit systems.
37625 (relocate_addresses): Remove unneeded cast.
37626
376272008-07-15 Pavel Roskin <proski@gnu.org>
37628
37629 * kern/i386/ieee1275/init.c: Include grub/cache.h.
37630
37631 * term/ieee1275/ofconsole.c: Disable code unused on i386.
37632
37633 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
37634 Fix comparison between signed and unsigned.
37635
37636 * include/grub/i386/ieee1275/console.h: Declare
37637 grub_console_init() and grub_console_fini().
37638
37639 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
37640 It's empty and unused.
37641
37642 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
37643 beginning to avoid warnings with some compilers.
37644
37645 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
37646 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
37647
376482008-07-14 Pavel Roskin <proski@gnu.org>
37649
37650 * kern/env.c (grub_register_variable_hook): Don't copy empty
37651 string, it leaks memory. Pass "" to grub_env_set(), it should
37652 handle constant strings.
37653
37654 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
37655 * commands/cmp.c (grub_cmd_cmp): Likewise.
37656 * kern/dl.c (grub_dl_flush_cache): Likewise.
37657 (grub_dl_load_core): Likewise.
37658 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
37659 (grub_elf64_load_phdrs): Likewise.
37660
376612008-07-13 Pavel Roskin <proski@gnu.org>
37662
37663 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
37664 between signed and unsigned.
37665 (LzmaEnc_Finish): Fix warning about an unused parameter.
37666
376672008-07-13 Bean <bean123ch@gmail.com>
37668
37669 * Makefile.in (enable_lzo): New rule.
37670
37671 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
37672
37673 * configure.ac (ENABLE_LZO): New option --enable-lzo.
37674
37675 * boot/i386/pc/lnxboot.S: #include <config.h>.
37676
37677 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
37678 its value according to the compression algorithm used, lzo or lzma.
37679
37680 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
37681 compression algorithm according to configure macro.
37682
37683 * kern/i386/pc/startup.S (codestart): Likewise.
37684
37685 * kern/i386/pc/lzma_decode.S: New file.
37686
37687 * include/grub/lib/LzFind.h: Likewise.
37688
37689 * include/grub/lib/LzHash.h: Likewise.
37690
37691 * include/grub/lib/LzmaDec.h: Likewise.
37692
37693 * include/grub/lib/LzmaEnc.h: Likewise.
37694
37695 * include/grub/lib/LzmaTypes.h: Likewise.
37696
37697 * lib/LzFind.c: Likewise.
37698
37699 * lib/LzmaDec.c: Likewise.
37700
37701 * lib/LzmaEnc.c: Likewise.
37702
377032008-07-13 Bean <bean123ch@gmail.com>
37704
37705 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
37706 (grub_ext4_extent_header): New structure.
37707 (grub_ext4_extent): Likewise.
37708 (grub_ext4_extent_idx): Likewise.
37709 (grub_ext4_find_leaf): New function.
37710 (grub_ext2_read_block): Handle extents.
37711
377122008-07-12 Robert Millan <rmh@aybabtu.com>
37713
37714 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
37715
377162008-07-11 Robert Millan <rmh@aybabtu.com>
37717
37718 * util/grub.d/40_custom.in: New file. Example on how to add custom
37719 entries to /etc/grub.d.
37720 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
37721 40_custom (implicitly, by merging all the grub.d rules).
37722
377232008-07-11 Pavel Roskin <proski@gnu.org>
37724
37725 * commands/read.c (grub_getline): Fix invalid memory access.
37726 Don't add newline to the variable value.
37727
37728 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
37729 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
37730 (serial_hw_get_port): Check validity of the port number.
37731 (grub_cmd_serial): Check return value of serial_hw_get_port().
37732
377332008-07-07 Pavel Roskin <proski@gnu.org>
37734
37735 * boot/i386/pc/diskboot.S (notification_string): Replace
37736 "Loading kernel" with just "loading". This is shorter, less
37737 confusing and saves a few bytes for possible future changes.
37738
377392008-07-05 Pavel Roskin <proski@gnu.org>
37740
37741 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
37742 size for ATAPI devices, they are undefined. Output sector
37743 number in decimal form.
37744
37745 * disk/ata.c: Use named constants for status bits.
37746
377472008-07-04 Pavel Roskin <proski@gnu.org>
37748
37749 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
37750 grub_addr_t before casting it to the void pointer to fix a
37751 warning. Non-addressable regions are discarded earlier.
37752 (grub_arch_modules_addr): Cast _end to grub_addr_t.
37753 * kern/i386/linuxbios/table.c: Include grub/misc.h.
37754 (check_signature): Don't shadow table_header.
37755 (grub_linuxbios_table_iterate): Cast numeric constants to
37756 grub_linuxbios_table_header_t.
37757 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
37758 grub_stop().
37759
37760 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
37761 prevent warnings.
37762
37763 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
37764 pointer, which can cause warnings. Support 64-bit addresses.
37765
37766 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
37767 of sizeof(long). This fixes PowerPC image generation on x86_64.
37768
377692008-07-04 Robert Millan <rmh@aybabtu.com>
37770
37771 This fixes a performance issue when pc & gpt partmap iterators
37772 didn't abort iteration even after our hook found what it was
37773 looking for (often causing expensive probes of non-existent drives).
37774
37775 Some callers relied on previous buggy behaviour, since they would
37776 raise an error when their own hooks caused early abortion of its
37777 iteration.
37778
37779 * kern/device.c (grub_device_open): Improve error message.
37780 * disk/lvm.c (grub_lvm_open): Likewise.
37781 * disk/raid.c (grub_raid_open): Likewise.
37782
37783 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
37784 when hook requests it, independently of grub_errno.
37785 (pc_partition_map_probe): Do not fail when find_func() caused
37786 early abortion of pc_partition_map_iterate().
37787
37788 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
37789 when hook requests it, independently of grub_errno.
37790 (gpt_partition_map_probe): Do not fail when find_func() caused
37791 early abortion of gpt_partition_map_iterate().
37792
37793 * kern/partition.c (grub_partition_iterate): Abort parent iteration
37794 when hook requests it, independently of grub_errno. Do not fail when
37795 part_map_iterate_hook() caused early abortion of p->iterate().
37796
37797 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
37798 when grub_partition_iterate() returned with non-zero.
37799
378002008-07-03 Pavel Roskin <proski@gnu.org>
37801
37802 * disk/ata.c (grub_ata_pio_write): Check status before writing,
37803 like we do in grub_ata_pio_read().
37804 (grub_ata_readwrite): Always write individual sectors. Fix the
37805 sector count for the remainder.
37806 (grub_ata_write): Enable writing to ATA devices. Correctly
37807 report error for ATAPI devices.
37808
378092008-07-02 Pavel Roskin <proski@gnu.org>
37810
37811 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37812 warning.
37813
37814 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
37815 for every read sector, we already increment it for the whole
37816 batch. This fixes reading more than 256 sectors at once.
37817
37818 * util/grub-editenv.c (cmd_info): Cast argument to long
37819 explicitly. ptrdiff_t reduces to int on i386.
37820
37821 * util/grub-editenv.c (main): Be specific which parameter is
37822 missing.
37823
37824 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37825 (memdisk): Make memdisk_orig_addr a pointer.
37826
37827 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
37828 for file offsets, use grub_off_t instead. Fix printf format
37829 warnings.
37830
37831 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
37832 there. Real unexpected warnings should not drown in the noise
37833 about known problems.
37834
37835 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37836 grub_disk_addr_t for memory addresses.
37837
37838 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37839 explicitly to fix a warning.
37840
37841 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37842
37843 * Makefile.in (MODULE_LDFLAGS): New variable.
37844 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
37845 the linker accepts --build-id=none.
37846 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
37847 MODULE_LDFLAGS.
37848 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
37849
37850 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
37851 those in Linux XFS code. Provide a way to access 64-bit parent
37852 inode.
37853 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
37854 the end of struct grub_xfs_dir_header.
37855
378562008-07-02 Bean <bean123ch@gmail.com>
37857
37858 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
37859 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37860 and GRUB_IEEE1275_FLAG_NO_ANSI.
37861
37862 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
37863 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37864 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
37865
37866 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
37867 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37868
37869 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37870 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37871
37872 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37873 esc sequence on non ANSI terminal.
37874 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37875
37876 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37877 beginning of file.
37878
378792008-07-02 Bean <bean123ch@gmail.com>
37880
37881 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37882 (grub_editenv_SOURCES): New variable.
37883 (pkglib_MODULES): Add loadenv.mod.
37884 (loadenv_mod_SOURCES): New variable.
37885 (loadenv_mod_CFLAGS): Likewise.
37886 (loadenv_mod_LDFLAGS): Likewise.
37887
37888 * include/grub/envblk.h: New file.
37889
37890 * util/envblk.c: New file.
37891
37892 * util/grub-editenv.c: New file.
37893
37894 * commands/loadenv.c: New file.
37895
378962008-07-01 Pavel Roskin <proski@gnu.org>
37897
37898 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37899 not unsigned char. This fixes warnings and is consistent with
37900 other tags.
37901
37902 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37903
37904 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37905
37906 * term/tparm.c (analyze): Always set *popcount.
37907
37908 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37909 cast to fix a warning.
37910
37911 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37912 cast to suppress a warning.
37913
37914 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37915 grub_fshelp_read_file() expects.
37916
37917 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37918 write uuid as a 32-bit value in CPU byte order, so declare and
37919 use it as such.
37920
37921 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37922 long if the format specifier expects it.
37923 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37924 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37925 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37926 long to fix a warning.
37927 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37928 grub_dprintf() arguments to fix warnings.
37929
379302008-06-30 Pavel Roskin <proski@gnu.org>
37931
37932 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37933 install_bsd_part immediately before core.img is embedded or
37934 modified on disk. This fixes core.img verification if core.img
37935 cannot be embedded.
37936
37937 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37938 core_path to calculate the blocklist.
37939 Patch from Javier Martín <lordhabbit@gmail.com>
37940
379412008-06-29 Robert Millan <rmh@aybabtu.com>
37942
37943 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37944 block to disk block.
37945 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37946 Patch from Niels Böhm <bitbucket@arcor.de>
37947
379482008-06-29 Robert Millan <rmh@aybabtu.com>
37949
37950 * util/update-grub_lib.in (font_path): Search for fonts in
37951 /boot/grub first, which is more likely to be readable (we aren't
37952 deciding where fonts live, just looking for them).
37953
379542008-06-26 Pavel Roskin <proski@gnu.org>
37955
37956 * util/biosdisk.c (read_device_map): Don't leave dead map
37957 entries for devices failing stat() check.
37958
37959 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37960 core_path_dev for the core.img path on the target device.
37961
379622008-06-26 Robert Millan <rmh@aybabtu.com>
37963
37964 * disk/fs_uuid.c: New file.
37965 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37966 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37967 (fs_uuid_mod_LDFLAGS): New variables.
37968 * include/grub/disk.h (grub_disk_dev_id): Add
37969 `GRUB_DISK_DEVICE_UUID_ID'.
37970 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37971 implement iterate().
37972
379732008-06-26 Robert Millan <rmh@aybabtu.com>
37974
37975 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37976 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37977 Linux image includes no initrd.
37978
379792008-06-21 Javier Martín <lordhabbit@gmail.com>
37980
37981 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37982 call to resolve the core image location that effectively appended the
37983 name twice.
37984
379852008-06-21 Robert Millan <rmh@aybabtu.com>
37986
37987 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37988 call from here ...
37989
37990 * util/grub.d/10_hurd.in: ... to here ...
37991 * util/grub.d/10_linux.in: ... and here.
37992
379932008-06-19 Robert Millan <rmh@aybabtu.com>
37994
37995 * kern/main.c (grub_main): Export `prefix' variable immediately
37996 after it has been set by grub_machine_set_prefix().
37997
379982008-06-19 Robert Millan <rmh@aybabtu.com>
37999
38000 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38001 search result when not saving to variable, not the other way around.
38002 When saving to variable, abort iteration as soon as a match is found.
38003
380042008-06-19 Robert Millan <rmh@aybabtu.com>
38005
38006 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38007 check for partition that provides /boot/grub. Its logic is flawed,
38008 as it prevents prepare_grub_to_access_device() from being called
38009 multiple times.
38010
380112008-06-19 Robert Millan <rmh@aybabtu.com>
38012
38013 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38014 "insmod" command directly when abstraction modules are needed,
38015 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
38016 since it had already been processed).
38017
380182008-06-19 Pavel Roskin <proski@gnu.org>
38019
38020 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38021 changed. This is needed in case GRUB_LIBDIR changes.
38022 * conf/i386-ieee1275.rmk: Likewise.
38023 * conf/i386-linuxbios.rmk: Likewise.
38024 * conf/i386-pc.rmk: Likewise.
38025 * conf/powerpc-ieee1275.rmk: Likewise.
38026
380272008-06-18 Pavel Roskin <proski@gnu.org>
38028
38029 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38030 kernel_elf_symlist.c to symlist.c for consistency with other
38031 architectures. Update all users.
38032 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38033
380342008-06-18 Robert Millan <rmh@aybabtu.com>
38035
38036 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38037 it in prefix.
38038
38039 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38040 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38041 a RAID device, run setup() for all members independently on whether
38042 LVM abstraction is being used.
38043 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38044 If grub-mkimage has set `*install_dos_part == -2', don't override this
38045 value.
38046 Perform *install_dos_part adjustments independently on whether
38047 we're embedding or not.
38048 Clarify error message when image is too big for embedding.
38049 Remove duplicate *install_dos_part stanza.
38050
380512008-06-17 Robert Millan <rmh@aybabtu.com>
38052
38053 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38054 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38055 variables.
38056 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38057 values in grub_ofconsole_normal_color and
38058 grub_ofconsole_highlight_color (they're not directly related to
38059 background and foreground).
38060 (grub_ofconsole_setcolorstate): Extract background and foreground
38061 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38062
380632008-06-17 Robert Millan <rmh@aybabtu.com>
38064
38065 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38066 /boot/grub for the check in last commit, not /boot (they could be
38067 different partitions).
38068
380692008-06-16 Robert Millan <rmh@aybabtu.com>
38070
38071 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38072 asked to setup access for the same partition that provides /boot,
38073 don't bother using UUIDs since our root already has the value we
38074 want.
38075
380762008-06-16 Robert Millan <rmh@aybabtu.com>
38077
38078 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38079 I2O devices.
38080 Patch from Sven Mueller <sven@debian.org>.
38081
380822008-06-16 Robert Millan <rmh@aybabtu.com>
38083
38084 * util/update-grub.in: Check for $EUID instead of $UID.
38085 Reported by Vincent Zweije.
38086
380872008-06-16 Bean <bean123ch@gmail.com>
38088
38089 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
38090 (grub_ext2_read_block): Likewise.
38091 (grub_ext2_read_inode): Likewise.
38092 (grub_ext2_mount): Likewise.
38093 (grub_ext2_close): Likewise.
38094 (grub_ext3_get_journal): Removed.
38095
38096 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
38097 (grub_reiserfs_read_symlink): Likewise.
38098 (grub_reiserfs_mount): Likewise.
38099 (grub_reiserfs_open): Likewise.
38100 (grub_reiserfs_read): Likewise.
38101 (grub_reiserfs_close): Likewise.
38102 (grub_reiserfs_get_journal): Removed.
38103
38104 * fs/fshelp.c (grub_fshelp_read): Removed.
38105 (grub_fshelp_map_block): Likewise.
38106
38107 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38108 (grub_fshelp_journal): Likewise.
38109 (grub_fshelp_read): Likewise.
38110 (grub_fshelp_map_block): Likewise.
38111
381122008-06-16 Pavel Roskin <proski@gnu.org>
38113
38114 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38115 floating point anymore.
38116 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38117
381182008-06-15 Pavel Roskin <proski@gnu.org>
38119
38120 * commands/ls.c (grub_ls_list_files): Use integer calculations
38121 for human readable format, avoid floating point use.
38122 * kern/misc.c (grub_ftoa): Remove.
38123 (grub_vsprintf): Remove floating point support.
38124
381252008-06-15 Robert Millan <rmh@aybabtu.com>
38126
38127 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
38128 devices.
38129 Reported by Max Vozeler.
38130
381312008-06-15 Robert Millan <rmh@aybabtu.com>
38132
38133 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38134 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38135 skipped later.
38136 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38137 the beginning of the prefix.
38138
38139 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38140 It is assumed that if we have a memdisk, grub-mkimage has set
38141 grub_prefix to include the "(memdisk)" drive in it.
38142
381432008-06-15 Robert Millan <rmh@aybabtu.com>
38144
38145 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38146 Initialize keyboard controller after registering the terminal, so that
38147 grub_printf() can be called from grub_keyboard_controller_init().
38148
381492008-06-15 Robert Millan <rmh@aybabtu.com>
38150
38151 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
38152 extent-btree which is written as big endian on disk.
38153 Reported by Alain Greppin <al@chilibi.org>.
38154
381552008-06-14 Robert Millan <rmh@aybabtu.com>
38156
38157 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
38158 * util/i386/pc/grub-install.in (modules): Likewise.
38159
381602008-06-13 Pavel Roskin <proski@gnu.org>
38161
38162 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38163
381642008-06-13 Bean <bean123ch@gmail.com>
38165
38166 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
38167
38168 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
38169
38170 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
38171 to indicate sparse block.
38172
381732008-06-12 Pavel Roskin <proski@gnu.org>
38174
38175 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38176 number, grub_fshelp_read() does it for us.
38177
38178 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38179 linear disk read with journal translation.
38180 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38181 * include/grub/fshelp.h: Declare grub_fshelp_read().
38182
381832008-06-09 Pavel Roskin <proski@gnu.org>
38184
38185 * fs/minix.c (grub_minix_mount): Handle error reading
38186 superblock.
38187
381882008-06-08 Robert Millan <rmh@aybabtu.com>
38189
38190 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38191 don't append the RAID prefix afterwards.
38192 Reported by Clint Adams.
38193
381942008-06-08 Robert Millan <rmh@aybabtu.com>
38195
38196 Based on description from Pavel:
38197 * kern/disk.c (grub_disk_check_range): Rename to ...
38198 (grub_disk_adjust_range): ... this. Add a comment explaining the
38199 tasks performed by this function.
38200
382012008-06-08 Robert Millan <rmh@aybabtu.com>
38202
38203 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38204 `num_serial' (for consistency with other variables).
38205 (struct grub_ntfs_data): Add `uuid' member.
38206 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38207 (grub_ntfs_uuid): New function.
38208 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38209
382102008-06-07 Pavel Roskin <proski@gnu.org>
38211
38212 * util/biosdisk.c (open_device): Revert last change to the
38213 function, it broke installation. The sector needs to be
38214 different dependent on which device is opened.
38215
382162008-06-06 Robert Millan <rmh@aybabtu.com>
38217
38218 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38219 rest of GRUB, and breakage doesn't happen if its value were modified.
38220
38221 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38222 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38223 a constant (same value).
38224 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38225 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38226
382272008-06-06 Robert Millan <rmh@aybabtu.com>
38228
38229 * util/biosdisk.c (open_device): Do not modify sector offset when
38230 accessing a partition. kern/disk.c already handles this for us.
38231
382322008-06-06 Robert Millan <rmh@aybabtu.com>
38233
38234 * util/grub-emu.c (grub_machine_init): Move code in this function from
38235 here ...
38236 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38237 segfault in case grub_printf() is called).
38238
38239 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
38240 grub_probe. Update all users not to explicitly add it again.
38241 (grub_device): New variable; contains corresponding device for grubdir.
38242 (fs_module, partmap_module, devabstraction_module): Pass
38243 `--device ${grub_device}' to grub_probe to avoid traversing /dev
38244 every time.
38245
382462008-06-05 Robert Millan <rmh@aybabtu.com>
38247
38248 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
38249 is found, print it (same layout as with labels).
38250
382512008-06-04 Robert Millan <rmh@aybabtu.com>
38252
38253 * util/biosdisk.c (get_drive): Rename to ...
38254 (find_grub_drive): ... this. Update all users.
38255
38256 (get_os_disk): Rename to ...
38257 (convert_system_partition_to_system_disk): ... this. Update all users.
38258
38259 (find_drive): Rename to ...
38260 (find_system_device): ... this. Update all users.
38261
382622008-06-04 Robert Millan <rmh@aybabtu.com>
38263
38264 * util/biosdisk.c (get_os_disk): Handle IDA devices.
38265 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38266 (make_device_map): Likewise.
38267
382682008-06-01 Robert Millan <rmh@aybabtu.com>
38269
38270 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
38271 before dereferencing it.
38272
38273 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
38274 union with fat12/fat16-specific ones. Add some new fields, including
38275 `num_serial' for both versions.
38276 (struct grub_fat_data): Add `uuid' member.
38277 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
38278 names. Initialize `data->uuid' using `num_serial'.
38279 (grub_fat_uuid): New function.
38280 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
38281
38282 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
38283 (grub_reiserfs_uuid): New function.
38284 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
38285 member.
38286
38287 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
38288 (grub_xfs_uuid): New function.
38289 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
38290
382912008-06-01 Robert Millan <rmh@aybabtu.com>
38292
38293 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
38294 code that is backward compatible with pre-uuid search command.
38295
382962008-05-31 Robert Millan <rmh@aybabtu.com>
38297
38298 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
38299 floppies after everything else, to ensure floppy drive isn't accessed
38300 unnecessarily (patch from Bean).
38301
383022008-05-31 Robert Millan <rmh@aybabtu.com>
38303
38304 * commands/search.c (search_label, search_fs_uuid, search_file): Do
38305 not print device names when we were asked to set a variable.
38306
383072008-05-31 Robert Millan <rmh@aybabtu.com>
38308
38309 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
38310 using "cursor-on" and "cursor-off" commands (understood at least by
38311 the Open Firmware flavour on OLPC).
38312
383132008-05-31 Michael Gorven <michael@gorven.za.net>
38314
38315 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
38316 on and off sequences.
38317
383182008-05-31 Robert Millan <rmh@aybabtu.com>
38319
38320 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
38321 * util/update-grub.in: Likewise.
38322
383232008-05-30 Pavel Roskin <proski@gnu.org>
38324
38325 * util/biosdisk.c (linux_find_partition): Simplify logic and
38326 make the code more universal. Keep special processing for
38327 devfs, but use a simple rule for all other devices. If the
38328 device ends with a number, append 'p' and the partition number.
38329 Otherwise, append only the partition number.
38330
383312008-05-30 Robert Millan <rmh@aybabtu.com>
38332
38333 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
38334 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
38335 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
38336 the `root' parameter to Linux.
38337
383382008-05-30 Robert Millan <rmh@aybabtu.com>
38339
38340 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
38341 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
38342 --fs_uuid with --fs-uuid.
38343 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
38344 all filesystems support them).
38345
383462008-05-30 Robert Millan <rmh@aybabtu.com>
38347
38348 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
38349 grub_printf() flags, since we're printing in units of 2 bytes.
38350
383512008-05-30 Robert Millan <rmh@aybabtu.com>
38352
38353 * util/grub.d/00_header.in: Remove obsolete comment referencing
38354 convert_system_path_to_grub_path().
38355 * util/update-grub.in: Likewise.
38356 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38357 (convert_system_path_to_grub_path): Add a warning message explaining
38358 that this function is deprecated. Rely on is_path_readable_by_grub()
38359 for the readability checks.
38360 (font_path): Use is_path_readable_by_grub() for the readability
38361 check rather than convert_system_path_to_grub_path().
38362
383632008-05-30 Robert Millan <rmh@aybabtu.com>
38364
38365 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38366 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38367 converting it first.
38368 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38369 grub.cfg for access to font file, and afterwards call it again to set
38370 the root device.
38371
383722008-05-30 Robert Millan <rmh@aybabtu.com>
38373
38374 * commands/search.c (options): Add --fs_uuid option.
38375 (search_fs_uuid): New function.
38376 (grub_cmd_search): Fix --set argument passing.
38377 Use search_fs_uuid() when requested via --fs_uuid.
38378 (grub_search_init): Update help message.
38379 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38380 and redeclare it as an array of 16-bit words.
38381 (grub_ext2_uuid): New function.
38382 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38383 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38384 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38385 (GRUB_DEVICE_BOOT_UUID): New variables.
38386 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38387 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38388 whenever possible.
38389 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38390 just assume `root' variable has the right value.
38391 * util/grub.d/10_linux.in: Likewise.
38392 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38393 via PRINT_FS_UUID.
38394 (main): Recognise `-t fs_uuid' argument.
38395
383962008-05-30 Robert Millan <rmh@aybabtu.com>
38397
38398 * util/biosdisk.c (map): Redefine structure to hold information
38399 about GRUB drive name.
38400 (get_drive): Reimplement without assuming (and verifying) BIOS-like
38401 drive names.
38402 (call_hook): Remove.
38403 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38404 member. Assume drive has partitions.
38405 (grub_util_biosdisk_open): Access device names via `.device' struct
38406 member.
38407 (open_device): Likewise.
38408 (find_drive): Likewise.
38409 (read_device_map): Adjust map[] usage to match the new struct
38410 definition. Don't check for duplicates (still possible, but not cheap
38411 anymore).
38412 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38413 (make_device_name): Remove assumption of BIOS-like drive names.
38414
384152008-05-30 Pavel Roskin <proski@gnu.org>
38416
38417 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38418 compiling execute.c doesn't need grub_script.tab.h anymore.
38419 (normal/command.c_DEPENDENCIES): Likewise.
38420 (normal/function.c_DEPENDENCIES): Likewise.
38421 * conf/i386-ieee1275.rmk: Likewise.
38422 * conf/i386-linuxbios.rmk: Likewise.
38423 * conf/i386-pc.rmk: Likewise.
38424 * conf/powerpc-ieee1275.rmk: Likewise.
38425 * conf/sparc64-ieee1275.rmk: Likewise.
38426
384272008-05-29 Pavel Roskin <proski@gnu.org>
38428
38429 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38430 when scanning metadata for volume group name.
38431
38432 * include/grub/script.h: Don't include grub_script.tab.h. It's
38433 a generated file, which may only be included from the files with
38434 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38435 use union YYSTYPE, as the later allows forward declaration.
38436 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38437
384382008-05-29 Robert Millan <rmh@aybabtu.com>
38439
38440 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38441 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38442 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38443 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38444 scan codes.
38445
384462008-05-29 Robert Millan <rmh@aybabtu.com>
38447
38448 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38449 control key combinations.
38450
384512008-05-29 Robert Millan <rmh@aybabtu.com>
38452
38453 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38454 * util/ieee1275/grub-install.in: ... to here.
38455 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38456 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38457 (grub_install_SOURCES): Likewise.
38458
384592008-05-29 Robert Millan <rmh@aybabtu.com>
38460
38461 * fs/affs.c: Update copyright year.
38462 * fs/ext2.c: Likewise.
38463 * fs/fshelp.c: Likewise.
38464 * fs/hfsplus.c: Likewise.
38465 * fs/ntfs.c: Likewise.
38466 * fs/xfs.c: Likewise.
38467 * include/grub/fshelp.h: Likewise.
38468 * util/grub-mkdevicemap.c: Likewise.
38469
384702008-05-28 Robert Millan <rmh@aybabtu.com>
38471
38472 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38473 might need to be fatfs to support some firmware implementations
38474 (e.g. OFW or EFI).
38475
384762008-05-28 Robert Millan <rmh@aybabtu.com>
38477
38478 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38479 devices.
38480 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38481 (make_device_map): Likewise.
38482
384832008-05-20 Bean <bean123ch@gmail.com>
38484
38485 * fs/fshelp.c (grub_fshelp_map_block): New function.
38486 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38487 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38488
38489 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38490 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38491 (grub_fshelp_journal): New structure.
38492 (grub_fshelp_map_block): New function prototype.
38493 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38494 (grub_fshelp_map_block): Likewise.
38495
38496 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38497 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38498 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38499 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38500 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38501 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38502 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38503 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38504 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38505 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38506 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38507 (grub_ext2_sblock): New members for journal support.
38508 (grub_ext3_journal_header): New structure.
38509 (grub_ext3_journal_revoke_header): Likewise.
38510 (grub_ext3_journal_block_tag): Likewise.
38511 (grub_ext3_journal_sblock): Likewise.
38512 (grub_fshelp_node): New members logfile and journal.
38513 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38514 grub_fshelp_map_block to get real block number.
38515 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38516 number.
38517 (grub_ext2_read_inode): Likewise.
38518 (grub_ext3_get_journal): New function.
38519 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38520 (grub_ext2_close): Release memory used by journal.
38521
38522 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
38523 (REISERFS_MAGIC_DESC_BLOCK): New macro.
38524 (grub_reiserfs_transaction_header): Renamed to
38525 grub_reiserfs_description_block, replace field data with real_blocks.
38526 (grub_reiserfs_commit_block): New structure.
38527 (grub_reiserfs_data): New member journal.
38528 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
38529 number.
38530 (grub_reiserfs_read_symlink): Likewise.
38531 (grub_reiserfs_iterate_dir): Likewise.
38532 (grub_reiserfs_open): Likewise.
38533 (grub_reiserfs_read): Likewise.
38534 (grub_reiserfs_get_journal): New function.
38535 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
38536 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
38537 using grub_reiserfs_get_journal.
38538 (grub_reiserfs_close): Release memory used by journal.
38539
38540 * fs/affs.c (grub_affs_read_block): Change block type to
38541 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
38542
38543 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
38544
38545 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
38546
38547 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
38548
38549 * fs/udf.c (grub_udf_read_block): Change block type to
38550 grub_disk_addr_t. Use type cast to avoid warning.
38551
38552 * fs/xfs.c (grub_xfs_read_block): Likewise.
38553
385542008-05-16 Christian Franke <franke@computer.org>
38555
38556 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
38557 to ensure that break with ESC will always work.
38558 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
38559 Remove ESC from keyboard queue.
38560
385612008-05-16 Christian Franke <franke@computer.org>
38562
38563 * util/biosdisk.c: [__CYGWIN__] Add includes.
38564 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
38565 (get_os_disk): Move variable declarations to OS specific
38566 parts to avoid warning.
38567 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
38568 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
38569 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
38570 Cygwin.
38571 * util/getroot.c: [__CYGWIN__] Add includes.
38572 (strip_extra_slashes): Fix "/" case.
38573 [__CYGWIN__] (get_win32_path): New function.
38574 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
38575 [__CYGWIN__] (find_root_device): Disable.
38576 [__CYGWIN__] (get_bootsec_serial): New function.
38577 [__CYGWIN__] (find_cygwin_root_device): Likewise.
38578 [__linux__] (grub_guess_root_device): Add early returns to simplify
38579 structure.
38580 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
38581 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
38582 check for Linux only.
38583
385842008-05-15 Bean <bean123ch@gmail.com>
38585
38586 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
38587 keyboard hang problem in apple's intel mac.
38588
385892008-05-09 Robert Millan <rmh@aybabtu.com>
38590
38591 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
38592 devices.
38593 * util/grub-mkdevicemap.c (get_virtio_disk_name)
38594 (make_device_map): Likewise.
38595 Reported by Aurelien Jarno <aurel32@debian.org>
38596
385972008-05-07 Ian Campbell <ijc@hellion.org.uk>
38598
38599 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
38600 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
38601 (make_device_map): Output entries for xvd type disks.
38602
386032008-05-07 Robert Millan <rmh@aybabtu.com>
38604
38605 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
38606 devices.
38607 * util/grub-mkdevicemap.c (get_cciss_disk_name)
38608 (make_device_map): Likewise.
38609 Reported by Roland Dreier <rdreier@cisco.com>
38610
386112008-05-07 Robert Millan <rmh@aybabtu.com>
38612
38613 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
38614 grub_strstr() call. Correct a few mistakes in failure path handling.
38615
386162008-05-06 Robert Millan <rmh@aybabtu.com>
38617
38618 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38619 Do not print a trailing slash (therefore, the root directory is an
38620 empty string).
38621 (convert_system_path_to_grub_path): Do not remove trailing slash
38622 from make_system_path_relative_to_its_root() output.
38623
38624 * util/i386/pc/grub-install.in: Add trailing slash to output from
38625 make_system_path_relative_to_its_root().
38626
386272008-05-06 Robert Millan <rmh@aybabtu.com>
38628
38629 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
38630 ensures that output lines aren't intermangled with those sent to
38631 stderr (via grub_util_info()).
38632 * util/grub-probe.c (grub_refresh): Likewise.
38633 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
38634
386352008-05-05 Christian Franke <franke@computer.org>
38636
38637 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
38638 Add Cygwin device names.
38639 (get_ide_disk_name) [__CYGWIN__]: Likewise.
38640 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
38641 (check_device): Return error instead of success on empty name.
38642 (make_device_map): Move label inside linux specific code to
38643 prevent compiler warning.
38644
386452008-04-30 Robert Millan <rmh@aybabtu.com>
38646
38647 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
38648 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
38649 first boot option.
38650 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
38651
386522008-04-29 Robert Millan <rmh@aybabtu.com>
38653
38654 * docs/grub.cfg: New file (example GRUB configuration).
38655
386562008-04-26 Robert Millan <rmh@aybabtu.com>
38657
38658 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
38659 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
38660 and `disk/ieee1275/nand.c'.
38661
386622008-04-25 Bean <bean123ch@gmail.com>
38663
38664 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
38665 i386-linuxbios.
38666
38667 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
38668 change the buffer size to 4096 for cdrom device.
38669
38670 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
38671 and nand.mod.
38672 (_linux_mod_SOURCES): New variable.
38673 (_linux_mod_CFLAGS): Likewise.
38674 (_linux_mod_LDFLAGS): Likewise.
38675 (linux_mod_SOURCES): Likewise.
38676 (linux_mod_CFLAGS): Likewise.
38677 (linux_mod_LDFLAGS): Likewise.
38678 (nand_mod_SOURCES): Likewise.
38679 (nand_mod_CFLAGS): Likewise.
38680 (nand_mod_LDFLAGS): Likewise.
38681
38682 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
38683 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
38684 type property. (nand device in olpc don't have this property)
38685
38686 * include/grub/disk.h (grub_disk_dev_id): New macro
38687 GRUB_DISK_DEVICE_NAND_ID.
38688
38689 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
38690 function prototype.
38691 (grub_rescue_cmd_initrd): Likewise.
38692
38693 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
38694 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
38695 ofw_cif_handler and ofw_idt, adjust padding number.
38696
38697 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
38698 GRUB_MACHINE_IEEE1275 is defined.
38699
38700 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
38701 Use NESTED_FUNC_ATTR attribute on the hook parameter.
38702
38703 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
38704 on nested function heap_init.
38705 (grub_upper_mem): New variable for i386-ieee1275.
38706 (grub_get_extended_memory): New function for i386-ieee1275.
38707 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
38708
38709 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
38710 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
38711 property.
38712
38713 * loader/i386/ieee1275/linux.c: New file.
38714
38715 * loader/i386/ieee1275/linux_normal.c: New file.
38716
38717 * disk/ieee1275/nand.c: New file.
38718
387192008-04-18 Thomas Schwinge <tschwinge@gnu.org>
38720
38721 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
38722 value.
38723 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
38724
387252008-04-18 Robert Millan <rmh@aybabtu.com>
38726
38727 Restructures early code path on ieee1275 to unify grub_main() as
38728 the first C function that is executed in every platform.
38729
38730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
38731 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
38732 cmain().
38733 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
38734 * kern/ieee1275/cmain.c (cmain): Rename to ...
38735 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
38736 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
38737 at the beginning.
38738
387392008-04-18 Robert Millan <rmh@aybabtu.com>
38740
38741 * util/update-grub.in: Fix syntax error when setting
38742 `GRUB_PRELOAD_MODULES'.
38743 Reported by Stephane Chazelas <stephane@artesyncp.com>
38744
387452008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
38746
38747 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
38748 section into account, newer toolchains generate unique build ids
38749 * configure.ac: remove the test for --build-id=none acceptance,
38750 we want build ids to be preserved
38751 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
38752 far from other sections don't cause the raw binary images grow
38753 size
38754
387552008-04-15 Robert Millan <rmh@aybabtu.com>
38756
38757 * disk/lvm.c: Update copyright year.
38758 * kern/misc.c: Likewise.
38759
387602008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38761
38762 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
38763 there is no memory left for physical volume name.
38764
387652008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38766
38767 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
38768 volume name mapping to support bigger than 9 character names properly.
38769
387702008-04-13 Robert Millan <rmh@aybabtu.com>
38771
38772 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
38773 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
38774
387752008-04-13 Christian Franke <franke@computer.org>
38776
38777 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
38778 to create a floppy emulation boot CD when non emulation mode
38779 does not work.
38780 Enable Joliet CD filesystem extension.
38781
387822008-04-13 Robert Millan <rmh@aybabtu.com>
38783
38784 * kern/misc.c (grub_strncat): Fix off-by-one error.
38785 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
38786
38787 * kern/env.c (grub_env_context_close): Clear current context, not
38788 previous one.
38789 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
38790
38791 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
38792
387932008-04-13 Robert Millan <rmh@aybabtu.com>
38794
38795 Improve robustness when handling LVM.
38796
38797 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
38798 (and leave `*p' unmodified).
38799 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
38800 through it.
38801 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
38802 iterating through it.
38803 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
38804 through it.
38805 (grub_lvm_scan_device): Check the return value (and fail gracefully
38806 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38807 Don't assume `vg->pvs != NULL' when iterating through it.
38808
388092008-04-13 Robert Millan <rmh@aybabtu.com>
38810
38811 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
38812 * genmk.rb (partmap): New variable.
38813 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
38814 (#{partmap}): New target rule.
38815 * genpartmaplist.sh: New file.
38816 * Makefile.in (pkglib_DATA): Add partmap.lst.
38817 (partmap.lst): New target rule.
38818 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
38819 modules (including all partition maps), instead of preloading them.
38820
388212007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
38822
38823 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
38824 `linux-boot-prober' (if installed) to detect other operating
38825 systems which are installed on the computer and add them to
38826 the boot menu.
38827 * conf/common.rmk: Build and install 30_os-prober.
38828
388292008-04-12 Robert Millan <rmh@aybabtu.com>
38830
38831 * kern/powerpc/ieee1275/init.c: Move from here ...
38832 * kern/ieee1275/init.c: ... to here. Update all users.
38833
38834 * kern/powerpc/ieee1275/cmain.c: Move from here ...
38835 * kern/ieee1275/cmain.c: ... to here. Update all users.
38836
38837 * kern/powerpc/ieee1275/openfw.c: Move from here ...
38838 * kern/ieee1275/openfw.c: ... to here. Update all users.
38839
38840 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
38841 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
38842
388432008-04-10 Pavel Roskin <proski@gnu.org>
38844
38845 * configure.ac: Always use "_cv_" in cache variables for
38846 compatibility with Autoconf 2.62.
38847
388482008-04-07 Robert Millan <rmh@aybabtu.com>
38849
38850 Revert grub/machine/init.h addition by Pavel (since it breaks on
38851 i386-ieee1275 and others):
38852 * util/i386/pc/misc.c: Remove grub/machine/init.h.
38853 * util/powerpc/ieee1275/misc.c: Likewise.
38854
388552008-04-07 Robert Millan <rmh@aybabtu.com>
38856
38857 * util/grub-probe.c (probe): Improve error message.
38858
388592008-04-07 Robert Millan <rmh@aybabtu.com>
38860
38861 * util/biosdisk.c (read_device_map): Skip devices that don't exist
38862 (this prevents the presence of a bogus entry from ruining the whole
38863 thing).
38864
388652008-04-06 Pavel Roskin <proski@gnu.org>
38866
38867 * util/biosdisk.c: Include grub/util/biosdisk.h.
38868 * util/grub-fstest.c (execute_command): Make static.
38869 * util/grub-mkdevicemap.c (check_device): Likewise.
38870 * util/i386/pc/misc.c: Include grub/machine/init.h.
38871 * util/powerpc/ieee1275/misc.c: Likewise.
38872 * util/lvm.c: Include grub/util/lvm.h.
38873 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38874 grub/cache.h.
38875 * util/raid.c: Include grub/util/raid.h.
38876 (grub_util_getdiskname): Make static.
38877
38878 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38879 grub_hostfs_fini(), as they are called from grub_init_all() and
38880 grub_fini_all() respectively. This fixes an infinite loop in
38881 grub-fstest due to double registration of hostfs.
38882 Reported by Christian Franke <Christian.Franke@t-online.de>
38883
388842008-04-05 Pavel Roskin <proski@gnu.org>
38885
38886 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38887 all 8 functions. Otherwise, probe function 0 only.
38888
388892008-04-04 Pavel Roskin <proski@gnu.org>
38890
38891 * commands/lspci.c (grub_lspci_iter): Print the bus number
38892 correctly.
38893
38894 * commands/lspci.c (grub_pci_classes): Fix typos.
38895 (grub_lspci_iter): Don't print func twice. Print vendor ID
38896 before device ID, as it's normally done.
38897
38898 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38899 Fix signedness warnings.
38900 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38901 Likewise.
38902 * util/ieee1275/get_disk_name.c: Include config.h so that
38903 _GNU_SOURCE is defined and getline() is declared. Mark an
38904 unused argument as such. Fix a signedness warning.
38905
389062008-04-02 Pavel Roskin <proski@gnu.org>
38907
38908 * genkernsyms.sh.in: Use more robust assignments for CC and
38909 srcdir. Quote srcdir.
38910 * gensymlist.sh.in: Likewise. Assert at the compile time that
38911 the symbol table is not empty.
38912
38913 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38914 * fs/cpio.c (grub_cpio_read): Likewise.
38915
389162008-04-01 Pavel Roskin <proski@gnu.org>
38917
38918 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38919 * disk/host.c (grub_host_open): Likewise.
38920 * disk/loopback.c (grub_loopback_open): Likewise.
38921 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38922 disk->id as in disk/host.c, not a multi-character constant.
38923
38924 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38925 later is obsolete, potentially dangerous and sets a bad example.
38926 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38927 * util/misc.c (grub_util_get_image_size): Likewise.
38928
38929 * disk/loopback.c (options): Improve help for "--partitions".
38930
38931 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38932 options to align them with the short options, e.g. "echo -e".
38933
389342008-03-31 Bean <bean123ch@gmail.com>
38935
38936 * video/reader/png.c (grub_png_data): New member is_16bit and
38937 image_data.
38938 (grub_png_decode_image_header): Detect 16 bit png image.
38939 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38940 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38941 (grub_video_reader_png): Release memory occupied by image_data.
38942
38943 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38944 4096 bytes.
38945 (grub_nfs_mount): Skip the test for sector per cluster.
38946
38947 * include/grub/ntfs.h (MAX_SPC): Removed.
38948
389492008-03-31 Bean <bean123ch@gmail.com>
38950
38951 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38952 (grub_probe_SOURCES): Add fs/afs.c.
38953 (grub_fstest_SOURCES): Likewise.
38954 (afs_mod_SOURCES): New variable.
38955 (afs_mod_CFLAGS): Likewise.
38956 (afs_mod_LDFLAGS): Likewise.
38957
38958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38959 (grub_emu_SOURCES): Likewise.
38960
38961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38962
38963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38964
38965 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38966
38967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38968
38969 * fs/afs.c: New file.
38970
389712008-03-30 Pavel Roskin <proski@gnu.org>
38972
38973 * disk/host.c: Include grub/misc.h to fix a warning.
38974 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38975 warnings about implicit declarations.
38976
38977 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38978 variable.
38979 * include/grub/i386/loader.h: Change declaration of
38980 grub_linux_boot() to match what grub_loader_set() expects.
38981 * util/getroot.c (grub_guess_root_device): Return const char* to
38982 fix a warning.
38983 * util/grub-probe.c (probe): Fix a warning about uninitialized
38984 abstraction_name variable.
38985 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38986 second argument as unused to fix a warning.
38987
38988 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38989 missing grub_error() call.
38990
38991 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38992 2.60 and newer uses it to define datadir.
38993
38994 * commands/sleep.c: Fix warning about implicit declaration.
38995 * disk/memdisk.c: Likewise.
38996 * loader/aout.c: Likewise.
38997 * loader/i386/bsd_normal.c: Likewise.
38998 * util/grub-probe.c: Likewise.
38999
39000 * commands/i386/cpuid.c (has_longmode): Make static.
39001 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39002 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39003
39004 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39005 GDT. This is more robust, as %ds can change.
39006 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39007 calling real_to_prot().
39008 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39009
390102008-03-28 Pavel Roskin <proski@gnu.org>
39011
39012 * kern/i386/pc/startup.S: Assert that uncompressed functions
39013 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39014 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39015 code, as they push parts of the code (error handlers) beyond
39016 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39017 code as correctness and size.
39018
390192008-03-28 Pavel Roskin <proski@gnu.org>
39020
39021 * kern/i386/pc/startup.S
39022 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39023 data block address to the real mode, keep offset minimal. This
39024 works around a bug in AWARD BIOS on old Athlon systems, which
39025 makes CD detection hang.
39026
390272008-03-26 Pavel Roskin <proski@gnu.org>
39028
39029 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39030 const.
39031 * include/grub/normal.h: Add grub_parse_color_name_pair()
39032 declaration.
39033
390342008-03-24 Bean <bean123ch@gmail.com>
39035
39036 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39037 (cd_count): Removed.
39038 (cd_drive): New variable.
39039 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39040 (grub_biosdisk_call_hook): Likewise.
39041 (grub_biosdisk_iterate): Change cdrom detection method.
39042 (grub_biosdisk_open): Replace cd_start with cd_drive.
39043 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39044 detect cdrom device.
39045
39046 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39047 Removed.
39048 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39049 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39050 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39051 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39052 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39053 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39054 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39055 (grub_biosdisk_cdrp): New structure.
39056 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39057
39058 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39059
39060 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39061 device.
39062
39063 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39064 New function.
39065
390662008-03-20 Robert Millan <rmh@aybabtu.com>
39067
39068 Remove 2 TiB limit in ata.mod.
39069 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39070 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39071 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39072 grub_uint64_t instead of grub_uint32_t.
39073
390742008-03-05 Bean <bean123ch@gmail.com>
39075
39076 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39077 (grub_multiboot): Set boot device.
39078
39079 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39080
390812008-03-02 Bean <bean123ch@gmail.com>
39082
39083 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39084 symlink_buffer.
39085
390862008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39087
39088 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39089 texinfo.tex.
39090
39091 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39092 modified.
39093
39094 * docs/fdl.texi: New file.
39095
39096 * docs/mdate-sh: New file. Copied from gnulib.
39097 * docs/texinfo.tex: Likewise.
39098
39099 * config.guess: Updated from gnulib.
39100 * install-sh: Likewise.
39101
391022008-02-28 Robert Millan <rmh@aybabtu.com>
39103
39104 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39105 (aout_mod_SOURCES): New variable.
39106 (aout_mod_CFLAGS): Likewise.
39107 (aout_mod_LDFLAGS): Likewise.
39108
39109 * conf/i386-ieee1275.rmk: Likewise.
39110
391112008-02-28 Robert Millan <rmh@aybabtu.com>
39112
39113 * util/update-grub.in: Reorganise terminal validity check. Accept
39114 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39115 Based on suggestion by Franklin PIAT.
39116
391172008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39118
39119 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39120 function.
39121 * util/getroot.c (grub_util_check_block_device): New function that
39122 returns the given argument if it is a block device and returns NULL else.
39123 * util/grub-probe.c (argument_is_device): New variable.
39124 (probe): Promote device_name from a variable to an argument. Receive
39125 device_name from grub_util_check_block_device() if path is NULL and from
39126 grub_guess_root_device() else. Do not free() device_name anymore.
39127 (options): Introduce new parameter '-d, --device'.
39128 (main): Add description of the new parameter to the help screen.
39129 Rename path variable to argument. Set argument_is_device if the '-d'
39130 option is given. Pass argument to probe() depending on
39131 argument_is_device.
39132
391332008-02-24 Bean <bean123ch@gmail.com>
39134
39135 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39136 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39137 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39138 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39139 (GRUB_ISO9660_VOLDESC_END): Likewise.
39140 (grub_iso9660_primary_voldesc): New member escape.
39141 (grub_iso9660_data): New member joliet.
39142 (grub_iso9660_convert_string): New function.
39143 (grub_iso9660_mount): Detect joliet extension.
39144 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39145 (grub_iso9660_iso9660_label): Likewise.
39146
39147 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39148 (grub_setup_SOURCES): Add fs/udf.c.
39149 (grub_fstest_SOURCES): Likewise.
39150 (udf_mod_SOURCES): New variable.
39151 (udf_mod_CFLAGS): Likewise.
39152 (udf_mod_LDFLAGS): Likewise.
39153
39154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
39155 (grub_emu_SOURCES): Likewise.
39156
39157 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39158
39159 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39160
39161 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39162
39163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39164
39165 * fs/udf.c: New file.
39166
391672008-02-24 Robert Millan <rmh@aybabtu.com>
39168
39169 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
39170 (normal/lexer.c_DEPENDENCIES): New variables.
39171 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39172 (normal/lexer.c_DEPENDENCIES): Likewise.
39173 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
39174 (normal/lexer.c_DEPENDENCIES): Likewise.
39175 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
39176 (normal/lexer.c_DEPENDENCIES): Likewise.
39177 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39178 (normal/lexer.c_DEPENDENCIES): Likewise.
39179 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39180 (normal/lexer.c_DEPENDENCIES): Likewise.
39181
391822008-02-23 Robert Millan <rmh@aybabtu.com>
39183
39184 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39185 since they were intended to be in hex. This didn't break previously
39186 because of a bug in gpt_partition_map_iterate() (see below).
39187
39188 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39189 when checking the validity of GPT header.
39190 Remove `partno', since it always provides the same information as `i'.
39191
391922008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39193
39194 * include/grub/efi/time.h: Fix a wrong comment.
39195
391962008-02-19 Pavel Roskin <proski@gnu.org>
39197
39198 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39199 message.
39200
392012008-02-19 Bean <bean123ch@gmail.com>
39202
39203 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39204 (aout_mod_SOURCES): New variable.
39205 (aout_mod_CFLAGS): Likewise.
39206 (aout_mod_LDFLAGS): Likewise.
39207 (_bsd_mod_SOURCES): New variable.
39208 (_bsd_mod_CFLAGS): Likewise.
39209 (_bsd_mod_LDFLAGS): Likewise.
39210 (bsd_mod_SOURCES): New variable.
39211 (bsd_mod_CFLAGS): Likewise.
39212 (bsd_mod_LDFLAGS): Likewise.
39213
39214 * include/grub/aout.h: New file.
39215
39216 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39217
39218 * include/grub/i386/bsd.h: New file.
39219
39220 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39221 to make it public.
39222
39223 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39224 function is called, so that it's possible to change it inside the hook.
39225 (grub_elf64_load): Likewise.
39226 (grub_elf_file): Don't close the file if elf header is not found.
39227 (grub_elf_close): Close the file if grub_elf_file fails (The new
39228 grub_elf_file won't close it).
39229 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39230 (grub_elf64_size): Likewise.
39231
39232 * kern/i386/loader.S (grub_unix_real_boot): New function.
39233
39234 * loader/aout.c: New file.
39235
39236 * loader/i386/bsd.c: New file.
39237
39238 * loader/i386/bsd_normal.c: New file.
39239
39240 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
39241
39242 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
39243 can test other formats.
39244
392452008-02-19 Robert Millan <rmh@aybabtu.com>
39246
39247 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
39248 (grub_gpt_partition_type_empty): Redefine with macro from
39249 `<grub/gpt_partition.h>'.
39250 (gpt_partition_map_iterate): Adjust partition type comparison.
39251
39252 Export `entry' as partmap-specific `part.data' struct.
39253 (grub_gpt_header, grub_gpt_partentry): Move from here ...
39254
39255 * include/grub/gpt_partition.h (grub_gpt_header)
39256 (grub_gpt_partentry): ... to here (new file).
39257
39258 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
39259
39260 (grub_gpt_partition_type_bios_boot): New const variable, defined
39261 with macro from `<grub/gpt_partition.h>'.
39262
39263 (setup): Replace `first_start' with `embed_region', which keeps
39264 track of the embed region (and is partmap-agnostic).
39265
39266 Replace find_first_partition_start() with find_usable_region(),
39267 which finds a usable region for embedding using partmap-specific
39268 knowledge (supports PC/MSDOS and GPT).
39269
39270 Fix all assumptions that the embed region start at sector 1, using
39271 `embed_region.start' from now on. Similarly, use `embed_region.end'
39272 rather than `first_start' to calculate available size.
39273
39274 In grub_util_info() message, replace "into after the MBR" with an
39275 indication of the specific sector our embed region starts at.
39276
392772008-02-19 Robert Millan <rmh@aybabtu.com>
39278
39279 * DISTLIST: Replace `commands/ieee1275/halt.c' and
39280 `commands/ieee1275/reboot.c' with `commands/halt.c' and
39281 `commands/reboot.c'.
39282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39283 (halt_mod_SOURCES): Likewise.
39284 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39285 (halt_mod_SOURCES): Likewise.
39286
392872008-02-17 Christian Franke <franke@computer.org>
39288
39289 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
39290
392912008-02-17 Robert Millan <rmh@aybabtu.com>
39292
39293 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39294 set `first_start' to 0 for non-PC/MSDOS partition maps.
39295
392962008-02-16 Robert Millan <rmh@aybabtu.com>
39297
39298 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39299 do not assume partition map is PC/MSDOS before performing checks that
39300 are specific to that layout.
39301
393022008-02-13 Robert Millan <rmh@aybabtu.com>
39303
39304 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
39305 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
39306 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
39307
393082008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
39309
39310 * configure.ac: Only a cosmetic change on the handling of
39311 -fno-stack-protector.
39312
393132008-02-12 Alexandre Boeglin <alex@boeglin.org>
39314
39315 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
39316 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
39317 reboot.c.
39318 (grub_install_SOURCES): Add halt.mod and reboot.mod.
39319 (halt_mod_SOURCES): New variable.
39320 (halt_mod_CFLAGS): Likewise.
39321 (halt_mod_LDFLAGS): Likewise.
39322 (reboot_mod_SOURCES): Likewise.
39323 (reboot_mod_CFLAGS): Likewise.
39324 (reboot_mod_LDFLAGS): Likewise.
39325
39326 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
39327 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
39328 reboot.c.
39329 (halt_mod_SOURCES): Likewise.
39330 (reboot_mod_SOURCES): Likewise.
39331
39332 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39333 commands/i386/pc/reboot.c by commands/reboot.c.
39334 (reboot_mod_SOURCES): Likewise.
39335
39336 * commands/i386/pc/reboot.c: merge this file ...
39337
39338 * commands/ieee1275/reboot.c: ... and this file ...
39339
39340 * commands/reboot.c: ... to this file.
39341 Add some precompiler directive to include the correct header for
39342 each machine.
39343
39344 * commands/ieee1275/halt.c: move this file ...
39345
39346 * commands/halt.c: ... to here.
39347 Add some precompiler directive to include the correct header for
39348 each machine.
39349
39350 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39351 (grub_halt): Likewise.
39352
39353 * kern/efi/efi.c (grub_reboot): New function.
39354 (grub_halt): Likewise.
39355
393562008-02-12 Robert Millan <rmh@aybabtu.com>
39357
39358 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39359 /dev (like it is done for /dev/mapper). This doesn't provide support
39360 for EVMS, but at least it is now easy to identify the problem when it
39361 arises.
39362
393632008-02-11 Robert Millan <rmh@aybabtu.com>
39364
39365 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39366 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39367 comparing it with -1, not 0.
39368
393692008-02-10 Robert Millan <rmh@aybabtu.com>
39370
39371 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39372 `disk/lvm.c'.
39373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39374 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39375
39376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39377 `disk/lvm.c' to the end of the list.
39378 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39379 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39380
393812008-02-10 Robert Millan <rmh@aybabtu.com>
39382
39383 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39384 grub_print_error() instead. This will let user know why we're entering
39385 rescue mode.
39386 Based on suggestions from Sam Morris.
39387
393882008-02-10 Alexandre Boeglin <alex@boeglin.org>
39389
39390 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39391 on remaining N args, instead of "--" arg N times.
39392
393932008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39394
39395 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39396 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39397 pattern for unknown glyphs.
39398
393992008-02-09 Robert Millan <rmh@aybabtu.com>
39400
39401 * configure.ac: Probe for `help2man'.
39402 * Makefile.in (builddir): New variable.
39403 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39404 or otherwise add a few flags/options to it.
39405 (install-local): For every executable utility or script that is
39406 installed, invoke $(HELP2MAN) to install a manpage based on --help
39407 output.
39408
39409 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39410 that it doesn't prevent --help from working in build tree.
39411
39412 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39413 with `bug-grub@gnu.org'.
39414 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39415 * util/update-grub.in (usage): New function.
39416 Implement proper argument check, with support for --help and --version
39417 (as well as existing -y).
39418
394192008-02-09 Christian Franke <franke@computer.org>
39420
39421 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39422 avoid overwriting previous output.
39423 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39424
394252008-02-09 Robert Millan <rmh@aybabtu.com>
39426
39427 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39428 drawing the menu.
39429
394302008-02-09 Robert Millan <rmh@aybabtu.com>
39431
39432 * commands/sleep.c: New file.
39433 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39434 (sleep_mod_SOURCES): New variable.
39435 (sleep_mod_CFLAGS): Likewise.
39436 (sleep_mod_LDFLAGS): Likewise.
39437
394382008-02-09 Robert Millan <rmh@aybabtu.com>
39439
39440 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39441 situations in which we can deduce the RAID size and the superblock
39442 doesn't match it.
39443
394442008-02-09 Robert Millan <rmh@aybabtu.com>
39445
39446 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39447 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39448 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39449
39450 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39451 and return a grub_diskmemberlist_t composed of physical array members.
39452 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39453
39454 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39455 prototype.
39456 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39457 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39458 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39459
39460 * util/grub-probe.c (probe): Move partmap probing code from here ...
39461 (probe_partmap): ... to here.
39462 (probe): Use probe_partmap() once for the disk we're probing, and
39463 additionally, when such disk contains a memberlist() struct member,
39464 once for each disk that is contained in the structure returned by
39465 memberlist().
39466
394672008-02-09 Robert Millan <rmh@aybabtu.com>
39468
39469 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39470 environment variable to 'all' in order to obtain debug output from
39471 non-util/ code.
39472 * util/i386/pc/grub-setup.c (main): Likewise.
39473
394742008-02-08 Robert Millan <rmh@aybabtu.com>
39475
39476 * disk/raid.c (grub_raid_scan_device): Check for
39477 `array->device[sb.this_disk.number]' rather than for
39478 `array->device[sb.this_disk.number]->name', since the latter is not
39479 guaranteed to be accessible.
39480
394812008-02-08 Robert Millan <rmh@aybabtu.com>
39482
39483 * disk/raid.c: Update copyright.
39484 * fs/cpio.c: Likewise.
39485 * include/grub/raid.h: Likewise.
39486 * loader/i386/pc/multiboot.c: Likewise.
39487 * util/hostfs.c: Likewise.
39488
394892008-02-08 Robert Millan <rmh@aybabtu.com>
39490
39491 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39492 to a grub_disk_t array.
39493 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39494 `device[x]'.
39495 (grub_raid_scan_device): Replace `device[x].name' accesses with
39496 `device[x]->name'. Simplify initialization of `array->device[x]'.
39497
394982008-02-08 Robert Millan <rmh@aybabtu.com>
39499
39500 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39501 grub_dprintf() calls.
39502 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39503 error message.
39504
395052008-02-07 Christian Franke <franke@computer.org>
39506
39507 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39508 instead of fseek and ftell to support large files.
39509 (grub_hostfs_read): Likewise.
39510
395112008-02-07 Robert Millan <rmh@aybabtu.com>
39512
39513 Patch from Jeroen Dekkers.
39514 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
39515 failure, since successfully reading all array members might not be
39516 required.
39517
395182008-02-06 Robert Millan <rmh@aybabtu.com>
39519
39520 * util/grub-probe.c (probe): Simplify partmap probing (with the
39521 assumption that the first word up to the underscore equals to
39522 the module name).
39523
395242008-02-06 Christian Franke <franke@computer.org>
39525
39526 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
39527 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
39528 last block of a cpio or tar stream.
39529 Check for "TRAILER!!!" instead of any empty data
39530 block to detect last block of a cpio stream.
39531 (grub_cpio_dir): Fix constness of variable np.
39532 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
39533 cpio or tar trailer is detected. This fixes a crash
39534 on open of a non existing file.
39535
395362008-02-05 Bean <bean123ch@gmail.com>
39537
39538 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
39539 address of entry.
39540 (grub_multiboot_load_elf64): Likewise.
39541 (grub_multiboot): Initialize mbi structure.
39542
39543 * util/grub-fstest.c: Don't include unused header file script.h.
39544
39545 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
39546 of file.
39547 (grub_fstest_SOURCES): Likewise.
39548
395492008-02-05 Robert Millan <rmh@aybabtu.com>
39550
39551 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
39552 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
39553 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
39554 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
39555
39556 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
39557 (translation_table): Replace hardcoded values with macros
39558 provided by `<grub/term.h>'.
39559
39560 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
39561 (keyboard_map): Correct/add a few values, with macros provided
39562 by `<grub/term.h>'.
39563 (keyboard_map_shift): Zero values that don't differ from their
39564 `keyboard_map' equivalents.
39565 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
39566 Discard the second scan code that is always sent by Caps lock.
39567 Only use `keyboard_map_shift' when it provides a non-zero value,
39568 otherwise fallback to `keyboard_map'.
39569
395702008-02-04 Bean <bean123ch@gmail.com>
39571
39572 * Makefile.in (enable_grub_fstest): New variable.
39573
39574 * conf/common.rmk (grub_fstest_init.lst): New rule.
39575 (grub_fstest_init.h): Likewise.
39576 (grub_fstest_init.c): Likewise.
39577 (util/grub-fstest.c_DEPENDENCIES): New variable.
39578 (grub_fstest_SOURCES): Likewise.
39579
39580 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
39581
39582 * util/grub-fstest.c: New file.
39583
395842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39585
39586 Make grub-setup handle a separate root device.
39587
39588 * util/i386/pc/grub-setup.c (setup): Always open the root device,
39589 so that the root device can be compared with the destination
39590 device.
39591 When embedding the core image, if the root and destination devices
39592 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
39593 0xFF.
39594 When not embedding, set ROOT_DRIVE to 0xFF.
39595
395962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39597
39598 Add support for having a grub directory in a different drive. This
39599 is still only the data handling part.
39600
39601 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
39602 (codestart): Save %dh in GRUB_ROOT_DRIVE.
39603 (grub_root_drive): New variable.
39604
39605 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
39606 instead of GRUB_BOOT_DRIVE to construct a device name. Set
39607 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
39608 as it was.
39609
39610 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
39611
39612 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
39613 macro.
39614 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
39615
39616 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
39617 is bogus, because PXE booting does not specify any drive
39618 correctly.
39619
39620 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
39621 am not sure if this is really correct.
39622
39623 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
39624 is always identical to the boot drive when booting from a CD.
39625
39626 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
39627 longer.
39628 (root_drive): New variable.
39629 (real_start): Unconditionally set %dh to ROOT_DRIVE.
39630 (setup_sectors): Push %dx right after popping it, because %dh will
39631 be modified later.
39632 (copy_buffer): Restore %dx.
39633
396342008-02-03 Robert Millan <rmh@aybabtu.com>
39635
39636 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
39637 use `cdboot.img' for cdrom images.
39638
396392008-02-03 Robert Millan <rmh@aybabtu.com>
39640
39641 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
39642 only setup gfxterm when `font' command has succeeded.
39643
396442008-02-03 Robert Millan <rmh@aybabtu.com>
39645
39646 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
39647 (grub_rescue_cmd_multiboot_loader)
39648 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
39649
396502008-02-03 Pavel Roskin <proski@gnu.org>
39651
39652 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
39653 %edx and %esi from stack only after grub_gate_a20() is called.
39654 grub_gate_a20() clobbers %edx.
39655
396562008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39657
39658 * configure.ac (AC_INIT): Bumped to 1.96.
39659
39660 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
39661 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
39662 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
39663 video/readers/png.c.
39664
396652008-02-03 Bean <bean123ch@gmail.com>
39666
39667 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
39668 (cdboot_img_SOURCES): New variable.
39669 (cdboot_img_ASFLAGS): New variable.
39670 (cdboot_img_LDFLAGS): New variable.
39671
39672 * boot/i386/pc/cdboot.S: New file.
39673
39674 * disk/i386/pc/biosdisk.c (cd_start): New variable.
39675 (cd_count): Likewise.
39676 (grub_biosdisk_get_drive): Add support for cd device.
39677 (grub_biosdisk_call_hook): Likewise.
39678 (grub_biosdisk_iterate): Likewise.
39679 (grub_biosdisk_open): Likewise.
39680 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
39681 (grub_biosdisk_rw): Support reading from cd device.
39682 (GRUB_MOD_INIT): Iterate cd devices.
39683
39684 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
39685 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
39686 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
39687
39688 * kern/i386/pc/init.c (make_install_device): Check for cd device.
39689
396902008-02-02 Robert Millan <rmh@aybabtu.com>
39691
39692 * commands/read.c: New file.
39693 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
39694 (read_mod_SOURCES): New variable.
39695 (read_mod_CFLAGS): Likewise.
39696 (read_mod_LDFLAGS): Likewise.
39697
396982008-02-02 Robert Millan <rmh@aybabtu.com>
39699
39700 * normal/main.c (grub_normal_execute): Check for `menu->size' when
39701 determining whether menu has to be displayed.
39702
397032008-02-02 Marco Gerards <marco@gnu.org>
39704
39705 * bus/pci.c: New file.
39706
39707 * include/grub/pci.h: Likewise.
39708
39709 * include/grub/i386/pc/pci.h: Likewise.
39710
39711 * commands/lspci.c: Likewise.
39712
39713 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
39714 `lspci.mod'.
39715 (pci_mod_SOURCES): New variable.
39716 (pci_mod_CFLAGS): Likewise.
39717 (pci_mod_LDFLAGS): Likewise.
39718 (lspci_mod_SOURCES): Likewise.
39719 (lspci_mod_CFLAGS): Likewise.
39720 (lspci_mod_LDFLAGS): Likewise.
39721
397222008-02-02 Bean <bean123ch@gmail.com>
39723
39724 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
39725 (grub_ufs_get_file_block): Fix indirect block calculation problem.
39726
39727 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
39728 (grub_xfs_btree_node): New structure.
39729 (grub_xfs_btree_root): New structure.
39730 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
39731 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
39732 (GRUB_XFS_EXTENT_BLOCK): Likewise.
39733 (GRUB_XFS_EXTENT_SIZE): Likewise.
39734 (grub_xfs_read_block): Support btree format type.
39735 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
39736 Use directory block as basic unit.
39737
39738 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
39739
39740 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
39741 __attribute__ ((__regparm__ (1))).
39742
397432008-02-01 Robert Millan <rmh@aybabtu.com>
39744
39745 Correct a mistake in previous commit.
39746
39747 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
39748 top.
39749 (normal/command.c_DEPENDENCIES): New variable.
39750
397512008-02-01 Robert Millan <rmh@aybabtu.com>
39752
39753 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
39754 top.
39755 (normal/command.c_DEPENDENCIES): New variable.
39756 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
39757 * conf/i386-ieee1275.rmk: Likewise.
39758 * conf/i386-linuxbios.rmk: Likewise.
39759 * conf/i386-pc.rmk: Likewise.
39760 * conf/sparc64-ieee1275.rmk: Likewise.
39761 * conf/powerpc-ieee1275.rmk: Likewise.
39762 (grub_emu_SOURCES): Add `fs/fshelp.c'.
39763
39764 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
39765
397662008-02-01 Robert Millan <rmh@aybabtu.com>
39767
39768 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
39769 call at beginning of function.
39770
397712008-01-31 Pavel Roskin <proski@gnu.org>
39772
39773 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
39774 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
39775 (grub_mkrescue_SOURCES): Likewise.
39776 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
39777
397782008-01-30 Robert Millan <rmh@aybabtu.com>
39779
39780 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
39781 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
39782 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
39783 (grub_probe_SOURCES): ... to here.
39784
39785 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
39786 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
39787 * conf/i386-ieee1275.rmk: Likewise.
39788 * conf/i386-linuxbios.rmk: Likewise.
39789 * conf/powerpc-ieee1275.rmk: Likewise.
39790
397912008-01-30 Tristan Gingold <gingold@free.fr>
39792
39793 * kern/rescue.c: Silently accept empty lines.
39794
397952008-01-29 Bean <bean123ch@gmail.com>
39796
39797 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
39798 (real_code_2): Code cleanup and change comment style.
39799 (move_memory): Avoid using 32-bit address mode.
39800
398012008-01-29 Bean <bean123ch@gmail.com>
39802
39803 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
39804 (png_mod_SOURCES): New variable.
39805 (png_mod_CFLAGS): Likewise.
39806 (png_mod_LDFLAGS): Likewise.
39807
39808 * video/readers/png.c: New file.
39809
398102008-01-28 Robert Millan <rmh@aybabtu.com>
39811
39812 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
39813 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
39814 `ifndef GRUB_MOD_GAP' hack.
39815 * util/elf/grub-mkimage.c (add_segments): Likewise.
39816
398172008-01-27 Robert Millan <rmh@aybabtu.com>
39818
39819 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
39820 `GRUB_MOD_GAP' for platforms in which it's not defined.
39821 * util/elf/grub-mkimage.c (add_segments): Likewise.
39822
398232008-01-27 Robert Millan <rmh@aybabtu.com>
39824
39825 Get grub-emu to build again (including parallel builds).
39826
39827 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
39828 Split into ...
39829 (util/grub-emu.c_DEPENDENCIES): ... this, ...
39830 (normal/execute.c_DEPENDENCIES): ... this, ...
39831 (grub-emu_DEPENDENCIES): ... and this.
39832
39833 * conf/i386-efi.rmk: Likewise.
39834 * conf/i386-linuxbios.rmk: Likewise.
39835 * conf/i386-ieee1275.rmk: Likewise.
39836 * conf/powerpc-ieee1275.rmk: Likewise.
39837 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
39838
398392008-01-27 Robert Millan <rmh@aybabtu.com>
39840
39841 * NEWS: Add a few items.
39842
398432008-01-27 Robert Millan <rmh@aybabtu.com>
39844
39845 Fix parallel builds with grub-emu. Based on earlier commit for
39846 grub-probe and grub-setup.
39847
39848 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39849 (util/grub-emu.c_DEPENDENCIES): ... this.
39850 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39851 (util/grub-emu.c_DEPENDENCIES): ... this.
39852 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39853 (util/grub-emu.c_DEPENDENCIES): ... this.
39854 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39855 (util/grub-emu.c_DEPENDENCIES): ... this.
39856 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39857 (util/grub-emu.c_DEPENDENCIES): ... this.
39858
398592008-01-27 Pavel Roskin <proski@gnu.org>
39860
39861 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
39862 to create a gap between _end and the modules added to the image
39863 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
39864 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
39865 * util/elf/grub-mkimage.c (add_segments): Likewise.
39866
398672008-01-26 Pavel Roskin <proski@gnu.org>
39868
39869 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39870 just return an error.
39871
398722008-01-26 Bean <bean123ch@gmail.com>
39873
39874 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39875 (grub_reiserfs_get_item): Save offset of the next item.
39876 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39877
398782008-01-25 Robert Millan <rmh@aybabtu.com>
39879
39880 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39881 make all filesystem sources appear together (possibly fixing omissions
39882 while at it).
39883 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39884 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39885 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39887
39888 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39889 add `kern/file.c'.
39890 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39891 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39892 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39893 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39894
39895 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39896 (probe): Add a sanity check to make sure of our ability to read
39897 requested files when probing for filesystem type.
39898
39899 * genmk.rb: Update copyright year (2007).
39900
39901 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39902 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39903 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39904 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39905 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39906 : Remove function prototypes.
39907
399082008-01-25 Robert Millan <rmh@aybabtu.com>
39909
39910 Revert my previous commits (based on wrong assumption of how grub_errno
39911 works).
39912
39913 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
39914 * kern/file.c (grub_file_open): Likewise.
39915
399162008-01-24 Pavel Roskin <proski@gnu.org>
39917
39918 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39919 that hang if GRUB tries to setup colors.
39920 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39921 colors for firmwares that don't support it.
39922 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39923 Recognize Open Hack'Ware, set flags to work around its
39924 limitations.
39925
399262008-01-24 Robert Millan <rmh@aybabtu.com>
39927
39928 * kern/file.c (grub_file_open): Do not account previous failures of
39929 unrelated functions when grub_errno is checked for.
39930 Reported by Oleg Strikov.
39931
399322008-01-24 Bean <bean123ch@gmail.com>
39933
39934 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39935 (grub_ufs_sblock): New member volume name.
39936 (grub_ufs_find_file): Fix string copy bug.
39937 (grub_ufs_label): Implement this function properly.
39938
39939 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39940 (grub_hfs_iterate_records): Use the correct file number for extents
39941 and catalog file. Fix problem in next index calculation.
39942 (grub_hfs_find_node): Replace recursive function call with loop.
39943 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39944
399452008-01-23 Robert Millan <rmh@aybabtu.com>
39946
39947 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39948 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39949 (grub_multiboot2_real_boot): New function prototype.
39950
39951 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39952 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39953
39954 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39955 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39956
399572008-01-23 Robert Millan <rmh@aybabtu.com>
39958
39959 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39960 #ifdef'ed out grub_printf().
39961
399622008-01-23 Robert Millan <rmh@aybabtu.com>
39963
39964 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39965 grub_dprintf calls, since they make "debug=all" mode unusable.
39966 (grub_console_checkkey): Likewise.
39967
399682008-01-23 Robert Millan <rmh@aybabtu.com>
39969
39970 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39971 `term/i386/pc/at_keyboard.c'.
39972 (pkglib_MODULES): Add `serial.mod'.
39973 (serial_mod_SOURCES): New variable.
39974 (serial_mod_CFLAGS): Likewise.
39975 (serial_mod_LDFLAGS): Likewise.
39976
39977 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39978 `<grub/powerpc/ieee1275/console.h>'.
39979 (grub_keyboard_controller_init): New function prototype.
39980 (grub_console_checkkey): Likewise.
39981 (grub_console_getkey): Likewise.
39982
39983 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39984 keyboard on i386.
39985
39986 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39987 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39988
399892008-01-23 Robert Millan <rmh@aybabtu.com>
39990
39991 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39992 present, "(memdisk)/boot/grub" becomes the default prefix.
39993
39994 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39995 a memdisk tarball with all the modules. Add --overlay=DIR option that
39996 allows users to overlay additional files into the image.
39997
399982008-01-23 Robert Millan <rmh@aybabtu.com>
39999
40000 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40001 and `machine/memory.h'.
40002 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40003 (_multiboot_mod_SOURCES): New variable.
40004 (_multiboot_mod_CFLAGS): Likewise.
40005 (_multiboot_mod_LDFLAGS): Likewise.
40006 (multiboot_mod_SOURCES): Likewise.
40007 (multiboot_mod_CFLAGS): Likewise.
40008 (multiboot_mod_LDFLAGS): Likewise.
40009
40010 * include/grub/i386/ieee1275/loader.h: New file.
40011
40012 * include/grub/i386/ieee1275/machine.h: Likewise.
40013
40014 * include/grub/i386/ieee1275/memory.h: Likewise.
40015
40016 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40017 variable declaration.
40018 (grub_os_area_size): Likewise.
40019
40020 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40021 (grub_lower_mem, grub_upper_mem): New variables.
40022 (grub_stop_floppy): New function (just to make
40023 grub_multiboot2_real_boot() happy).
40024
40025 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40026 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40027 (grub_stop): New function.
40028 Include `"../realmode.S"' and `"../loader.S"'.
40029
40030 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40031 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40032
40033 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40034 rely on grub_multiboot2_real_boot() for final boot.
40035
400362008-01-22 Robert Millan <rmh@aybabtu.com>
40037
40038 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40039 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40040 device that doesn't look like an SD card.
40041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40042 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40043 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40044 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40045 found.
40046
400472008-01-22 Robert Millan <rmh@aybabtu.com>
40048
40049 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40050 avoid claiming over our own code.
40051
400522008-01-22 Bean <bean123ch@gmail.com>
40053
40054 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40055 (jpeg_mod_SOURCES): New variable.
40056 (jpeg_mod_CFLAGS): Likewise.
40057 (jpeg_mod_LDFLAGS): Likewise.
40058
40059 * video/readers/jpeg.c : New file.
40060
400612008-01-22 Bean <bean123ch@gmail.com>
40062
40063 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40064 there are no more items.
40065
400662008-01-21 Robert Millan <rmh@aybabtu.com>
40067
40068 * kern/mm.c (grub_mm_init_region): Improve debug message.
40069
400702008-01-21 Robert Millan <rmh@aybabtu.com>
40071
40072 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40073 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40074 address.
40075 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40076 a C macro.
40077 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40078 Indicates start of upper memory.
40079 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40080 (generate_image): Abort when image size is big enough to corrupt
40081 upper memory.
40082
40083 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40084 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40085 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40086 instead of hardcoding 0xA0000.
40087 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40088 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40089 instead of hardcoding 0xA0000.
40090
400912008-01-21 Robert Millan <rmh@aybabtu.com>
40092
40093 * disk/memdisk.c (memdisk_size): New variable.
40094 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40095 `memdisk_size'.
40096 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40097 image to dynamic memory.
40098 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40099 `memdisk_size'. Free memdisk block.
40100
401012008-01-21 Robert Millan <rmh@aybabtu.com>
40102
40103 Fix detection of very small filesystems (like tar).
40104
40105 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40106 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40107 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40108 a problem with this disk).
40109
401102008-01-21 Robert Millan <rmh@aybabtu.com>
40111
40112 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40113 on grub_biosdisk_rw_standard() error.
40114
401152008-01-21 Robert Millan <rmh@aybabtu.com>
40116
40117 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40118 recent changes.
40119 * kern/elf.c: Likewise.
40120 * kern/ieee1275/ieee1275.c: Likewise.
40121 * kern/powerpc/ieee1275/openfw.c: Likewise.
40122 * term/ieee1275/ofconsole.c: Likewise.
40123
401242008-01-21 Robert Millan <rmh@aybabtu.com>
40125
40126 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40127
40128 * include/grub/kernel.h (grub_arch_memdisk_addr)
40129 (grub_arch_memdisk_size): Moved from here ...
40130
40131 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40132 (grub_arch_memdisk_size): ... to here.
40133
401342008-01-21 Robert Millan <rmh@aybabtu.com>
40135
40136 Mostly based on bugfix from Bean.
40137
40138 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40139 attribute with hook() parameter.
40140 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40141 declaration.
40142 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40143 attribute with hook() parameter.
40144 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40145 declaration.
40146
401472008-01-21 Robert Millan <rmh@aybabtu.com>
40148
40149 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40150 (pkglib_MODULES): Add `memdisk.mod'.
40151 (memdisk_mod_SOURCES): New variable.
40152 (memdisk_mod_CFLAGS): Likewise.
40153 (memdisk_mod_LDFLAGS): Likewise.
40154
40155 * disk/memdisk.c: New file.
40156
40157 * include/grub/disk.h (grub_disk_dev_id): Add
40158 `GRUB_DISK_DEVICE_MEMDISK_ID'.
40159
40160 * include/grub/i386/pc/kernel.h
40161 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
40162 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
40163 (grub_kernel_image_size): New variable declaration.
40164 (grub_total_module_size): Likewise.
40165 (grub_memdisk_image_size): Likewise.
40166
40167 * include/grub/i386/pc/memory.h
40168 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
40169
40170 * include/grub/kernel.h: Include `<grub/symbol.h>'.
40171 (grub_arch_memdisk_addr): New variable declaration.
40172 (grub_arch_memdisk_size): Likewise.
40173
40174 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
40175 (grub_arch_memdisk_size): Likewise.
40176
40177 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40178 (codestart): Replace hardcoded `0x100000' with
40179 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40180
40181 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40182 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40183 not NULL, append the contents of the file it refers to, at the end of
40184 the compressed kernel image. Initialize `grub_memdisk_image_size'
40185 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40186 (options): Add "memdisk"|'m' option.
40187 (main): Parse --memdisk|-m option, and pass user-provided path as
40188 parameter to generate_image().
40189
401902008-01-20 Robert Millan <rmh@aybabtu.com>
40191
40192 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40193 grub_dprintf() calls from here ...
40194 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40195
401962008-01-20 Robert Millan <rmh@aybabtu.com>
40197
40198 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40199
40200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40201 declaration.
40202 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40203 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40204 `GRUB_IEEE1275_FLAG_REAL_MODE'.
40205 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
40206 property).
40207 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40208 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40209
402102008-01-19 Robert Millan <rmh@aybabtu.com>
40211
40212 Get rid of confusing function (superseded by
40213 `grub_ieee1275_get_integer_property')
40214 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40215 prototype.
40216 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40217 function.
40218 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40219 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
40220 in native endianness from grub_ieee1275_get_integer_property().
40221
402222008-01-19 Robert Millan <rmh@aybabtu.com>
40223
40224 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40225 command after "shut-down", since implementations differ on which
40226 the command for halt is.
40227
402282008-01-19 Robert Millan <rmh@aybabtu.com>
40229
40230 * include/grub/i386/linuxbios/console.h: Add header protection.
40231 (grub_keyboard_controller_init): New function prototype.
40232 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40233 (KEYBOARD_COMMAND_READ): Likewise.
40234 (KEYBOARD_COMMAND_WRITE): Likewise.
40235 (KEYBOARD_SCANCODE_SET1): Likewise.
40236 (grub_keyboard_controller_write): New function.
40237 (grub_keyboard_controller_read): Likewise.
40238 (grub_keyboard_controller_init): Likewise.
40239
40240 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
40241 (grub_console_init): On coreboot/LinuxBIOS, call
40242 grub_keyboard_controller_init().
40243
402442008-01-19 Robert Millan <rmh@aybabtu.com>
40245
40246 PowerPC changes provided by Pavel Roskin.
40247
40248 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
40249 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
40250 don't rely on cmain() doing it.
40251 * kern/i386/ieee1275/startup.S (_start): Store %eax in
40252 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
40253
402542008-01-16 Robert Millan <rmh@aybabtu.com>
40255
40256 * include/grub/i386/linuxbios/memory.h
40257 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
40258 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
40259 receive `table_header' as argument. Instead, probe for it in the
40260 known memory ranges where it can be present.
40261 (grub_available_iterate): Do not pass a fixed `table_header' address
40262 to grub_linuxbios_table_iterate().
40263
402642008-01-15 Robert Millan <rmh@aybabtu.com>
40265
40266 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
40267 * conf/i386-ieee1275.rmk: New file.
40268 * include/grub/i386/ieee1275/console.h: Likewise.
40269 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
40270 * include/grub/i386/ieee1275/kernel.h: Likewise.
40271 * include/grub/i386/ieee1275/time.h: Likewise.
40272 * kern/i386/ieee1275/init.c: Likewise.
40273 * kern/i386/ieee1275/startup.S: Likewise.
40274
402752008-01-15 Robert Millan <rmh@aybabtu.com>
40276
40277 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
40278 when pointers are 32-bit (but still do set it to one when they are
40279 64-bit).
40280
402812008-01-15 Robert Millan <rmh@aybabtu.com>
40282
40283 * include/grub/ieee1275/ieee1275.h
40284 (grub_ieee1275_get_integer_property): New function prototype.
40285
40286 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
40287 (grub_ieee1275_get_integer_property): New function. Wraps around
40288 grub_ieee1275_get_property() to handle endianness.
40289
40290 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
40291 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
40292 where appropriate.
40293 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
40294 (grub_map): Likewise.
40295 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
40296
402972008-01-15 Bean <bean123ch@gmail.com>
40298
40299 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
40300 (grub_script_execute_cmdline): Reset grub_errno.
40301
40302 * normal/main.c (read_config_file): Reset grub_errno.
40303
40304 * normal/parse.y (script_init): New.
40305 (script): Move function and menuentry here.
40306 (delimiter): New.
40307 (command): Add delimiter at the end of command.
40308 (commands): Adjust to match the new command.
40309 (commandblock): Remove grub_script_lexer_record_start.
40310 (menuentry): Add grub_script_lexer_record_start, use the new commands.
40311 (if): Use the new commands.
40312
40313 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
40314
403152008-01-15 Robert Millan <rmh@aybabtu.com>
40316
40317 * normal/menu.c (run_menu): Move timeout message from here ...
40318 (print_timeout): ... to here.
40319 (run_menu): Use print_timeout() once during initial draw to print
40320 the whole message, and again in every clock tick to update only
40321 the number of seconds.
40322
403232008-01-15 Robert Millan <rmh@aybabtu.com>
40324
40325 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
40326 actual size of `available' from grub_ieee1275_get_property(), and
40327 restrict parsing to that bound.
40328
403292008-01-15 Christian Franke <franke@computer.org>
40330
40331 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
40332 (argp_program_version): Remove variable.
40333 (argp_program_bug_address): Likewise.
40334 (options): Convert from struct argp_option to struct option.
40335 (struct arguments): Remove.
40336 (parse_opt): Remove.
40337 (usage): New function.
40338 (main): Replace struct args members by simple variables.
40339 Replace argp_parse() by getopt_long().
40340 Add switch to evaluate options.
40341 Add missing "(...)" around root_dev in prefix string.
40342
403432008-01-14 Robert Millan <rmh@aybabtu.com>
40344
40345 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40346 for grub_ieee1275_exit(), in order to improve portability.
40347
403482008-01-14 Robert Millan <rmh@aybabtu.com>
40349
40350 * util/grub.d/10_linux.in (prefix): Define.
40351 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40352
403532008-01-13 Pavel Roskin <proski@gnu.org>
40354
40355 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40356 grub_errno if no errors have been detected.
40357
403582008-01-12 Robert Millan <rmh@aybabtu.com>
40359
40360 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40361 (grub_util_get_dev_abstraction): New function prototype.
40362
40363 * util/getroot.c: Include `<grub/util/getroot.h>'
40364 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40365 (grub_util_get_dev_abstraction): ... here (new function).
40366
40367 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40368 `PRINT_ABSTRACTION'.
40369 (probe): Probe for abstraction type when requested.
40370 (main): Understand `--target=abstraction'.
40371
40372 * util/i386/efi/grub-install.in: Add abstraction module to core
40373 image when it is found to be necessary.
40374 * util/i386/pc/grub-install.in: Likewise.
40375 * util/powerpc/ieee1275/grub-install.in: Likewise.
40376
40377 * util/update-grub_lib.in (font_path): Return system path without
40378 converting to GRUB path.
40379 * util/update-grub.in: Convert system path returned by font_path()
40380 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40381 abstraction module is needed for loading fonts (if any). Export
40382 that as `GRUB_PRELOAD_MODULES'.
40383 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40384 insmod commands).
40385
403862008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40387
40388 Remove some unused code from reiserfs.
40389
40390 * fs/reiserfs.c (struct grub_reiserfs_key)
40391 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40392 (struct grub_reiserfs_node_body): Removed.
40393 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40394 Likewise.
40395 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40396 Likewise.
40397 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40398 Likewise.
40399 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40400 Likewise.
40401 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40402 Likewise.
40403 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40404 Likewise.
40405 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40406 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40407 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40408
404092008-01-10 Robert Millan <rmh@aybabtu.com>
40410
40411 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40412 Determines if a file is garbage left by packaging systems, etc.
40413 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40414 for processing /etc/grub.d scripts.
40415 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40416 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40417 as a condition for processing Linux images.
40418
404192008-01-10 Pavel Roskin <proski@gnu.org>
40420
40421 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40422 to compile reiserfs.c on PowerPC.
40423
404242008-01-10 Robert Millan <rmh@aybabtu.com>
40425
40426 * kern/device.c (grub_device_iterate): Do not abort device iteration
40427 when one of the devices cannot be opened.
40428 * kern/disk.c (grub_disk_open): Do not account previous failures of
40429 unrelated functions when grub_errno is checked for.
40430
404312008-01-08 Robert Millan <rmh@aybabtu.com>
40432
40433 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40434 `! grub_linux_is_bzimage', change order of address comparison to make
40435 it more intuitive, and improve "too big zImage" error message.
40436
404372008-01-08 Robert Millan <rmh@aybabtu.com>
40438
40439 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40440 `$(update-grub_DATA)'.
40441 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40442 targets.
40443
404442008-01-07 Robert Millan <rmh@aybabtu.com>
40445
40446 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40447 which instruction is modified by grub-setup during installation
40448 (since it wasn't obvious by only looking at this file).
40449
404502008-01-07 Robert Millan <rmh@aybabtu.com>
40451
40452 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40453 listing actual TODO items.
40454
404552008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40456
40457 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40458 correctly.
40459 (grub_reiserfs_get_key_offset): Likewise.
40460 (grub_reiserfs_set_key_offset): Likewise.
40461 (grub_reiserfs_set_key_type): Likewise.
40462 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
40463
40464 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40465 better to remove the bitfield version completely.
40466
404672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40468
40469 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40470 allocated from the heap, due to the fshelp implementation.
40471 (grub_reiserfs_dir): Free NODE, due to the same reason.
40472
404732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40474
40475 Mostly from Vincent Pelletier:
40476
40477 * fs/reiserfs.c: New file.
40478
40479 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40480 (reiserfs_mod_SOURCES): New variable.
40481 (reiserfs_mod_CFLAGS): Likewise.
40482 (reiserfs_mod_LDFLAGS): Likewise.
40483
40484 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40485 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40486 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40487 normal/color.c.
40488
404892008-01-06 Robert Millan <rmh@aybabtu.com>
40490
40491 * normal/color.c: Remove `<grub/env.h>'.
40492
404932008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40494
40495 * include/grub/normal.h: Include <grub/env.h>.
40496
404972008-01-05 Robert Millan <rmh@aybabtu.com>
40498
40499 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40500 usage example with `(hd0,1)'.
40501 Reported by Samuel Thibault.
40502
405032008-01-05 Robert Millan <rmh@aybabtu.com>
40504
40505 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40506 (grub_linux_boot_zimage): Rename to ...
40507 (grub_linux_boot): ... this.
40508 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40509 (grub_linux_boot_zimage): Conditionalize zImage copy.
40510
40511 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40512 (grub_linux_boot_bzimage): Remove prototype.
40513 (grub_linux_boot_zimage): Rename to ...
40514 (grub_linux_boot): ... this.
40515
40516 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40517 (grub_linux_boot): Remove function.
40518
405192008-01-05 Robert Millan <rmh@aybabtu.com>
40520
40521 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
40522 (grub_env_write_color_highlight): Likewise.
40523 (grub_wait_after_message): Likewise.
40524
40525 * normal/color.c: New file.
40526
40527 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40528 (normal_mod_DEPENDENCIES): Likewise.
40529
40530 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40531 (normal_mod_DEPENDENCIES): Likewise.
40532
40533 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40534 (normal_mod_DEPENDENCIES): Likewise.
40535
40536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40537 (normal_mod_DEPENDENCIES): Likewise.
40538
40539 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
40540 for waiting after a message is printed.
40541 * normal/main.c (read_config_file): Likewise.
40542 (grub_normal_init): Register grub_env_write_color_normal() and
40543 grub_env_write_color_highlight() hooks. Mark `color_normal' and
40544 `color_highlight' variables as global.
40545
40546 * normal/menu.c (grub_wait_after_message): New function.
40547 (grub_color_menu_normal): New variable. Replaces ...
40548 (GRUB_COLOR_MENU_NORMAL): ... this macro.
40549 (grub_color_menu_highlight): New variable. Replaces ...
40550 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
40551 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
40552 `GRUB_TERM_COLOR_STANDARD'.
40553 (print_message): Use `grub_setcolorstate' to reload colors. Rename
40554 `normal_code' and `highlight_code' to `old_color_normal' and
40555 `old_color_highlight', respectively.
40556 (grub_menu_init_page): Update colors when drawing the menu, based on
40557 `menu_color_normal' and `menu_color_highlight' variables.
40558 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
40559 a message is printed.
40560
405612008-01-05 Robert Millan <rmh@aybabtu.com>
40562
40563 * kern/env.c (grub_env_context_open): Propagate hooks for global
40564 variables to new context.
40565
40566 * kern/main.c (grub_set_root_dev): Export `root' variable.
40567
405682008-01-05 Robert Millan <rmh@aybabtu.com>
40569
40570 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
40571 discs unconditionally, since udev and others have options to provide
40572 them.
40573
405742008-01-05 Robert Millan <rmh@aybabtu.com>
40575
40576 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40577
405782008-01-04 Christian Franke <franke@computer.org>
40579
40580 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
40581 of eisa_mmap.
40582
405832008-01-03 Pavel Roskin <proski@gnu.org>
40584
40585 * kern/i386/linuxbios/init.c: Put "void" to all function
40586 declarations with no arguments.
40587 * kern/powerpc/ieee1275/init.c: Likewise.
40588 * term/i386/pc/at_keyboard.c: Likewise.
40589 * term/i386/pc/vga_text.c: Likewise.
40590 * util/grub-mkdevicemap.c: Likewise.
40591
405922008-01-02 Robert Millan <rmh@aybabtu.com>
40593
40594 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
40595 message when loaded image is out of bounds.
40596 (grub_multiboot_load_elf64): Likewise.
40597
405982008-01-02 Pavel Roskin <proski@gnu.org>
40599
40600 * util/grub.d/10_linux.in: Try version without ".old" when
40601 looking for initrd. It's better to use initrd from the newer
40602 kernel of the same version than no initrd at all.
40603
406042008-01-01 Robert Millan <rmh@aybabtu.com>
40605
40606 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40607
406082008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40609
40610 * include/grub/video.h: Added grub_video_unmap_color and
40611 grub_video_get_active_render_target.
40612 (grub_video_adapter): Added unmap_color and get_active_render_target.
40613
40614 * video/video.c: Added grub_video_unmap_color and
40615 grub_video_get_active_render_target.
40616 (grub_video_get_info): Changed method to accept NULL pointer as an
40617 argument to allow detection of active video adapter.
40618
40619 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
40620 grub_video_vbe_unmap_color_int.
40621 Added grub_video_vbe_unmap_color and
40622 grub_video_vbe_get_active_render_target.
40623 (grub_video_vbe_adapter): Added unmap_color and
40624 get_active_render_target.
40625
40626 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
40627 with grub_video_vbe_unmap_color_int.
40628
40629 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
40630 (DEFAULT_NORMAL_COLOR): Likewise.
40631 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
40632 (DEFAULT_FG_COLOR): Removed.
40633 (DEFAULT_BG_COLOR): Likewise.
40634 (DEFAULT_CURSOR_COLOR): Changed value.
40635 (grub_virtual_screen): Added standard_color_setting,
40636 normal_color_setting, highlight_color_setting and term_color.
40637 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
40638 (bitmap_width): Added.
40639 (bitmap_height): Likewise.
40640 (bitmap): Likewise.
40641 (set_term_color): Likewise.
40642 (grub_virtual_screen_setup): Changed to use new terminal coloring
40643 settings.
40644 (grub_gfxterm_init): Added init for bitmap.
40645 (grub_gfxterm_fini): Added destroy for bitmap.
40646 (redraw_screen_rect): Updated to use background bitmap and new
40647 terminal coloring.
40648 (scroll_up): Added optimization for case when there is no bitmap.
40649 (grub_gfxterm_cls): Fixed to use correct background color.
40650 (grub_virtual_screen_setcolorstate): Changed to use new terminal
40651 coloring.
40652 (grub_virtual_screen_setcolor): Likewise.
40653 (grub_virtual_screen_getcolor): Added.
40654 (grub_gfxterm_background_image_cmd): Likewise.
40655 (grub_video_term): Added setcolor and getcolor.
40656 (MOD_INIT): Added registration of background_image command.
40657 (MOD_TERM): Added unregistration for background_image command.
40658
406592007-12-30 Pavel Roskin <proski@gnu.org>
40660
40661 * loader/multiboot_loader.c: Fix multiboot command
40662 unregistration. Fix all typos in the word "multiboot".
40663
406642007-12-29 Pavel Roskin <proski@gnu.org>
40665
40666 * util/grub.d/10_linux.in: Refactor search for initrd. Add
40667 support for initrd names used in Fedora.
40668
406692007-12-26 Bean <bean123ch@gmail.com>
40670
40671 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
40672 (cpio_mod_SOURCES): New variable.
40673 (cpio_mod_CFLAGS): Likewise.
40674 (cpio_mod_LDFLAGS): Likewise.
40675
40676 * fs/cpio.c: New file.
40677
40678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
40679
40680 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40681
40682 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40683
40684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40685
406862007-12-25 Robert Millan <rmh@aybabtu.com>
40687
40688 * include/grub/term.h (struct grub_term): Add `getcolor' function.
40689 (grub_getcolor): New function.
40690
40691 * kern/term.c (grub_getcolor): New function.
40692 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
40693 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
40694 (print_entry): Set normal and highlight colors to
40695 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
40696 respectively, before printing and restore them to old
40697 values afterwards.
40698 (grub_menu_init_page): Likewise. Fill an additional colored space
40699 that would otherwise be left blank.
40700
40701 * term/efi/console.c (grub_console_getcolor): New function.
40702 (struct grub_console_term.getcolor): New variable.
40703 * term/i386/pc/console.c (grub_console_getcolor): New function.
40704 (struct grub_console_term.getcolor): New variable.
40705 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
40706 (struct grub_console_term.getcolor): New variable.
40707
40708 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
40709 (struct grub_console_term.setcolor): Remove variable.
40710 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
40711 (struct grub_console_term.setcolor): Remove variable.
40712 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
40713 (struct grub_console_term.setcolor): Remove variable.
40714 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
40715 (struct grub_console_term.setcolor): Remove variable.
40716
407172007-12-25 Robert Millan <rmh@aybabtu.com>
40718
40719 * configure.ac: Search for possible unifont.hex locations, and
40720 define UNIFONT_HEX if found.
40721
40722 * Makefile.in (UNIFONT_HEX): Define variable.
40723 (DATA): Rename to ...
40724 (PKGLIB): ... this. Update all users.
40725 (PKGDATA): New variable.
40726 (pkgdata_IMAGES): Rename to ...
40727 (pkglib_IMAGES): ... this. Update all users.
40728 (pkgdata_MODULES): Rename to ...
40729 (pkglib_MODULES): ... this. Update all users.
40730 (pkgdata_PROGRAMS): Rename to ...
40731 (pkglib_PROGRAMS): ... this. Update all users.
40732 (pkgdata_DATA): Rename to ...
40733 (pkglib_DATA): ... this. Update all users.
40734 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
40735 (unicode.pff, ascii.pff): New rules.
40736 (all-local): Add `$(PKGDATA)' dependency.
40737 (install-local): Process `$(PKGDATA)'.
40738
40739 * util/update-grub_lib.in (font_path): Search for *.pff files in
40740 a few more locations, including `${pkgdata}'.
40741
407422007-12-23 Robert Millan <rmh@aybabtu.com>
40743
40744 Patch from Bean <bean123ch@gmail.com>:
40745 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
40746 `size'.
40747
407482007-12-21 Bean <bean123ch@gmail.com>
40749
40750 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
40751 (ntfscomp_mod_SOURCES): New variable.
40752 (ntfscomp_mod_CFLAGS): Likewise.
40753 (ntfscomp_mod_LDFLAGS): Likewise.
40754
40755 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
40756 (grub_probe_SOURCES): Likewise.
40757 (grub_emu_SOURCES): Likewise.
40758
40759 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40760 (grub_emu_SOURCES): Likewise.
40761
40762 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40763 (grub_emu_SOURCES): Likewise.
40764
40765 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40766 (grub_emu_SOURCES): Likewise.
40767
40768 * fs/ntfs.c (grub_ntfscomp_func): New variable.
40769 (read_run_list): Renamed to grub_ntfs_read_run_list.
40770 (decomp_nextvcn): Moved to ntfscomp.c.
40771 (decomp_getch): Likewise.
40772 (decomp_get16): Likewise.
40773 (decomp_block): Likewise.
40774 (read_block): Likewise.
40775 (read_data): Partially moved to ntfscomp.c.
40776 (fixup): Change unsigned to grub_uint16_t.
40777 (read_mft): Change unsigned long to grub_uint32_t.
40778 (read_attr): Likewise.
40779 (read_data): Likewise.
40780 (read_run_data): Likewise.
40781 (read_run_list): Likewise.
40782 (read_mft): Likewise.
40783
40784 * fs/ntfscomp.c: New file.
40785
40786 * include/grub/ntfs.h: New file.
40787
407882007-12-16 Robert Millan <rmh@aybabtu.com>
40789
40790 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
40791 IDE disk check, since Linux is known to support 20 IDE disks.
40792 Reported by Colin Watson.
40793
407942007-12-15 Bean <bean123ch@gmail.com>
40795
40796 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
40797 (lnxboot_img_SOURCES): New variable.
40798 (lnxboot_img_ASFLAGS): Likewise.
40799 (lnxboot_img_LDFLAGS): Likewise.
40800
40801 * boot/i386/pc/lnxboot.S: New file.
40802
408032007-11-24 Pavel Roskin <proski@gnu.org>
40804
40805 * configure.ac: Test if '--build-id=none' is supported by the
40806 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
40807 objcopy to generate incorrect binary files (binutils
40808 2.17.50.0.18-1 as shipped by Fedora 8).
40809 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
40810 linking, so that build ID doesn't break the test.
40811
408122007-11-24 Pavel Roskin <proski@gnu.org>
40813
40814 * include/grub/i386/time.h: use "void" in the argument list
40815 of grub_cpu_idle().
40816 * include/grub/powerpc/time.h: Likewise.
40817 * include/grub/sparc64/time.h: Likewise.
40818
408192007-11-18 Christian Franke <franke@computer.org>
40820
40821 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
40822 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
40823 This fixes the problem that function keys did not work in grub-emu.
40824
408252007-11-18 Christian Franke <franke@computer.org>
40826
40827 * disk/host.c (grub_host_open): Remove attribute unused from
40828 name parameter. Add check for "host". This fixes the problem
40829 that grub-emu does not find partitions.
40830
408312007-11-18 Christian Franke <franke@computer.org>
40832
40833 * util/hostfs.c (is_dir): New function.
40834 (grub_hostfs_dir): Handle missing dirent.d_type case.
40835 (grub_hostfs_read): Add missing fseek().
40836 (grub_hostfs_label): Clear label pointer. This fixes a crash
40837 of grub-emu on "ls (host)".
40838
408392007-11-18 Christian Franke <franke@computer.org>
40840
40841 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
40842 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
40843 to 64 bit boundary by default.
40844
408452007-11-18 Bean <bean123ch@gmail.com>
40846
40847 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
40848 (hexdump_mod_SOURCES): New variable.
40849 (hexdump_mod_CFLAGS): Likewise.
40850 (hexdump_mod_LDFLAGS): Likewise.
40851
40852 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40853
40854 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40855
40856 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40857
40858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40859
40860 * include/grub/hexdump.h: New file.
40861
40862 * commands/hexdump.c: New file.
40863
408642007-11-10 Robert Millan <rmh@aybabtu.com>
40865
40866 * commands/i386/pc/play.c (beep_off): Switch order of arguments
40867 in grub_outb() calls.
40868 (beep_on): Likewise.
40869
408702007-11-10 Christian Franke <franke@computer.org>
40871
40872 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40873 (grub_menu_run): Likewise.
40874
408752007-11-10 Robert Millan <rmh@aybabtu.com>
40876
40877 * include/grub/i386/efi/machine.h: New file.
40878 * include/grub/i386/linuxbios/machine.h: Likewise.
40879 * include/grub/i386/pc/machine.h: Likewise.
40880 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40881 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40882
40883 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40884 (serial_hw_io_addr): New variable.
40885 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40886 instead of `(unsigned short *) 0x400'.
40887
408882007-11-10 Bean <bean123ch@gmail.com>
40889
40890 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40891
408922007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40893
40894 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40895 (vga_mod_SOURCES): Added.
40896 (vga_mod_CFLAGS): Likewise.
40897 (vga_mod_LDFLAGS): Likewise.
40898
40899 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40900 grub_outb() calls.
40901 (set_map_mask): Likewise.
40902 (set_read_map): Likewise.
40903 (set_read_address): Likewise.
40904 (vga_font): Removed variable.
40905 (get_vga_glyph): Removed function.
40906 (invalidate_char): Likewise.
40907 (write_char): Changed to use grub_font_get_glyph() for font
40908 information.
40909 (grub_vga_putchar): Likewise.
40910 (grub_vga_getcharwidth): Likewise.
40911
409122007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40913
40914 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40915 flags.
40916 (pxeboot_img_LDFLAGS): Likewise.
40917 (diskboot_img_LDFLAGS): Likewise.
40918 (kernel_img_LDFLAGS): Likewise.
40919
409202007-11-06 Robert Millan <rmh@aybabtu.com>
40921
40922 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40923 in grub_outb() calls.
40924 (serial_hw_init): Likewise.
40925
409262007-11-05 Robert Millan <rmh@aybabtu.com>
40927
40928 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40929 spaces. Skip non-regular files.
40930
409312007-11-05 Robert Millan <rmh@aybabtu.com>
40932
40933 * kern/disk.c (grub_disk_firmware_fini)
40934 (grub_disk_firmware_is_tainted): New variables.
40935
40936 * include/grub/disk.h (grub_disk_firmware_fini)
40937 (grub_disk_firmware_is_tainted): Likewise.
40938
40939 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40940 (grub_disk_biosdisk_fini): ... to here.
40941 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40942 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40943 is set. Register grub_disk_biosdisk_fini() in
40944 `grub_disk_firmware_fini'.
40945
40946 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40947 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40948 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40949 to finish existing firmware disk interface.
40950
40951 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40952 (ata_mod_SOURCES): New variable.
40953 (ata_mod_CFLAGS): Likewise.
40954 (ata_mod_LDFLAGS): Likewise.
40955
409562007-11-05 Robert Millan <rmh@aybabtu.com>
40957
40958 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40959 (grub_ata_wait): Reimplement using grub_millisleep().
40960
40961 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40962 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40963
409642007-11-03 Marco Gerards <marco@gnu.org>
40965
40966 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40967 (CRTC_ADDR_PORT): New macro.
40968 (CRTC_DATA_PORT): Likewise.
40969 (CRTC_CURSOR): Likewise.
40970 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40971 (CRTC_CURSOR_ADDR_LOW): Likewise.
40972 (update_cursor): New function.
40973 (grub_console_real_putchar): Call `update_cursor'.
40974 (grub_console_gotoxy): Likewise.
40975 (grub_console_cls): Set the default color when clearing the
40976 screen.
40977 (grub_console_setcursor): Implemented.
40978
409792007-11-03 Marco Gerards <marco@gnu.org>
40980
40981 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40982 become activate.
40983 (grub_ata_pio_write): Likewise.
40984
40985 (grub_atapi_identify): Wait after issuing an ATA command.
40986 (grub_atapi_packet): Likewise.
40987 (grub_ata_identify): Likewise.
40988 (grub_ata_readwrite): Likewise.
40989
409902007-11-03 Marco Gerards <marco@gnu.org>
40991
40992 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40993 (grub_ata_pio_write): Likewise.
40994 (grub_ata_readwrite): Use `grub_error', instead of
40995 returning `grub_errno'.
40996
409972007-11-03 Marco Gerards <marco@gnu.org>
40998
40999 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41000 grub_ata_pio_write once for every single sector, instead of for
41001 multiple sectors.
41002
410032007-10-31 Robert Millan <rmh@aybabtu.com>
41004
41005 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41006
41007 * conf/i386-linuxbios.rmk: New file.
41008
41009 * kern/i386/pc/hardware.c: Likewise.
41010 * term/i386/pc/at_keyboard.c: Likewise.
41011 * term/i386/pc/vga_text.c: Likewise.
41012
41013 * include/grub/i386/linuxbios/boot.h: Likewise.
41014 * include/grub/i386/linuxbios/console.h: Likewise.
41015 * include/grub/i386/linuxbios/init.h: Likewise.
41016 * include/grub/i386/linuxbios/kernel.h: Likewise.
41017 * include/grub/i386/linuxbios/loader.h: Likewise.
41018 * include/grub/i386/linuxbios/memory.h: Likewise.
41019 * include/grub/i386/linuxbios/serial.h: Likewise.
41020 * include/grub/i386/linuxbios/time.h: Likewise.
41021
41022 * kern/i386/linuxbios/init.c: Likewise.
41023 * kern/i386/linuxbios/startup.S: Likewise.
41024 * kern/i386/linuxbios/table.c: Likewise.
41025
410262007-10-31 Marco Gerards <marco@gnu.org>
41027
41028 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41029 (ata_mod_SOURCES): New variable.
41030 (ata_mod_CFLAGS): Likewise.
41031 (ata_mod_LDFLAGS): Likewise.
41032
41033 * disk/ata.c: New file.
41034
41035 * include/grub/disk.h (grub_disk_dev_id): Add
41036 `GRUB_DISK_DEV_ATA_ID'.
41037
410382007-10-31 Robert Millan <rmh@aybabtu.com>
41039
41040 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41041 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41042
41043 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41044 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41045
41046 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41047 `<grub/types.h>'.
41048
41049 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41050
410512007-10-27 Robert Millan <rmh@aybabtu.com>
41052
41053 * include/grub/types.h (ULONG_MAX): Define macro.
41054
410552007-10-22 Robert Millan <rmh@aybabtu.com>
41056
41057 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41058 `"../realmode.S"'.
41059 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41060
410612007-10-22 Robert Millan <rmh@aybabtu.com>
41062
41063 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41064 (pkgdata_MODULES): Add `biosdisk.mod'.
41065 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41066 variables.
41067
41068 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41069 (grub_biosdisk_init): Replace with ...
41070 (GRUB_MOD_INIT(biosdisk)): ... this.
41071 (grub_biosdisk_fini): Replace with ...
41072 (GRUB_MOD_FINI(biosdisk)): ... this.
41073
41074 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41075 (grub_machine_init): Remove call to grub_biosdisk_init().
41076 (grub_machine_fini): Remove call to grub_machine_fini().
41077
41078 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41079
410802007-10-22 Robert Millan <rmh@aybabtu.com>
41081
41082 * include/grub/time.h: New file.
41083 * include/grub/i386/time.h: Likewise.
41084 * include/grub/powerpc/time.h: Likewise.
41085 * include/grub/sparc64/time.h: Likewise.
41086
41087 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41088 instances to ...
41089 (KERNEL_MACHINE_TIME_HEADER): ... this.
41090 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41091 instances to ...
41092 (KERNEL_MACHINE_TIME_HEADER): ... this.
41093 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41094 instances to ...
41095 (KERNEL_MACHINE_TIME_HEADER): ... this.
41096
41097 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41098 (grub_millisleep): New function.
41099 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41100 (grub_millisleep): New function.
41101 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41102 Remove `grub/machine/time.h' include.
41103 (grub_millisleep): New function.
41104 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41105 Remove `grub/machine/time.h' include.
41106 (grub_millisleep): New function.
41107
41108 * include/grub/misc.h (grub_div_roundup): New function.
41109
41110 * kern/misc.c: Include `<grub/time.h>'.
41111 (grub_millisleep_generic): New function.
41112
41113 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41114 Add `time.h'.
41115 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41116 Add `time.h'.
41117 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41118 `machine/time.h'. Add `time.h'.
41119 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41120
411212007-10-21 Robert Millan <rmh@aybabtu.com>
41122
41123 * include/grub/misc.h (grub_max): New function.
41124
411252007-10-21 Robert Millan <rmh@aybabtu.com>
41126
41127 * util/misc.c (grub_util_info): Call fflush() before returning.
41128
411292007-10-20 Robert Millan <rmh@aybabtu.com>
41130
41131 * genmk.rb (Image): Copy `extra_flags' from here ...
41132 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41133
41134 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41135 to `argc' and `args' arguments.
41136
411372007-10-17 Robert Millan <rmh@aybabtu.com>
41138
41139 * kern/i386/loader.S: New file.
41140
41141 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41142 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41143 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41144 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41145 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41146 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41147 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41148 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41149 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41150 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41151 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
41152 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
41153 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
41154 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
41155
41156 * kern/i386/realmode.S: New file.
41157
41158 * kern/i386/pc/startup.S (protstack): Moved from here ...
41159 * kern/i386/realmode.S (protstack)... to here.
41160 * kern/i386/pc/startup.S (gdt): Moved from here ...
41161 * kern/i386/realmode.S (gdt)... to here.
41162 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
41163 * kern/i386/realmode.S (prot_to_real)... to here.
41164
41165 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
41166 `kern/i386/realmode.S'.
41167
411682007-10-17 Robert Millan <rmh@aybabtu.com>
41169
41170 * include/grub/i386/loader.h: New file.
41171
41172 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
41173 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41174 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41175 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41176 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41177 * include/grub/i386/loader.h (grub_linux_prot_size)
41178 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41179 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41180 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41181 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41182
41183 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41184
411852007-10-15 Robert Millan <rmh@aybabtu.com>
41186
41187 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41188 filesystem when dev->disk is unset.
41189 Do probe for filesystem even when dev->disk->has_partitions is set.
41190 In case a filesystem is found, always report it.
41191 In case it isn't, if dev->disk->has_partitions is set, report that
41192 a partition table was found instead of reporting that no filesystem
41193 could be identified.
41194
411952007-10-12 Robert Millan <rmh@aybabtu.com>
41196
41197 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41198 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41199
41200 * include/grub/types.h (grub_host_to_target16): New macro.
41201 (grub_host_to_target32): Likewise.
41202 (grub_host_to_target64): Likewise.
41203 (grub_target_to_host16): Likewise.
41204 (grub_target_to_host32): Likewise.
41205 (grub_target_to_host64): Likewise.
41206
41207 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41208 Renamed from to ...
41209 (GRUB_MOD_ALIGN): ...this. Update all users.
41210
41211 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41212 grub_host_to_target32.
41213 Replace grub_be_to_cpu32 with grub_target_to_host32.
41214 (load_modules): Likewise.
41215 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41216 Replace grub_be_to_cpu32 with grub_target_to_host32.
41217 Replace grub_cpu_to_be16 with grub_host_to_target16.
41218 Replace grub_cpu_to_be32 grub_host_to_target32.
41219
412202007-10-12 Robert Millan <rmh@aybabtu.com>
41221
41222 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41223 * util/elf/grub-mkimage.c: ... here.
41224
41225 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41226 `util/powerpc/ieee1275/grub-mkimage.c'.
41227
412282007-10-07 Robert Millan <rmh@aybabtu.com>
41229
41230 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41231 and make it easier to figure out.
41232 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41233 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41234 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41235 leave us with less than HEAP_MIN_SIZE total heap.
41236 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
41237
412382007-10-03 Robert Millan <rmh@aybabtu.com>
41239
41240 * include/grub/i386/io.h: New file.
41241 * commands/i386/pc/play.c (inb): Removed.
41242 (outb): Removed.
41243 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41244 with grub_outb().
41245 * term/i386/pc/serial.c (inb): Removed.
41246 (outb): Removed.
41247 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41248 with grub_outb().
41249 * term/i386/pc/vga.c (inb): Removed.
41250 (outb): Removed.
41251 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41252 with grub_outb().
41253
412542007-10-02 Robert Millan <rmh@aybabtu.com>
41255
41256 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
41257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41258 Reported by Marcin Kurek.
41259
412602007-09-07 Robert Millan <rmh@aybabtu.com>
41261
41262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
41263 SmartFirmware version updates (as released by Sven Luther), and avoid
41264 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
41265 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
41266 known broken.
41267
412682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41269
41270 From Hitoshi Ozeki:
41271 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
41272 when merging two regions.
41273
412742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41275
41276 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
41277 * normal/completion.c (grub_normal_do_completion): Likewise.
41278 Reported by Hitoshi Ozeki.
41279
412802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41281
41282 Do not use devices at boot in chainloading.
41283
41284 * loader/i386/pc/chainloader.c (boot_drive): New variable.
41285 (boot_part_addr): Likewise.
41286 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
41287 with BOOT_DRIVE and BOOT_PART_ADDR.
41288 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
41289 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
41290
412912007-08-29 Robert Millan <rmh@aybabtu.com>
41292
41293 Patch from Simon Peter <dn.tlp@gmx.net>:
41294 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
41295 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
41296 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
41297 util/i386/pc/grub-setup.c_DEPENDENCIES.
41298 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
41299 util/grub-probe.c_DEPENDENCIES.
41300 * conf/powerpc-ieee1275.rmk: Likewise.
41301
413022007-08-28 Robert Millan <rmh@aybabtu.com>
41303
41304 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
41305 to tell grub-mkdevicemap how to name devices.
41306 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
41307 feature).
41308
41309 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
41310 util/i386/get_disk_name.c.
41311 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
41312 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
41313 util/ieee1275/get_disk_name.c.
41314
41315 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
41316
41317 * DISTLIST: Add util/i386/get_disk_name.c and
41318 util/ieee1275/get_disk_name.c.
41319
41320 * util/grub-mkdevicemap.c: Replace device naming logic with
41321 grub_util_get_disk_name() calls.
41322
413232007-08-20 Robert Millan <rmh@aybabtu.com>
41324
41325 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
41326 (so that it works for both plural and singular quantities).
41327
413282007-08-05 Robert Millan <rmh@aybabtu.com>
41329
41330 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
41331 so that [xz] isn't taken into account when determining order.
41332
413332007-08-02 Marco Gerards <marco@gnu.org>
41334
41335 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
41336 `include/multiboot2.h', `include/grub/elfload.h',
41337 `include/multiboot.h', `include/grub/multiboot.h',
41338 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
41339 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
41340 `kern/elf.c', `loader/multiboot_loader.c',
41341 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
41342 `loader/i386/pc/multiboot2.c',
41343 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
41344 `util/i386/pc/grub-mkrescue.in'. Remove
41345 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41346 `include/grub/i386/pc/util/biosdisk.h' and
41347 `include/grub/powerpc/ieee1275/multiboot.h'.
41348
413492007-08-02 Bean <bean123ch@gmail.com>
41350
41351 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41352 (ntfs_mod_SOURCES): New variable.
41353 (ntfs_mod_CFLAGS): Likewise.
41354 (ntfs_mod_LDFLAGS): Likewise.
41355
41356 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41357 (grub_probe_SOURCES): Likewise.
41358 (grub_emu_SOURCES): Likewise.
41359
41360 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41361 (grub_emu_SOURCES): Likewise.
41362
41363 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41364 (grub_emu_SOURCES): Likewise.
41365
41366 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41367
41368 * fs/ntfs.c: New file.
41369
413702007-08-02 Bean <bean123ch@gmail.com>
41371
41372 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41373
41374 * file.h (grub_file): Likewise.
41375
41376 * fshelp.h (grub_fshelp_read_file): Likewise.
41377
41378 * util/i386/pc/grub-setup.c (setup): Likewise.
41379 (save_first_sector): Likewise.
41380 (save_blocklists): Likewise.
41381
41382 * fs/affs.c (grub_affs_read_file): Likewise.
41383
41384 * fs/ext2.c (grub_ext2_read_file): Likewise.
41385
41386 * fs/fat.c (grub_fat_read_data): Likewise.
41387
41388 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41389
41390 * fs/hfs.c (grub_hfs_read_file): Likewise.
41391
41392 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41393
41394 * fs/jfs.c (grub_jfs_read_file): Likewise.
41395
41396 * fs/minix.c (grub_minix_read_file): Likewise.
41397
41398 * fs/sfs.c (grub_sfs_read_file): Likewise.
41399
41400 * fs/ufs.c (grub_ufs_read_file): Likewise.
41401
41402 * fs/xfs.c (grub_xfs_read_file): Likewise.
41403
41404 * command/blocklist.c (read_blocklist): Likewise.
41405 (print_blocklist): Likewise.
41406
414072007-08-02 Marco Gerards <marco@gnu.org>
41408
41409 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41410 `util/hostfs.c'.
41411
41412 * disk/host.c: New file.
41413
41414 * util/hostfs.c: Likewise.
41415
41416 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41417 return `GRUB_ERR_BAD_FS'.
41418 * fs/sfs.c (grub_sfs_mount): Likewise.
41419 * fs/xfs.c (grub_xfs_mount): Likewise.
41420
41421 * include/grub/disk.h (enum grub_disk_dev_id): Add
41422 `GRUB_DISK_DEVICE_HOST_ID'.
41423
41424 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41425
414262007-07-24 Jerone Young <jerone@gmail.com>
41427
41428 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
41429 modules for compilation.
41430 * conf/powerpc-ieee1275.rmk: Likewise.
41431
41432 * include/multiboot.h: Move multiboot definitions to one file. Rename
41433 many definitions to not get grub specific.
41434 * include/multiboot2.h: Create header with multiboot 2 definitions.
41435 * include/grub/multiboot.h: Header for grub specific function
41436 prototypes and definitions.
41437 * include/grub/multiboot2.h: Likewise.
41438 * include/grub/multiboot_loader.h: Likewise.
41439 * include/grub/i386/pc/multiboot.h: Removed.
41440 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41441
41442 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41443 and 2 to allow for one multiboot and module commands.
41444 * loader/multiboot2.c: Add multiboot2 functionality.
41445 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41446 and definition names.
41447 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41448 2 functions.
41449 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41450 ieee1275 specific multiboot2 code.
41451
41452 * kern/i386/pc/startup.S: Change headers and definition names for
41453 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41454
414552007-07-22 Robert Millan <rmh@aybabtu.com>
41456
41457 * geninitheader.sh: Process file specified in first parameter rather
41458 than hardcoding grub_modules_init.lst.
41459 * geninit.sh: Likewise. Also, construct header name dynamically rather
41460 than hardcoding grub_modules_init.h.
41461
41462 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41463 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41464 grub_probe_init.[ch] and grub_setup_init.[ch].
41465
41466 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41467 grub_modules_init.h with grub_emu_init.h.
41468 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41469 grub_probe_init.[ch] files.
41470 * conf/i386-efi.rmk: Likewise.
41471 * conf/i386-pc.rmk: Likewise.
41472 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41473 grub_setup_init.[ch] files.
41474
41475 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41476 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41477 to initialize modules rather than a list of hardcoded functions.
41478 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41479 grub_init_all() to initialize modules rather than a list of hardcoded
41480 functions.
41481
414822007-07-22 Robert Millan <rmh@aybabtu.com>
41483
41484 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41485 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41486
414872007-07-22 Robert Millan <rmh@aybabtu.com>
41488
41489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41490 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41491 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41492 flag when running on SmartFirmware.
41493 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41494 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41495 was set.
41496
41497 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41498 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41499 rather than decreasing it.
41500
41501 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41502 there's not enough space to do it, fail in the same way as when it
41503 can't be done because there are no partitions.
41504
41505 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41506 when nvsetenv failed.
41507
415082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41509
41510 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41511 because this rule is automatically generated.
41512 (grub-mkrescue): Removed for the same reason as above.
41513
415142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41515
41516 Migrate to GNU General Public License Version 3.
41517
41518 * COPYING: Replaced with the plain text version of GPLv3.
41519
41520 * config.guess: Updated from gnulib.
41521 * config.sub: Likewise.
41522
41523 * geninit.sh: Output a GPLv3 copyright notice.
41524 * geninitheader.sh: Likewise.
41525 * genmodsrc.sh: Likewise.
41526 * gensymlist.sh.in: Likewise.
41527
41528 * boot/i386/pc/boot.S: Upgraded to GPLv3.
41529 * boot/i386/pc/diskboot.S: Likewise.
41530 * boot/i386/pc/pxeboot.S: Likewise.
41531 * commands/blocklist.c: Likewise.
41532 * commands/boot.c: Likewise.
41533 * commands/cat.c: Likewise.
41534 * commands/cmp.c: Likewise.
41535 * commands/configfile.c: Likewise.
41536 * commands/echo.c: Likewise.
41537 * commands/help.c: Likewise.
41538 * commands/ls.c: Likewise.
41539 * commands/search.c: Likewise.
41540 * commands/terminal.c: Likewise.
41541 * commands/test.c: Likewise.
41542 * commands/videotest.c: Likewise.
41543 * commands/i386/cpuid.c: Likewise.
41544 * commands/i386/pc/halt.c: Likewise.
41545 * commands/i386/pc/play.c: Likewise.
41546 * commands/i386/pc/reboot.c: Likewise.
41547 * commands/i386/pc/vbeinfo.c: Likewise.
41548 * commands/i386/pc/vbetest.c: Likewise.
41549 * commands/ieee1275/halt.c: Likewise.
41550 * commands/ieee1275/reboot.c: Likewise.
41551 * commands/ieee1275/suspend.c: Likewise.
41552 * disk/loopback.c: Likewise.
41553 * disk/lvm.c: Likewise.
41554 * disk/raid.c: Likewise.
41555 * disk/efi/efidisk.c: Likewise.
41556 * disk/i386/pc/biosdisk.c: Likewise.
41557 * disk/ieee1275/ofdisk.c: Likewise.
41558 * font/manager.c: Likewise.
41559 * fs/affs.c: Likewise.
41560 * fs/ext2.c: Likewise.
41561 * fs/fat.c: Likewise.
41562 * fs/fshelp.c: Likewise.
41563 * fs/hfs.c: Likewise.
41564 * fs/hfsplus.c: Likewise.
41565 * fs/iso9660.c: Likewise.
41566 * fs/jfs.c: Likewise.
41567 * fs/minix.c: Likewise.
41568 * fs/sfs.c: Likewise.
41569 * fs/ufs.c: Likewise.
41570 * fs/xfs.c: Likewise.
41571 * hello/hello.c: Likewise.
41572 * include/grub/acorn_filecore.h: Likewise.
41573 * include/grub/arg.h: Likewise.
41574 * include/grub/bitmap.h: Likewise.
41575 * include/grub/boot.h: Likewise.
41576 * include/grub/cache.h: Likewise.
41577 * include/grub/device.h: Likewise.
41578 * include/grub/disk.h: Likewise.
41579 * include/grub/dl.h: Likewise.
41580 * include/grub/elfload.h: Likewise.
41581 * include/grub/env.h: Likewise.
41582 * include/grub/err.h: Likewise.
41583 * include/grub/file.h: Likewise.
41584 * include/grub/font.h: Likewise.
41585 * include/grub/fs.h: Likewise.
41586 * include/grub/fshelp.h: Likewise.
41587 * include/grub/gzio.h: Likewise.
41588 * include/grub/hfs.h: Likewise.
41589 * include/grub/kernel.h: Likewise.
41590 * include/grub/loader.h: Likewise.
41591 * include/grub/lvm.h: Likewise.
41592 * include/grub/misc.h: Likewise.
41593 * include/grub/mm.h: Likewise.
41594 * include/grub/net.h: Likewise.
41595 * include/grub/normal.h: Likewise.
41596 * include/grub/parser.h: Likewise.
41597 * include/grub/partition.h: Likewise.
41598 * include/grub/pc_partition.h: Likewise.
41599 * include/grub/raid.h: Likewise.
41600 * include/grub/rescue.h: Likewise.
41601 * include/grub/script.h: Likewise.
41602 * include/grub/setjmp.h: Likewise.
41603 * include/grub/symbol.h: Likewise.
41604 * include/grub/term.h: Likewise.
41605 * include/grub/terminfo.h: Likewise.
41606 * include/grub/tparm.h: Likewise.
41607 * include/grub/types.h: Likewise.
41608 * include/grub/video.h: Likewise.
41609 * include/grub/efi/api.h: Likewise.
41610 * include/grub/efi/chainloader.h: Likewise.
41611 * include/grub/efi/console.h: Likewise.
41612 * include/grub/efi/console_control.h: Likewise.
41613 * include/grub/efi/disk.h: Likewise.
41614 * include/grub/efi/efi.h: Likewise.
41615 * include/grub/efi/pe32.h: Likewise.
41616 * include/grub/efi/time.h: Likewise.
41617 * include/grub/i386/linux.h: Likewise.
41618 * include/grub/i386/setjmp.h: Likewise.
41619 * include/grub/i386/types.h: Likewise.
41620 * include/grub/i386/efi/kernel.h: Likewise.
41621 * include/grub/i386/efi/loader.h: Likewise.
41622 * include/grub/i386/efi/time.h: Likewise.
41623 * include/grub/i386/pc/biosdisk.h: Likewise.
41624 * include/grub/i386/pc/boot.h: Likewise.
41625 * include/grub/i386/pc/chainloader.h: Likewise.
41626 * include/grub/i386/pc/console.h: Likewise.
41627 * include/grub/i386/pc/init.h: Likewise.
41628 * include/grub/i386/pc/kernel.h: Likewise.
41629 * include/grub/i386/pc/loader.h: Likewise.
41630 * include/grub/i386/pc/memory.h: Likewise.
41631 * include/grub/i386/pc/multiboot.h: Likewise.
41632 * include/grub/i386/pc/serial.h: Likewise.
41633 * include/grub/i386/pc/time.h: Likewise.
41634 * include/grub/i386/pc/vbe.h: Likewise.
41635 * include/grub/i386/pc/vbeblit.h: Likewise.
41636 * include/grub/i386/pc/vbefill.h: Likewise.
41637 * include/grub/i386/pc/vbeutil.h: Likewise.
41638 * include/grub/i386/pc/vga.h: Likewise.
41639 * include/grub/ieee1275/ieee1275.h: Likewise.
41640 * include/grub/ieee1275/ofdisk.h: Likewise.
41641 * include/grub/powerpc/libgcc.h: Likewise.
41642 * include/grub/powerpc/setjmp.h: Likewise.
41643 * include/grub/powerpc/types.h: Likewise.
41644 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
41645 * include/grub/powerpc/ieee1275/console.h: Likewise.
41646 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
41647 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
41648 * include/grub/powerpc/ieee1275/loader.h: Likewise.
41649 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
41650 * include/grub/powerpc/ieee1275/time.h: Likewise.
41651 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
41652 * include/grub/sparc64/libgcc.h: Likewise.
41653 * include/grub/sparc64/setjmp.h: Likewise.
41654 * include/grub/sparc64/types.h: Likewise.
41655 * include/grub/sparc64/ieee1275/console.h: Likewise.
41656 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41657 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41658 * include/grub/sparc64/ieee1275/time.h: Likewise.
41659 * include/grub/util/biosdisk.h: Likewise.
41660 * include/grub/util/getroot.h: Likewise.
41661 * include/grub/util/lvm.h: Likewise.
41662 * include/grub/util/misc.h: Likewise.
41663 * include/grub/util/raid.h: Likewise.
41664 * include/grub/util/resolve.h: Likewise.
41665 * io/gzio.c: Likewise.
41666 * kern/device.c: Likewise.
41667 * kern/disk.c: Likewise.
41668 * kern/dl.c: Likewise.
41669 * kern/elf.c: Likewise.
41670 * kern/env.c: Likewise.
41671 * kern/err.c: Likewise.
41672 * kern/file.c: Likewise.
41673 * kern/fs.c: Likewise.
41674 * kern/loader.c: Likewise.
41675 * kern/main.c: Likewise.
41676 * kern/misc.c: Likewise.
41677 * kern/mm.c: Likewise.
41678 * kern/parser.c: Likewise.
41679 * kern/partition.c: Likewise.
41680 * kern/rescue.c: Likewise.
41681 * kern/term.c: Likewise.
41682 * kern/efi/efi.c: Likewise.
41683 * kern/efi/init.c: Likewise.
41684 * kern/efi/mm.c: Likewise.
41685 * kern/i386/dl.c: Likewise.
41686 * kern/i386/efi/init.c: Likewise.
41687 * kern/i386/efi/startup.S: Likewise.
41688 * kern/i386/pc/init.c: Likewise.
41689 * kern/i386/pc/lzo1x.S: Likewise.
41690 * kern/i386/pc/startup.S: Likewise.
41691 * kern/ieee1275/ieee1275.c: Likewise.
41692 * kern/powerpc/cache.S: Likewise.
41693 * kern/powerpc/dl.c: Likewise.
41694 * kern/powerpc/ieee1275/cmain.c: Likewise.
41695 * kern/powerpc/ieee1275/crt0.S: Likewise.
41696 * kern/powerpc/ieee1275/init.c: Likewise.
41697 * kern/powerpc/ieee1275/openfw.c: Likewise.
41698 * kern/sparc64/cache.S: Likewise.
41699 * kern/sparc64/dl.c: Likewise.
41700 * kern/sparc64/ieee1275/init.c: Likewise.
41701 * kern/sparc64/ieee1275/openfw.c: Likewise.
41702 * loader/efi/chainloader.c: Likewise.
41703 * loader/efi/chainloader_normal.c: Likewise.
41704 * loader/i386/efi/linux.c: Likewise.
41705 * loader/i386/efi/linux_normal.c: Likewise.
41706 * loader/i386/pc/chainloader.c: Likewise.
41707 * loader/i386/pc/chainloader_normal.c: Likewise.
41708 * loader/i386/pc/linux.c: Likewise.
41709 * loader/i386/pc/linux_normal.c: Likewise.
41710 * loader/i386/pc/multiboot.c: Likewise.
41711 * loader/i386/pc/multiboot_normal.c: Likewise.
41712 * loader/powerpc/ieee1275/linux.c: Likewise.
41713 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41714 * normal/arg.c: Likewise.
41715 * normal/cmdline.c: Likewise.
41716 * normal/command.c: Likewise.
41717 * normal/completion.c: Likewise.
41718 * normal/execute.c: Likewise.
41719 * normal/function.c: Likewise.
41720 * normal/lexer.c: Likewise.
41721 * normal/main.c: Likewise.
41722 * normal/menu.c: Likewise.
41723 * normal/menu_entry.c: Likewise.
41724 * normal/misc.c: Likewise.
41725 * normal/parser.y: Likewise.
41726 * normal/script.c: Likewise.
41727 * normal/i386/setjmp.S: Likewise.
41728 * normal/powerpc/setjmp.S: Likewise.
41729 * normal/sparc64/setjmp.S: Likewise.
41730 * partmap/acorn.c: Likewise.
41731 * partmap/amiga.c: Likewise.
41732 * partmap/apple.c: Likewise.
41733 * partmap/gpt.c: Likewise.
41734 * partmap/pc.c: Likewise.
41735 * partmap/sun.c: Likewise.
41736 * term/gfxterm.c: Likewise.
41737 * term/terminfo.c: Likewise.
41738 * term/efi/console.c: Likewise.
41739 * term/i386/pc/console.c: Likewise.
41740 * term/i386/pc/serial.c: Likewise.
41741 * term/i386/pc/vesafb.c: Likewise.
41742 * term/i386/pc/vga.c: Likewise.
41743 * term/ieee1275/ofconsole.c: Likewise.
41744 * util/biosdisk.c: Likewise.
41745 * util/console.c: Likewise.
41746 * util/genmoddep.c: Likewise.
41747 * util/getroot.c: Likewise.
41748 * util/grub-emu.c: Likewise.
41749 * util/grub-mkdevicemap.c: Likewise.
41750 * util/grub-probe.c: Likewise.
41751 * util/lvm.c: Likewise.
41752 * util/misc.c: Likewise.
41753 * util/raid.c: Likewise.
41754 * util/resolve.c: Likewise.
41755 * util/update-grub.in: Likewise.
41756 * util/update-grub_lib.in: Likewise.
41757 * util/grub.d/00_header.in: Likewise.
41758 * util/grub.d/10_hurd.in: Likewise.
41759 * util/grub.d/10_linux.in: Likewise.
41760 * util/i386/efi/grub-install.in: Likewise.
41761 * util/i386/efi/grub-mkimage.c: Likewise.
41762 * util/i386/pc/grub-install.in: Likewise.
41763 * util/i386/pc/grub-mkimage.c: Likewise.
41764 * util/i386/pc/grub-mkrescue.in: Likewise.
41765 * util/i386/pc/grub-setup.c: Likewise.
41766 * util/i386/pc/misc.c: Likewise.
41767 * util/powerpc/ieee1275/grub-install.in: Likewise.
41768 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
41769 * util/powerpc/ieee1275/misc.c: Likewise.
41770 * video/bitmap.c: Likewise.
41771 * video/video.c: Likewise.
41772 * video/i386/pc/vbe.c: Likewise.
41773 * video/i386/pc/vbeblit.c: Likewise.
41774 * video/i386/pc/vbefill.c: Likewise.
41775 * video/i386/pc/vbeutil.c: Likewise.
41776 * video/readers/tga.c: Likewise.
41777
417782007-07-02 Robert Millan <rmh@aybabtu.com>
41779
41780 * conf/i386-efi.rmk: Replace obsolete reference to
41781 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
41782 with util/getroot.c.
41783 * conf/powerpc-ieee1275.rmk: Likewise.
41784 * conf/sparc64-ieee1275.rmk: Likewise.
41785
41786 * util/grub-emu.c (main): Fix unchecked pointer handling.
41787
417882007-07-02 Robert Millan <rmh@aybabtu.com>
41789
41790 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
41791 invocation to fail, in order to support partition-less media.
41792
41793 * util/i386/pc/grub-install.in: Likewise.
41794
41795 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
41796 which fs or partmap modules are needed (akin to its sister scripts).
41797
41798 Also use grub-probe to get rid of unportable /proc/mounts check.
41799
41800 Print the same informational message that the other scripts do, before
41801 exiting.
41802
418032007-06-23 Robert Millan <rmh@aybabtu.com>
41804
41805 * util/update-grub_lib.in (font_path): New function. Determine whether
41806 a font file can be found and, if so, echo the GRUB path to it.
41807
41808 * util/update-grub.in: Handle multiple terminals depending on user
41809 input, platform availability and font file presence. Propagate
41810 variables of our findings to /etc/grub.d/ children.
41811
41812 * util/grub.d/00_header.in: Handle multiple terminals, based on
41813 environment setup by update-grub.
41814
418152007-06-23 Robert Millan <rmh@aybabtu.com>
41816
41817 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
41818
418192007-06-21 Robert Millan <rmh@aybabtu.com>
41820
41821 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
41822 indicate end of data section in kernel image.
41823 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
41824 GRUB_KERNEL_MACHINE_DATA_END.
41825
41826 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
41827 space for it.
41828 * kern/i386/efi/startup.S: Likewise.
41829
41830 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
41831 during image generation. Implement --prefix option to override this
41832 patch.
41833 * util/i386/efi/grub-mkimage.c: Likewise.
41834
41835 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
41836 code to make path relative to its root into a separate function.
41837
41838 * util/i386/pc/grub-install.in: Use newly provided
41839 make_system_path_relative_to_its_root() to convert ${grubdir}, then
41840 pass the result to grub-install --prefix.
41841
418422007-06-13 Robert Millan <rmh@aybabtu.com>
41843
41844 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
41845 DEFAULT_DEVICE_MAP.
41846 * util/grub-emu.c: Use above definitions from misc.h instead of
41847 defining them.
41848 * util/grub-mkdevicemap.c: Likewise.
41849 * util/i386/pc/grub-setup.c: Likewise.
41850 * util/grub-probe.c: Likewise.
41851 (probe): Abort with grub_util_error() when either
41852 grub_guess_root_device or grub_util_get_grub_dev fails.
41853
418542007-06-12 Robert Millan <rmh@aybabtu.com>
41855
41856 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
41857 "pager" assignment.
41858 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
41859 "pcdata".
41860 * util/grub-probe.c (probe): Likewise for "drive_name".
41861
418622007-06-11 Robert Millan <rmh@aybabtu.com>
41863
41864 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
41865 not just the cdrom one.
41866
418672007-06-11 Robert Millan <rmh@aybabtu.com>
41868
41869 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41870 Add --pkglibdir=DIR option to override pkglibdir.
41871 Mention --image-type=TYPE in help output.
41872 Fix --grub-mkimage (it was a no-op).
41873 Abort gracefully when no parameter is given.
41874
418752007-06-11 Robert Millan <rmh@aybabtu.com>
41876
41877 * util/i386/pc/grub-mkrescue.in: New file.
41878 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41879 * Makefile.in: Handle bin_SCRIPTS.
41880
418812007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41882
41883 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41884 list of video modes.
41885
418862007-06-06 Robert Millan <rmh@aybabtu.com>
41887
41888 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41889 file doesn't exist, or if it is in a filesystem grub can't read.
41890
41891 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41892 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41893 header comment to fit in 80 columns when the variables are resolved.
41894
41895 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41896 could be identified by update-grub. Remove redundant check for
41897 unifont.pff existence (since convert_system_path_to_grub_path now
41898 handles that).
41899
419002007-06-04 Robert Millan <rmh@aybabtu.com>
41901
41902 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41903
41904 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41905
41906 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41907
419082007-06-04 Robert Millan <rmh@aybabtu.com>
41909
41910 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41911
41912 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41913 grub_apple_partition_map_fini.
41914
41915 * util/biosdisk.c
41916 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41917 to access >2 TiB disks).
41918
41919 Print disk->total_sectors with %llu instead of %lu, since this
41920 variable is always 64-bit (prevents wrong disk size from being displayed
41921 on either >2 TiB disk or big-endian CPU).
41922
41923 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41924 into a generic case that supports all (sane) partition maps.
41925
41926 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41927 breaks big-endian.
41928
41929 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41930 and grub_apple_partition_map_fini() after that.
41931
419322007-06-01 Robert Millan <rmh@aybabtu.com>
41933
41934 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41935
41936 * util/grub.d/00_header.in: Only enable gfxterm when
41937 convert_system_path_to_grub_path() succeeds.
41938
419392007-05-20 Robert Millan <rmh@aybabtu.com>
41940
41941 * util/update-grub_lib.in: New file.
41942 * DISTLIST: Add update-grub_lib.in.
41943 * conf/common.rmk: Generate update-grub_lib and install it in
41944 $(lib_DATA).
41945 * Makefile.in: Add install routine for $(lib_DATA).
41946
41947 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41948 function provided by update-grub_lib to support arbitrary paths of
41949 unifont.pff.
41950 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41951 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41952
419532007-05-19 Robert Millan <rmh@aybabtu.com>
41954
41955 * commands/i386/cpuid.c: New module.
41956 * DISTLIST: Add it.
41957 * conf/i386-efi.rmk: Enable cpuid.mod.
41958 * conf/i386-pc.rmk: Likewise.
41959
419602007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41961
41962 * kern/disk.c (grub_disk_read): Check return value of
41963 grub_realloc().
41964
419652007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41966
41967 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41968 arrays.
41969 * disk/raid.c (grub_raid_open): Likewise.
41970
419712007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41972
41973 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41974 stack instead of on the heap.
41975
41976 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41977 before doing a read on it.
41978
41979 * configure.ac: Only use -fno-stack-protector for the target
41980 environment.
41981
419822007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41983
41984 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41985 __attribute_ ((unused)) to mode_type argument.
41986
41987 * util/getroot.c (grub_guess_root_device): Fix #endif.
41988
41989 * kern/misc.c (memcmp): Fix prototype.
41990
41991 * include/grub/partition.h [GRUB_UTIL]
41992 (grub_gpt_partition_map_init): Add prototype.
41993 (grub_gpt_partition_map_fini): Likewise.
41994
41995 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41996 at the right place.
41997
41998 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41999 (grub_fat_read_data): Likewise.
42000 (grub_fat_find_dir): Likewise.
42001
42002 * font/manager.c (find_glyph): Make table a const.
42003 (grub_font_get_glyph): Remove bitmap from if statement.
42004
420052007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42006
42007 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42008 code, first search for device in /dev/mapper, then in /dev.
42009 (grub_util_get_grub_dev): New function.
42010 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42011 prototype.
42012 * util/grub-probe.c (probe): Remove check for RAID, call
42013 grub_util_get_grub_dev() instead of
42014 grub_util_biosdisk_get_grub_dev().
42015 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42016 grub_util_biosdisk_get_grub_dev().
42017 * util/i386/pc/grub-setup.c (main): Likewise.
42018
420192007-05-16 Robert Millan <rmh@aybabtu.com>
42020
42021 * DISTLIST: Update for the latest changes.
42022 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42023 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42024 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42025 grub/util/biosdisk.h.
42026 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42027 grub/util/biosdisk.h.
42028
420292007-05-16 Robert Millan <rmh@aybabtu.com>
42030
42031 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42032
420332007-05-16 Robert Millan <rmh@aybabtu.com>
42034
42035 * util/i386/efi/grub-install.in: New.
42036 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42037 newly added grub-install.
42038 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42039 include.
42040 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42041 grub/util/biosdisk.h.
42042 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42043 grub/util/biosdisk.h.
42044
420452007-05-16 Robert Millan <rmh@aybabtu.com>
42046
42047 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42048 * include/grub/util/biosdisk.h: ... here.
42049 * util/i386/pc/biosdisk.c: Moved to ...
42050 * util/biosdisk.c: ... here.
42051 * util/i386/pc/getroot.c: Moved to ...
42052 * util/getroot.c: ... here.
42053 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42054 * util/grub-mkdevicemap.c: ... here.
42055 * util/i386/pc/grub-probe.c: Moved to ...
42056 * util/grub-probe.c: ... here.
42057
420582007-05-15 Robert Millan <rmh@aybabtu.com>
42059
42060 * util/update-grub.in: Remove duplicated line in grub.cfg header
42061 message.
42062
420632007-05-13 Robert Millan <rmh@aybabtu.com>
42064
42065 * util/update-grub.in: Fix a few assumptions about the devices holding
42066 /, /boot and /boot/grub being the same.
42067 * util/grub.d/00_header.in: Likewise.
42068 * util/grub.d/10_hurd.in: Likewise.
42069 * util/grub.d/10_linux.in: Likewise.
42070
42071 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42072 patterns. Use that to define the `.old' suffix as older than `'.
42073
42074 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42075
42076 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42077 the grub.cfg header message.
42078
420792007-05-11 Robert Millan <rmh@aybabtu.com>
42080
42081 * util/update-grub.in: Create device.map if it doesn't already exist,
42082 before attempting to run grub-probe.
42083 Check for grub-probe and grub-mkdevicemap with the same code
42084 grub-install is using.
42085 Remove test mode.
42086
420872007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42088
42089 * Makefile.in: Add the datarootdir autoconf variable.
42090
420912007-05-09 Robert Millan <rmh@aybabtu.com>
42092
42093 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
42094 fail gracefully if dev->disk->partition == NULL.
42095
420962007-05-07 Robert Millan <rmh@aybabtu.com>
42097
42098 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42099 determine partition map module.
42100 * util/i386/pc/grub-install.in: Use this feature to decide which
42101 partition module to load, instead of hardcoding pc and gpt.
42102
421032007-05-07 Robert Millan <rmh@aybabtu.com>
42104
42105 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42106 source directory differs from build directory.
42107
421082007-05-05 Robert Millan <rmh@aybabtu.com>
42109
42110 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42111 initialisation.
42112
421132007-05-05 Robert Millan <rmh@aybabtu.com>
42114
42115 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42116
421172007-05-05 Robert Millan <rmh@aybabtu.com>
42118
42119 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42120 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42121
421222007-05-05 Robert Millan <rmh@aybabtu.com>
42123
42124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42125 (grub_probe_SOURCES): Likewise.
42126 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42127 GPT and initialize dos_part and bsd_part accordingly.
42128 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42129 install_bsd_part.
42130 (main): Activate gpt module for use during partition identification,
42131 and deactivate it afterwards.
42132 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42133 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42134 partition identification, and deactivate it afterwards.
42135
421362007-05-05 Robert Millan <rmh@aybabtu.com>
42137
42138 * term/i386/pc/console.c (grub_console_fini): Call
42139 grub_term_set_current() before grub_term_unregister().
42140
421412007-05-04 Robert Millan <rmh@aybabtu.com>
42142
42143 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42144 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42145 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42146 and update-grub_DATA.
42147 * conf/common.rmk: Build and install update-grub components.
42148 * conf/common.mk: Regenerate.
42149 * util/update-grub.in: New. Core of update-grub.
42150 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42151 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
42152 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
42153 * util/grub.d/README: New. Document grub.d directory layout.
42154
421552007-05-01 Robert Millan <rmh@aybabtu.com>
42156
42157 * util/grub-emu.c: Move initialization functions
42158 grub_util_biosdisk_init() and grub_init_all() before
42159 grub_util_biosdisk_get_grub_dev(), which relies on them.
42160
421612007-04-19 Robert Millan <rmh@aybabtu.com>
42162
42163 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
42164 it is used later.
42165
421662007-04-18 Jerone Young <jerone@gmail.com>
42167
42168 * kernel/elf.c: Add missing parenthesis for conditional statement
42169 stanza.
42170
421712007-04-10 Jerone Young <jerone@gmail.com>
42172
42173 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
42174 continue on and look for device node with real device name.
42175
421762007-04-10 Jerone Young <jerone@gmail.com>
42177
42178 * configure.ac: Add argument for autoconf to use transformation
42179 ability.
42180 * Makefile.in: Add autoconf package transformation code.
42181 * util/i386/pc/grub-install.in: Likewise.
42182 * util/powerpc/ieee1275/grub-install.in: Likewise.
42183
421842007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42185
42186 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42187 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42188 (EXT2_REVISION): Likewise.
42189 (EXT2_INODE_SIZE): Likewise.
42190 (struct grub_ext2_block_group): Added a missing member
42191 "used_dirs".
42192 (grub_ext2_read_inode): Divide by the inode size in a superblock
42193 instead of 128 to obtain INODES_PER_BLOCK.
42194 Use the macro EXT2_INODE_SIZE instead of directly using
42195 SBLOCK->INODE_SIZE.
42196
421972007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42198
42199 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42200 superblock instead of the structure size to compute an
42201 offset. This fixes the problem that GRUB could not read a
42202 filesystem when inode size is different from 128-byte.
42203
422042007-03-05 Marco Gerards <marco@gnu.org>
42205
42206 * normal/main.c (read_config_file): When "menu" is not set, create
42207 an initial context.
42208
422092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42210
42211 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42212 (HEAP_LIMIT): New macro.
42213 (grub_claim_heap): Claim memory up to `heaplimit'.
42214
422152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42216
42217 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42218 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42219 (_start): Likewise.
42220 (grub_arch_modules_addr): Return address after `_end'.
42221 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42222 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42223 (add_segments): Calculate `_end' from phdr size and location.
42224 (ALIGN_UP): Moved to ...
42225 * include/grub/misc.h: here.
42226 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42227 New macro.
42228 (GRUB_IEEE1275_MODULE_BASE): Removed.
42229
422302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42231
42232 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42233 loop boundary.
42234
422352007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42236
42237 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
42238 All users updated.
42239 (grub_elf64_load_hook_t): Likewise.
42240 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
42241 debug output.
42242
422432007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42244
42245 * kern/mm.c: Update copyright.
42246 (grub_mm_debug): Correct syntax error.
42247 (grub_mm_dump_free): New function.
42248 (grub_debug_free): Call `grub_free'.
42249 * include/grub/mm.h: Update copyright.
42250 (grub_mm_dump_free): Add declaration.
42251
422522007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42253
42254 * include/grub/ieee1275/ieee1275.h: Update copyright.
42255 * kern/powerpc/ieee1275/init.c: Likewise.
42256 * kern/powerpc/ieee1275/openfw.c: Likewise.
42257
42258 * loader/powerpc/ieee1275/linux.c: Likewise.
42259 * include/grub/elfload.h: Likewise.
42260 * kern/elf.c: Likewise.
42261 (grub_elf32_load): Pass `base' and `size' parameters. Update all
42262 callers.
42263 (grub_elf64_load): Likewise.
42264 (grub_elf32_load_segment): Move to a nested function.
42265 (grub_elf64_load_segment): Likewise.
42266
422672007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42268
42269 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
42270 prototype.
42271 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
42272 (grub_heap_len): Likewise.
42273 (HEAP_SIZE): New macro.
42274 (grub_claim_heap): New function.
42275 (grub_machine_init): Don't claim heap directly. Call
42276 `grub_claim_heap'.
42277 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
42278 (grub_available_iterate): New function.
42279
422802007-02-03 Thomas Schwinge <tschwinge@gnu.org>
42281
42282 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
42283 * configure.ac: Use it for testing the HOST and TARGET compilers.
42284
422852006-12-13 Thomas Schwinge <tschwinge@gnu.org>
42286
42287 * Makefile.in (enable_grub_emu): New variable.
42288 * configure.ac (--enable-grub-emu): New option.
42289 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
42290 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
42291 * conf/i386-pc.rmk: Likewise.
42292 * conf/powerpc-ieee1275.rmk: Likewise.
42293 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
42294
422952006-12-12 Marco Gerards <marco@gnu.org>
42296
42297 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
42298
42299 * kern/env.c (grub_env_unset): Don't free the member `value' when
42300 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
42301 pointer.
42302
42303 * normal/main.c (current_menu): Removed.
42304 (free_menu): Unset the `menu' environment variable.
42305 (grub_normal_menu_addentry): Make use of the environment variable
42306 `menu', instead of using the global `current_menu'. Allocate
42307 memory for the sourcecode of this entry.
42308 (read_config_file): New argument `nested', changed all callers.
42309 Only in the case of a new context, initialize a new menu. Set the
42310 `menu' environment variable.
42311 (grub_normal_execute): Don't set and unset the environment
42312 variable `menu' here anymore. Only free the menu when leaving the
42313 context.
42314
42315 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
42316 leak.
42317
423182006-12-11 Marco Gerards <marco@gnu.org>
42319
42320 * normal/menu_entry.c (run): Fix off by one bug so the last line
42321 is executed. Move the loader check to outside the loop.
42322
423232006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42324
42325 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42326
423272006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
42328
42329 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
42330 the number of sectors. Reported by Andrey Shuvikov
42331 <mr_hyro@yahoo.com>.
42332
423332006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
42334
42335 * kern/disk.c (grub_disk_read): When there is a read error, always
42336 try to read only the necessary data.
42337
42338 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
42339 disk/raid.c.
42340 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
42341 prototype.
42342 [GRUB_UTIL] (grub_raid_fini): Likewise.
42343 [GRUB_UTIL] (grub_lvm_init): Likewise.
42344 [GRUB_UTIL] (grub_lvm_fini): Likewise.
42345 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42346 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42347 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42348 and grub_raid_fini().
42349
423502006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42351
42352 * include/grub/types.h (__unused): Rename to UNUSED.
42353 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42354 (grub_elf64_size): Likewise.
42355
423562006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42357
42358 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42359 grub_error_push and grub_error_pop in the error-handling path.
42360 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42361 length.
42362
423632006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42364
42365 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42366 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42368 (kernel_elf_SOURCES): Likewise.
42369 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42370 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42371 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42372 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42373 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42374 (elf_mod_SOURCES): New variable.
42375 (elf_mod_CFLAGS): Likewise.
42376 (elf_mod_LDFLAGS): Likewise.
42377 * include/grub/types.h (__unused): New macro.
42378 * include/grub/elfload.h: New file.
42379 * kern/elf.c: Likewise.
42380 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42381 (ELF32_LOADMASK): New macro.
42382 (ELF64_LOADMASK): Likewise.
42383 (vmlinux): Removed.
42384 (grub_linux_load32): New function.
42385 (grub_linux_load64): Likewise.
42386 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42387 Use grub_elf_t instead of grub_file_t.
42388
423892006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42390
42391 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42392 `catch_result' to struct set_color_args.
42393
423942006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42395
42396 * normal/menu.c: Include grub/script.h.
42397 * normal/menu_entry.c: Likewise.
42398 * include/grub/normal.h: Do not include grub/script.h.
42399
424002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42401
42402 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42403
424042006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42405
42406 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42407 disk.
42408 (grub_disk_close): Print debug messages when closing a disk.
42409 (grub_disk_read): Print debug messages when disk read fails.
42410 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42411 filesystem type.
42412 * kern/partition.c: Include misc.h.
42413 (grub_partition_iterate): Print debug messages when detecting
42414 partition type.
42415
424162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42417
42418 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42419 is negative.
42420 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42421
424222006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42423
42424 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42425 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42426
424272006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42428
42429 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42430 instead of sizeof(lv). Patch by Michael Guntsche.
42431
424322006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42433
42434 * disk/lvm.c: Rename VGS to VG_LIST.
42435 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42436 (grub_lvm_open): Likewise.
42437 Thanks to Michael Guntsche for finding this bug.
42438
424392006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42440
42441 * configure.ac (AC_INIT): Bumped to 1.95.
42442
424432006-10-14 Robert Millan <rmh@aybabtu.com>
42444
42445 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42446 with "/dev/.static/dev/md".
42447
424482006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42449
42450 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42451 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42452 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42453 DRIVE_NAME are always freed.
42454
42455 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42456 DOS_PART, as a DOS partition is counted from one instead of zero
42457 now. Reported by Robert Millan.
42458
424592006-10-14 Robert Millan <rmh@aybabtu.com>
42460
42461 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42462 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42463 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42464 string returned by grub_guess_root_device.
42465 * util/i386/pc/grub-setup.c: Likewise.
42466 * util/i386/pc/grub-probefs.c: Likewise.
42467
42468 * util/i386/pc/grub-probefs.c: Rename to ...
42469 * util/i386/pc/grub-probe.c: ... this.
42470 * DISTLIST: Remove grub-probefs, add grub-probe.
42471 * conf/i386-efi.rmk: Likewise.
42472 * conf/i386-pc.rmk: Likewise.
42473 * util/i386/pc/grub-install.in: Likewise.
42474
42475 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42476 choose which information we want to print.
42477
424782006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42479
42480 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42481 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42482 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42483 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42484 video/readers/tga.c and video/i386/pc/vbeutil.c.
42485
424862006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42487
42488 Added support for RAID and LVM.
42489
42490 * disk/lvm.c: New file.
42491 * disk/raid.c: Likewise.
42492 * include/grub/lvm.h: Likewise.
42493 * include/grub/raid.h: Likewise.
42494 * include/grub/util/lvm.h: Likewise.
42495 * include/grub/util/raid.h: Likewise.
42496 * util/lvm.c: Likewise.
42497 * util/raid.c: Likewise.
42498
42499 * include/grub/disk.h (grub_disk_dev_id): Add
42500 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42501 (grub_disk_get_size): New prototype.
42502 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42503 returns a partition.
42504 (grub_disk_get_size): New function.
42505
42506 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42507 verbatim if grub_install_dos_part is -2.
42508
42509 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42510 and LVM devices.
42511
42512 * util/i386/pc/grub-setup.c (setup): New argument
42513 MUST_EMBED. Force embedding of GRUB when the argument is
42514 true. Close FILE before returning.
42515 (main): Add support for RAID and LVM.
42516
42517 * conf/common.rmk: Add RAID and LVM modules.
42518 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42519 util/lvm.c.
42520 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
42521
42522 * kern/misc.c (grub_strstr): New function.
42523 * include/grub/misc.h (grub_strstr): New prototype.
42524
425252006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42526
42527 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42528
425292006-10-05 Tristan Gingold <tristan.gingold@bull.net>
42530
42531 * kern/misc.c (grub_strtoull): Guess the base only if not
42532 specified.
42533
425342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
42535
42536 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42537 PowerMac support.
42538
425392006-10-01 Hollis Blanchard <hollis@penguinppc.org>
42540
42541 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
42542
42543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
42544 Remove `flags' argument. All callers changed.
42545 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
42546 (IEEE1275_IHANDLE_INVALID): New variable.
42547 (IEEE1275_CELL_INVALID): New variable.
42548 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
42549 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
42550 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
42551 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
42552 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
42553 codes from Open Firmware. All callers updated.
42554 (grub_ieee1275_next_property): Directly return Open Firmware return
42555 code.
42556 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42557 Standardize error checking from `grub_ieee1275_get_property'.
42558 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
42559 `devalias' to `aliases'. Correct comments. Consolidate error paths.
42560
425612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
42562
42563 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
42564 `instance_to_package_args' to `instance_to_path_args'.
42565
42566 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
42567 `grub_ieee1275_chosen'.
42568
42569 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
42570 `grub_ieee1275_interpret'.
42571
425722006-09-25 Hollis Blanchard <hollis@penguinppc.org>
42573
42574 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42575
425762006-09-25 Hollis Blanchard <hollis@penguinppc.org>
42577
42578 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
42579 (__cmpdi): Likewise.
42580
42581 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
42582 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
42583 `grub_ssize_t'.
42584
42585 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
42586
42587 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
42588 to type `grub_ssize_t'.
42589 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
42590
425912006-09-22 Marco Gerards <marco@gnu.org>
42592
42593 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42594 newlines.
42595
425962006-09-22 Marco Gerards <marco@gnu.org>
42597
42598 * commands/echo.c: New file.
42599
42600 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
42601
42602 * conf/common.rmk (echo_mod_SOURCES): New variable.
42603 (echo_mod_CFLAGS): Likewise.
42604 (echo_mod_LDFLAGS): Likewise.
42605
426062006-09-22 Marco Gerards <marco@gnu.org>
42607
42608 * normal/main.c (get_line): Malloc memory instead of using
42609 preallocated memory. Removed the arguments `cmdline' and
42610 `max_len'. Updated all callers.
42611
426122006-09-22 Marco Gerards <marco@gnu.org>
42613
42614 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
42615 (normal_mod_DEPENDENCIES): Likewise.
42616
42617 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
42618 (normal_mod_DEPENDENCIES): Likewise.
42619
42620 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
42621
426222006-09-22 Johan Rydberg <jrydberg@gnu.org>
42623
42624 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
42625 programs.
42626 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
42627 (normal_mod_DEPENDENCIES): Likewise.
42628 * conf/i386-pc.mk: Regenerate.
42629 * conf/i386-efi.mk: Likewise
42630 * conf/common.mk: Likewise.
42631 * conf/powerpc-ieee1275.mk: Likewise.
42632 * conf/sparc64-ieee1275.mk: Likewise.
42633
426342006-09-22 Robert Millan <rmh@aybabtu.com>
42635
42636 Sync with i386 version.
42637 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
42638 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
42639
426402006-09-21 Robert Millan <rmh@aybabtu.com>
42641
42642 Import from GRUB Legacy (lib/device.c):
42643 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
42644 (init_device_map) [__linux__]: Add support for I2O devices.
42645
426462006-09-14 Marco Gerards <marco@gnu.org>
42647
42648 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
42649 `-melf_i386'.
42650
426512006-09-14 Robert Millan <rmh@aybabtu.com>
42652
42653 * util/i386/pc/grub-install.in: Skip menu.lst when removing
42654 /boot/grub/*.lst.
42655
42656 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
42657
42658 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
42659 before adding it to device.map.
42660
426612006-08-15 Johan Rydberg <jrydberg@gnu.org>
42662
42663 * genmk.rb: Let GCC generate dependencies the first time it
42664 compiles a file; using the -MD option.
42665 * conf/common.mk: Regenerate.
42666 * conf/i386-pc.mk: Likewise.
42667 * conf/i386-efi.mk: Likewise.
42668 * conf/powerpc-ieee1275.mk: Likewise.
42669 * conf/sparc64-ieee1275.mk: Likewise.
42670
426712006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
42672
42673 Move the prototypes of grub_setjmp and grub_longjmp to
42674 cpu/setjmp.h, so that each architecture may specify different
42675 attributes.
42676
42677 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
42678 (grub_longjmp): Likewise.
42679 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
42680 (grub_longjmp): Likewise.
42681 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
42682 (grub_longjmp): Likewise.
42683
42684 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
42685 [!GRUB_UTIL] (grub_longjmp): Removed.
42686
426872006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
42688
42689 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
42690 "color!" method does not return any value.
42691
426922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42693
42694 * include/grub/bitmap.h: New file.
42695
42696 * include/grub/i386/pc/vbeutil.h: Likewise.
42697
42698 * video/bitmap.c: Likewise.
42699
42700 * video/readers/tga.c: Likewise.
42701
42702 * video/i386/pc/vbeutil.c: Likewise.
42703
42704 * commands/videotest.c: Code cleanup and updated to reflect to new
42705 video API.
42706
42707 * term/gfxterm.c: Likewise.
42708
42709 * video/video.c: Likewise.
42710
42711 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
42712 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
42713 (bitmap_mod_SOURCES): New entry.
42714 (bitmap_mod_CFLAGS): Likewise.
42715 (bitmap_mod_LDFLAGS): Likewise.
42716 (tga_mod_SOURCES): Likewise.
42717 (tga_mod_CFLAGS): Likewise.
42718 (tga_mod_LDFLAGS): Likewise.
42719
42720 * include/grub/video.h (grub_video_blit_operators): New enum type.
42721 (grub_video_render_target): Changed as forward declaration and moved
42722 actual definition to be video driver specific.
42723 (grub_video_adapter.blit_bitmap): Added blitting operator.
42724 (grub_video_adapter.blit_render_target): Likewise.
42725 (grub_video_blit_bitmap): Likewise.
42726 (grub_video_blit_render_target): Likewise.
42727
42728 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
42729 driver specific render target definition.
42730 (grub_video_vbe_map_rgba): Added driver internal helper.
42731 (grub_video_vbe_unmap_color): Updated to use
42732 grub_video_i386_vbeblit_info.
42733 (grub_video_vbe_get_video_ptr): Likewise.
42734
42735 * include/grub/i386/pc/vbeblit.h
42736 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
42737 grub_video_i386_vbeblit_info.
42738 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42739 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42740 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42741 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42742 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42743 (grub_video_i386_vbeblit_index_index): Likewise.
42744 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
42745 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42746 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42747 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
42748 operator.
42749 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
42750 operator.
42751
42752 * video/i386/pc/vbeblit.c: Updated to reflect changes on
42753 include/grub/i386/pc/vbeblit.h.
42754
42755 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
42756 Updated to use grub_video_i386_vbeblit_info.
42757 (grub_video_i386_vbefill_R8G8B8): Likewise.
42758 (grub_video_i386_vbefill_index): Likewise.
42759 (grub_video_i386_vbefill): Added generic filler.
42760
42761 * video/i386/pc/vbefill.c: Updated to reflect changes on
42762 include/grub/i386/pc/vbefill.h.
42763
42764 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
42765 grub_video_i386_vbeblit_info.
42766 (grub_video_vbe_unmap_color): Likewise.
42767 (grub_video_vbe_blit_glyph): Likewise.
42768 (grub_video_vbe_scroll): Likewise.
42769 (grub_video_vbe_draw_pixel): Removed function.
42770 (grub_video_vbe_get_pixel): Likewise.
42771 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
42772 updated code to use it.
42773 (common_blitter): Added common blitter for render target and bitmap.
42774 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
42775 (grub_video_vbe_blit_render_target): Likewise.
42776
427772006-07-30 Johan Rydberg <jrydberg@gnu.org>
42778
42779 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
42780 is in text mode if there is no console control protocol instance
42781 available.
42782
427832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42784
42785 * include/grub/video.h: Code cleanup.
42786
42787 * include/grub/i386/pc/vbe.h: Likewise.
42788
42789 * video/i386/pc/vbe.c: Likewise.
42790
42791 * video/i386/pc/vbeblit.c: Likewise.
42792
42793 * video/i386/pc/vbefill.c: Likewise.
42794
42795 * video/video.c: Likewise. Also added more comments.
42796
427972006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42798
42799 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
42800 (struct grub_biosdisk_dap): Likewise.
42801
42802 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
42803 linkage settings for all functions.
42804
428052006-07-12 Marco Gerards <marco@gnu.org>
42806
42807 * configure.ac (--enable-mm-debug): Fix typo.
42808
42809 * genkernsyms.sh.in: Use proper quoting for `CC'.
42810
428112006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
42812
42813 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
42814 (normal_mod_ASFLAGS): Remove "-m32".
42815
428162006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
42817
42818 * util/misc.c: Include config.h.
42819 [!HAVE_MEMALIGN]: Do not include malloc.h.
42820 (grub_memalign): Use posix_memalign, if present. Then, use
42821 memalign, if present. Otherwise, emit an error.
42822
42823 * util/grub-emu.c: Do not include malloc.h.
42824
42825 * include/grub/util/misc.h: Include unistd.h. This is required for
42826 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
42827 D. Eades III <hde@foobar-qux.org>.
42828
42829 * configure.ac (AC_GNU_SOURCE): Added.
42830 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
42831 type.
42832
428332006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
42834
42835 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
42836 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
42837
428382006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
42839
42840 * include/grub/types.h (grub_host_addr_t): Rename to
42841 grub_target_addr_t.
42842 (grub_host_off_t): Rename to grub_target_off_t.
42843 (grub_host_size_t): Rename to grub_target_size_t.
42844 (grub_host_ssize_t): Rename to grub_target_ssize_t.
42845 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
42846
42847 * include/grub/kernel.h (struct grub_module_header): Change type
42848 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
42849 (grub_module_info): Likewise.
42850
428512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42852
42853 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
42854 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
42855 Velazquez <jesus.velazquez@gmail.com>.
42856
428572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42858
42859 Count partitions from 1 instead of 0 in the string representation
42860 of partitions. Still use 0-based internally.
42861
42862 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
42863 (sun_partition_map_iterate): Use grub_partition_t instead of
42864 struct grub_partition *. Cast DESC->START_CYLINDER to
42865 grub_uint64_t after converting the endian.
42866 (sun_partition_map_probe): Subtract 1 for PARTNUM.
42867 (sun_partition_map_get_name): Add 1 to P->INDEX.
42868
42869 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42870 PCDATA->DOS_PART.
42871 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42872
42873 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42874 zero instead of one.
42875 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42876 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42877
42878 * partmap/apple.c (apple_partition_map_iterate): Change the type
42879 of POS to unsigned.
42880 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42881 (apple_partition_map_get_name): Add 1 into P->INDEX.
42882
42883 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42884 of POS to unsigned.
42885 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42886 calculate the offset of a partition.
42887 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42888 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42889
42890 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42891 SECTOR to grub_disk_addr_t.
42892 (acorn_partition_map_iterate): Likewise.
42893 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42894 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42895 top.
42896 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42897
42898 * kern/i386/pc/init.c (make_install_device): Add 1 into
42899 GRUB_INSTALL_DOS_PART.
42900
42901 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42902 conditional.
42903
429042006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42905
42906 Clean up the code to support 64-bit addressing in disks and
42907 files. This change is not enough for filesystems yet.
42908
42909 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42910 type of "start" to grub_uint64_t.
42911 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42912 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42913 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42914 convert addresses.
42915
42916 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42917 to grub_disk_addr_t.
42918
42919 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42920 string.
42921
42922 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42923
42924 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42925 to char *.
42926
42927 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42928
42929 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42930
42931 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42932
42933 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42934 to grub_off_t, to detect an error from grub_file_seek.
42935 (grub_multiboot_load_elf32): Likewise.
42936
42937 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42938 maximum unsigned long value when an overflow is detected.
42939 (grub_strtoull): New function.
42940 (grub_divmod64): Likewise.
42941 (grub_lltoa): use grub_divmod64.
42942
42943 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42944 grub_disk_addr_t.
42945 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42946 the pointer to next character. Use grub_strtoull instead of
42947 grub_strtoul.
42948 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42949 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42950 respectively.
42951
42952 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
42953 return value is signed.
42954 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42955 test if OFFSET is less than zero, as OFFSET is unsigned now.
42956
42957 * kern/disk.c (struct grub_disk_cache): Change the type of
42958 "sector" to grub_disk_addr_t.
42959 (grub_disk_cache_get_index): Change the type of SECTOR to
42960 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42961 unsigned after shifting.
42962 (grub_disk_cache_invalidate): Change the type of SECTOR to
42963 grub_disk_addr_t.
42964 (grub_disk_cache_unlock): Likewise.
42965 (grub_disk_cache_store): Likewise.
42966 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42967 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42968 grub_disk_addr_t and grub_uint64_t, respectively.
42969 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42970 body, as the value of OFFSET is tweaked by
42971 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42972 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42973 respectively.
42974 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42975 body, as the value of OFFSET is tweaked by
42976 grub_disk_check_range. Change the types of LEN and N to
42977 grub_size_t.
42978
42979 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42980 and "saved_offset" to grub_off_t.
42981 (test_header): Cast BUF to char *.
42982 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42983 to char *.
42984 (grub_gzio_read): Change the types of OFFSET and SIZE to
42985 grub_off_t and grub_size_t, respectively.
42986
42987 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42988 Removed.
42989 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42990 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42991 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42992 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42993 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42994
42995 * include/grub/types.h (grub_off_t): Unconditionally set to
42996 grub_uint64_t.
42997 (grub_disk_addr_t): Changed to grub_uint64_t.
42998
42999 * include/grub/partition.h (struct grub_partition): Change the
43000 types of "start", "len" and "offset" to grub_disk_addr_t,
43001 grub_uint64_t and grub_disk_addr_t, respectively.
43002 (grub_partition_get_start): Return grub_disk_addr_t.
43003 (grub_partition_get_len): Return grub_uint64_t.
43004
43005 * include/grub/misc.h (grub_strtoull): New prototype.
43006 (grub_divmod64): Likewise.
43007
43008 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43009 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43010 grub_off_t, respectively.
43011 All callers and references changed.
43012
43013 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43014 grub_size_t in "read".
43015 All callers and references changed.
43016
43017 * include/grub/file.h (struct grub_file): Change the types of
43018 "offset" and "size" to grub_off_t and grub_off_t,
43019 respectively. Change the type of SECTOR to grub_disk_addr_t in
43020 "read_hook".
43021 (grub_file_read): Change the type of LEN to grub_size_t.
43022 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43023 grub_off_t.
43024 (grub_file_size): Return grub_off_t.
43025 (grub_file_tell): Likewise.
43026 All callers and references changed.
43027
43028 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43029 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43030 "write".
43031 (struct grub_disk): Change the type of "total_sectors" to
43032 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
43033 "read_hook".
43034 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43035 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43036 (grub_disk_write): Likewise.
43037 All callers and references changed.
43038
43039 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43040 char * for grub_strncmp to silence gcc.
43041 (grub_iso9660_mount): Likewise.
43042 (grub_iso9660_mount): Likewise.
43043 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43044 return statement.
43045 (grub_iso9660_iterate_dir): Likewise.
43046 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43047
43048 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43049 LEN to grub_disk_addr_t and grub_size_t, respectively.
43050
43051 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43052
43053 * fs/jfs.c (grub_jfs_read_file): Likewise.
43054
43055 * fs/minix.c (grub_jfs_read_file): Likewise.
43056
43057 * fs/sfs.c (grub_jfs_read_file): Likewise.
43058
43059 * fs/ufs.c (grub_jfs_read_file): Likewise.
43060
43061 * fs/xfs.c (grub_jfs_read_file): Likewise.
43062
43063 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43064 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43065 respectively.
43066
43067 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43068 BLKNR to -1 instead of returning GRUB_ERRNO.
43069 (grub_ext2_read_file): Change the types of SECTOR and
43070 LEN to grub_disk_addr_t and grub_size_t, respectively.
43071
43072 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43073 LEN to grub_disk_addr_t and grub_size_t, respectively.
43074
43075 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43076 grub_file_read.
43077
43078 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43079 string. Do not cast SECTOR explicitly.
43080
43081 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43082 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43083 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43084 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43085 over 2TB and LBA mode is not supported, raise an error.
43086 (get_safe_sectors): New function.
43087 (grub_biosdisk_read): Use get_safe_sectors.
43088 (grub_biosdisk_write): Likewise.
43089
43090 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43091 (grub_efidisk_write): Likewise.
43092
43093 * disk/loopback.c (delete_loopback): Cosmetic changes.
43094 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43095 correctly.
43096 (grub_loopback_open): Likewise.
43097 (grub_loopback_read): Likewise. Also, change the type of POS to
43098 grub_off_t, and fix the usage of grub_memset.
43099
43100 * commands/i386/pc/play.c: Include grub/machine/time.h.
43101
43102 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43103 print FILE->SIZE.
43104
43105 * commands/configfile.c: Include grub/env.h.
43106
43107 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43108 GRUB_ERRNO directly instead. Change the type of POS to
43109 grub_off_t. Follow the coding standard.
43110
43111 * commands/blocklist.c: Include grub/partition.h.
43112 (grub_cmd_blocklist): Return an error if the underlying device is
43113 not a disk. Take the starting sector of a partition into account,
43114 if a partition is used.
43115
43116 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43117 a length field.
43118 (lba_mode): Support 64-bit addresses.
43119 (chs_mode): Likewise.
43120 (copy_buffer): Adapted to the new offsets of a length field and a
43121 segment field.
43122 (blocklist_default_start): Allocate 64-bit space.
43123
43124 * boot/i386/pc/boot.S (force_lba): Removed.
43125 (boot_drive): Moved to under KERNEL_SECTOR.
43126 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
43127 space.
43128 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43129 is useless.
43130 (lba_mode): Refactored to support a 64-bit address. More size
43131 optimization.
43132 (setup_sectors): Likewise.
43133
431342006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43135
43136 * DISTLIST: Added include/grub/i386/linux.h. Removed
43137 include/grub/i386/pc/linux.h
43138
43139 * configure.ac (AC_INIT): Bumped to 1.94.
43140
43141 * config.guess: Updated from gnulib.
43142 * config.sub: Likewise.
43143 * install-sh: Likewise.
43144 * mkinstalldirs: Likewise.
43145
431462006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43147
43148 * conf/common.rmk (grub_modules_init.lst): Depended on
43149 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43150 MODSRCFILES.
43151
43152 * genmk.rb (PModule::rule): Reverted the previous change.
43153
431542006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43155
43156 * conf/common.rmk (grub_modules_init.lst): Depends on
43157 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
43158 that the target does not exist before producing.
43159 (grub_modules_init.h): Remove the target before generating.
43160 (grub_emu_init.c): Likewise.
43161
43162 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
43163
431642006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
43165
43166 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
43167 for the target-specific tests. Make sure that we also have the
43168 up-to-date target variables for those tests.
43169
431702006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43171
43172 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
43173 (PModule::rule): Likewise.
43174
431752006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43176
43177 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43178 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43179 target-specific flags should be prefixed.
43180 (PModule::rule): Likewise.
43181
431822006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43183
43184 * configure.ac (CMP): Check if cmp is available explicitly.
43185
431862006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43187
43188 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43189 (target_cpu): New variable.
43190 (pkglibdir): Use target_cpu instead of host_cpu.
43191
43192 * util/i386/pc/grub-install.in (host_cpu): Removed.
43193 (target_cpu): New variable.
43194 (pkglibdir): Use target_cpu instead of host_cpu.
43195
43196 * util/genmoddep.c: Removed.
43197
43198 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43199 instead of GRUB_HOST_SIZEOF_VOID_P.
43200 * kern/dl.c: Likewise.
43201
43202 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43203 ...
43204 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43205 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43206 (GRUB_TARGET_SIZEOF_LONG): ... this.
43207 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43208 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43209 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43210 to ...
43211 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43212 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43213 (GRUB_TARGET_SIZEOF_LONG): ... this.
43214 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43215 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43216 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43217 to ...
43218 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43219 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43220 (GRUB_TARGET_SIZEOF_LONG): ... this.
43221 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43222 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43223
43224 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43225 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43226 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43227 instead of GRUB_HOST_SIZEOF_LONG.
43228 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43229 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43230 GRUB_CPU_WORDS_BIGENDIAN.
43231 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43232 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43233 grub_host_ssize_t.
43234
43235 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43236 (genmoddep_SOURCES): Likewise.
43237 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
43238 (genmoddep_SOURCES): Likewise.
43239 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
43240 (genmoddep_SOURCES): Likewise.
43241 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
43242 Likewise.
43243 (genmoddep_SOURCES): Likewise.
43244
43245 * genmoddep.awk: New file.
43246
43247 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
43248 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
43249 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
43250 (PModule::rule): Likewise.
43251 (Program::rule): Likewise.
43252 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
43253 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
43254 respectively.
43255
43256 * configure.ac: Rewritten intensively to use host and target
43257 instead of build and host, respectively.
43258
43259 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
43260 (host_cpu): Removed.
43261 (target_cpu): New variable.
43262 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
43263 (BUILD_CC): Removed.
43264 (BUILD_CFLAGS): Likewise.
43265 (BUILD_CPPFLAGS): Likewise.
43266 (TARGET_CC): New variable.
43267 (TARGET_CFLAGS): Likewise.
43268 (TARGET_CPPFLAGS): Likewise.
43269 (TARGET_LDFLAGS): Likewise.
43270 (AWK): Likewise.
43271 (include): Use target_cpu instead of host_cpu.
43272 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
43273
43274 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
43275
432762006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
43277
43278 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
43279 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
43280 field 'false' to 'exec_on_false'.
43281 (grub_script_create_cmdif): Renamed argument names to reflect above
43282 changes.
43283
43284 * normal/execute.c (grub_script_execute_cmdif): Likewise.
43285
43286 * normal/script.c (grub_script_create_cmdif): Likewise.
43287
432882006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
43289
43290 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
43291 top.
43292 (grub_hfsplus_btree_recptr): Likewise.
43293 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
43294 FILEBLOCK both to pass a block number and store next block
43295 number.
43296 (grub_hfsplus_read_block): Rewritten heavily to support an extent
43297 overflow file correctly. Specify errors appropriately, because
43298 fshelp expects that GRUB_ERRNO is set when fails. Reuse
43299 grub_hfsplus_btree_recptr to get the pointer to a found key.
43300 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
43301 is found.
43302
43303 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
43304 linux.mod.
43305 (_linux_mod_SOURCES): New variable.
43306 (_linux_mod_CFLAGS): Likewise.
43307 (_linux_mod_LDFLAGS): Likewise.
43308 (linux_mod_SOURCES): Likewise.
43309 (linux_mod_CFLAGS): Likewise.
43310 (linux_mod_LDFLAGS): Likewise.
43311
43312 * DISTLIST: Added loader/i386/efi/linux.c,
43313 loader/i386/efi/linux_normal.c and
43314 include/grub/i386/efi/loader.h.
43315
43316 * loader/i386/efi/linux.c: New file.
43317 * loader/i386/efi/linux_normal.c: Likewise.
43318 * include/grub/i386/efi/loader.h: Likewise.
43319
433202006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
43321
43322 * commands/blocklist.c: New file.
43323
43324 * DISTLIST: Added commands/blocklist.c.
43325
43326 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43327 color for the background, and a darker color for the foreground.
43328 (grub_console_checkkey): Return READ_KEY.
43329 (grub_console_cls): Set the background to
43330 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
43331
43332 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
43333
43334 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
43335 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
43336
43337 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
43338 prototype.
43339
43340 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
43341 BG. The spec is wrong again.
43342
43343 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
43344 prototype.
43345 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43346
43347 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43348 commands/blocklist.c.
43349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43350
43351 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43352 (blocklist_mod_SOURCES): New variable.
43353 (blocklist_mod_CFLAGS): Likewise.
43354 (blocklist_mod_LDFLAGS): Likewise.
43355
433562006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43357
43358 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43359 duplication.
43360 (lba_mode): Use %eax more intensively to reduce the code size.
43361
433622006-05-20 Marco Gerards <marco@gnu.org>
43363
43364 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43365
43366 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43367 for `menuentry'.
43368 (script): Accept leading newlines.
43369 (newlines): New rule to describe 0 or more newlines.
43370 (commands): Accept `command' with trailing newline. Fixed the
43371 order in which arguments were passed to `grub_script_add_cmd'.
43372 Accept commands separated by newlines.
43373 (function): Changed to accept newlines.
43374 (menuentry) Rewritten.
43375
43376 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43377 front of the list, instead of to the end.
43378
433792006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43380
43381 * util/i386/pc/grub-install.in (bindir): New variable.
43382 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43383 Shaver <lbgwjl@gmail.com>.
43384
433852006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43386
43387 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43388 grub/machine/linux.h
43389 * loader/i386/pc/linux.c: Likewise.
43390
43391 * include/grub/i386/pc/linux.h: Moved to ...
43392 * include/grub/i386/linux.h: ... here.
43393
43394 * include/grub/i386/linux.h (struct linux_kernel_params): New
43395 struct.
43396
433972006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43398
43399 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43400 checking.
43401 (grub_video_vbe_blit_glyph): Likewise.
43402 (grub_video_vbe_blit_bitmap): Likewise.
43403 (grub_video_vbe_blit_render_target): Likewise.
43404
434052006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43406
43407 * configure.ac (--with-platform): Properly quote the square
43408 brackets.
43409
434102006-05-08 Marco Gerards <marco@gnu.org>
43411
43412 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43413 this...
43414 (kernel_elf_HEADERS): ...to this. Updated all users.
43415 (grubof_symlist.c): Renamed from this...
43416 (kernel_elf_symlist.c): ...to this. Updated all users.
43417 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43418 (grubof_SOURCES): Renamed from this...
43419 (kernel_elf_SOURCES): ...to this.
43420 (grubof_HEADERS): Renamed from this...
43421 (kernel_elf_HEADERS): ...to this.
43422 (grubof_CFLAGS): Renamed from this...
43423 (kernel_elf_CFLAGS): ...to this.
43424 (grubof_ASFLAGS): Renamed from this...
43425 (kernel_elf_ASFLAGS): ...to this.
43426 (grubof_LDFLAGS): Renamed from this...
43427 (kernel_elf_LDFLAGS): ...to this.
43428
43429 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43430 this...
43431 (kernel_elf_HEADERS): ...to this. Updated all users.
43432 (grubof_symlist.c): Renamed from this...
43433 (kernel_elf_symlist.c): ...to this. Updated all users.
43434 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43435 (grubof_SOURCES): Renamed from this...
43436 (kernel_elf_SOURCES): ...to this.
43437 (grubof_HEADERS): Renamed from this...
43438 (kernel_elf_HEADERS): ...to this.
43439 (grubof_CFLAGS): Renamed from this...
43440 (kernel_elf_CFLAGS): ...to this.
43441 (grubof_ASFLAGS): Renamed from this...
43442 (kernel_elf_ASFLAGS): ...to this.
43443 (grubof_LDFLAGS): Renamed from this...
43444 (kernel_elf_LDFLAGS): ...to this.
43445
43446 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43447 `kernel.elf' instead of `grubof'.
43448
434492006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43450
43451 Add --with-platform to configure. Use pkglibdir instead of
43452 pkgdatadir. This is reported by Roger Leigh.
43453
43454 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43455 (host_vendor): Likewise.
43456 (host_os): Likewise.
43457 (pkgdatadir): Likewise.
43458 (platform): New variable.
43459 (pkglibdir): Likewise.
43460 Use PKGLIBDIR instead of PKGDATADIR.
43461
43462 * util/i386/pc/grub-install.in (datadir): Removed.
43463 (host_vendor): Likewise.
43464 (host_os): Likewise.
43465 (pkgdatadir): Likewise.
43466 (platform): New variable.
43467 (pkglibdir): Likewise.
43468 Use PKGLIBDIR instead of PKGDATADIR.
43469
43470 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43471 instead of GRUB_DATADIR.
43472 (main): Likewise.
43473 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43474 (main): Likewise.
43475 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43476 (main): Likewise.
43477
43478 * configure.ac (--with-platform): New option.
43479 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43480
43481 * Makefile.in: Include a makefile based on PLATFORM instead of
43482 HOST_VENDOR.
43483 (pkgdatadir): Not appended by the machine type.
43484 (pkglibdir): Appended by the machine type.
43485 (host_vendor): Removed.
43486 (platform): New variable.
43487 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43488 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43489 (uninstall): Likewise.
43490
434912006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43492
43493 Use the environment context in the menu. Remove the commands
43494 "default" and "timeout", and use variables instead.
43495
43496 * normal/menu.c: Include grub/env.h.
43497 (print_entry): Cast TITLE to silence gcc.
43498 (get_timeout): New function.
43499 (set_timeout): Likewise.
43500 (get_entry_number): Likewise.
43501 (run_menu): Use a default entry, a fallback entry and a timeout
43502 in the environment variables "default", "fallback" and
43503 "timeout". Also, tweak the default entry if it is not within the
43504 current menu entries.
43505 (grub_menu_run): Use a fallback entry in the environment variable
43506 "fallback".
43507
43508 * normal/main.c (read_config_file): Do not initialize
43509 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43510 NEWMENU->TIMEOUT.
43511 (grub_normal_execute): Use a data slot to store the menu.
43512
43513 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43514 fallback_entry and timeout.
43515 (struct grub_menu_list): Removed.
43516 (grub_menu_list_t): Likewise.
43517 (struct grub_context): Likewise.
43518 (grub_context_t): Likewise.
43519 (grub_context_get): Likewise.
43520 (grub_context_get_current_menu): Likewise.
43521 (grub_context_push_menu): Likewise.
43522 (grub_context_pop_menu): Likewise.
43523 (grub_default_init): Likewise.
43524 (grub_default_fini): Likewise.
43525 (grub_timeout_init): Likewise.
43526 (grub_timeout_fini): Likewise.
43527
43528 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
43529 and timeout.mod.
43530 (normal_mod_SOURCES): Removed normal/context.c.
43531
43532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
43533 commands/default.c, commands/timeout.c and normal/context.c.
43534 (normal_mod_SOURCES): Removed normal/context.c.
43535
43536 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
43537 commands/timeout.c and normal/context.c.
43538 (normal_mod_SOURCES): Removed normal/context.c.
43539
43540 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
43541 commands/default.c, commands/timeout.c and normal/context.c.
43542 (normal_mod_SOURCES): Removed normal/context.c.
43543
43544 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
43545 timeout.mod.
43546 (default_mod_SOURCES): Removed.
43547 (default_mod_CFLAGS): Likewise.
43548 (default_mod_LDFLAGS): Likewise.
43549 (timeout_mod_SOURCES): Removed.
43550 (timeout_mod_CFLAGS): Likewise.
43551 (timeout_mod_LDFLAGS): Likewise.
43552
43553 * DISTLIST: Removed commands/default.c, commands/timeout.c and
43554 normal/context.c.
43555
43556 * commands/default.c: Removed.
43557 * commands/timeout.c: Likewise.
43558 * normal/context.c: Likewise.
43559
435602006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43561
43562 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43563
435642006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
43565
43566 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
43567 "next" to "prev" for readability.
43568 (struct grub_env_sorted_var): New struct.
43569 (grub_env_context): Renamed to ...
43570 (initial_context): ... this.
43571 (grub_env_var_context): Renamed to ...
43572 (current_context): ... this.
43573 (grub_env_find): Look only at CURRENT_CONTEXT.
43574 (grub_env_context_open): Rewritten to copy exported variables from
43575 previous context.
43576 (grub_env_context_close): Rewritten according to the new
43577 scheme. Also, add an assertion to prevent the initial context from
43578 removed.
43579 (grub_env_insert): Removed the code for the sorted list.
43580 (grub_env_remove): Likewise.
43581 (grub_env_export): Simply mark the variable with
43582 GRUB_ENV_VAR_GLOBAL.
43583 (grub_env_set): A cosmetic change for naming consistency.
43584 (grub_env_get): Likewise.
43585 (grub_env_unset): Likewise.
43586 (grub_env_iterate): Rewritten to sort variables within this
43587 function.
43588 (grub_register_variable_hook): Fixed for naming consistency. Call
43589 grub_env_find again, only if NAME is not found at the first time.
43590 (mangle_data_slot_name): New function.
43591 (grub_env_set_data_slot): Likewise.
43592 (grub_env_get_data_slot): Likewise.
43593 (grub_env_unset_data_slot): Likewise.
43594
43595 * include/grub/env.h (grub_env_var_type): New enum.
43596 (GRUB_ENV_VAR_LOCAL): New constant.
43597 (GRUB_ENV_VAR_GLOBAL): Likewise.
43598 (GRUB_ENV_VAR_DATA): Likewise.
43599 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
43600 "type".
43601 (grub_env_set): Replace VAR with NAME for consistency.
43602 (grub_register_variable_hook): Likewise.
43603 (grub_env_export): Specify the name of the argument.
43604 (grub_env_set_data_slot): New prototype.
43605 (grub_env_get_data_slot): Likewise.
43606 (grub_env_unset_data_slot): Likewise.
43607
436082006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43609
43610 Extend the loader so that GRUB can accept a loader which comes
43611 back to GRUB when a loaded image exits. Also, this change adds
43612 support for a chainloader on EFI.
43613
43614 * term/efi/console.c: Include grub/misc.h.
43615 (grub_console_checkkey): Display a scan code on the top for
43616 debugging. This will be removed once the EFI port gets stable.
43617 Correct the scan code mapping.
43618
43619 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
43620 allocate memory from larger regions, in order to reduce the number
43621 of allocated regions. Otherwise, the MacOSX loader panics.
43622 (filter_memory_map): Avoid less than 1MB for compatibility with
43623 other loaders.
43624 (add_memory_regions): Allocate from the tail of a region, if
43625 possible, to avoid allocating a region near to 1MB, for the MacOSX
43626 loader.
43627
43628 * kern/efi/init.c (grub_efi_set_prefix): Specify
43629 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
43630
43631 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
43632 argument IMAGE_HANDLE and specify it to get a loaded image.
43633 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
43634 grub_efi_get_loaded_image.
43635 (grub_efi_get_filename): Divide the length by the size of
43636 grub_efi_char16_t.
43637 (grub_efi_get_device_path): New function.
43638 (grub_efi_print_device_path): Print End Device Path nodes. Divide
43639 the length by the size of grub_efi_char16_t for a file path device
43640 path node.
43641
43642 * kern/loader.c (grub_loader_noreturn): New variable.
43643 (grub_loader_set): Accept a new argument NORETURN. Set
43644 GRUB_LOADER_NORETURN to NORETURN.
43645 All callers changed.
43646 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
43647 grub_machine_fini.
43648
43649 * include/grub/efi/efi.h (grub_efi_get_device_path): New
43650 prototype.
43651 (grub_efi_get_loaded_image): Take an argument to specify an image
43652 handle.
43653
43654 * include/grub/loader.h (grub_loader_set): Added one more argument
43655 NORETURN.
43656
43657 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
43658 instead of grub_efi_open_protocol.
43659 (grub_efidisk_get_device_name): Likewise.
43660 (grub_efidisk_close): Print a newline.
43661 (grub_efidisk_get_device_handle): Fixed to use
43662 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
43663 GRUB_EFI_DEVICE_PATH_TYPE.
43664
43665 * disk/efi/efidisk.c (device_path_guid): Moved to ...
43666 * kern/efi/efi.c (device_path_guid): ... here.
43667
43668 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
43669 chain.mod.
43670 (kernel_mod_HEADERS): Added efi/disk.h.
43671 (_chain_mod_SOURCES): New variable.
43672 (_chain_mod_CFLAGS): Likewise.
43673 (_chain_mod_LDFLAGS): Likewise.
43674 (chain_mod_SOURCES): Likewise.
43675 (chain_mod_CFLAGS): Likewise.
43676 (chain_mod_LDFLAGS): Likewise.
43677
43678 * DISTLIST: Added include/grub/efi/chainloader.h,
43679 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
43680
43681 * include/grub/efi/chainloader.h: New file.
43682 * loader/efi/chainloader.c: Likewise.
43683 * loader/efi/chainloader_normal.c: Likewise.
43684
436852006-04-30 Marco Gerards <marco@gnu.org>
43686
43687 * commands/configfile.c (grub_cmd_source): New function.
43688 (GRUB_MOD_INIT): Register the commands `source' and `.'.
43689 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
43690
436912006-04-30 Marco Gerards <marco@gnu.org>
43692
43693 * normal/execute.c (grub_script_execute_cmd): Change the return
43694 type to `grub_err_t'. Correctly return the error.
43695 (grub_script_execute_cmdline): In case a command line is not a
43696 command or a function, try to interpret it as an assignment.
43697
436982006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43699
43700 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
43701 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
43702 skip a node whose name is obviously invalid as UTF-16,
43703 i.e. contains a NUL character. Stop the iteration when the last
43704 directory entry is found. Instead of using the return value of
43705 grub_hfsplus_btree_iterate_node, store the value in RET and use
43706 it, because the iterator can be stopped by the last directory
43707 entry.
43708
437092006-04-30 Marco Gerards <marco@gnu.org>
43710
43711 * include/grub/env.h (grub_env_export): New prototype. Reported
43712 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
43713
437142006-04-30 Marco Gerards <marco@gnu.org>
43715
43716 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
43717 size of the extents in a catalog file record.
43718
437192006-04-29 Marco Gerards <marco@gnu.org>
43720
43721 * commands/configfile.c (grub_cmd_configfile): Execute the
43722 configfile within its own context.
43723
43724 * include/grub/env.h (grub_env_context_open): New prototype.
43725 (grub_env_context_close): Likewise.
43726
43727 * kern/env.c (grub_env): Removed.
43728 (grub_env_sorted): Likewise.
43729 (grub_env_context): New variable.
43730 (grub_env_var_context): Likewise.
43731 (grub_env_find): Search both the active context and the global
43732 context.
43733 (grub_env_context_open): New function.
43734 (grub_env_context_close): Likewise.
43735 (grub_env_insert): Likewise.
43736 (grub_env_remove): Likewise.
43737 (grub_env_export): Likewise.
43738 (grub_env_set): Changed to use helper functions to avoid code
43739 duplication.
43740 (grub_env_iterate): Rewritten so both the current context and the
43741 global context are being used.
43742
43743 * normal/command.c (export_command): New function.
43744 (grub_command_init): Register the `export' function.
43745
437462006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
43747
43748 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
43749 explicitly to suppress gcc's warnings.
43750 * fs/fat.c (grub_fat_find_dir): Likewise.
43751 (grub_fat_label): Likewise.
43752 * fs/xfs.c (grub_xfs_read_inode): Likewise.
43753 (grub_xfs_mount): Likewise.
43754 (grub_xfs_label): Likewise.
43755 * fs/affs.c (grub_affs_mount): Likewise.
43756 (grub_affs_label): Likewise.
43757 (grub_affs_iterate_dir): Likewise.
43758 * fs/sfs.c (grub_sfs_mount): Likewise.
43759 (grub_sfs_iterate_dir): Likewise.
43760 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
43761 * fs/hfs.c (grub_hfs_mount): Likewise.
43762 (grub_hfs_cmp_catkeys): Likewise.
43763 (grub_hfs_find_dir): Likewise.
43764 (grub_hfs_dir): Likewise.
43765 (grub_hfs_label): Likewise.
43766 * fs/jfs.c (grub_jfs_mount): Likewise.
43767 (grub_jfs_opendir): Likewise.
43768 (grub_jfs_getent): Likewise.
43769 (grub_jfs_lookup_symlink): Likewise.
43770 (grub_jfs_label): Likewise.
43771 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
43772 (grub_hfsplus_iterate_dir): Likewise.
43773 (grub_hfsplus_btree_iterate_node): Made static.
43774
43775 * util/grub-emu.c (prefix): New variable.
43776 (grub_machine_set_prefix): New function.
43777 (main): Do not set the environment variable "prefix" here. Only
43778 set PREFIX, which is used later by grub_machine_set_prefix.
43779
43780 * include/grub/video.h: Do not include grub/symbol.h.
43781 (grub_video_register): Not exported. This symbol is not defined in
43782 the kernel.
43783 (grub_video_unregister): Likewise.
43784 (grub_video_iterate): Likewise.
43785 (grub_video_setup): Likewise.
43786 (grub_video_restore): Likewise.
43787 (grub_video_get_info): Likewise.
43788 (grub_video_get_blit_format): Likewise.
43789 (grub_video_set_palette): Likewise.
43790 (grub_video_get_palette): Likewise.
43791 (grub_video_set_viewport): Likewise.
43792 (grub_video_get_viewport): Likewise.
43793 (grub_video_map_color): Likewise.
43794 (grub_video_map_rgb): Likewise.
43795 (grub_video_map_rgba): Likewise.
43796 (grub_video_fill_rect): Likewise.
43797 (grub_video_blit_glyph): Likewise.
43798 (grub_video_blit_bitmap): Likewise.
43799 (grub_video_blit_render_target): Likewise.
43800 (grub_video_scroll): Likewise.
43801 (grub_video_swap_buffers): Likewise.
43802 (grub_video_create_render_target): Likewise.
43803 (grub_video_delete_render_target): Likewise.
43804 (grub_video_set_active_render_target): Likewise.
43805
43806 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
43807 Undefined.
43808 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
43809
43810 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
43811 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43812 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43813 instead of $(srcdir)/genkernsyms.sh.
43814
43815 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
43816 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43817 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43818 instead of $(srcdir)/genkernsyms.sh.
43819
43820 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
43821 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43822 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43823 instead of $(srcdir)/genkernsyms.sh.
43824
43825 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
43826 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43827 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43828 instead of $(srcdir)/genkernsyms.sh.
43829
43830 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
43831 genkernsyms.sh.
43832
43833 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
43834 genkernsyms.sh.
43835 (gensymlist.sh): New target.
43836 (genkernsyms.sh): Likewise.
43837
43838 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
43839 genkernsyms.sh.in and gensymlist.sh.in.
43840
43841 * genkernsyms.sh: Removed.
43842 * gensymlist.sh: Likewise.
43843
43844 * genkernsyms.sh.in: New file.
43845 * gensymlist.sh.in: Likewise.
43846
438472006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43848
43849 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
43850 clobber "prefix", since we may have already set it manually.
43851
438522006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43853
43854 * kern/misc.c (abort): New alias for grub_abort.
43855
438562006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
43857
43858 A new machine-specific function "grub_machine_set_prefix" is
43859 defined. This is called after loading modules, so that a prefix
43860 initialization can use modules. Also, this change adds an
43861 intensive debugging feature for the memory manager via the
43862 configure option "--enable-mm-debug".
43863
43864 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
43865 PART.LEN.
43866
43867 * kern/sparc64/ieee1275/init.c (abort): Removed.
43868 (grub_stop): Likewise.
43869 (grub_exit): New function.
43870 (grub_set_prefix): Renamed to ...
43871 (grub_machine_set_prefix): ... this.
43872 (grub_machine_init): Do not call grub_set_prefix.
43873
43874 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43875 (grub_machine_set_prefix): ... this.
43876 (grub_machine_init): Do not call grub_set_prefix.
43877
43878 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43879 (grub_machine_init): Do not set the prefix here.
43880
43881 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43882
43883 * kern/efi/init.c: Include grub/mm.h.
43884 (grub_efi_set_prefix): New function.
43885
43886 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43887 (grub_efi_get_filename): New function.
43888 (grub_print_device_path): Renamed to ...
43889 (grub_efi_print_device_path): ... this.
43890
43891 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43892 [MM_DEBUG] (grub_realloc): Likewise.
43893 [MM_DEBUG] (grub_free): Likewise.
43894 [MM_DEBUG] (grub_memalign): Likewise.
43895 [MM_DEBUG] (grub_mm_debug): New variable.
43896 [MM_DEBUG] (grub_debug_malloc): New function.
43897 [MM_DEBUG] (grub_debug_free): New function.
43898 [MM_DEBUG] (grub_debug_realloc): New function.
43899 [MM_DEBUG] (grub_debug_memalign): New function.
43900
43901 * kern/misc.c (grub_abort): Print a newline to distinguish
43902 the message.
43903
43904 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43905 grub_set_root_dev after loading modules. This is necessary when
43906 setting a prefix depends on modules.
43907
43908 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43909 (grub_efi_print_device_path): ... this.
43910 (grub_efi_get_filename): New prototype.
43911 (grub_efi_set_prefix): Likewise.
43912
43913 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43914 and grub/disk.h.
43915 (grub_efidisk_get_device_handle): New prototype.
43916 (grub_efidisk_get_device_name): Likewise.
43917
43918 * include/grub/mm.h: Include config.h.
43919 (MM_DEBUG): Removed.
43920 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43921 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43922 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43923 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43924 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43925 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43926 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43927 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43928 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43929
43930 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43931
43932 * disk/efi/efidisk.c: Include grub/partition.h.
43933 (iterate_child_devices): New function.
43934 (add_device): First, compare only last device path nodes, so that
43935 devices are sorted by the types.
43936 (grub_efidisk_get_device_handle): New function.
43937 (grub_efidisk_get_device_name): Likewise.
43938
43939 * configure.ac (--enable-mm-debug): New option to enable the
43940 memory manager debugging feature. This makes the binary much
43941 bigger, so is disabled by default.
43942
439432006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43944
43945 Use grub_abort instead of grub_stop, and grub_exit must be
43946 define in each architecture now. Also, this change adds support
43947 for EFI disks.
43948
43949 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43950 (grub_getkey): New function.
43951 (grub_term_get_current): Likewise.
43952
43953 * util/i386/pc/grub-setup.c: Include grub/term.h.
43954 (grub_getkey): New function.
43955 (grub_term_get_current): Likewise.
43956
43957 * util/misc.c (grub_stop): Renamed to ...
43958 (grub_exit): ... this.
43959
43960 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43961 (grub_exit): ... this.
43962 (grub_machine_init): Use grub_abort instead of abort.
43963 (grub_stop): Removed.
43964
43965 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43966 abort.
43967
43968 * kern/i386/pc/startup.S (grub_exit): New function.
43969 (cold_reboot): New label.
43970
43971 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43972 (grub_efi_init): Call grub_efidisk_init.
43973 (grub_efi_fini): Call grub_efidisk_fini.
43974
43975 * kern/efi/efi.c: Include grub/mm.h.
43976 (grub_efi_console_control_guid): Renamed to ...
43977 (console_control_guid): ... this.
43978 (grub_efi_loaded_image_guid): Renamed to ...
43979 (loaded_image_guid): ... this.
43980 (grub_efi_locate_handle): New function.
43981 (grub_efi_open_protocol): Likewise.
43982 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43983 GRUB_EFI_CONSOLE_CONTROL_GUID.
43984 (grub_efi_exit): Removed.
43985 (grub_stop): Likewise.
43986 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43987 (grub_exit): New function.
43988 (grub_print_device_path): Likewise.
43989
43990 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43991 (grub_enter_rescue_mode): Register "exit".
43992
43993 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43994 (grub_abort): New function.
43995
43996 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43997
43998 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43999
44000 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44001
44002 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44003 (grub_print_device_path): New prototype.
44004 (grub_efi_locate_handle): Likewise.
44005 (grub_efi_open_protocol): Likewise.
44006
44007 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44008 * disk/efi/efidisk.c: Likewise.
44009
44010 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44011
44012 * include/grub/efi/console_control.h
44013 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44014
44015 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44016 last 8 bytes as an array.
44017 (GRUB_EFI_DISK_IO_GUID): New macro.
44018 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44019 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44020 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44021 grub_uint8_t.
44022 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44023 (struct grub_efi_device_path): Rename the member "sub_type" to
44024 "subtype".
44025 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44026 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44027 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44028 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44029 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44030 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44031 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44032 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44033 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44034 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44035 (struct grub_efi_pci_device_path): New structure.
44036 (grub_efi_pci_device_path_t): New type.
44037 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44038 (struct grub_efi_pccard_device_path): New structure.
44039 (grub_efi_pccard_device_path_t): New type.
44040 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44041 (struct grub_efi_memory_mapped_device_path): New structure.
44042 (grub_efi_memory_mapped_device_path_t): New type.
44043 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44044 (struct grub_efi_vendor_device_path): New structure.
44045 (grub_efi_vendor_device_path_t): New type.
44046 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44047 (struct grub_efi_controller_device_path): New structure.
44048 (grub_efi_controller_device_path_t): New type.
44049 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44050 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44051 (struct grub_efi_acpi_device_path): New structure.
44052 (grub_efi_acpi_device_path_t): New type.
44053 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44054 (struct grub_efi_expanded_acpi_device_path): New structure.
44055 (grub_efi_expanded_acpi_device_path_t): New type.
44056 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44057 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44058 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44059 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44060 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44061 (struct grub_efi_atapi_device_path): New structure.
44062 (grub_efi_atapi_device_path_t): New type.
44063 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44064 (struct grub_efi_fibre_channel_device_path): New structure.
44065 (grub_efi_fibre_channel_device_path_t): New type.
44066 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44067 (struct grub_efi_1394_device_path): New structure.
44068 (grub_efi_1394_device_path_t): New type.
44069 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44070 (struct grub_efi_usb_device_path): New structure.
44071 (grub_efi_usb_device_path_t): New type.
44072 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44073 (struct grub_efi_usb_class_device_path): New structure.
44074 (grub_efi_usb_class_device_path_t): New type.
44075 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44076 (struct grub_efi_i2o_device_path): New structure.
44077 (grub_efi_i2o_device_path_t): New type.
44078 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44079 (struct grub_efi_mac_address_device_path): New structure.
44080 (grub_efi_mac_address_device_path_t): New type.
44081 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44082 (struct grub_efi_ipv4_device_path): New structure.
44083 (grub_efi_ipv4_device_path_t): New type.
44084 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44085 (struct grub_efi_ipv6_device_path): New structure.
44086 (grub_efi_ipv6_device_path_t): New type.
44087 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44088 (struct grub_efi_infiniband_device_path): New structure.
44089 (grub_efi_infiniband_device_path_t): New type.
44090 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44091 (struct grub_efi_uart_device_path): New structure.
44092 (grub_efi_uart_device_path_t): New type.
44093 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44094 (struct grub_efi_vendor_messaging_device_path): New structure.
44095 (grub_efi_vendor_messaging_device_path_t): New type.
44096 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44097 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44098 (struct grub_efi_hard_drive_device_path): New structure.
44099 (grub_efi_hard_drive_device_path_t): New type.
44100 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44101 (struct grub_efi_cdrom_device_path): New structure.
44102 (grub_efi_cdrom_device_path_t): New type.
44103 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44104 (struct grub_efi_vendor_media_device_path): New structure.
44105 (grub_efi_vendor_media_device_path_t): New type.
44106 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44107 (struct grub_efi_file_path_device_path): New structure.
44108 (grub_efi_file_path_device_path_t): New type.
44109 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44110 (struct grub_efi_protocol_device_path): New structure.
44111 (grub_efi_protocol_device_path_t): New type.
44112 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44113 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44114 (struct grub_efi_bios_device_path): New structure.
44115 (grub_efi_bios_device_path_t): New type.
44116 (struct grub_efi_disk_io): New structure.
44117 (grub_efi_disk_io_t): New type.
44118 (struct grub_efi_block_io_media): New structure.
44119 (grub_efi_block_io_media_t): New type.
44120 (struct grub_efi_block_io): New structure.
44121 (grub_efi_block_io_t): New type.
44122
44123 * include/grub/misc.h (grub_stop): Removed.
44124 (grub_exit): New prototype.
44125 (grub_abort): Likewise.
44126
44127 * include/grub/disk.h (enum grub_disk_dev_id): Added
44128 GRUB_DISK_DEVICE_EFIDISK_ID.
44129
44130 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44131 disk/efi/efidisk.c.
44132 (kernel_syms.lst): Remove the target if an error occurs.
44133
441342006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44135
44136 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44137 as it was simply too buggy.
44138
441392006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44140
44141 * kern/misc.c (grub_lltoa): New function.
44142 (grub_vsprintf): Added support for the long long suffix,
44143 i.e. "ll".
44144
441452006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44146
44147 * Makefile.in (LDFLAGS): Add variable.
44148 (LD): Remove variable.
44149 * configure.ac: Add -m32 to LDFLAGS.
44150 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44151 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
44152 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
44153 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
44154 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
44155 variables.
44156 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
44157 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
44158 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
44159
441602006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44161
44162 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44163 length for unknown glyph.
44164
441652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44166
44167 Add support for pre-loaded modules into the EFI port.
44168
44169 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
44170 completely. Accept one more argument DIR. The caller has changed.
44171
44172 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
44173
44174 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
44175 (grub_efi_loaded_image_guid): New variable.
44176 (grub_efi_get_loaded_image): New function.
44177 (grub_arch_modules_addr): Likewise.
44178
44179 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44180 prototype.
44181
44182 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44183 (struct grub_efi_loaded_image): New structure.
44184 (grub_efi_loaded_image_t): New type.
44185
441862006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44187
44188 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44189 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44190 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44191
441922006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44193
44194 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44195
441962006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44197
44198 * DISTLIST: Added include/grub/efi/console.h,
44199 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44200 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44201
44202 * include/grub/efi/console.h: New file.
44203 * include/grub/efi/time.h: Likewise.
44204 * include/grub/i386/efi/kernel.h: Likewise.
44205 * kern/efi/init.c: Likewise.
44206 * kern/efi/mm.c: Likewise.
44207 * term/efi/console.c: Likewise.
44208
44209 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44210 (grub_stop): Removed.
44211 (grub_get_rtc): Likewise.
44212 (grub_machine_init): Simply call grub_efi_init.
44213 (grub_machine_fini): Call grub_efi_fini.
44214
44215 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44216 (grub_efi_output_string): Removed.
44217 (grub_efi_stall): New function.
44218 (grub_stop): Likewise.
44219 (grub_get_rtc): Likewise.
44220
44221 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44222 (grub_efi_stall): New prototype.
44223 (grub_efi_allocate_pages): Likewise.
44224 (grub_efi_free_pages): Likewise.
44225 (grub_efi_get_memory_map): Likewise.
44226 (grub_efi_mm_init): Likewise.
44227 (grub_efi_mm_fini): Likewise.
44228 (grub_efi_init): Likewise.
44229 (grub_efi_fini): Likewise.
44230
44231 * include/grub/i386/efi/time.h: Do not include
44232 grub/symbol.h. Include grub/efi/time.h.
44233 (GRUB_TICKS_PER_SECOND): Removed.
44234 (grub_get_rtc): Likewise.
44235
44236 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44237 Added padding. The EFI spec is buggy.
44238 (GRUB_EFI_BLACK): New macro.
44239 (GRUB_EFI_BLUE): Likewise.
44240 (GRUB_EFI_GREEN): Likewise.
44241 (GRUB_EFI_CYAN): Likewise.
44242 (GRUB_EFI_RED): Likewise.
44243 (GRUB_EFI_MAGENTA): Likewise.
44244 (GRUB_EFI_BROWN): Likewise.
44245 (GRUB_EFI_LIGHTGRAY): Likewise.
44246 (GRUB_EFI_BRIGHT): Likewise.
44247 (GRUB_EFI_DARKGRAY): Likewise.
44248 (GRUB_EFI_LIGHTBLUE): Likewise.
44249 (GRUB_EFI_LIGHTGREEN): Likewise.
44250 (GRUB_EFI_LIGHTCYAN): Likewise.
44251 (GRUB_EFI_LIGHTRED): Likewise.
44252 (GRUB_EFI_LIGHTMAGENTA): Likewise.
44253 (GRUB_EFI_YELLOW): Likewise.
44254 (GRUB_EFI_WHITE): Likewise.
44255 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
44256 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
44257 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
44258 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
44259 (GRUB_EFI_BACKGROUND_RED): Likewise.
44260 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
44261 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
44262 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
44263 (GRUB_EFI_TEXT_ATTR): Likewise.
44264
44265 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
44266 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44267 (kernel_mod_HEADERS): Added efi/time.h.
44268
442692006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
44270
44271 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
44272 include/grub/efi/api.h, include/grub/efi/console_control.h,
44273 include/grub/efi/efi.h, include/grub/efi/pe32.h,
44274 include/grub/i386/efi/time.h, kern/efi/efi.c,
44275 kern/i386/efi/init.c, kern/i386/efi/startup.S,
44276 and util/i386/efi/grub-mkimage.c.
44277
44278 * Makefile.in (RMKFILES): Added i386-efi.rmk.
44279
44280 * genmk.rb (PModule#rule): Do not export symbols if
44281 #{prefix}_EXPORTS is set to "no".
44282
44283 * conf/i386-efi.mk: New file.
44284 * conf/i386-efi.rmk: Likewise.
44285 * include/grub/efi/api.h: Likewise.
44286 * include/grub/efi/console_control.h: Likewise.
44287 * include/grub/efi/efi.h: Likewise.
44288 * include/grub/efi/pe32.h: Likewise.
44289 * include/grub/i386/efi/time.h: Likewise.
44290 * kern/efi/efi.c: Likewise.
44291 * kern/i386/efi/init.c: Likewise.
44292 * kern/i386/efi/startup.S: Likewise.
44293 * util/i386/efi/grub-mkimage.c: Likewise.
44294
442952006-04-17 Marco Gerards <marco@gnu.org>
44296
44297 * include/grub/script.h: Include <grub/parser.h> and
44298 "grub_script.tab.h".
44299 (struct grub_lexer_param): New struct.
44300 (struct grub_parser_param): Likewise.
44301 (grub_script_create_arglist): Pass the state in an argument.
44302 (grub_script_add_arglist): Likewise.
44303 (grub_script_create_cmdline): Likewise.
44304 (grub_script_create_cmdblock): Likewise.
44305 (grub_script_create_cmdif): Likewise.
44306 (grub_script_create_cmdmenu): Likewise.
44307 (grub_script_add_cmd): Likewise.
44308 (grub_script_arg_add): Likewise.
44309 (grub_script_lexer_ref): Likewise.
44310 (grub_script_lexer_deref): Likewise.
44311 (grub_script_lexer_record_start): Likewise.
44312 (grub_script_lexer_record_stop): Likewise.
44313 (grub_script_mem_record): Likewise.
44314 (grub_script_mem_record_stop): Likewise.
44315 (grub_script_malloc): Likewise.
44316 (grub_script_yylex): Likewise.
44317 (grub_script_yyparse): Likewise.
44318 (grub_script_yyerror): Likewise.
44319 (grub_script_yylex): Likewise.
44320 (grub_script_lexer_init): Return the state.
44321
44322 * normal/lexer.c (grub_script_lexer_state): Removed variable.
44323 (grub_script_lexer_done): Likewise.
44324 (grub_script_lexer_getline): Likewise.
44325 (grub_script_lexer_refs): Likewise.
44326 (script): Likewise.
44327 (newscript): Likewise.
44328 (record): Likewise.
44329 (recording): Likewise.
44330 (recordpos): Likewise.
44331 (recordlen): Likewise.
44332 (grub_script_lexer_init): Return the state instead of setting
44333 global variables.
44334 (grub_script_lexer_ref): Use the newly added argument for state
44335 instead of globals.
44336 (grub_script_lexer_deref): Likewise.
44337 (grub_script_lexer_record_start): Likewise.
44338 (grub_script_lexer_record_stop): Likewise.
44339 (recordchar): Likewise.
44340 (nextchar): Likewise.
44341 (grub_script_yylex2): Likewise.
44342 (grub_script_yylex): Likewise.
44343 (grub_script_yyerror): Likewise.
44344
44345 * normal/parser.y (func_mem): Removed variable.
44346 (menu_entry): Likewise.
44347 (err): Likewise.
44348 (%lex-param): New parser option.
44349 (%parse-param): Likewise.
44350 (script): Always return the AST.
44351 (argument): Pass the state around.
44352 (arguments): Likewise.
44353 (grubcmd): Likewise.
44354 (commands): Likewise.
44355 (function): Likewise.
44356 (menuentry): Likewise.
44357 (if_statement): Likewise.
44358 (if): Likewise.
44359
44360 * normal/script.c (grub_script_memused): Removed variable.
44361 (grub_script_parsed): Likewise.
44362 (grub_script_malloc): Added a state argument. Use that instead of
44363 global variables.
44364 (grub_script_mem_record): Likewise.
44365 (grub_script_mem_record_stop): Likewise.
44366 (grub_script_arg_add): Likewise.
44367 (grub_script_add_arglist): Likewise.
44368 (grub_script_create_cmdline): Likewise.
44369 (grub_script_create_cmdif): Likewise.
44370 (grub_script_create_cmdmenu): Likewise.
44371 (grub_script_add_cmd): Likewise.
44372 (grub_script_parse): Setup the state before calling the parser.
44373
443742006-04-16 Marco Gerards <marco@gnu.org>
44375
44376 * normal/command.c (grub_command_init): Remove the title command.
44377
44378 * normal/lexer.c (grub_script_yylex): Renamed from this...
44379 (grub_script_yylex2): ... to this.
44380 (grub_script_yylex): New function. Temporary
44381 introduced to filter some tokens.
44382 (grub_script_yyerror): Print a newline.
44383
44384 * normal/main.c (read_config_file): Output information about the
44385 lines that contain errors. Wait for a key after all lines have
44386 been processed. Don't return an empty menu.
44387
44388 * normal/parser.y (func_mem): Don't initialize.
44389 (menu_entry): Likewise.
44390 (err): New variable.
44391 (script): Don't return anything when an error was encountered.
44392 (ws, returns): Removed rules.
44393 (argument): Disabled concatenated variable support.
44394 (arguments): Remove explicit separators.
44395 (grubcmd): Likewise.
44396 (function): Likewise.
44397 (menuentry): Likewise.
44398 (if): Likewise.
44399 (commands): Likewise. Add error handling.
44400
44401 * normal/script.c (grub_script_create_cmdline): If
44402 `grub_script_parsed' is 0, assume the parser encountered an error.
44403
444042006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44405
44406 * configure.ac: Add support for EFI. Fix the typo
44407 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44408
444092006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44410
44411 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44412 foreign multibyte characters should be shown correctly.
44413
444142006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44415
44416 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44417 calculation.
44418 (read_config_file): Made it to close file before returning.
44419
444202006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44421
44422 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44423 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44424 video/i386/pc/vbefill.c.
44425
44426 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44427 video/i386/pc/vbefill.c.
44428
44429 * include/grub/video.h (grub_video_blit_format): New enum.
44430 (grub_video_mode_info): Added new member blit_format.
44431 (grub_video_get_blit_format): New function prototype.
44432
44433 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44434 function prototype.
44435 (grub_video_vbe_map_rgb): Likewise.
44436 (grub_video_vbe_unmap_color): Likewise.
44437
44438 * include/grub/i386/pc/vbeblit.h: New file.
44439
44440 * include/grub/i386/pc/vbefill.h: New file.
44441
44442 * video/video.c (grub_video_get_blit_format): New function.
44443 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44444 (grub_video_vbe_map_rgb): Likewise.
44445 (grub_video_vbe_unmap_color): Likewise.
44446
44447 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44448 optimized fills.
44449 (grub_video_vbe_blit_render_target): Changed to use more optimized
44450 blits.
44451 (grub_video_vbe_setup): Added detection for optimized settings.
44452 (grub_video_vbe_create_render_target): Likewise.
44453
44454 * video/i386/pc/vbeblit.c: New file.
44455
44456 * video/i386/pc/vbefill.c: New file.
44457
444582006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44459
44460 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44461 here...
44462
44463 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44464 parsing to support both hex and dec ranges. If filename was missing
44465 show usage information.
44466
444672006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44468
44469 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44470 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44471
44472 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44473 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44474 (video_mod_SOURCES): Added.
44475 (video_mod_CFLAGS): Likewise.
44476 (video_mod_LDFLAGS): Likewise.
44477 (gfxterm_mod_SOURCES): Likewise.
44478 (gfxterm_mod_CFLAGS): Likewise.
44479 (gfxterm_mod_LDFLAGS): Likewise.
44480 (videotest_mod_SOURCES): Likewise.
44481 (videotest_mod_CFLAGS): Likewise.
44482 (videotest_mod_LDFLAGS): Likewise.
44483 (vesafb_mod_SOURCES): Removed.
44484 (vesafb_mod_CFLAGS): Likewise.
44485 (vesafb_mod_LDFLAGS): Likewise.
44486 (vga_mod_SOURCES): Likewise.
44487 (vga_mod_CFLAGS): Likewise.
44488 (vga_mod_LDFLAGS): Likewise.
44489
44490 * commands/videotest.c: New file.
44491
44492 * font/manager.c (fill_with_default_glyph): Modified to use
44493 grub_font_glyph.
44494 (grub_font_get_glyph): Likewise.
44495 (fontmanager): Renamed from this...
44496 (font_manager): ... to this.
44497
44498 * include/grub/font.h (grub_font_glyph): Added new structure.
44499 (grub_font_get_glyph): Modified to use grub_font_glyph.
44500
44501 * include/grub/misc.h (grub_abs): Added as inline function.
44502
44503 * include/grub/video.h: New file.
44504
44505 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44506 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44507 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44508 (grub_vbe_get_controller_info): Renamed from this...
44509 (grub_vbe_bios_get_controller_info): ... to this.
44510 (grub_vbe_get_mode_info): Renamed from this...
44511 (grub_vbe_bios_get_mode_info): ... to this.
44512 (grub_vbe_set_mode): Renamed from this...
44513 (grub_vbe_bios_set_mode): ... to this.
44514 (grub_vbe_get_mode): Renamed from this...
44515 (grub_vbe_bios_get_mode): ... to this.
44516 (grub_vbe_set_memory_window): Renamed from this...
44517 (grub_vbe_bios_set_memory_window): ... to this.
44518 (grub_vbe_get_memory_window): Renamed from this...
44519 (grub_vbe_bios_get_memory_window): ... to this.
44520 (grub_vbe_set_scanline_length): Renamed from this...
44521 (grub_vbe_set_scanline_length): ... to this.
44522 (grub_vbe_get_scanline_length): Renamed from this...
44523 (grub_vbe_bios_get_scanline_length): ... to this.
44524 (grub_vbe_set_display_start): Renamed from this...
44525 (grub_vbe_bios_set_display_start): ... to this.
44526 (grub_vbe_get_display_start): Renamed from this...
44527 (grub_vbe_bios_get_display_start): ... to this.
44528 (grub_vbe_set_palette_data): Renamed from this...
44529 (grub_vbe_bios_set_palette_data): ... to this.
44530 (grub_vbe_set_pixel_rgb): Removed.
44531 (grub_vbe_set_pixel_index): Likewise.
44532
44533 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
44534 from this...
44535 (grub_vbe_bios_get_controller_info): ... to this.
44536 (grub_vbe_get_mode_info): Renamed from this...
44537 (grub_vbe_bios_get_mode_info): ... to this.
44538 (grub_vbe_set_mode): Renamed from this...
44539 (grub_vbe_bios_set_mode): ... to this.
44540 (grub_vbe_get_mode): Renamed from this...
44541 (grub_vbe_bios_get_mode): ... to this.
44542 (grub_vbe_set_memory_window): Renamed from this...
44543 (grub_vbe_bios_set_memory_window): ... to this.
44544 (grub_vbe_get_memory_window): Renamed from this...
44545 (grub_vbe_bios_get_memory_window): ... to this.
44546 (grub_vbe_set_scanline_length): Renamed from this...
44547 (grub_vbe_set_scanline_length): ... to this.
44548 (grub_vbe_get_scanline_length): Renamed from this...
44549 (grub_vbe_bios_get_scanline_length): ... to this.
44550 (grub_vbe_set_display_start): Renamed from this...
44551 (grub_vbe_bios_set_display_start): ... to this.
44552 (grub_vbe_get_display_start): Renamed from this...
44553 (grub_vbe_bios_get_display_start): ... to this.
44554 (grub_vbe_set_palette_data): Renamed from this...
44555 (grub_vbe_bios_set_palette_data): ... to this.
44556 (grub_vbe_bios_get_controller_info): Fixed problem with registers
44557 getting corrupted after calling it. Added more pushes and pops.
44558 (grub_vbe_bios_set_mode): Likewise.
44559 (grub_vbe_bios_get_mode): Likewise.
44560 (grub_vbe_bios_get_memory_window): Likewise.
44561 (grub_vbe_bios_set_scanline_length): Likewise.
44562 (grub_vbe_bios_get_scanline_length): Likewise.
44563 (grub_vbe_bios_get_display_start): Likewise.
44564 (grub_vbe_bios_set_palette_data): Likewise.
44565
44566 * normal/cmdline.c (cl_set_pos): Refresh the screen.
44567 (cl_insert): Likewise.
44568 (cl_delete): Likewise.
44569
44570 * term/gfxterm.c: New file.
44571
44572 * term/i386/pc/vesafb.c: Removed file.
44573
44574 * video/video.c: New file.
44575
44576 * video/i386/pc/vbe.c (real2pm): Added new function.
44577 (grub_video_vbe_draw_pixel): Likewise.
44578 (grub_video_vbe_get_video_ptr): Likewise.
44579 (grub_video_vbe_get_pixel): Likewise
44580 (grub_video_vbe_init): Likewise.
44581 (grub_video_vbe_fini): Likewise.
44582 (grub_video_vbe_setup): Likewise.
44583 (grub_video_vbe_get_info): Likewise.
44584 (grub_video_vbe_set_palette): Likewise.
44585 (grub_video_vbe_get_palette): Likewise.
44586 (grub_video_vbe_set_viewport): Likewise.
44587 (grub_video_vbe_get_viewport): Likewise.
44588 (grub_video_vbe_map_color): Likewise.
44589 (grub_video_vbe_map_rgb): Likewise.
44590 (grub_video_vbe_map_rgba): Likewise.
44591 (grub_video_vbe_unmap_color): Likewise.
44592 (grub_video_vbe_fill_rect): Likewise.
44593 (grub_video_vbe_blit_glyph): Likewise.
44594 (grub_video_vbe_blit_bitmap): Likewise.
44595 (grub_video_vbe_blit_render_target): Likewise.
44596 (grub_video_vbe_scroll): Likewise.
44597 (grub_video_vbe_swap_buffers): Likewise.
44598 (grub_video_vbe_create_render_target): Likewise.
44599 (grub_video_vbe_delete_render_target): Likewise.
44600 (grub_video_vbe_set_active_render_target): Likewise.
44601 (grub_vbe_set_pixel_rgb): Remove function.
44602 (grub_vbe_set_pixel_index): Likewise.
44603 (index_color_mode): Remove static variable.
44604 (active_mode): Likewise.
44605 (framebuffer): Likewise.
44606 (bytes_per_scan_line): Likewise.
44607 (grub_video_vbe_adapter): Added new static variable.
44608 (framebuffer): Likewise.
44609 (render_target): Likewise.
44610 (initial_mode): Likewise.
44611 (mode_in_use): Likewise.
44612 (mode_list): Likewise.
44613
446142006-03-10 Marco Gerards <marco@gnu.org>
44615
44616 * configure.ac (AC_INIT): Bumped to 1.93.
44617
44618 * DISTLIST: Added `include/grub/hfs.h'.
44619
446202006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
44621
44622 * boot/i386/pc/boot.S (general_error): Before looping, try INT
44623 18H, which might help the BIOS falling back to next boot media.
44624
446252006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
44626
44627 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
44628 Poe Chen <poe.poechen@gmail.com>.
44629
446302006-01-17 Marco Gerards <marco@gnu.org>
44631
44632 * include/grub/normal.h: Include <grub/script.h>.
44633 (grub_command_list): Removed struct.
44634 (grub_command_list_t): Removed type.
44635 (grub_menu_entry): Remove members `num' and `command_list'. Add
44636 members `commands' and `sourcecode'.
44637 * include/grub/script.h: Add inclusion guards.
44638 (grub_script_cmd_menuentry): New struct.
44639 (grub_script_execute_menuentry): New prototype.
44640 (grub_script_lexer_record_start): Likewise.
44641 (grub_script_lexer_record_stop): Likewise.
44642 * normal/execute.c (grub_script_execute_menuentry): New function.
44643 * normal/lexer.c (record, recording, recordpos, recordlen): New
44644 variables.
44645 (grub_script_lexer_record_start): New function.
44646 (grub_script_lexer_record_stop): Likewise.
44647 (recordchar): Likewise.
44648 (nextchar): Likewise.
44649 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
44650 2048 as the buffer size. Add the tokens `menuentry' and `@'.
44651 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
44652 (current_menu): New variable.
44653 (free_menu): Mainly rewritten.
44654 (grub_normal_menu_addentry): New function.
44655 (read_config_file): Rewritten.
44656 * normal/menu.c (run_menu_entry): Mainly rewritten.
44657 * normal/menu_entry.c (make_screen): Rewritten the code to insert
44658 the menu entry.
44659 (run): Mainly rewritten.
44660 * normal/parser.y (menu_entry): New variable.
44661 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
44662 (menuentry): New rule.
44663 (command): Add `menuentry'.
44664 (if_statement): Allow additional returns before `fi'.
44665 * normal/script.c (grub_script_create_cmdmenu): New function.
44666
446672006-01-03 Marco Gerards <marco@gnu.org>
44668
44669 * INSTALL: GNU Bison is required.
44670 * configure.ac: Rewritten the test to detect Bison.
44671 * Makefile.in (YACC): New variable. Reported by Xun Sun
44672 <xun.sun.cn@gmail.com>.
44673
446742006-01-03 Marco Gerards <marco@gnu.org>
44675
44676 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
44677 the HFS+ filesystem to filesystem blocks.
44678 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
44679 GCC warning is silenced.
44680
446812006-01-03 Marco Gerards <marco@gnu.org>
44682
44683 * partmap/apple.c (apple_partition_map_iterate): Convert the data
44684 read from disk from big endian to host byte order.
44685
446862006-01-03 Hollis Blanchard <hollis@penguinppc.org>
44687
44688 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
44689 documentation.
44690 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
44691 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
44692 embedded HFS+ filesystem.
44693 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
44694 (grub_hfs_sblock): Move from here...
44695 * include/grub/hfs.h: To here... New file.
44696 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
44697 documentation.
44698 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
44699 New macros.
44700 (grub_hfsplus_volheader): Change type of member `magic' to
44701 `grub_uint16_t'.
44702 (grub_hfsplus_data): Add new member `embedded_offset'.
44703 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
44704 returned block.
44705 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
44706 Calculate the offset.
44707
447082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44709
44710 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
44711 Removed.
44712 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
44713
447142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44715
44716 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
44717 ENV->NAME is NULL after allocating ENV->VALUE.
44718
447192005-12-25 Marco Gerards <marco@gnu.org>
44720
44721 * kern/env.c (grub_env_set): Rewritten the error handling code.
44722
447232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44724
44725 * geninit.sh: Made more robust, and more portable.
44726
447272005-12-25 Marco Gerards <marco@gnu.org>
44728
44729 Add support for Apple HFS+ filesystems.
44730
44731 * fs/hfsplus.c: New file.
44732
44733 * DISTLIST: Added `fs/hfsplus.c'.
44734
44735 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
44736 (hfsplus_mod_SOURCES): New variable.
44737 (hfsplus_mod_CFLAGS): Likewise.
44738 (hfsplus_mod_LDFLAGS): Likewise.
44739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
44740 (grub_setup_SOURCES): Likewise.
44741 (grub_mkdevicemap_SOURCES): Likewise.
44742 (grub_emu_SOURCES): Likewise.
44743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44744
44745 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
44746
44747 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
44748
447492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44750
44751 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
44752 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
44753 include/grub/parser.h, include/grub/script.h, kern/parser.c,
44754 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
44755 normal/lexer.c, normal/parser.y, normal/script.c, and
44756 partmap/gpt.c.
44757 Removed kern/sparc64/cache.c.
44758
44759 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
44760 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
44761 grub_emu_init.c.
44762
44763 * configure.ac (AC_INIT): Bumped to 1.92.
44764
447652005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
44766
44767 * kern/err.c (grub_error_push): Added new function to support error
44768 stacks.
44769 (grub_error_pop): Likewise.
44770 (grub_error_stack_items): New local variable to support error stacks.
44771 (grub_error_stack_pos): Likewise.
44772 (grub_error_stack_assert): Likewise.
44773 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
44774 stack depth.
44775 (grub_print_error): Added support to print errors from error stack.
44776
44777 * include/grub/err.h (grub_error_push): Added function prototype.
44778 (grub_error_pop): Likewise.
44779
447802005-12-09 Hollis Blanchard <hollis@penguinppc.org>
44781
44782 * configure.ac: Accept `powerpc64' as host_cpu.
44783 (amd64): Rename to `biarch32'.
44784
44785 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
44786 non-cacheline-aligned addresses.
44787
44788 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
44789 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
44790 if `size' is non-zero.
44791
447922005-12-03 Marco Gerards <mgerards@xs4all.nl>
44793
44794 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
44795 and `cd' to make sure the filename is not prefixed with a
44796 directory name.
44797 (pkgdata_MODULES): Add `gpt.mod'.
44798 (gpt_mod_SOURCES): New variable.
44799 (gpt_mod_CFLAGS): Likewise.
44800 (gpt_mod_LDFLAGS): Likewise.
44801
44802 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
44803
44804 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
44805 New macro.
44806
44807 * partmap/gpt.c: New file.
44808
44809 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
44810 GPT partition map is detected.
44811
448122005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
44813
44814 * commands/i386/pc/play.c: New file.
44815 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
44816 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
44817 macros.
44818
448192005-11-27 Marco Gerards <mgerards@xs4all.nl>
44820
44821 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
44822 ((unused))' to silence gcc warning.
44823
448242005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44825
44826 * configure.ac: Correct `AC_PROG_YACC' test.
44827
448282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44829
44830 * util/powerpc/ieee1275/grub-install.in: Run the mount point
44831 check before installing files.
44832
448332005-11-22 Mike Small <smallm@panix.com>
44834
44835 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
44836 number regex so multidigit numbers are recognized correctly.
44837
448382005-11-22 Mike Small <smallm@panix.com>
44839
44840 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
44841 debugging message before attempting to claim memory.
44842 (grub_rescue_cmd_initrd): Add a claim debugging message and try
44843 multiple addresses in case of failure.
44844
448452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44846
44847 * term/tparm.c (get_space): Remove empty `if' statement.
44848
44849 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
44850
44851 * kern/parser.c (check_varstate): Rename `state' to 's'.
44852
448532005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44854
44855 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
44856 variable definitions to the beginning of each function. Sort stack
44857 variables by size.
44858 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
44859 `buf' argument to `char *'.
44860
448612005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44862
44863 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
44864 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
44865 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
44866 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44867 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44868 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44869 configfile.mod, search.mod, gzio.mod and test.mod.
44870 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44871 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44872 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44873 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44874 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44875 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44876 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44877 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44878 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44879 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44880 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44881 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44882 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44883 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44884 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44885 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44886 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44887 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44888 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44889 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44890 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44891 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44892 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44893
44894 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44895 `grep --include'.
44896 (pkgdata_MODULES): Add test.mod.
44897
448982005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44899
44900 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44901 appending to variables with "+=".
44902 (PModule): Use full pathname to generate *.lst filenames.
44903
44904 * Makefile.in: Fixed list rules moved from genmk.rb.
44905 (.DELETE_ON_ERROR): New special target.
44906 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44907
44908 * conf/i386-pc.rmk: Include conf/common.mk.
44909 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
44910 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
44911 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44912 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44913 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44914 configfile.mod, search.mod, gzio.mod and test.mod.
44915 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44916 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44917 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44918 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44919 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44920 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44921 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44922 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44923 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44924 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44925 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44926 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44927 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44928 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44929 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44930 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44931 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44932 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44933 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44934 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44935 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44936 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44937 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44938 here...
44939 * conf/common.rmk: ... to here. New file.
44940
44941 * conf/common.mk: New file.
44942
449432005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44944
44945 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44946 (grub_script.tab.c): ... here.
44947
44948 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44949 (grub_script.tab.c): ... here.
44950
44951 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44952 (grub_script.tab.c): ... here.
44953
44954 * normal/command.c (grub_command_find): Fixed a memory leak of
44955 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44956
449572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44958
44959 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44960 "@" which marks the start of a comment on ARM.
44961 (VARIABLE): Likewise.
44962
449632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44964
44965 Add support for Linux/ADFS partition tables.
44966
44967 * partmap/acorn.c: New file.
44968
44969 * include/grub/acorn_filecore.h: Likewise.
44970
44971 * DISTLIST: Added `partmap/acorn.c' and
44972 `include/grub/acorn_filecore.h'.
44973
44974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44975 `partmap/acorn.c'.
44976 (pkgdata_MODULES): Add `acorn.mod'.
44977 (acorn_mod_SOURCES): New variable.
44978 (acorn_mod_CFLAGS): Likewise.
44979
44980 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44981 `partmap/acorn.c'.
44982 (pkgdata_MODULES): Add `acorn.mod'.
44983 (acorn_mod_SOURCES): New variable.
44984 (acorn_mod_CFLAGS): Likewise.
44985
44986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44987 (pkgdata_MODULES): Add `acorn.mod'.
44988 (acorn_mod_SOURCES): New variable.
44989 (acorn_mod_CFLAGS): Likewise.
44990 (acorn_mod_LDFLAGS): Likewise.
44991
44992 * include/types.h (grub_disk_addr_t): New typedef.
44993
449942005-11-13 Marco Gerards <mgerards@xs4all.nl>
44995
44996 * geninit.sh: New file.
44997
44998 * geninitheader.sh: Likewise.
44999
45000 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45001 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45002 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45003 * commands/configfile.c (grub_configfile_init)
45004 (grub_configfile_fini): Likewise.
45005 * commands/default.c (grub_default_init, grub_default_fini):
45006 Likewise.
45007 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45008 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45009 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45010 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45011 Likewise.
45012 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45013 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45014 Likewise.
45015 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
45016 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
45017 Likewise.
45018 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45019 Likewise.
45020 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
45021 Likewise.
45022 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45023 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45024 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45025 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45026 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45027 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45028 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45029 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45030 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45031 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45032 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45033 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45034 * partmap/amiga.c (grub_amiga_partition_map_init)
45035 (grub_amiga_partition_map_fini): Likewise.
45036 * partmap/apple.c (grub_apple_partition_map_init)
45037 (grub_apple_partition_map_fini): Likewise.
45038 * partmap/pc.c (grub_pc_partition_map_init)
45039 (grub_pc_partition_map_fini): Likewise.
45040 * partmap/sun.c (grub_sun_partition_map_init,
45041 grub_sun_partition_map_fini): Likewise.
45042 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45043 Likewise.
45044
45045 * util/grub-emu.c: Include <grub_modules_init.h>.
45046 (main): Don't initialize and de-initialize any modules directly,
45047 use `grub_init_all' and `grub_fini_all' instead.
45048
45049 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45050 `grub_vesafb_mod_init'.
45051 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45052 all users.
45053 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45054 `grub_vga_mod_init'. Updated all users.
45055 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
45056
45057 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45058 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45059 rules.
45060
45061 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45062 Generate a function to initialize the module in utilities.
45063 Updated all callers.
45064 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45065 initialize the module in utilities. Updated all callers.
45066
450672005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45068
45069 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45070 escape sequence and a literal ^L to clear the screen.
45071
45072 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45073 when returning from Open Firmware.
45074
450752005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45076
45077 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45078 (grub_ofconsole_height): Likewise.
45079 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45080 manually insert a '\n'.
45081 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45082 `grub_ofconsole_height'. Return early if these are already set.
45083
450842005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45085
45086 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45087 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45088 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45089 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45090 and `normal/script.c'.
45091 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45092 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45093 (test_mod_SOURCES): New variable.
45094 (test_mod_CFLAGS): Likewise.
45095 (test_mod_LDFLAGS): Likewise.
45096 (pkgdata_MODULES): Add `test.mod'.
45097 (grub_script.tab.c): New rule.
45098 (grub_script.tab.h): Likewise.
45099
451002005-11-07 Marco Gerards <mgerards@xs4all.nl>
45101
45102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45103 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45104 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45105 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45106 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45107 (test_mod_SOURCES): New variable.
45108 (test_mod_CFLAGS): Likewise.
45109 (pkgdata_MODULES): Add `test.mod'.
45110 (grub_script.tab.c): New rule.
45111 (grub_script.tab.h): Likewise.
45112
451132005-11-06 Marco Gerards <mgerards@xs4all.nl>
45114
45115 Add initial scripting support.
45116
45117 * commands/test.c: New file.
45118 * include/grub/script.h: Likewise.
45119 * normal/execute.c: Likewise.
45120 * normal/function.c: Likewise.
45121 * normal/lexer.c: Likewise.
45122 * normal/parser.y: Likewise.
45123 * normal/script.c: Likewise.
45124
45125 * configure.ac: Add `AC_PROG_YACC' test.
45126
45127 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45128 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45129 `normal/function.c' and `normal/script.c'.
45130 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45131 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45132 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45133 variables.
45134 (pkgdata_MODULES): Add `test.mod'.
45135 (grub_script.tab.c): New rule.
45136 (grub_script.tab.h): Likewise.
45137
45138 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45139
45140 * include/grub/normal.h (grub_test_init): New prototype.
45141 (grub_test_fini): Likewise.
45142
45143 * normal/command.c: Include <grub/script.h>.
45144 (grub_command_execute): Rewritten.
45145
45146 * util/grub-emu.c (main): Call `grub_test_init' and
45147 `grub_test_fini'.
45148
451492005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45150
45151 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
45152 to 0.
45153 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
45154 there are no pending characters.
45155
451562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45157
45158 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
45159 `grub_strndup' to drop device arguments. Replace unnecessary
45160 `grub_strndup' with `grub_strdup'.
45161
451622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45163
45164 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
45165 `debug' environment variable has been set.
45166
451672005-11-02 Hollis Blanchard <hollis@penguinppc.org>
45168
45169 * Makefile.in (install-local): Use $(DATA).
45170 (uninstall): Likewise.
45171 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
45172 (sbin_UTILITIES): ... to here.
45173 (sbin_SCRIPTS): New variable.
45174 (grub_install_SOURCES): New variable.
45175 * util/powerpc/ieee1275/grub-install.in: New file.
45176 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45177 variable.
45178 (add_segments): Call `grub_util_get_path'.
45179
451802005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45181
45182 From Timothy Baldwin:
45183 * commands/ls.c (grub_ls_list_files): Close FILE with
45184 grub_file_close.
45185 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45186
451872005-10-24 Marco Gerards <mgerards@xs4all.nl>
45188
45189 * include/grub/parser.h: New file.
45190
45191 * kern/parser.c: Likewise.
45192
45193 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45194 (grub_setup_SOURCES): Likewise.
45195 (grub_probefs_SOURCES): Likewise.
45196 (grub_emu_SOURCES): Likewise.
45197 (kernel_img_HEADERS): Add `parser.h'.
45198
45199 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45200 (grub_emu_SOURCES): Add `kern/parser.c'.
45201 (grubof_SOURCES): Likewise.
45202
45203 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45204 (grubof_SOURCES): Add `kern/parser.c'.
45205
45206 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45207
45208 * kern/misc.c (grub_split_cmdline): Removed function.
45209
45210 * kern/rescue.c: Include <grub/parser.h>.
45211 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45212 of `grub_split_cmdline'.
45213
45214 * normal/command.c: Include <grub/parser.h>.
45215 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45216 of `grub_split_cmdline'.
45217
45218 * normal/completion.c: Include <grub/parser.h>.
45219 (cmdline_state): New variable.
45220 (iterate_dir): End the filename with a quote depending on the
45221 command line state.
45222 (get_state): new function.
45223 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45224 split the arguments and determine the current argument. When the
45225 argument string is not quoted, escape all spaces.
45226
452272005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45228
45229 * normal/sparc64/setjmp.S: New file.
45230
452312005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45232
45233 * include/grub/sparc64/libgcc.h: New file.
45234 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45235 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45236 normal/sparc64/setjmp.c.
45237
452382005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45239
45240 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
45241 * kern/sparc64/cache.S: New file.
45242 * kern/sparc64/cache.c: Removed.
45243 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
45244 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
45245 -mtune=ultrasparc.
45246 (COMMON_LDFLAGS): Add -melf64_sparc.
45247 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
45248 (grubof_SOURCES): Use cache.S instead of cache.c.
45249 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
45250 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
45251 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
45252 commented though.
45253 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
45254 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
45255 (linux_mod_CFLAGS): Commented out.
45256 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
45257 out because module isn't built.
45258 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
45259 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
45260 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
45261 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
45262 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
45263 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45264 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45265 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
45266 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
45267 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
45268 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45269 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45270 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
45271 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
45272
452732005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
45274
45275 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
45276 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
45277 longer, because HFS should not be used on PC.
45278
452792005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45280
45281 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
45282 consistently within the loop.
45283
452842005-10-15 Marco Gerards <mgerards@xs4all.nl>
45285
45286 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
45287 directory can not be read.
45288
452892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45290
45291 * configure.ac (AC_INIT): Increase the version number to 1.91.
45292
45293 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
45294 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
45295 term/i386/pc/serial.c.
45296
452972005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45298
45299 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
45300 file size must be permitted.
45301
45302 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
45303 between %ah and %al.
45304
453052005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45306
45307 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
45308 grub_uint64_t.
45309 Call the hook with a NUL-terminated filename.
45310 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
45311 grub_cpu_to_be32.
45312
45313 * kern/term.c (cursor_state): New variable.
45314 (grub_term_set_current): Reset the cursor state on a new
45315 terminal.
45316 (grub_setcursor): Rewritten to use CURSOR_STATE.
45317 (grub_getcursor): New function.
45318
45319 * include/grub/term.h (grub_getcursor): New prototype.
45320
45321 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
45322 integers on ARM. Reported by Timothy Baldwin
45323 <T.E.Baldwin99@members.leeds.ac.uk>.
45324
453252005-10-11 Marco Gerards <mgerards@xs4all.nl>
45326
45327 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
45328 allocated.
45329 (grub_sfs_dir): Likewise.
45330
453312005-10-09 Marco Gerards <mgerards@xs4all.nl>
45332
45333 Add support for the SFS filesystem.
45334
45335 * fs/sfs.c: New file.
45336
45337 * DISTLIST: Added `fs/sfs.c'.
45338
45339 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
45340 (grub_probefs_SOURCES): Likewise.
45341 (grub_emu_SOURCES): Likewise.
45342 (pkgdata_MODULES): Add `sfs.mod'.
45343 (sfs_mod_SOURCES): New variable.
45344 (sfs_mod_CFLAGS): Likewise.
45345 (sfs_mod_LDFLAGS): Likewise.
45346
45347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45348 (pkgdata_MODULES): Add `sfs.mod'.
45349 (sfs_mod_SOURCES): New variable.
45350 (sfs_mod_CFLAGS): Likewise.
45351
45352 * util/grub-emu.c (main): Call `grub_sfs_init' and
45353 `grub_sfs_fini'.
45354
45355 * include/grub/fs.h (grub_sfs_init): New prototype.
45356 (grub_sfs_fini): Likewise.
45357
453582005-10-07 Marco Gerards <mgerards@xs4all.nl>
45359
45360 Add support for the AFFS filesystem.
45361
45362 * fs/affs.c: New file.
45363
45364 * DISTLIST: Added `fs/affs.c'.
45365
45366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45367 (grub_probefs_SOURCES): Likewise.
45368 (grub_emu_SOURCES): Likewise.
45369 (pkgdata_MODULES): Add `affs.mod'.
45370 (affs_mod_SOURCES): New variable.
45371 (affs_mod_CFLAGS): Likewise.
45372 (affs_mod_LDFLAGS): Likewise.
45373
45374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45375 (pkgdata_MODULES): Add `affs.mod'.
45376 (affs_mod_SOURCES): New variable.
45377 (affs_mod_CFLAGS): Likewise.
45378
45379 * util/grub-emu.c (main): Call `grub_affs_init' and
45380 `grub_affs_fini'.
45381
45382 * include/grub/fs.h (grub_affs_init): New prototype.
45383 (grub_affs_fini): Likewise.
45384
453852005-10-01 Marco Gerards <mgerards@xs4all.nl>
45386
45387 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45388
453892005-10-01 Marco Gerards <mgerards@xs4all.nl>
45390
45391 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45392 `-m32' to CFLAGS.
45393
45394 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45395 linking.
45396
45397 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45398 (COMMON_LDFLAGS): New variable.
45399 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45400 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45401 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45402 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45403 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45404 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45405 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45406 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45407 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45408 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45409 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45410 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45411 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45412 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45413 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45414 variables.
45415 (normal_mod_ASFLAGS): Add `-m32'.
45416
45417 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45418 (grub_host_size_t, grub_host_ssize_t): New types.
45419 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
45420 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
45421 `GRUB_HOST_SIZEOF_VOID_P'.
45422
45423 * include/grub/kernel.h (struct grub_module_header): Type of
45424 member offset changed to `grub_host_off_t'. Type of member size
45425 changed to `grub_host_size_t'.
45426 (struct grub_module_info): Type of member offset changed to
45427 `grub_host_off_t'. Type of member size changed to
45428 `grub_host_size_t'.
45429
454302005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45431
45432 Make GRUB's kernel compliant to Multiboot Specification.
45433
45434 * kern/i386/pc/startup.S (multiboot_header): New label.
45435 (multiboot_entry): Likewise.
45436 (multiboot_trampoline): Likewise.
45437
45438 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45439 Increased to 0x4A0.
45440
45441 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45442 put parentheses after a question mark.
45443 [!GRUB_UTIL] (my_mod): New variable.
45444
45445 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45446
454472005-09-28 Marco Gerards <mgerards@xs4all.nl>
45448
45449 Adds support for the XFS filesystem. Btrees are not supported
45450 yet.
45451
45452 * fs/xfs.c: New file.
45453
45454 * DISTLIST: Added `fs/xfs.c'.
45455
45456 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45457 (grub_probefs_SOURCES): Likewise.
45458 (grub_emu_SOURCES): Likewise.
45459 (pkgdata_MODULES): Add `xfs.mod'.
45460 (xfs_mod_SOURCES): New variable.
45461 (xfs_mod_CFLAGS): Likewise.
45462
45463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45464 (pkgdata_MODULES): Add `xfs.mod'.
45465 (xfs_mod_SOURCES): New variable.
45466 (xfs_mod_CFLAGS): Likewise.
45467
45468 * util/grub-emu.c (main): Call `grub_xfs_init' and
45469 `grub_xfs_fini'.
45470
45471 * include/grub/fs.h (grub_xfs_init): New prototype.
45472 (grub_xfs_fini): Likewise.
45473
45474
454752005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45476
45477 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45478 color modes, allow greater than 16 colors to be configured as
45479 a default palette.
45480
454812005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45482
45483 * normal/completion.c (complete_arguments): Add the qualifier
45484 const into OPTIONS.
45485
45486 From Omniflux <omniflux+lists@omniflux.com>:
45487 * include/grub/terminfo.h: New file.
45488 * include/grub/tparm.h: Likewise.
45489 * include/grub/i386/pc/serial.h: Likewise.
45490 * term/terminfo.c: Likewise.
45491 * term/tparm.c: Likewise.
45492 * term/i386/pc/serial.c: Likewise.
45493 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45494 serial.mod.
45495 (terminfo_mod_SOURCES): New variable.
45496 (terminfo_mod_CFLAGS): Likewise.
45497 (serial_mod_SOURCES): Likewise.
45498 (serial_mod_CFLAGS): Likewise.
45499
455002005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45501
45502 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45503 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45504 and kern/powerpc/ieee1275/cmain.c, respectively.
45505
45506 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45507 * kern/powerpc/ieee1275/crt0.S: ... here.
45508
45509 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45510 * kern/powerpc/ieee1275/cmain.c: ... here.
45511
45512 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45513 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45514 instead of boot/powerpc/ieee1275/crt0.S and
45515 boot/powerpc/ieee1275/cmain.c, respectively.
45516
45517 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45518 sectors. It was not used anyway.
45519
455202005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45521
45522 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45523 `unused parameter' warning.
45524
455252005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45526
45527 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
45528 function.
45529 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
45530 getcharwidth.
45531
455322005-08-28 Marco Gerards <metgerards@student.han.nl>
45533
45534 * include/grub/normal.h (enum grub_completion_type): Added
45535 `GRUB_COMPLETION_TYPE_ARGUMENT'.
45536
45537 * normal/cmdline.c (print_completion): Handle
45538 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
45539 * normal/menu_entry.c (store_completion): Likewise.
45540
45541 * normal/completion.c (complete_arguments): New function.
45542 (grub_normal_do_completion): Call `complete_arguments' when the
45543 current words start with a dash.
45544
455452005-08-27 Marco Gerards <metgerards@student.han.nl>
45546
45547 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
45548 `gzio.mod' instead of `io.mod').
45549
455502005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
45551
45552 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
45553 (DISTDIRS): Added io and video.
45554 Rewrite the search routine to make an output consistently.
45555
45556 * DISTLIST: Added conf/sparc64-ieee1275.mk,
45557 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
45558 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
45559 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
45560 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
45561 util/powerpc/ieee1275/misc.c.
45562
45563 * include/grub/gzio.h: New file.
45564 * io/gzio.c: Likewise.
45565
45566 * kern/file.c (grub_file_close): Call grub_device_close only if
45567 FILE->DEVICE is not NULL.
45568
45569 * include/grub/mm.h [!NULL] (NULL): New macro.
45570
45571 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
45572
45573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
45574 (pkgdata_MODULES): Added gzio.mod.
45575 (gzio_mod_SOURCES): New variable.
45576 (gzio_mod_CFLAGS): Likewise.
45577
45578 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
45579 (pkgdata_MODULES): Added gzio.mod.
45580 (gzio_mod_SOURCES): New variable.
45581 (gzio_mod_CFLAGS): Likewise.
45582
45583 * commands/cat.c: Include grub/gzio.h.
45584 (grub_cmd_cat): Use grub_gzfile_open instead of
45585 grub_file_open.
45586
45587 * commands/cmp.c: Include grub/gzio.h.
45588 (grub_cmd_cmp): Use grub_gzfile_open instead of
45589 grub_file_open.
45590
45591 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
45592 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
45593 grub_file_open.
45594 (grub_rescue_cmd_module): Likewise.
45595
455962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45597
45598 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
45599 kern/sparc64/ieee1275/init.c because it contains _start.
45600 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
45601
456022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45603
45604 * configure.ac: Add support for sparc64 host with ieee1275
45605 firmware.
45606 * configure: Generated from configure.ac.
45607 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
45608 instead of int.
45609 (grub_ofdisk_read): Likewise.
45610 (grub_ofdisk_open): Use %p to print pointer values, and cast the
45611 pointers as (void *) to remove a warning.
45612 (grub_ofdisk_close): Likewise.
45613 (grub_ofdisk_read): Likewise.
45614 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
45615 returns, so make it return void to remove a warning.
45616 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
45617 Corresponding prototype change.
45618 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
45619 values, and cast the pointers as (void *) to remove a warning.
45620 (grub_mm_dump): Likewise.
45621 * conf/sparc64-ieee1275.mk: New file.
45622 * conf/sparc64-ieee1275.rmk: Likewise.
45623 * include/grub/sparc64/setjmp.h: Likewise.
45624 * include/grub/sparc64/types.h: Likewise.
45625 * include/grub/sparc64/ieee1275/console.h: Likewise.
45626 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45627 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45628 * include/grub/sparc64/ieee1275/time.h: Likewise.
45629 * kern/sparc64/cache.c: Likewise.
45630 * kern/sparc64/dl.c: Likewise.
45631 * kern/sparc64/ieee1275/init.c: Likewise.
45632 * kern/sparc64/ieee1275/openfw.c: Likewise.
45633
456342005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45635
45636 * util/console.c (grub_ncurses_putchar): If C is greater than
45637 0x7f, set C to a question mark.
45638 (grub_ncurses_getcharwidth): New function.
45639 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
45640 getcharwidth.
45641
45642 * normal/menu.c (print_entry): Made aware of Unicode. First,
45643 convert TITLE to UCS-4, and predict the cursor position by
45644 grub_getcharwidth.
45645
45646 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
45647 const to SRC.
45648 * kern/misc.c (grub_utf16_to_utf8): Likewise.
45649
456502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45651
45652 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
45653 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45654 grub_strcat.
45655
45656 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
45657 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45658 grub_strcpy and grub_strlen. Take it into account that a space
45659 character is inserted as a delimiter.
45660
456612005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45662
45663 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
45664 invalid magic in the error.
45665
45666 * commands/search.c: New file.
45667
45668 * util/grub-emu.c (main): Call grub_search_init and
45669 grub_search_fini.
45670
45671 * kern/rescue.c (grub_rescue_print_disks): Removed.
45672 (grub_rescue_print_devices): New function.
45673 (grub_rescue_cmd_ls): Use grub_device_iterate with
45674 grub_rescue_print_devices instead of grub_disk_dev_iterate with
45675 grub_rescue_print_disks.
45676
45677 * kern/partition.c (grub_partition_iterate): Return the result of
45678 PARTMAP->ITERATE instead of GRUB_ERRNO.
45679
45680 * kern/device.c: Include grub/partition.h.
45681 (grub_device_iterate): New function.
45682
45683 * include/grub/partition.h (grub_partition_iterate): Return int
45684 instead of grub_err_t.
45685
45686 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
45687 prototype.
45688 [GRUB_UTIL] (grub_search_fini): Likewise.
45689
45690 * include/grub/device.h (grub_device_iterate): New prototype.
45691
45692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45693 commands/search.c.
45694 (pkgdata_MODULES): Added search.mod.
45695 (search_mod_SOURCES): New variable.
45696 (search_mod_CFLAGS): Likewise.
45697
45698 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
45699 (pkgdata_MODULES): Added search.mod.
45700 (search_mod_SOURCES): New variable.
45701 (search_mod_CFLAGS): Likewise.
45702
45703 * commands/ls.c (grub_ls_list_disks): Renamed to ...
45704 (grub_ls_list_devices): ... this, and use grub_device_iterate.
45705 All callers changed.
45706
45707 * DISTLIST: Added commands/search.c.
45708
457092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45710
45711 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
45712 conversion.
45713 (grub_getcharwidth): New function.
45714
45715 * kern/misc.c (grub_utf8_to_ucs4): New function.
45716
45717 * include/grub/term.h (struct grub_term): Added a new member
45718 "getcharwidth".
45719 (grub_getcharwidth): New prototype.
45720
45721 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
45722
45723 * term/i386/pc/console.c (map_char): New function. Segregated from
45724 grub_console_putchar.
45725 (grub_console_putchar): Use map_char.
45726 (grub_console_getcharwidth): New function.
45727 (grub_console_term): Specified grub_console_getcharwidth as
45728 getcharwidth.
45729
45730 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
45731 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
45732
45733 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
45734 GRUB_ERRNO.
45735 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
45736 on grub_strtoul completely.
45737 (write_char): Declare local variables in the beginning of the
45738 function.
45739 (grub_vesafb_getcharwidth): New function.
45740 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
45741 getcharwidth.
45742
457432005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
45744
45745 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
45746 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
45747 commands/i386/pc/vbetest.c.
45748
45749 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
45750 call grub_vbe_get_controller_info again, because the returned
45751 information is volatile.
45752 (grub_vbe_set_video_mode): Mostly rewritten.
45753 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
45754 grub_vbe_status_t correctly.
45755 (grub_vbe_get_video_mode_info): Likewise.
45756 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
45757 several if statements.
45758
45759 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
45760 * commands/i386/pc/vbeinfo.c: ... this.
45761
45762 * commands/i386/pc/vbe_test.c: Renamed to ...
45763 * commands/i386/pc/vbetest.c: ... this.
45764
45765 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
45766 ...
45767 (grub_cmd_vbeinfo): ... this. Save video modes before
45768 iterating. Skip a video mode, if it is not available, not enough
45769 information is given or it is monochrome. Show the memory
45770 model. Leave the interpretation of MODEVAR to grub_strtoul
45771 completely.
45772 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
45773 (GRUB_MOD_FINI): Likewise.
45774
45775 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
45776 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
45777 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
45778 duplicated grub_env_get. Leave the interpretation of MODEVAR to
45779 grub_strtoul completely.
45780 (real2pm): Removed.
45781 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
45782 (GRUB_MOD_FINI): Likewise.
45783
45784 * normal/misc.c: Include grub/mm.h.
45785
45786 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
45787 vbe_list_modes with vbetest.mod and vbeinfo.mod.
45788 (vbe_list_modes_mod_SOURCES): Removed.
45789 (vbe_list_modes_mod_CFLAGS): Likewise.
45790 (vbe_test_mod_SOURCES): Likewise.
45791 (vbe_test_mod_CFLAGS): Likewise.
45792 (vbeinfo_mod_SOURCES): New variable.
45793 (vbeinfo_mod_CFLAGS): Likewise.
45794 (vbetest_mod_SOURCES): Likewise.
45795 (vbetest_mod_CFLAGS): Likewise.
45796
457972005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45798
45799 * normal/misc.c: New file.
45800
45801 * DISTLIST: Added normal/misc.c.
45802
45803 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
45804 DISK to HOOK. Call HOOK with DISK.
45805 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45806 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45807 * partmap/sun.c (sun_partition_map_iterate): Likewise.
45808
45809 * normal/menu_entry.c (struct screen): Added a new member
45810 "completion_shown".
45811 (completion_buffer): New global variable.
45812 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
45813 (store_completion): New function.
45814 (complete): Likewise.
45815 (clear_completions): Likewise.
45816 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
45817 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
45818 a tab, call complete.
45819
45820 * normal/completion.c (disk_dev): Removed.
45821 (print_simple_completion): Likewise.
45822 (print_partition_completion): Likewise.
45823 (print_func): New global variable.
45824 (add_completion): Do not take the arguments WHAT or PRINT any
45825 longer. Added a new argument TYPE. Instead of printing directly,
45826 call PRINT_FUNC if not NULL.
45827 All callers changed.
45828 (complete_device): Use a local variable DEV instead of
45829 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
45830 (grub_normal_do_completion): Take a new argument HOOK. Do not
45831 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
45832 empty string, return NULL instead.
45833 All callers changed.
45834
45835 * normal/cmdline.c (print_completion): New function.
45836
45837 * kern/partition.c (grub_partition_iterate): Add an argument DISK
45838 to HOOK.
45839 All callers changed.
45840
45841 * kern/disk.c (grub_print_partinfo): Removed.
45842
45843 * include/grub/partition.h (struct grub_partition_map): Add a new
45844 argument DISK into HOOK of ITERATE.
45845 (grub_partition_iterate): Add a new argument DISK to HOOK.
45846
45847 * include/grub/normal.h (enum grub_completion_type): New enum.
45848 (grub_completion_type_t): New type.
45849 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
45850 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
45851 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
45852 (GRUB_COMPLETION_TYPE_FILE): Likewise.
45853 (grub_normal_do_completion): Added a new argument HOOK.
45854 (grub_normal_print_device_info): New prototype.
45855
45856 * include/grub/disk.h (grub_print_partinfo): Removed.
45857
45858 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
45859 (normal_mod_SOURCES): Likewise.
45860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45861 (normal_mod_SOURCES): Likewise.
45862
45863 * commands/ls.c (grub_ls_list_disks): Use
45864 grub_normal_print_device_info instead of grub_print_partinfo. Free
45865 PNAME.
45866 (grub_ls_list_files): Use grub_normal_print_device_info instead of
45867 duplicating the code.
45868
458692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45870
45871 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
45872 follow GCS more precisely.
45873 * commands/i386/pc/vbe_test.c: Likewise.
45874 * include/grub/i386/pc/vbe.h: Likewise.
45875 * term/i386/pc/vesafb.c: Likewise.
45876 * video/i386/pc/vbe.c: Likewise.
45877
458782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45879
45880 * DISTLIST: Added term/i386/pc/vesafb.c
45881 DISTLIST: Added video/i386/pc/vbe.c
45882 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45883 DISTLIST: Added commands/i386/pc/vbe_test.c.
45884 * commands/i386/pc/vbe_list_modes.c: New file.
45885 * commands/i386/pc/vbe_test.c: Likewise.
45886 * term/i386/pc/vesafb.c: Likewise.
45887 * video/i386/pc/vbe.c: Likewise.
45888 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45889 (grub_vbe_probe) Added prototype.
45890 (grub_vbe_set_video_mode) Likewise.
45891 (grub_vbe_get_video_mode) Likewise.
45892 (grub_vbe_get_video_mode_info) Likewise.
45893 (grub_vbe_set_pixel_rgb) Likewise.
45894 (grub_vbe_set_pixel_index) Likewise.
45895 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45896 (pkgdata_MODULES): Added vesafb.mod.
45897 (pkgdata_MODULES): Added vbe_list_modes.mod.
45898 (pkgdata_MODULES): Added vbe_test.mod.
45899 (vbe_mod_SOURCES): Added.
45900 (vbe_mod_CFLAGS): Likewise.
45901 (vesafb_mod_SOURCES): Likewise.
45902 (vesafb_mod_CFLAGS): Likewise.
45903 (vbe_list_modes_mod_SOURCES): Likewise.
45904 (vbe_list_modes_mod_CFLAGS): Likewise.
45905 (vbe_test_mod_SOURCES): Likewise.
45906 (vbe_test_mod_CFLAGS): Likewise.
45907
459082005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45909
45910 * normal/command.c (grub_command_execute): If INTERACTIVE is
45911 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45912 CMDLINE. Disable the pager if INTERACTIVE is true.
45913 All callers are changed.
45914
45915 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45916 before reading a config file.
45917 * normal/main.c (read_config_file): Even if a command is not
45918 found, register it if it is within an entry.
45919
45920 * util/grub-emu.c: Include sys/types.h and unistd.h.
45921 (options): Added --hold.
45922 (struct arguments): Added a new member "hold".
45923 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45924 missing.
45925 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45926 cleared by a debugger, if it is not zero.
45927
45928 * include/grub/normal.h (grub_command_execute): Add an argument
45929 INTERACTIVE.
45930
459312005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45932
45933 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45934
459352005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45936
45937 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45938 program with another one, because the old one didn't detect a bug
45939 in gcc-3.4. Always use regparm 2, because the new test is still
45940 not enough for gcc-4.0. Someone must investigate a simple test
45941 case which detects a bug in gcc-4.0.
45942
459432005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45944
45945 * DISTLIST: Added normal/completion.c.
45946
45947 * normal/completion.c: New file.
45948
45949 * term/i386/pc/console.c (grub_console_getwh): New function.
45950 (grub_console_term): Assign grub_console_getwh to getwh.
45951
45952 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45953 function is defined in normal/completion.c as
45954 grub_normal_do_completion.
45955 (grub_cmdline_get): Use grub_normal_do_completion instead of
45956 grub_tab_complete.
45957
45958 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45959 returns non-zero, otherwise return 0.
45960 (grub_partition_iterate): First, probe the partition map. Then,
45961 call ITERATE only for this partition map.
45962
45963 * kern/misc.c (grub_strncmp): Rewritten.
45964
45965 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45966 returns non-zero. Otherwise return 0.
45967
45968 * include/grub/partition.h (grub_partition_map_iterate): Return
45969 int instead of void.
45970
45971 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45972
45973 * include/grub/misc.h (grub_strncmp): Change the type of N to
45974 grub_size_t.
45975
45976 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45977 of void.
45978
45979 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
45980 unsigned explicitly before comparing it with I.
45981
45982 * kern/main.c (grub_env_write_root): Add the attribute unused into
45983 VAR.
45984
45985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45986 normal/completion.c.
45987 (normal_mod_SOURCES): Likewise.
45988 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45989 (normal_mod_SOURCES): Likewise.
45990
45991 * normal/command.c (grub_iterate_commands): If ITERATE returns
45992 non-zero, return one immediately.
45993
459942005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45995
45996 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45997 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45998 descriptions.
45999 (grub_vbe_get_controller_info): New function.
46000 (grub_vbe_get_mode_info): Likewise.
46001 (grub_vbe_set_mode): Likewise.
46002 (grub_vbe_get_mode): Likewise.
46003 (grub_vbe_set_memory_window): Likewise.
46004 (grub_vbe_get_memory_window): Likewise.
46005 (grub_vbe_set_scanline_length): Likewise.
46006 (grub_vbe_get_scanline_length): Likewise.
46007 (grub_vbe_set_display_start): Likewise.
46008 (grub_vbe_get_display_start): Likewise.
46009 (grub_vbe_set_palette_data): Likewise.
46010 * include/grub/i386/pc/vbe.h: New file.
46011
460122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46013
46014 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46015 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46016 * DISTLIST: Likewise.
46017 * kern/ieee1275/of.c: Moved to ...
46018 * kern/ieee1275/ieee1275.c: ... here.
46019
460202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46021
46022 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46023 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46024 Pass 0 as `end' parameter to grub_strtoul().
46025
460262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46027
46028 * include/grub/powerpc/ieee1275/console.h: Do not include
46029 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46030 ifdef.
46031 (grub_console_cur_color): Remove i386-specific prototype.
46032 (grub_console_real_putchar): Likewise.
46033 (grub_console_checkkey): Likewise.
46034 (grub_console_getkey): Likewise.
46035 (grub_console_getxy): Likewise.
46036 (grub_console_gotoxy): Likewise.
46037 (grub_console_cls): Likewise.
46038 (grub_console_setcursor): Likewise.
46039 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46040 Include <grub/machine/console.h>.
46041 * term/ieee1275/ofconsole.c: Likewise.
46042
460432005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46044
46045 * Makefile.in (LIBLZO): New variable.
46046
46047 * configure.ac: Check for LZO version 2.
46048
46049 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46050 lzo/lzo1x.h instead of lzo1x.h.
46051
46052 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46053 of -llzo.
46054
46055 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46056 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46057
46058 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46059 copying the data from PARTITION to P.
46060
460612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46062
46063 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46064 negative, unload the module.
46065
46066 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46067 map is "pc_partition_map" but not "pc".
46068 (usage): Fix the description. The options are --boot-image and
46069 --core-image but not --boot-file or --core-file.
46070 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46071 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46072 DEFAULT_DIRECTORY.
46073
46074 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46075 --core-file. Specify INSTALL_DEVICE as an argument.
46076
46077 * util/console.c: Include config.h.
46078 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46079 [HAVE_NCURSES_H]: Include ncurses.h.
46080 [HAVE_CURSES_H]: Include curses.h.
46081 [!A_NORMAL] (A_NORMAL): Defined as zero.
46082 [!A_STANDOUT] (A_STANDOUT): Likewise.
46083
46084 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46085 -lncurses.
46086 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46087
46088 * configure.ac: Check for curses libraries and headers.
46089
46090 * Makefile.in (LIBCURSES): New variable.
46091
46092 * genmk.rb (Script::rule): Set the executable bits.
46093
46094 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46095 name of the PC partition map is "pc_partition_map" but not "pc".
46096
460972005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46098
46099 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46100 (modules): Likewise.
46101 (usage): Added descriptions for --modules and --grub-probefs.
46102 Handle --modules and --grub-probefs. Save the arguments in MODULES
46103 and GRUB_PROBEFS, respectively.
46104 Auto-detect a filesystem module against GRUBDIR. If the result is
46105 empty and modules are not specified explicitly, abort the
46106 installation. Add the result to MODULES.
46107
46108 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46109 disk/powerpc/ieee1275/ofdisk.c,
46110 include/grub/powerpc/ieee1275/init.h and
46111 term/powerpc/ieee1275/ofconsole.c.
46112 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46113 term/ieee1275/ofconsole.c.
46114
46115 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46116
46117 * COPYING: Upgraded to the latest version. Only the address of the
46118 FSF office has changed.
46119
461202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46121
46122 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46123 kern/ieee1275.c with kern/ieee1275/of.c.
46124
46125 * kern/ieee1275.c: Moved to ...
46126 * kern/ieee1275/of.c: ... here.
46127
461282005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46129
46130 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
46131 readability.
46132
46133 * config.guess: Updated to the latest version from gnulib.
46134 * config.sub: Likewise.
46135 * install.sh: Likewise.
46136 * mkinstalldirs: Likewise.
46137
46138 * include/grub/console.h: Removed. This file is arch-specific. Do
46139 not put this in include/grub.
46140
46141 * include/grub/i386/pc/console.h: Resurrected.
46142
46143 * util/console.c: Include grub/machine/console.h instead of
46144 grub/console.h.
46145 * util/grub-emu.c: Likewise.
46146
461472005-08-04 Marco Gerards <metgerards@student.han.nl>
46148
46149 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46150 hardcoded value.
46151
46152 From Vincent Pelletier <subdino2004@yahoo.fr>
46153 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
46154 Redefined to use grub_getwh.
46155 (grub_term): New member named getwh.
46156 (grub_getwh): New prototype.
46157 * kern/term.c (grub_getwh): New function.
46158 * term/i386/pc/console.c (grub_console_getwh): New function.
46159 (grub_console_term): New member `getwh'.
46160 * term/i386/pc/vga.c (grub_vga_getwh): New function.
46161 (grub_vga_term): New member `getwh'.
46162 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
46163 grub_ssize_t.
46164 (grub_ofconsole_getw): New function.
46165 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
46166 (grub_ofconsole_term): New field named getwh and new initial
46167 value.
46168
461692005-08-03 Hollis Blanchard <hollis@penguinppc.org>
46170
46171 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
46172 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
46173 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
46174 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
46175 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
46176 of <grub/machine/ieee1275.h>.
46177 * commands/ieee1275/reboot.c: Likewise.
46178 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46179 * kern/ieee1275.c: ... to here. All users updated. Change all
46180 parameter structs to use new type `grub_ieee1275_cell_t'.
46181 * term/powerpc/ieee1275/ofconsole.c: Move ...
46182 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46183 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46184 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46185 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46186 to return int.
46187 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46188 Remove unused prototypes. All users updated.
46189 * include/grub/powerpc/ieee1275/console.h: Removed.
46190 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46191 `grub_ieee1275_cell_t'.
46192 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46193 Cast comparisons with -1 to the correct type.
46194 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46195 type to match `grub_ieee1275_entry_fn'.
46196
461972005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46198
46199 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46200
46201 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46202 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46203 partmap/sun.c.
46204 (grub_probefs_SOURCES): New variable.
46205
46206 * util/i386/pc/grub-probefs.c: New file.
46207
46208 * util/i386/pc/grub-setup.c (main): Call
46209 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46210 grub_hfs_init and grub_jfs_init to initialize the system. Call
46211 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46212 grub_pc_partition_map_fini to finish the system.
46213
462142005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46215
46216 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46217 function.
46218 (grub_multiboot_load_elf32): Likewise.
46219 (grub_multiboot_is_elf64): Likewise.
46220 (grub_multiboot_load_elf64): Likewise.
46221 (grub_multiboot_load_elf): Likewise.
46222 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46223 an ELF32 or ELF64 file.
46224 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46225
46226 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46227 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46228 NULL before calling FS->LABEL.
46229 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46230 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46231 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46232 before calling FS->LABEL.
46233
462342005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46235
46236 * util/i386/pc/grub-install.in (datadir): New variable.
46237 (libdir): Removed.
46238 (pkgdatadir): New variable.
46239 (pkglibdir): Removed.
46240
462412005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
46242
46243 * DISTLIST: Added util/i386/pc/grub-install.in.
46244
46245 * util/i386/pc/grub-install.in: New file.
46246
46247 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
46248 (grub_install_SOURCES): Likewise.
46249
46250 * genmk.rb: Added support for scripts.
46251 (Script): New class.
46252 (scripts): New variable.
46253
46254 * Makefile.in (install-local): Install sbin_SCRIPTS by
46255 INSTALL_SCRIPT.
46256 (uninstall): Remove sbin_SCRIPTS.
46257
46258 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
46259 device, try to get a GRUB device by
46260 grub_util_biosdisk_get_grub_dev.
46261 Free DEST_DEV.
46262
46263 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
46264 description for --device-map.
46265
462662005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46267
46268 Change the semantics of variable hooks. They now return strings
46269 instead of error values.
46270
46271 * util/i386/pc/grub-setup.c: Include grub/env.h.
46272 (setup): Use grub_device_set_root instead of grub_env_set.
46273
46274 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
46275 grub_env_get instead of grub_device_set_root and
46276 grub_device_get_root, respectively.
46277
46278 * kern/main.c (grub_env_write_root): New function.
46279 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
46280 grub_env_set instead of grub_device_set_root.
46281
46282 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
46283 many variables.
46284 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
46285 rather than calling ENV->WRITE_HOOK afterwards.
46286 (grub_env_get): Return the result of ENV->READ_HOOK rather than
46287 passing a pointer of a pointer.
46288 (grub_register_variable_hook): Change the types of "read_hook" and
46289 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
46290 respectively.
46291 Allocate the default empty string on the heap, because this string
46292 may be freed later.
46293
46294 * kern/device.c: Include grub/env.h.
46295 (grub_device_set_root): Removed.
46296 (grub_device_get_root): Likewise.
46297 (grub_device_open): Use grub_env_get instead of
46298 grub_device_get_root.
46299
46300 * include/grub/env.h (grub_env_read_hook_t): New type.
46301 (grub_env_write_hook_t): Likewise.
46302 (grub_env_var): Change the types of "read_hook" and "write_hook"
46303 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
46304 (grub_register_variable_hook): Likewise.
46305
46306 * include/grub/device.h (grub_device_set_root): Removed.
46307 (grub_device_set_root): Likewise.
46308
46309 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
46310 make sure that DIRNAME terminates with '/', so that
46311 grub_fat_find_dir will fail if PATH is not a directory.
46312
46313 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
46314 from DIRNAME.
46315 Use the qualifier auto for print_files and print_files_long.
46316 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
46317 as a regular file.
46318 Put a newline only if there is no error.
46319 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
46320 used.
46321
463222005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46323
46324 * kern/partition.c (grub_partition_probe): Initialize PART to
46325 NULL. Otherwise, when no partition map is registered, this returns
46326 a garbage.
46327
463282005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
46329
46330 * partmap/apple.c (apple_partition_map_iterate): Check if POS
46331 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
46332 valid.
46333
463342005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
46335
46336 * commands/ls.c (grub_ls_list_disks): Print the filesystem
46337 information on each device, if it does not have partitions. Print
46338 "Device" instead of "Disk", because this function is not specific
46339 to disk devices.
46340
46341 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
46342 static to ensure that it is put on the memory rather than a
46343 register.
46344
463452005-07-17 Yoshinori Okuji <okuji@enbug.org>
46346
46347 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46348 (grub_cat_init): Likewise.
46349 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46350 (options): Likewise.
46351 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46352 (grub_configfile_init): Likewise.
46353 * font/manager.c (GRUB_MOD_INIT): Likewise.
46354 * commands/help.c (GRUB_MOD_INIT): Likewise.
46355 (grub_help_init): Likewise.
46356 * normal/command.c (grub_command_init): Likewise.
46357 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46358 * disk/loopback.c (grub_loop_init): Likewise.
46359 (GRUB_MOD_INIT): Likewise.
46360 * commands/ls.c (grub_ls_init): Likewise.
46361 (GRUB_MOD_INIT): Likewise.
46362 (options): Likewise.
46363 * commands/boot.c (grub_boot_init): Likewise.
46364 (GRUB_MOD_INIT): Likewise.
46365 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46366 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46367 (GRUB_MOD_INIT): Likewise.
46368 * commands/cmp.c (grub_cmp_init): Likewise.
46369 (GRUB_MOD_INIT): Likewise.
46370
46371 * normal/arg.c: Use <> instead of "" to include header files.
46372 (SHORT_ARG_HELP): New macro.
46373 (SHORT_ARG_USAGE): Likewise.
46374 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46375 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46376 descriptions.
46377 (find_short): Check if C is 'h' or 'u' explicitly.
46378 (grub_arg_show_help): Use space characters instead of tabs. Treat
46379 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46380 are shown with --help and --usage only if they are not used for
46381 the command itself.
46382 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46383 'h' and 'u'.
46384
46385 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46386 const into "longarg". Change the type of "shortarg" to int.
46387
463882005-07-17 Yoshinori Okuji <okuji@enbug.org>
46389
46390 * boot/i386/pc/boot.S (boot_drive_check): New label.
46391
46392 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46393 macro.
46394
46395 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46396 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46397
463982005-07-17 Yoshinori Okuji <okuji@enbug.org>
46399
46400 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46401 When turning off Gate A20, skip the check and return immediately,
46402 because this is not fatal usually.
46403
464042005-07-17 Yoshinori Okuji <okuji@enbug.org>
46405
46406 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46407 be 0x7C00 instead of 0x8000.
46408
46409 * boot/i386/pc/pxeboot.S: Rewritten.
46410
46411 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46412 EXT_C.
46413 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46414 result.
46415
464162005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46417
46418 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46419 robustness. This routine now supports a BIOS call and System
46420 Control Port A to modify the gate A20.
46421
46422 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46423 Increased to 0x440.
46424
464252005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46426
46427 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46428 device path and resulting ihandle.
46429 (grub_ofdisk_close): dprintf the ihandle being closed.
46430 (grub_ofdisk_read): dprintf function parameters.
46431 * kern/mm.c (grub_mm_init_region): Likewise.
46432 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46433 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46434 size, and boot arguments.
46435 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46436 before loading into memory.
46437 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46438 before loading into memory.
46439
464402005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46441
46442 * kern/mm.c: Added much documentation.
46443 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46444 8, set to 5 instead of 8.
46445
464462005-07-10 Yoshinori Okuji <okuji@enbug.org>
46447
46448 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46449
46450 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46451 (grub_mkdevicemap_SOURCES): New variable.
46452
46453 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46454 lib/device.c of GRUB Legacy.
46455
464562005-07-10 Yoshinori Okuji <okuji@enbug.org>
46457
46458 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46459 instead of PATH is NULL.
46460
464612005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46462
46463 * commands/cmp.c (BUFFER_SIZE): New macro.
46464 (grub_cmd_cmp): Close the right file at the right time. Compare
46465 only data just read. Don't report files of different size as
46466 identical. Dynamically allocate buffers. Move variable
46467 declarations at the beginning of function.
46468
464692005-07-09 Yoshinori Okuji <okuji@enbug.org>
46470
46471 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46472 reverse.
46473
464742004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46475
46476 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46477 when backspace is pressed at beginning of line.
46478
464792005-07-03 Yoshinori Okuji <okuji@enbug.org>
46480
46481 * DISTLIST: Added genfslist.sh.
46482
46483 * normal/main.c (fs_module_list): New variable.
46484 (autoload_fs_module): New function.
46485 (read_fs_list): Likewise.
46486 (grub_normal_execute): Call read_fs_list.
46487
46488 * kern/fs.c (grub_fs_autoload_hook): New variable.
46489 (grub_fs_probe): Added support for auto-loading.
46490
46491 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46492 (grub_fs_module_list_t): New type.
46493
46494 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46495 (grub_fs_autoload_hook): New prototype.
46496
46497 * genfslist.sh: New file.
46498
46499 * genmk.rb: Added a rule to generate a filesystem list.
46500
465012005-06-30 Marco Gerards <metgerards@student.han.nl>
46502
46503 * configure.ac: Fix the test for cross-compiling.
46504
46505 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46506 define GRUB_UTIL anymore.
46507
46508 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46509 so this function works on other systems than just big endian.
46510 (load_modules): Likewise.
46511 (add_segments): Likewise.
46512
465132005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46514
46515 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46516 contains `l' modifier, get a long from va_arg().
46517
465182005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46519
46520 * kern/mm.c (grub_free): If the next free block which is being
46521 merged is the first free block, set the first block to the block
46522 being freed.
46523 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
46524
465252005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46526
46527 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46528 `grub_ieee1275_chosen'.
46529
465302005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46531
46532 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
46533 (grub_ieee1275_chosen): New variable.
46534 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
46535 `chosen'.
46536 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
46537 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46538 Rename first argument to `phandle' for consistency.
46539 (grub_ieee1275_get_property_length): Likewise.
46540 (grub_ieee1275_next_property): Likewise. Change type of first argument
46541 to grub_ieee1275_phandle_t.
46542 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
46543 Move export next to declaration.
46544 (grub_ieee1275_chosen): New variable.
46545 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
46546 Correct cosmetic typo.
46547 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
46548 `grub_ieee1275_chosen'.
46549 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
46550 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
46551 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
46552 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
46553 `grub_ieee1275_chosen'.
46554
465552005-05-10 Hollis Blanchard <hollis@penguinppc.org>
46556
46557 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
46558 /chosen/bootargs.
46559 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
46560 /chosen/bootargs as "variable=value" pairs.
46561
465622005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
46563
46564 * include/grub/misc.h (grub_dprintf): New macro.
46565 (grub_real_dprintf): New prototype.
46566 (grub_strword): Likewise.
46567 (grub_iswordseparator): Likewise.
46568 * kern/misc.c (grub_real_dprintf): New function.
46569 (grub_strword): Likewise.
46570 (grub_iswordseparator): Likewise.
46571
465722005-04-30 Hollis Blanchard <hollis@penguinppc.org>
46573
46574 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
46575 (roundup): Remove macro.
46576 (grub_ieee1275_flags): Make static.
46577 (grub_ieee1275_realmode): Remove.
46578 (grub_ieee1275_test_flag): New function.
46579 (grub_ieee1275_set_flag): Likewise.
46580 (find_options): Rename to `grub_ieee1275_find_options'; update
46581 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
46582 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
46583 (cmain): New prototype.
46584 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
46585 `grub_ieee1275_flags' directly.
46586 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
46587 machine/biosdisk.h.
46588 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
46589 Don't include grub/machine/init.h.
46590 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
46591 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46592 Remove prototype.
46593 (grub_ieee1275_realmode): Likewise.
46594 (grub_ieee1275_flag): New enum.
46595 (grub_ieee1275_test_flag): New prototype.
46596 (grub_ieee1275_set_flag): New prototype.
46597 * include/grub/powerpc/ieee1275/init.h: Remove file.
46598 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
46599 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
46600 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
46601 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
46602 comment.
46603 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
46604 `grub_ieee1275_test_flag'.
46605 (grub_ieee1275_encode_devname): Likewise.
46606
466072005-04-21 Hollis Blanchard <hollis@penguinppc.org>
46608
46609 * include/grub/powerpc/ieee1275/ieee1275.h
46610 (grub_ieee1275_encode_devname): New prototype.
46611 (grub_ieee1275_get_filename): Likewise.
46612 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
46613 function.
46614 (grub_set_prefix): Likewise.
46615 (grub_machine_init): Call grub_set_prefix.
46616 * kern/powerpc/ieee1275/openfw.c: Fix typos.
46617 (grub_parse_type): New enum.
46618 (grub_ieee1275_get_devargs): New function.
46619 (grub_ieee1275_get_devname): Likewise.
46620 (grub_ieee1275_parse_args): Likewise.
46621 (grub_ieee1275_get_filename): Likewise.
46622 (grub_ieee1275_encode_devname): Likewise.
46623
466242005-03-30 Marco Gerards <metgerards@student.han.nl>
46625
46626 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
46627 `grub_loader_unset'.
46628
466292005-03-26 Hollis Blanchard <hollis@penguinppc.org>
46630
46631 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
46632 instead of grub_ieee1275_interpret.
46633 (grub_halt_init): New function.
46634 (grub_halt_fini): Likewise.
46635 (GRUB_MOD_INIT): Correct message grammar.
46636 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
46637 instead of grub_ieee1275_interpret.
46638 (grub_reboot_init): New function.
46639 (grub_reboot_fini): Likewise.
46640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
46641 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
46642 util/i386/pc/misc.c with commands/ieee1275/halt.c,
46643 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
46644 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
46645 function.
46646 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
46647 Add prototype.
46648 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
46649 prototype.
46650 (grub_halt): Likewise.
46651 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
46652 (cmain): Remove __attribute__((unused)).
46653 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
46654 (grub_heap_len): Likewise.
46655 (grub_machine_fini): New function.
46656 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
46657 (grub_halt): Likewise.
46658 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
46659 function.
46660 * util/powerpc/ieee1275/misc.c: New file.
46661
466622005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46663
46664 * DISTLIST: New file.
46665 * gendistlist.sh: Likewise.
46666
46667 * Makefile.in (COMMON_DISTFILES): Removed.
46668 (BOOT_DISTFILES): Likewise.
46669 (CONF_DISTFILES): Likewise.
46670 (DISK_DISTFILES): Likewise.
46671 (FS_DISTFILES): Likewise.
46672 (INCLUDE_DISTFILES): Likewise.
46673 (KERN_DISTFILES): Likewise.
46674 (LOADER_DISTFILES): Likewise.
46675 (TERM_DISTFILES): Likewise.
46676 (UTIL_DISTFILES): Likewise.
46677 (DISTFILES): Likewise.
46678 (uninstall): Uninstall files in $(pkgdata_DATA).
46679 (DISTLIST): New target.
46680 (distdir): Use the contents of the file DISTLIST to get a list of
46681 distributed files.
46682
466832005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46684
46685 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
46686 descriptor. This is ported from GRUB Legacy.
46687
46688 * gencmdlist.sh: Added an extra semicolon to make it work with
46689 old sed versions. Reported by Robert Bihlmeyer
46690 <robbe@orcus.priv.at>.
46691
466922005-03-08 Yoshinori Okuji <okuji@enbug.org>
46693
46694 Automatic loading of commands is supported.
46695
46696 * normal/main.c (read_command_list): New function.
46697 (grub_normal_execute): Call read_command_list.
46698
46699 * normal/command.c (grub_register_command): Return zero or CMD.
46700 Allocate CMD->NAME from the heap.
46701 Initialize CMD->MODULE_NAME to zero.
46702 Find the same name as well. If the same command is found and it is
46703 a dummy command, overwrite members. If it is not a dummy command,
46704 return zero.
46705 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
46706 (grub_command_find): If a dummy command is found, load a module
46707 and retry to find a command only once.
46708
46709 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
46710 make sure that each command is loaded.
46711
46712 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
46713 macro.
46714 (struct grub_command): Remove const from the member `name'.
46715 Add a new member `module_name'.
46716 (grub_register_command): Return grub_command_t.
46717
46718 * commands/help.c (grub_cmd_help): Call grub_command_find to make
46719 sure that each command is loaded.
46720
46721 * genmk.rb (PModule::rule): Specify a module name without the
46722 suffix ".mod" to gencmdlist.sh.
46723
467242005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46725
46726 * gencmdlist.sh: New file.
46727
46728 * genmk.rb (PModule::rule): Generate a rule for a command list.
46729 Clean command.lst.
46730 Generate command.lst from $(COMMANDFILES).
46731
46732 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
46733 (DATA): Added $(pkgdata_DATA).
46734 (install-local): Install files in $(pkgdata_DATA).
46735
467362005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46737
46738 * term/i386/pc/vga.c (debug_command): Removed.
46739 (GRUB_MOD_INIT): Do not register the command "debug".
46740
46741 From Hollis Blanchard:
46742 * commands/configfile.c: New file.
46743 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46744 commands/configfile.c.
46745 (pkgdata_MODULES): Added configfile.mod.
46746 (configfile_mod_SOURCES): New variable.
46747 (configfile_mod_CFLAGS): Likewise.
46748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46749 commands/configfile.c.
46750 (pkgdata_MODULES): Added configfile.mod.
46751 (configfile_mod_SOURCES): New variable.
46752 (configfile_mod_CFLAGS): Likewise.
46753 * util/grub-emu.c (main): Call grub_configfile_init and
46754 grub_configfile_fini.
46755 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
46756 prototype.
46757 [GRUB_UTIL] (grub_configfile_fini): Likewise.
46758
467592005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46760
46761 * normal/arg.c (grub_arg_show_help): Do not show the bug report
46762 address.
46763
46764 * commands/help.c (grub_cmd_help): Do not print newlines after
46765 the last command in print_command_help.
46766
467672005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46768
46769 * commands/default.h: New file.
46770 * commands/timeout.h: Likewise.
46771 * normal/context.c: Likewise.
46772
46773 * util/misc.c: Do not include sys/times.h.
46774 Include sys/time.h and grub/machine/time.h.
46775 (grub_get_rtc): Rewritten with gettimeofday.
46776
46777 * util/grub-emu.c (main): Call grub_default_init and
46778 grub_timeout_init before grub_normal_init, and call
46779 grub_timeout_fini and grub_default_fini after grub_main.
46780
46781 * util/console.c (grub_ncurses_checkkey): Return the read
46782 character or -1.
46783
46784 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
46785 timeouts.
46786
46787 * normal/main.c (read_config_file): Push MENU. If this fails,
46788 print an error and wait for a user input.
46789 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
46790 If a menu is empty or an error occurs, pop MENU.
46791 (grub_normal_execute): Pop and free MENU after grub_menu_run
46792 returns.
46793
46794 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
46795
46796 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
46797 include time.h.
46798 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46799 without GRUB_UTIL.
46800 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
46801 time.h.
46802 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46803 without GRUB_UTIL.
46804
46805 * include/grub/normal.h (struct grub_menu_list): New struct.
46806 (grub_menu_list_t): New type.
46807 (struct grub_context): New struct.
46808 (grub_context_t): New type.
46809 (grub_register_command): Got rid of EXPORT_FUNC.
46810 (grub_unregister_command): Likewise.
46811 (grub_context_get): New prototype.
46812 (grub_context_get_current_menu): Likewise.
46813 (grub_context_push_menu): Likewise.
46814 (grub_context_pop_menu): Likewise.
46815 [GRUB_UTIL] (grub_default_init): Likewise.
46816 [GRUB_UTIL] (grub_default_fini): Likewise.
46817 [GRUB_UTIL] (grub_timeout_init): Likewise.
46818 [GRUB_UTIL] (grub_timeout_fini): Likewise.
46819
46820 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
46821 commands/timeout.c and normal/context.c.
46822 (pkgdata_MODULES): Added default.mod and timeout.mod.
46823 (normal_mod_SOURCES): Added normal/context.c.
46824 (default_mod_SOURCES): New variable.
46825 (default_mod_CFLAGS): Likewise.
46826 (timeout_mod_SOURCES): Likewise.
46827 (timeout_mod_CFLAGS): Likewise.
46828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
46829 conf/i386-pc.rmk.
46830 (pkgdata_MODULES): Added default.mod and timeout.mod.
46831 (normal_mod_SOURCES): Added normal/context.c.
46832 (default_mod_SOURCES): New variable.
46833 (default_mod_CFLAGS): Likewise.
46834 (timeout_mod_SOURCES): Likewise.
46835 (timeout_mod_CFLAGS): Likewise.
46836
46837 * Makefile.in (all-local): Added $(MKFILES).
46838
468392005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
46840
46841 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
46842 (grub_emu_SOURCES): Likewise.
46843 (pkgdata_MODULES): Add `sun.mod'.
46844 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46846 `partmap/sun.c'.
46847 (pkgdata_MODULES): Add `sun.mod'.
46848 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46849 * include/grub/partition.h (grub_sun_partition_map_init): New
46850 prototype.
46851 (grub_sun_partition_map_fini): Likewise.
46852 * partmap/sun.c: New file.
46853 * util/grub-emu.c (main): Initialize and de-initialize the sun
46854 partitionmap support.
46855
468562005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46857
46858 This implements an Emacs-like menu entry editor.
46859
46860 * normal/menu_entry.c: New file.
46861
46862 * util/console.c (grub_ncurses_putchar): Translate some Unicode
46863 characters to ASCII.
46864 (saved_char): New variable.
46865 (grub_ncurses_checkkey): Rewritten completely.
46866 (grub_ncurses_getkey): Likewise.
46867 (grub_ncurses_init): Call raw instead of cbreak.
46868
46869 * normal/menu.c (print_entry): Do not put a space.
46870 (init_page): Renamed to ...
46871 (grub_menu_init_page): ... this. All callers changed.
46872 (edit_menu_entry): Removed.
46873 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46874
46875 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46876
46877 * kern/misc.c (grub_vprintf): Call grub_refresh.
46878
46879 * normal/menu.c (DISP_LEFT): Renamed to ...
46880 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46881 * normal/menu.c (DISP_UP): Renamed to ...
46882 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46883 * normal/menu.c (DISP_RIGHT): Renamed to ...
46884 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46885 * normal/menu.c (DISP_DOWN): Renamed to ...
46886 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46887 * normal/menu.c (DISP_HLINE): Renamed to ...
46888 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46889 * normal/menu.c (DISP_VLINE): Renamed to ...
46890 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46891 * normal/menu.c (DISP_UL): Renamed to ...
46892 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46893 * normal/menu.c (DISP_UR): Renamed to ...
46894 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46895 * normal/menu.c (DISP_LL): Renamed to ...
46896 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46897 * normal/menu.c (DISP_LR): Renamed to ...
46898 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46899 * normal/menu.c (TERM_WIDTH): Renamed to ...
46900 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46901 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46902 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46903 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46904 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46905 * normal/menu.c (TERM_MARGIN): Renamed to ...
46906 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46907 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46908 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46909 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46910 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46911 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46912 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46913 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46914 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46915 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46916 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46917 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46918 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46919 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46920 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46921 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46922 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46923 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46924 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46925 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46926 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46927 All callers changed.
46928
46929 * include/grub/normal.h: New prototype.
46930
46931 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46932 normal/menu_entry.c.
46933 (normal_mod_SOURCES): Likewise.
46934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46935 (normal_mod_SOURCES): Likewise.
46936
469372005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46938
46939 * include/grub/normal.h (grub_halt_init): New prototype.
46940 (grub_halt_fini): Likewise.
46941 (grub_reboot_init): Likewise.
46942 (grub_reboot_fini): Likewise.
46943
46944 * util/grub-emu.c: Include signal.h.
46945 (main_env): New global variable.
46946 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46947 catch C-c.
46948 (grub_machine_fini): New function.
46949 (main): Call grub_halt_init and grub_reboot_init before
46950 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46951 Call setjmp with MAIN_ENV to go back afterwards.
46952 Call grub_machine_fini right before return.
46953
46954 * include/grub/util/misc.h: Include setjmp.h.
46955 (main_env): New prototype.
46956
46957 * include/grub/kernel.h (grub_machine_fini): New prototype.
46958 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46959 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46960
46961 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46962 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46963 * term/i386/pc/console.c (grub_console_fini): Likewise.
46964
46965 * util/i386/pc/misc.c: New file.
46966
46967 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46968 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46969 commands/i386/pc/reboot.c.
46970
469712005-02-14 Guillem Jover <guillem@hadrons.org>
46972
46973 * include/grub/dl.h (grub_dl_check_header): New prototype.
46974 (grub_arch_dl_check_header): Change return type to grub_err_t,
46975 remove size parameter and export function. Update all callers.
46976 * kern/dl.c (grub_dl_check_header): New function.
46977 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46978 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46979 are inside the core.
46980 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46981 independent ELF header checks.
46982 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46983 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46984 `grub_dl_check_header' instead of explicit checks. Check for the
46985 ELF type.
46986 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46987 `grub_dl_check_header' instead of explicit checks. Remove arch
46988 specific ELF header checks.
46989
46990 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46991 argument SIZE.
46992
469932005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46994
46995 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46996 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46997
469982005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46999
47000 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
47001 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
47002 (part_map_iterate): Clear `grub_errno' and return 0 if
47003 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
47004 * partmap/amiga.c (amiga_partition_map_iterate): Return
47005 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47006 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47007
470082005-02-01 Guillem Jover <guillem@hadrons.org>
47009
47010 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47011 help info.
47012
470132005-01-31 Marco Gerards <metgerards@student.han.nl>
47014
47015 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47016 Removed prototype.
47017 (grub_rescue_cmd_linux): New prototype.
47018 (grub_rescue_cmd_initrd): Likewise.
47019 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47020 `bi_rec'.
47021 (grub_linux_release_mem): Release the memory for the initrd.
47022 (grub_load_linux): Renamed from this...
47023 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47024 Changed `entry' not to be static. Loop over memory regions to
47025 find another one when the default fails.
47026 (grub_rescue_cmd_initrd): New function.
47027 (grub_linux_init): Remove function.
47028 (grub_linux_fini): Likewise.
47029 (GRUB_MOD_INIT): Register `initrd'.
47030 (GRUB_MOD_FINI): Unregister `initrd'.
47031 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47032 Function removed.
47033 (grub_linux_normal_fini): Likewise.
47034 (GRUB_MOD_INIT): Register `initrd'.
47035 (GRUB_MOD_FINI): Unregister `initrd'.
47036
470372005-01-31 Marco Gerards <metgerards@student.han.nl>
47038
47039 * commands/help.c: New file.
47040 * normal/arg.c (show_help): Renamed to...
47041 (grub_arg_show_help): ... this.
47042 * commands/i386/pc/halt.c: New file.
47043 * commands/i386/pc/reboot.c: Likewise.
47044 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47045 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47046 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47047 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47048 variables.
47049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47050 `commands/help.c'.
47051 (pkgdata_MODULES): Add `help.mod'.
47052 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47053 * grub/i386/pc/init.h (grub_reboot): New prototype.
47054 (grub_halt): Likewise.
47055 * include/grub/normal.h (grub_arg_show_help): New prototype.
47056 (grub_help_init): Likewise.
47057 (grub_help_fini): Likewise.
47058 * util/grub-emu.c (main): Initialize and deinitialize the help
47059 command.
47060
47061 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47062
47063 * normal/command.c (grub_command_init): Fixed the description of
47064 the `set' and `unset' commands.
47065
470662005-01-31 Marco Gerards <metgerards@student.han.nl>
47067
47068 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47069 function.
47070 * commands/ieee1275/halt.c: New file.
47071 * commands/ieee1275/reboot.c: Likewise.
47072 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47073 `__attribute__ ((unused))'. Some GCS related fixed.
47074 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47075 (grub_suspend_fini): Likewise.
47076 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47077 and `halt.mod'.
47078 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47079 (halt_mod_CFLAGS): New variables.
47080 * include/grub/powerpc/ieee1275/ieee1275.h
47081 (grub_ieee1275_interpret): New prototype.
47082
470832005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47084
47085 * include/grub/misc.h (memmove): New prototype.
47086 (memcpy): Likewise.
47087
470882005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47089
47090 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47091 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47092
470932005-01-22 Marco Gerards <metgerards@student.han.nl>
47094
47095 * kern/misc.c (grub_strndup): Function rewritten.
47096
470972005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47098
47099 * normal/menu.c (TERM_WIDTH): Macro redefined.
47100 (TERM_TOP_BORDER_Y): Likewise.
47101 (draw_border): Replaced while-loop by a for-loop. Make the number
47102 of lines consistent with the number of lines displayed in
47103 print_entries. Added a margin below the rectangle.
47104 (print_entry): Make the entry fit in the rectangle.
47105 (print_entries): Display the scroll arrows next to the right
47106 border.
47107
471082005-01-21 Marco Gerards <metgerards@student.han.nl>
47109
47110 * fs/minix.c (grub_minix_find_file): Reserve more space for
47111 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47112 `grub_strncpy' to copy `path' into it.
47113
471142005-01-21 Marco Gerards <metgerards@student.han.nl>
47115
47116 Add the loopback device, a device via which files can be accessed
47117 as devices.
47118
47119 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47120 (pkgdata_MODULES): Add loopback.mod.
47121 (loopback_mod_SOURCES): New variable.
47122 (loopback_mod_CFLAGS): Likewise.
47123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47124 `disk/loopback.c'.
47125 (pkgdata_MODULES): Add loopback.mod.
47126 (loopback_mod_SOURCES): New variable.
47127 (loopback_mod_CFLAGS): Likewise.
47128 * disk/loopback.c: new file.
47129 * include/grub/normal.h (grub_loop_init): New prototype.
47130 (grub_loop_fini): New prototype.
47131 * util/grub-emu.c (main): Initialize and de-initialize loopback
47132 support.
47133 * include/grub/disk.h (grub_disk_dev_id): Add
47134 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47135
471362005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47137
47138 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47139 function.
47140 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47141 (suspend_mod_SOURCES): New variable.
47142 (suspend_mod_CFLAGS): Likewise.
47143 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47144 New prototype.
47145 * commands/ieee1275/suspend.c: New file.
47146
471472005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47148
47149 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
47150 ((unused))' to `__attribute__ ((used))'.
47151 (GRUB_MOD_FINI): Likewise.
47152 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
47153 * genmk.rb (PModule): Assign space to common symbols when linking
47154 modules.
47155
471562005-01-20 Marco Gerards <metgerards@student.han.nl>
47157
47158 * include/grub/mm.h (grub_mm_init_region): Change the type of the
47159 `unsigned' arguments to `grub_size_t'.
47160 (grub_malloc): Likewise.
47161 (grub_realloc): Likewise.
47162 (grub_memalign): Likewise.
47163 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
47164 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47165 * util/misc.c (grub_malloc): Likewise.
47166 (grub_realloc): Likewise.
47167 * kern/mm.c (get_header_from_pointer): Change the casts to
47168 `unsigned' into a cast to `grub_size_t'.
47169
47170 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
47171 point to `currnode' when `currnode' is changed.
47172
47173 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
47174 Schottelius <nico-linux@schottelius.org>.
47175
471762005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47177
47178 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47179 (note_path): Remove variable.
47180 (GRUB_IEEE1275_NOTE_NAME): New macro.
47181 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47182 (grub_ieee1275_note_hdr): New structure.
47183 (grub_ieee1275_note_desc): Likewise.
47184 (grub_ieee1275_note): Likewise.
47185 (load_note): Remove `dir' argument. All callers updated. Remove
47186 `note_img' and `path'. Do not load a file from `note_path'.
47187 Initialize a struct grub_ieee1275_note and write that to `out'.
47188 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47189
471902005-01-05 Marco Gerards <metgerards@student.han.nl>
47191
47192 * util/misc.c (grub_util_read_image): Revert last change. It
47193 called `grub_util_read_at', which seeks from the beginning of the
47194 file.
47195
471962005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47197
47198 * TODO: Add note about endianness in grub-mkimage.
47199 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47200 section.
47201 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47202 (grub_mkimage_SOURCES): New target.
47203 * include/grub/kernel.h (grub_start_addr): Remove variable.
47204 (grub_end_addr): Likewise.
47205 (grub_total_module_size): Likewise.
47206 (grub_kernel_image_size): Likewise.
47207 (GRUB_MODULE_MAGIC): New constant.
47208 (grub_module_info): New structure.
47209 (grub_arch_modules_addr): New prototype.
47210 (grub_get_end_addr): Remove prototype.
47211 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47212 * include/grub/powerpc/ieee1275/kernel.h: New file.
47213 * include/grub/util/misc.h (grub_util_get_fp_size): New
47214 prototype.
47215 (grub_util_read_at): Likewise.
47216 (grub_util_write_image_at): Likewise.
47217 * kern/main.c (grub_get_end_addr): Remove function.
47218 (grub_load_modules): Call grub_arch_modules_addr instead of using
47219 grub_end_addr. Look for a grub_module_info struct in memory. Use
47220 the grub_module_info fields instead of calling grub_get_end_addr
47221 as loop conditions. Move grub_add_unused_region code here.
47222 (grub_add_unused_region): Remove function.
47223 * kern/i386/pc/init.c: Include grub/cache.h.
47224 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47225 one call to add_mem_region.
47226 (grub_arch_modules_addr): New function.
47227 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47228 (grub_total_module_size): Likewise.
47229 Include grub/machine/kernel.h.
47230 (grub_arch_modules_addr): New function.
47231 * util/grub-emu.c (grub_end_addr): Remove variable.
47232 (grub_total_module_size): Likewise.
47233 (grub_arch_modules_addr): New function.
47234 * util/misc.c: Include unistd.h.
47235 (grub_util_get_fp_size): New function.
47236 (grub_util_read_at): Likewise.
47237 (grub_util_write_image_at): Likewise.
47238 (grub_util_read_image): Call grub_util_read_at.
47239 (grub_util_write_image): Call grub_util_write_image_at.
47240 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
47241 additional memory in kernel_img for a struct grub_module_info.
47242 Fill in that grub_module_info.
47243 * util/powerpc/ieee1275/grub-mkimage.c: New file.
47244
472452005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47246
47247 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
47248 New function.
47249 * include/grub/powerpc/ieee1275/ieee1275.h
47250 (grub_ieee1275_milliseconds): New prototype.
47251 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
47252 Change to 1000.
47253 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
47254 grub_ieee1275_milliseconds.
47255
472562005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47257
47258 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
47259 variable.
47260 (find_options): New function.
47261 (cmain): Call find_options.
47262 * include/grub/powerpc/ieee1275/ieee1275.h
47263 (grub_ieee1275_realmode): New extern variable.
47264 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
47265 grub_map if grub_ieee1275_realmode is false.
47266
472672004-12-29 Marco Gerards <metgerards@student.han.nl>
47268
47269 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
47270 lines are inserted and make it work like readline. Reported by
47271 Vincent Pelletier <subdino2004@yahoo.fr>.
47272
472732004-12-28 Marco Gerards <metgerards@student.han.nl>
47274
47275 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
47276
47277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
47278 `kern/powerpc/cache.S'.
47279
472802004-12-27 Marco Gerards <metgerards@student.han.nl>
47281
47282 * genmk.rb: Handle the `Program' class in the main loop. Written
47283 by Johan Rydberg <jrydberg@gnu.org>.
47284 (Program): New class.
47285 (programs): New variable.
47286 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
47287 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
47288 instead of "grub/kernel.h". Include <grub/machine/init.h>.
47289 (help_arch): Function removed.
47290 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
47291 `powerpc/libgcc.h' and `loader.h'.
47292 (pkgdata_PROGRAMS): New variable.
47293 (sbin_UTILITIES): Variable removed.
47294 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
47295 (grubof_SOURCES): Variable re-defined so it only includes the
47296 core functionality.
47297 (grubof_CFLAGS): Remove `-DGRUBOF'.
47298 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
47299 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
47300 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
47301 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
47302 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
47303 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
47304 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
47305 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
47306 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
47307 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
47308 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47309 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
47310 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
47311 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
47312 (pc_mod_CFLAGS): New variables.
47313 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
47314 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
47315 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
47316 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
47317 Moved from here...
47318 * include/grub/i386/pc/init.h (grub_os_area_addr)
47319 (rub_os_area_size): ... to here.
47320 * include/grub/powerpc/ieee1275/ieee1275.h
47321 (grub_ieee1275_entry_fn): Export symbol.
47322 * include/grub/powerpc/ieee1275/init.h: New file.
47323 * include/grub/powerpc/libgcc.h: Likewise.
47324 * include/grub/cache.h: Likewise.
47325 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
47326 <hollis@penguinppc.org>.
47327 * kern/dl.c: Include <grub/cache.h>.
47328 (grub_dl_flush_cache): New function.
47329 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
47330 for this module.
47331 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
47332 (grub_console_init): Removed prototypes.
47333 (grub_machine_init): Don't initialize the modules anymore.
47334 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
47335 static.
47336 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
47337 Macro undef removed.
47338 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
47339 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
47340 relocation `R_PPC_REL32'. Return an error when the relocation is
47341 unknown.
47342 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
47343 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
47344 * util/misc.c (grub_arch_sync_caches): Likewise.
47345
473462004-12-19 Marco Gerards <metgerards@student.han.nl>
47347
47348 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47349 `symlist.c', add `grubof_symlist.c'.
47350 (symlist.c): Variable removed.
47351 (grubof_HEADERS): Variable added.
47352 (grubof_symlist.c): New target.
47353 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47354 `kernel_img_HEADERS'.
47355 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47356 * kern/powerpc/dl.c: New file.
47357 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47358 Function removed.
47359 (grub_arch_dl_relocate_symbols): Likewise.
47360 (grub_register_exported_symbols): Likewise.
47361
473622004-12-13 Marco Gerards <metgerards@student.han.nl>
47363
47364 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47365 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47366 to fail instead. Reported by Vincent Pelletier
47367 <subdino2004@yahoo.fr>.
47368
47369 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47370 it is not allocated. Reported by Vincent Pelletier
47371 <subdino2004@yahoo.fr>.
47372
47373 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47374 output so the output looks better.
47375
473762004-12-04 Marco Gerards <metgerards@student.han.nl>
47377
47378 Modulize the partition map support and add support for the amiga
47379 partition map.
47380
47381 * commands/ls.c: Include <grub/partition.h> instead of
47382 <grub/machine/partition.h>.
47383 * kern/disk.c: Likewise.
47384 * kern/rescue.c: Likewise.
47385 * loader/i386/pc/chainloader.c: Likewise.
47386 * normal/cmdline.c: Likewise.
47387 * kern/powerpc/ieee1275/init.c: Likewise.
47388 (grub_machine_init): Call `grub_pc_partition_map_init',
47389 `grub_amiga_partition_map_init' and
47390 `grub_apple_partition_map_init'.
47391 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47392 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47393 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47394 `partition.h' and `pc_partition.h'.
47395 (grub_setup_SOURCES): Remove
47396 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47397 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47398 (grub_emu_SOURCES): Likewise.
47399 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47400 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47401 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47403 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47404 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47405 (grubof_SOURCES): Likewise.
47406 * disk/i386/pc/partition.c: File removed.
47407 * disk/powerpc/ieee1275/partition.c: Likewise.
47408 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47409 * include/grub/i386/pc/partition.h: Likewise.
47410 * kern/partition.c: New file.
47411 * partmap/amiga.c: Likewise.
47412 * partmap/apple.c: Likewise.
47413 * partmap/pc.c: Likewise.
47414 * include/grub/partition.h: Likewise..
47415 * include/grub/pc_partition.h: Likewise.
47416 * util/grub-emu.c: Include <grub/partition.h> instead of
47417 <grub/machine/partition.h>.
47418 (main): Call `grub_pc_partition_map_init',
47419 `grub_amiga_partition_map_init' and
47420 `grub_apple_partition_map_init' and deinitialize afterwards.
47421 * util/i386/pc/biosdisk.c: Include `#include
47422 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47423 `<grub/machine/partition.h>'.
47424 * util/i386/pc/grub-setup.c: Likewise.
47425 * util/i386/pc/biosdisk.c: Likewise.
47426 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47427 partition information in case of a PC partition.
47428 * util/i386/pc/grub-setup.c: Include `#include
47429 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47430 `<grub/machine/partition.h>'.
47431 (setup): Only access the PC specific partition information in case
47432 of a PC partition.
47433
474342004-11-17 Hollis Blanchard <hollis@penguinppc.org>
47435
47436 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47437 (grub_longjmp): Likewise.
47438 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47439 20.
47440 * normal/powerpc/setjmp.S: New file.
47441 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47442 `normal/powerpc/setjmp.S'.
47443 (grubof_CFLAGS): Add `-DGRUBOF'.
47444 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47445 [GRUB_UTIL && !GRUBOF].
47446
474472004-11-16 Marco Gerards <metgerards@student.han.nl>
47448
47449 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47450 property named `name'. Correctly handle the error returned by
47451 `grub_ieee1275_finddevice' if a device can not be opened.
47452
474532004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47454
47455 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47456 `actual' for negativity.
47457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47458 kern/fshelp.c.
47459
474602004-11-01 Marco Gerards <metgerards@student.han.nl>
47461
47462 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47463 (PAGE_OFFSET): New macro.
47464 (CRTC_ADDR_PORT): Likewise.
47465 (CRTC_DATA_PORT): Likewise.
47466 (START_ADDR_HIGH_REGISTER): Likewise.
47467 (START_ADDR_LOW_REGISTER): Likewise.
47468 (GRAPHICS_ADDR_PORT): Likewise.
47469 (GRAPHICS_DATA_PORT): Likewise.
47470 (READ_MAP_REGISTER): Likewise.
47471 (INPUT_STATUS1_REGISTER): Likewise.
47472 (INPUT_STATUS1_VERTR_BIT): Likewise.
47473 (page): New variable.
47474 (wait_vretrace): New function.
47475 (set_read_map): Likewise.
47476 (set_start_address): Likewise.
47477 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47478 the right page.
47479 (check_vga_mem): Take the page into account.
47480 (write_char): Likewise.
47481 (write_cursor): Likewise.
47482 (scroll_up): Likewise. Copy the page to the page that is not
47483 shown and switch between both pages.
47484 (grub_vga_putchar): Fix off by one error.
47485 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47486 account.
47487
474882004-11-01 Marco Gerards <metgerards@student.han.nl>
47489
47490 Add support for iso9660 (including rockridge).
47491
47492 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47493 (iso9660_mod_SOURCES): New variable.
47494 (iso9660_mod_CFLAGS): Likewise.
47495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47496 * include/grub/fs.h (grub_iso9660_init): New prototype.
47497 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47498 * fs/iso9660.c: New file.
47499
47500 * include/grub/misc.h (grub_strncat): New prototype.
47501 * kern/misc.c (grub_strncat): New function.
47502
47503 * fs/hfs.c (grub_hfs_mount): Translate the error
47504 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47505 * fs/jfs.c (grub_jfs_mount): Likewise.
47506 * fs/ufs.c (grub_ufs_mount): Likewise.
47507
475082004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47509
47510 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47511 which initialized BAT registers.
47512 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47513 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47514 Move from here...
47515 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47516 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47517 ... to here.
47518 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47519 (grub_mapclaim): Likewise.
47520 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
47521 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
47522 hand.
47523
475242004-10-19 Hollis Blanchard <hollis@penguinppc.org>
47525
47526 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
47527 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
47528 -ffreestanding and -msoft-float.
47529
475302004-10-15 Hollis Blanchard <hollis@penguinppc.org>
47531
47532 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
47533 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
47534 set in grub_ieee1275_flags.
47535
475362004-10-14 Hollis Blanchard <hollis@penguinppc.org>
47537
47538 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
47539 prototype.
47540 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
47541 grub_console_init first.
47542 Change the memory range used for grub_ieee1275_claim and
47543 grub_mm_init_region.
47544 Print an error message if the claim fails.
47545 Include <grub/misc.h>.
47546
475472004-10-13 Hollis Blanchard <hollis@penguinppc.org>
47548
47549 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
47550 Call grub_children_iterate for device nodes of type `scsi',
47551 `ide', or `ata'.
47552 (grub_ofdisk_open): Remove manual device alias resolution.
47553 Fix memory leak when device cannot be opened.
47554 * include/grub/powerpc/ieee1275/ieee1275.h
47555 (grub_children_iterate): New prototype.
47556 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
47557 New function.
47558 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47559 Return -1 if args.size was -1.
47560
475612004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47562
47563 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
47564 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
47565 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
47566 Open Firmware's memory for it; claim memory from _start to _end.
47567 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
47568 (_end): New extern.
47569 (_start): Zero BSS from __bss_start to _end.
47570 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47571 New extern.
47572 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
47573
475742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47575
47576 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47577 -1 if args.base was -1.
47578
475792004-10-08 Hollis Blanchard <hollis@penguinppc.org>
47580
47581 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
47582 escape sequence instead of a literal ^L. Also call
47583 grub_ofconsole_gotoxy.
47584
475852004-10-03 Hollis Blanchard <hollis@penguinppc.org>
47586
47587 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
47588 void * arguments to grub_addr_t. All callers updated. Also make
47589 the `result' argument optional.
47590 (grub_ieee1275_release): change void * arguments to grub_addr_t.
47591 All callers updated.
47592
475932004-09-22 Hollis Blanchard <hollis@penguinppc.org>
47594
47595 * commands/ls.c (grub_ls_list_files): Use the string following the
47596 initial ')', if present, as the filesystem path.
47597 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
47598
47599 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
47600
476012004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47602
47603 Make the source code of the menu interface more readable.
47604
47605 * normal/menu.c: Include grub/mm.h.
47606 (TERM_WIDTH): New macro.
47607 (TERM_HEIGHT): Likewise.
47608 (TERM_INFO_HEIGHT): Likewise.
47609 (TERM_MARGIN): Likewise.
47610 (TERM_SCROLL_WIDTH): Likewise.
47611 (TERM_TOP_BORDER_Y): Likewise.
47612 (TERM_LEFT_BORDER_X): Likewise.
47613 (TERM_BORDER_WIDTH): Likewise.
47614 (TERM_MESSAGE_HEIGHT): Likewise.
47615 (TERM_BORDER_HEIGHT): Likewise.
47616 (TERM_NUM_ENTRIES): Likewise.
47617 (TERM_FIRST_ENTRY_Y): Likewise.
47618 (TERM_ENTRY_WIDTH): Likewise.
47619 (TERM_CURSOR_X): Likewise.
47620 (draw_border): Use macros instead of magic numbers.
47621 (print_entry): Likewise.
47622 (print_entries): Likewise.
47623 (run_menu): Likewise. Also, handle the key 'e'.
47624 (run_menu_entry): Ignore empty command lines.
47625 (print_message): Added a new argument EDIT. If EDIT is true,
47626 print a different message.
47627 (init_page): Likewise.
47628 (edit_menu_entry): New function. Not implemented yet.
47629
476302004-09-17 Marco Gerards <metgerards@student.han.nl>
47631
47632 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
47633 can be loaded from normal mode.
47634
47635 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
47636 `multiboot.mod'.
47637 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
47638 (multiboot_mod_CFLAGS): New variables.
47639 * loader/i386/pc/linux_normal.c: New file.
47640 * loader/i386/pc/multiboot_normal.c: Likewise.
47641
47642 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
47643 attribute `unused'.
47644
47645 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
47646 `fdiro' to read the mode information from instead of `diro'.
47647
47648 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
47649 looking up a symlink.
47650
47651 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
47652 macro.
47653 * normal/command.c (grub_command_execute): Don't parse the
47654 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
47655 flags of the command.
47656
47657 * normal/menu.c (grub_menu_run): Fix typo.
47658
476592004-09-14 Hollis Blanchard <hollis@penguinppc.org>
47660
47661 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
47662
47663 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
47664 `y + 1' instead of `y - 1'.
47665
47666 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
47667
476682004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
47669
47670 From Hollis Blanchard <hollis@penguinppc.org>:
47671 * kern/misc.c (memmove): New alias for grub_memmove.
47672 (memcmp): New alias for grub_memcmp.
47673 (memset): New alias for grub_memset.
47674 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47675 Change "int handle" to "grub_ieee1275_phandle_t handle".
47676 * include/grub/powerpc/ieee1275/ieee1275.h
47677 (grub_ieee1275_get_property): Likewise.
47678
476792004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
47680
47681 Added normal mode command `chainloader' as module chain.mod, which
47682 depends on normal.mod and _chain.mod.
47683
47684 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
47685 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
47686 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
47687 Deleted prototype.
47688 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
47689 but arguments parsing moved to ...
47690 (grub_chainloader_cmd): ... here. New function.
47691 * include/grub/i386/pc/chainloader.h: New file.
47692 * loader/i386/pc/chainloader_normal.c: Likewise.
47693
476942004-09-11 Marco Gerards <metgerards@student.han.nl>
47695
47696 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
47697 (grub_mkimage_LDFLAGS): Likewise.
47698 (grub_emu_SOURCES): Likewise.
47699 (kernel_img_HEADERS): Added fshelp.h.
47700 * fs/ext2.c: Include <grub/fshelp.h>.
47701 (FILETYPE_REG): New macro.
47702 (FILETYPE_INO_REG): Likewise.
47703 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
47704 Changed all users.
47705 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
47706 all users.
47707 (grub_fshelp_node): New struct.
47708 (grub_ext2_data): Added member `diropen'. Changed member `inode'
47709 to a pointer.
47710 (grub_ext2_get_file_block): Removed function.
47711 (grub_ext2_read_block): New function.
47712 (grub_ext2_read_file): Replaced parameter `data' by `node'.
47713 This function was written.
47714 (grub_ext2_mount): Read the root inode. Create a diropen struct.
47715 (grub_ext2_find_file): Removed function.
47716 (grub_ext2_read_symlink): New function.
47717 (grub_ext2_iterate_dir): Likewise.
47718 (grub_ext2_open): Rewritten.
47719 (grub_ext2_dir): Rewritten.
47720 * include/grub/fshelp.h: New file.
47721 * fs/fshelp.c: Likewise.
47722
477232004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
47724
47725 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
47726 (print_message): Add a missing newline.
47727 (run_menu): Added timeout support.
47728 (run_menu_entry): New local function.
47729 (grub_menu_run): Added support for booting.
47730
47731 * kern/loader.c (grub_loader_is_loaded): New function.
47732
47733 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
47734 (grub_get_rtc): Exported.
47735
47736 * include/grub/i386/pc/time.h: Include grub/symbol.h.
47737 (grub_get_rtc): Exported.
47738
47739 * include/grub/normal.h (struct grub_command_list): Remove
47740 constant from the member `command'.
47741
47742 * include/grub/loader.h (grub_loader_is_loaded): Declared.
47743
47744 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
47745
47746 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
47747
477482004-08-28 Marco Gerards <metgerards@student.han.nl>
47749
47750 Add support for the JFS filesystem.
47751
47752 * fs/jfs.c: New file.
47753 * include/grub/fs.h (grub_jfs_init): New prototype.
47754 (grub_jfs_fini): New prototype.
47755 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
47756 (grub_emu_SOURCES): Likewise.
47757 (pkgdata_MODULES): Add jfs.mod.
47758 (jfs_mod_SOURCES): New variable.
47759 (jfs_mod_CFLAGS): Likewise.
47760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
47761 (grubof_SOURCES): Likewise.
47762 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
47763
47764 * fs/fat.c (grub_fat_find_dir): Convert the filename little
47765 endian to the host endian.
47766 (grub_fat_utf16_to_utf8): Move function from there...
47767 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
47768 the endianness of the source string anymore.
47769 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
47770
477712004-08-24 Marco Gerards <metgerards@student.han.nl>
47772
47773 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
47774 (grub_boot_fini) [GRUB_UTIL]: Likewise.
47775 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
47776 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
47777
47778 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
47779 (grub_hfs_iterate_dir): Make the function static. Add prototypes
47780 for `node_found' and `it_dir'.
47781 (grub_hfs_dir): Add prototype for `dir_hook'.
47782
47783 * fs/minix.c (grub_minix_get_file_block): Add prototype for
47784 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
47785 and `indir32' to silence a gcc warning.
47786
47787 * include/grub/fs.h (grub_hfs_init): New prototype.
47788 (grub_hfs_fini): Likewise.
47789
47790
477912004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47792
47793 Each disk device has its own id now. This is useful to make use
47794 of multiple disk devices.
47795
47796 * include/grub/disk.h (grub_disk_dev_id): New enum.
47797 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
47798 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
47799
47800 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
47801 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47802
47803 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
47804 GRUB_DISK_DEVICE_OFDISK_ID as an id.
47805
47806 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
47807 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47808
47809 * include/grub/disk.h (struct grub_disk_dev): Added a new member
47810 "id" which is used by the cache manager.
47811
47812 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
47813 of just "GRUB".
47814
478152004-08-18 Marco Gerards <metgerards@student.han.nl>
47816
47817 * fs/hfs.c: New file.
47818 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
47819 (grub_emu_SOURCES): Likewise.
47820 (pkgdata_MODULES): Add hfs.mod.
47821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
47822 (grubof_SOURCES): Likewise.
47823 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
47824
47825 * include/grub/misc.h (grub_strncasecmp): Add prototype.
47826 * kern/misc.c (grub_strncasecmp): Add function.
47827
478282004-08-14 Marco Gerards <metgerards@student.han.nl>
47829
47830 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
47831 with parentheses.
47832
47833 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
47834 (grub_ext2_dir): In case the directory entry type is unknown, read
47835 it from the inode.
47836
478372004-08-02 Peter Bruin <pjbruin@dds.nl>
47838
47839 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
47840 grub_load_linux instead of grub_rescue_cmd_linux as second
47841 argument of grub_rescue_register_command.
47842
47843 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
47844
478452004-07-27 Marco Gerards <metgerards@student.han.nl>
47846
47847 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
47848 function.
47849 * commands/boot.c: Remove the check for `GRUB_UTIL'.
47850 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47851 `loader/powerpc/ieee1275/linux.c',
47852 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
47853 * include/grub/powerpc/ieee1275/ieee1275.h
47854 (grub_ieee1275_release): New prototype.
47855 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
47856 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
47857 normal, boot, linux and linux_normal.
47858 * loader/powerpc/ieee1275/linux.c: New file.
47859 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47860
478612004-07-12 Marco Gerards <metgerards@student.han.nl>
47862
47863 * normal/arg.c (grub_arg_parse): Correct error handling after
47864 reallocating the argumentlist (check if `argl' is not null instead
47865 of checking if `args' is not null).
47866 * kern/mm.c (grub_realloc): Return the same pointer when using the
47867 same region, instead of returning the header address.
47868
478692004-07-11 Marco Gerards <metgerards@student.han.nl>
47870
47871 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47872 one block instead of two when looking for the initial partition.
47873 (grub_partition_probe): Initialize the local variable `p' with 0.
47874 Use base 10 for the grub_strtoul call.
47875 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47876 need for one local variable.
47877 (grub_strtoul): Don't add the new value to `num', instead of that
47878 just assign it.
47879
478802004-07-11 Marco Gerards <metgerards@student.han.nl>
47881
47882 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47883 (pxeboot_img_SOURCES): New variable.
47884 (pxeboot_img_ASFLAGS): Likewise.
47885 (pxeboot_img_LDFLAGS): Likewise.
47886 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47887 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47888 <lode_leroy@hotmail.com>.
47889
478902004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47891
47892 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47893 there was no input.
47894
478952004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47896
47897 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47898 the history buffer logic.
47899
479002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47901
47902 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47903 (FILETYPE_INO_SYMLINK): New macros.
47904 (grub_ext2_find_file): Check if the node is a directory using the
47905 inode stat information instead of using the filetype in the
47906 dirent. Exclude the first character of an absolute symlink.
47907 (grub_ext2_dir): Mask out the filetype part of the mode member of
47908 the inode.
47909
479102004-05-24 Marco Gerards <metgerards@student.han.nl>
47911
47912 Add support for UFS version 1 and 2. Add support for the minix
47913 filesystem version 1 and 2, both the variants with 14 and 30 long
47914 filenames.
47915
47916 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47917 fs/minix.c.
47918 (grub_emu_SOURCES): Likewise.
47919 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47920 (ufs_mod_SOURCES): New variable.
47921 (ufs_mod_CFLAGS): Likewise.
47922 (minix_mod_SOURCES): Likewise.
47923 (minix_mod_CFLAGS): Likewise.
47924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47925 fs/minix.c.
47926 (grubof_SOURCES): Likewise.
47927 * fs/ufs.c: New file.
47928 * fs/minix.c: New file.
47929 * include/grub/fs.h (grub_ufs_init): New prototype.
47930 (grub_ufs_fini): Likewise.
47931 (grub_minix_init): Likewise.
47932 (grub_minix_fini): Likewise.
47933 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47934 minix fs.
47935
479362004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47937
47938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47939 commands/ls.c, commands/terminal.c, commands/boot.c,
47940 commands/cmp.c and commands/cat.c.
47941 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47942
47943 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47944 "env.h"
47945
479462004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47947
47948 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47949 and grub_, respectively. Because the conversion is trivial and
47950 mechanical, I omit the details here. Please refer to the CVS
47951 if you need more information.
47952
479532004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47954
47955 * include/pupa: Renamed to ...
47956 * include/grub: ... this.
47957 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47958 * util/i386/pc/grub-mkimage.c: ... this.
47959 * util/i386/pc/pupa-setup.c: Renamed to ...
47960 * util/i386/pc/grub-setup.c: ... this.
47961 * util/pupa-emu.c: Renamed to ...
47962 * util/grub-emu.c: ... this.
47963
479642004-03-29 Marco Gerards <metgerards@student.han.nl>
47965
47966 Add support for the newworld apple macintosh (PPC). This has been
47967 tested on the powerbook 2000 only. It only adds support for
47968 generic ieee1275 functions, console and disk support. This should
47969 be easy to port to other architectures with support for Open
47970 Firmware.
47971
47972 * configure.ac: Accept the powerpc as host_cpu. In the case of
47973 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47974 specific tests are only executed while building for the i386.
47975 Inverse test for crosscompile.
47976 * genmk.rb (Utility): Allow assembler files.
47977 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47978 * conf/powerpc-ieee1275.rmk: New file.
47979 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47980 * disk/powerpc/ieee1275/partition.c: Likewise.
47981 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47982 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47983 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47984 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47985 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47986 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47987 * include/pupa/powerpc/ieee1275/loader.h
47988 * include/pupa/powerpc/setjmp.h: Likewise.
47989 * include/pupa/powerpc/types.h: Likewise.
47990 * kern/powerpc/ieee1275/init.c: Likewise.
47991 * kern/powerpc/ieee1275/openfw.c: Likewise.
47992 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47993
47994 These files were written by Johan Rydberg
47995 (jrydberg@night.trouble.net) and I only modified them slightly.
47996
47997 * boot/powerpc/ieee1275/cmain.c: New file.
47998 * boot/powerpc/ieee1275/crt0.S: Likewise.
47999 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48000 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48001
480022004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48003
48004 * Makefile.in: Update copyright.
48005 * genmodsrc.sh: Likewise.
48006 * gensymlist.sh: Likewise.
48007 * term/i386/pc/vga.c: Indent correctly.
48008
48009 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48010 bugreporting address.
48011 * util/i386/pc/pupa-setup.c (usage): Likewise,
48012 (main): Call pupa_ext2_init and pupa_ext2_fini.
48013
48014 * fs/fat.c (log2): Renamed to ...
48015 (fat_log2): ... this.
48016 All callers changed.
48017 * kern/misc.c (memcpy): Alias to pupa_memmove.
48018 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48019 lvalue cast.
48020 * util/console.c (pupa_ncurses_fini): Return 0.
48021
48022 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48023 Move fail label here.
48024 [__GNU__]: Don't warn when using stat.
48025 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48026 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48027 long int. Use strtol instead of strtoul.
48028
480292004-03-14 Marco Gerards <metgerards@student.han.nl>
48030
48031 * commands/boot.c: New file.
48032 * commands/cat.c: Likewise.
48033 * commands/cmp.c: Likewise.
48034 * commands/ls.c: Likewise.
48035 * commands/terminal.c: Likewise.
48036 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48037 (pupa_register_command): Changed interface to match the new
48038 argument parser.
48039 (pupa_command_execute): Changed (almost rewritten) so it uses
48040 pupa_split_command. Added support for setting variables using the
48041 syntax `foo=bar'.
48042 (rescue_command): Changed to work with the new argument parser.
48043 (terminal_command): Moved from here to commands/terminal.c.
48044 (set_command): New function.
48045 (unset_command): New function.
48046 (insmod_command): New function.
48047 (rmmod_command): New function.
48048 (lsmod_command): New function.
48049 (pupa_command_init): Don't initialize the command terminal
48050 anymore. Initialize the commands set, unset, insmod, rmmod and
48051 lsmod.
48052 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48053 (kernel_img_HEADERS): Add arg.h and env.h.
48054 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48055 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48056 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48057 normal/arg.c.
48058 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48059 terminal.mod.
48060 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48061 (boot_mod_SOURCES): New variable.
48062 (terminal_mod_SOURCES): Likewise.
48063 (ls_mod_SOURCES): Likewise.
48064 (cmp_mod_SOURCES): Likewise.
48065 (cat_mod_SOURCES): Likewise.
48066
48067 * normal/arg.c: New file.
48068 * kern/env.c: Likewise.
48069 * include/pupa/arg.h: Likewise.
48070 * include/pupa/env.h: Likewise.
48071 * font/manager.c (font_command): Changed to match argument parsing
48072 interface changes.
48073 (PUPA_MOD_INIT): Likewise.
48074 * hello/hello.c (pupa_cmd_hello): Likewise.
48075 (PUPA_MOD_INIT): Likewise.
48076 * include/pupa/disk.h: Include <pupa/device.h>.
48077 (pupa_print_partinfo): New prototype.
48078 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48079 (pupa_dl_get_prefix): Likewise.
48080 * include/pupa/misc.h: Include <pupa/err.h>.
48081 (pupa_isgraph): New prototype.
48082 (pupa_isdigit): Likewise.
48083 (pupa_split_cmdline): Likewise.
48084 * include/pupa/normal.h: Include <pupa/arg.h>.
48085 (pupa_command): Changed the prototype of the member `func' to
48086 match the argument parsing interface. Added member `options'.
48087 (pupa_register_command): Updated to match function.
48088 (pupa_arg_parse): New prototype.
48089 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48090 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48091 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48092 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48093 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48094 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48095 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48096 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48097 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48098 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48099 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48100 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48101 * kern/disk.c: Include <pupa/file.h>.
48102 (pupa_print_partinfo): New function.
48103 * kern/dl.c: Include <pupa/env.h>.
48104 (pupa_dl_dir): Variable removed.
48105 (pupa_dl_load): Use the environment variable `prefix' instead of
48106 the variable pupa_dl_dir.
48107 (pupa_dl_set_prefix): Function removed.
48108 (pupa_dl_get_prefix): Likewise.
48109 * kern/i386/pc/init.c: Include <pupa/env.h>.
48110 (pupa_machine_init): Use the environment variable `prefix' instead of
48111 using pupa_dl_set_prefix to set the prefix.
48112 * kern/main.c: Include <pupa/env.h>.
48113 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48114 using pupa_dl_get_prefix to get the prefix.
48115 * kern/misc.c: Include <pupa/env.h>.
48116 (pupa_isdigit): New function.
48117 (pupa_isgraph): Likewise.
48118 (pupa_ftoa): Likewise.
48119 (pupa_vsprintf): Added support for printing values of the type
48120 `double'. Make it possible to format variable output when using
48121 formatting like `%1.2%f'.
48122 (pupa_split_cmdline): New function.
48123 * kern/rescue.c: Include <pupa/env.h>.
48124 (next_word): Removed function.
48125 (pupa_rescue_cmd_prefix): Likewise.
48126 (pupa_rescue_cmd_set): New function.
48127 (pupa_rescue_cmd_unset): New function.
48128 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48129 split the command line instead of splitting it here. Added
48130 support for setting variables using the syntax `foo=bar'. Don't
48131 initialize the prefix command anymore. Initialized the set and
48132 unset commands.
48133 * normal/cmdline.c: Include <pupa/env.h>.
48134 (pupa_tab_complete): Added prototypes for print_simple_completion,
48135 print_partition_completion, add_completion, iterate_commands,
48136 iterate_dev, iterate_part and iterate_dir. Moved code to print
48137 partition information from here to kern/disk.c.
48138 (pupa_cmdline_run): Don't check if the function exists anymore.
48139 * normal/main.c: Include <pupa/env.h>.
48140 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48141 instead of using pupa_dl_get_prefix to get the prefix.
48142 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48143 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48144 warning.
48145 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48146 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48147 ((unused))' to silence a gcc warning.
48148 (pupa_vga_setcolor): Likewise.
48149 (debug_command): Changed to match argument parsing
48150 interface changes.
48151 * util/pupa-emu.c: Include <pupa/env.h>.
48152 (options): Added 0's for unused fields to silence a gcc warning.
48153 (argp): Likewise.
48154 (main): Use the environment variable `prefix' instead of using
48155 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
48156 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
48157 and terminal.
48158
48159 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
48160 * util/misc.c: Include <malloc.h>.
48161 (pupa_malloc): Rewritten so errors are correctly reported.
48162 (pupa_realloc): Likewise.
48163 (pupa_memalign): Likewise.
48164 (pupa_mm_init_region): Declare unused variables with
48165 `__attribute__ ((unused))' to silence a gcc warning.
48166 * normal/i386/setjmp.S: Remove tab at the end of the file to
48167 silence a gcc warning.
48168 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
48169 variables with `__attribute__ ((unused))' to silence a gcc
48170 warning.
48171 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
48172 local variable i unsigned to silence a gcc warning.
48173
48174 * kern/term.c: Include <pupa/misc.h>.
48175 (pupa_more_lines): New variable.
48176 (pupa_more): Likewise.
48177 (pupa_putcode): When the pager is active pause at the end of every
48178 screen.
48179 (pupa_set_more): New function.
48180 * include/pupa/term.h (pupa_set_more): New prototype.
48181
48182
481832004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48184
48185 Now this project is GRUB 2 rather than PUPA. The location of
48186 the CVS repository was moved to GRUB's.
48187
48188 * configure.ac: Use bug-grub as the reporting address.
48189 Use GRUB instead of PUPA.
48190 Change the version number to 1.90.
48191
481922004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48193
48194 * genkernsyms.sh: Updated copyright information.
48195 * genmk.rb: Likewise.
48196 * genmodsrc.sh: Likewise.
48197 * gensymlist.sh: Likewise.
48198 * boot/i386/pc/boot.S: Likewise.
48199 * boot/i386/pc/diskboot.S: Likewise.
48200 * disk/i386/pc/biosdisk.c: Likewise.
48201 * disk/i386/pc/partition.c: Likewise.
48202 * font/manager.c: Likewise.
48203 * fs/ext2.c: Likewise.
48204 * fs/fat.c: Likewise.
48205 * include/pupa/boot.h: Likewise.
48206 * include/pupa/device.h: Likewise.
48207 * include/pupa/disk.h: Likewise.
48208 * include/pupa/dl.h: Likewise.
48209 * include/pupa/elf.h: Likewise.
48210 * include/pupa/err.h: Likewise.
48211 * include/pupa/file.h: Likewise.
48212 * include/pupa/font.h: Likewise.
48213 * include/pupa/fs.h: Likewise.
48214 * include/pupa/kernel.h: Likewise.
48215 * include/pupa/loader.h: Likewise.
48216 * include/pupa/misc.h: Likewise.
48217 * include/pupa/mm.h: Likewise.
48218 * include/pupa/net.h: Likewise.
48219 * include/pupa/normal.h: Likewise.
48220 * include/pupa/rescue.h: Likewise.
48221 * include/pupa/setjmp.h: Likewise.
48222 * include/pupa/symbol.h: Likewise.
48223 * include/pupa/term.h: Likewise.
48224 * include/pupa/types.h: Likewise.
48225 * include/pupa/i386/setjmp.h: Likewise.
48226 * include/pupa/i386/types.h: Likewise.
48227 * include/pupa/i386/pc/biosdisk.h: Likewise.
48228 * include/pupa/i386/pc/boot.h: Likewise.
48229 * include/pupa/i386/pc/console.h: Likewise.
48230 * include/pupa/i386/pc/init.h: Likewise.
48231 * include/pupa/i386/pc/kernel.h: Likewise.
48232 * include/pupa/i386/pc/linux.h: Likewise.
48233 * include/pupa/i386/pc/loader.h: Likewise.
48234 * include/pupa/i386/pc/memory.h: Likewise.
48235 * include/pupa/i386/pc/multiboot.h: Likewise.
48236 * include/pupa/i386/pc/partition.h: Likewise.
48237 * include/pupa/i386/pc/time.h: Likewise.
48238 * include/pupa/i386/pc/vga.h: Likewise.
48239 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
48240 * include/pupa/util/getroot.h: Likewise.
48241 * include/pupa/util/misc.h: Likewise.
48242 * include/pupa/util/resolve.h: Likewise.
48243 * kern/device.c: Likewise.
48244 * kern/disk.c: Likewise.
48245 * kern/dl.c: Likewise.
48246 * kern/err.c: Likewise.
48247 * kern/file.c: Likewise.
48248 * kern/fs.c: Likewise.
48249 * kern/loader.c: Likewise.
48250 * kern/main.c: Likewise.
48251 * kern/misc.c: Likewise.
48252 * kern/mm.c: Likewise.
48253 * kern/rescue.c: Likewise.
48254 * kern/term.c: Likewise.
48255 * kern/i386/dl.c: Likewise.
48256 * kern/i386/pc/init.c: Likewise.
48257 * kern/i386/pc/lzo1x.S: Likewise.
48258 * kern/i386/pc/startup.S: Likewise.
48259 * loader/i386/pc/chainloader.c: Likewise.
48260 * loader/i386/pc/linux.c: Likewise.
48261 * loader/i386/pc/multiboot.c: Likewise.
48262 * normal/cmdline.c: Likewise.
48263 * normal/command.c: Likewise.
48264 * normal/main.c: Likewise.
48265 * normal/menu.c: Likewise.
48266 * normal/i386/setjmp.S: Likewise.
48267 * term/i386/pc/console.c: Likewise.
48268 * term/i386/pc/vga.c: Likewise.
48269 * util/console.c: Likewise.
48270 * util/genmoddep.c: Likewise.
48271 * util/misc.c: Likewise.
48272 * util/pupa-emu.c: Likewise.
48273 * util/resolve.c: Likewise.
48274 * util/unifont2pff.rb: Likewise.
48275 * util/i386/pc/biosdisk.c: Likewise.
48276 * util/i386/pc/getroot.c: Likewise.
48277 * util/i386/pc/pupa-mkimage.c: Likewise.
48278 * util/i386/pc/pupa-setup.c: Likewise.
48279
482802004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
48281
48282 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
48283 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
48284 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
48285 reading and reset it after reading.
48286 (pupa_ext2_close): Return PUPA_ERR_NONE.
48287
48288 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
48289 Correct value.
48290 (struct linux_kernel_header): Add kernel_version and
48291 initrd_addr_max.
48292 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
48293 pupa_file_read succeeds.
48294 (pupa_rescue_cmd_initrd): Implement.
48295
482962003-12-03 Marco Gerards <metgerards@student.han.nl>
48297
48298 * fs/ext2.c (pupa_ext2_label): New function.
48299 (pupa_ext2_fs): Added label.
48300 * fs/fat.c (pupa_fat_label): New function.
48301 (pupa_fat_fs): Added label.
48302 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
48303
48304 * kern/misc.c (pupa_strndup): New function.
48305 * include/pupa/misc.h (pupa_strndup): New prototype.
48306
48307 * include/pupa/normal.h: Include <pupa/err.h>.
48308 (pupa_set_history): New prototype.
48309 (pupa_iterate_commands): New prototype.
48310 * normal/cmdline.c: Include <pupa/machine/partition.h>,
48311 <pupa/disk.h>, <pupa/file.h>.
48312 (hist_size): New variable.
48313 (hist_lines): Likewise.
48314 (hist_end): Likewise.
48315 (hist_used): Likewise.
48316 (pupa_set_history): New function.
48317 (pupa_history_get): Likewise.
48318 (pupa_history_add): Likewise.
48319 (pupa_history_replace): Likewise.
48320 (pupa_tab_complete): Likewise.
48321 (pupa_cmdline_run): Added tab completion and history buffer. Tab
48322 completion shows partitionnames while completing partitions, this
48323 feature was suggested by Jeff Bailey.
48324 * normal/command.c (pupa_iterate_commands): New function.
48325 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
48326 (pupa_normal_init): Initialize history buffer.
48327 (PUPA_MOD_INIT): Likewise.
48328 (pupa_normal_fini): Free the history buffer.
48329 (PUPA_MOD_FINI): Likewise.
48330
48331 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
48332 key.
48333
48334 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
48335 * configure.ac [i386]: Check for regparam bug.
48336 (NESTED_FUNC_ATTR) [! i386]: Defined.
48337
483382003-11-17 Marco Gerards <metgerards@student.han.nl>
48339
48340 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
48341 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
48342 (pupa_emu_SOURCES): New variable.
48343 (pupa_emu_LDFLAGS): Likewise.
48344 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
48345 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48346 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48347 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48348 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48349 (pupa_jmp_buf): New typedef.
48350 (pupa_setjmp) [PUPA_UTIL]: New macro.
48351 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48352 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48353 (pupa_refresh): New prototype.
48354 * include/pupa/util/getroot.h: New file.
48355 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48356 it.
48357 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48358 (pupa_rescue_cmd_cat): Likewise.
48359 (pupa_rescue_cmd_ls): Likewise.
48360 (pupa_rescue_cmd_testload): Likewise.
48361 (pupa_rescue_cmd_lsmod): Likewise.
48362 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48363 * normal/menu.c (run_menu): Likewise.
48364 * kern/term.c (pupa_cls): Likewise.
48365 (pupa_refresh): New function.
48366 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48367 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48368 * util/console.c: New file.
48369
48370 * util/i386/pc/getroot.c: New file.
48371 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48372 (pupa_putchar): New function.
48373 (pupa_refresh): Likewise.
48374 (xgetcwd): Function moved to ...
48375 (strip_extra_slashes): Likewise.
48376 (get_prefix): Likewise.
48377 * util/i386/pc/getroot.c: ... here.
48378 (find_root_device): Function moved and renamed to...
48379 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48380 Changed all callers.
48381 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48382 and renamed to...
48383 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48384 Changed all callers.
48385 * util/misc.c (pupa_memalign): New function.
48386 (pupa_mm_init_region): Likewise.
48387 (pupa_register_exported_symbols): Likewise.
48388 (pupa_putchar): Function removed.
48389 * util/pupa-emu.c: New file.
48390
483912003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48392
48393 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48394 (_multiboot_mod_SOURCES): New variable.
48395 (_multiboot_mod_CFLAGS): Likewise.
48396 * loader/i386/pc/multiboot.c: New file.
48397 * include/pupa/i386/pc/multiboot.h: Likewise.
48398 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48399 (pupa_multiboot_real_boot): New function.
48400 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48401 (pupa_multiboot_real_boot): New prototype.
48402 (pupa_rescue_cmd_multiboot): Likewise
48403 (pupa_rescue_cmd_module): Likewise.
48404
48405 * kern/loader.c (pupa_loader_set): Continue when
48406 pupa_loader_unload_func() fails.
48407 (pupa_loader_unset): New function.
48408 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48409
48410 * kern/misc.c (pupa_stpcpy): New function.
48411 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48412
484132003-11-12 Marco Gerards <metgerards@student.han.nl>
48414
48415 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48416 for available extensions.
48417
48418 * include/pupa/i386/pc/time.h: New file.
48419 * kern/disk.c: Include <pupa/machine/time.h>.
48420 (PUPA_CACHE_TIMEOUT): New macro.
48421 (pupa_last_time): New variable.
48422 (pupa_disk_open): Flush the cache when there was a timeout.
48423 (pupa_disk_close): Reset the timer.
48424 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48425 pupa_currticks.
48426 * util/misc.c: Include <sys/times.h>
48427 (pupa_get_rtc): New function.
48428
484292003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48430
48431 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48432 as blocks.
48433 (pupa_ext2_get_file_block): Use blocks member.
48434
48435 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48436 first block. Return -1 instead of pupa_errno on error.
48437
484382003-10-27 Marco Gerards <metgerards@student.han.nl>
48439
48440 * README: In the pupa-mkimage example use _chain instead of chain
48441 and ext2 instead of fat.
48442 * TODO: Replace ext2fs with jfs as an example. Add an item for
48443 adding journal playback for ext2fs.
48444 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48445 (pkgdata_MODULES): Added ext2.mod.
48446 (ext2_mod_SOURCES): New variable.
48447 (ext2_mod_CFLAGS): Likewise.
48448 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48449 * include/pupa/misc.h (pupa_strncpy): New prototype.
48450 (pupa_strcat): Likewise.
48451 (pupa_strncmp): Likewise.
48452 * kern/misc.c (pupa_strcat): Enable function.
48453 (pupa_strncpy): New function.
48454 (pupa_strncmp): Likewise.
48455 * fs/ext2.c: New file.
48456
48457 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48458 when the read failed before retrying.
48459 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48460 (_FILE_OFFSET_BITS): Likewise.
48461 * configure.ac: Added AC_SYS_LARGEFILE.
48462
484632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48464
48465 * genmk.rb (PModule#rule): Make sure to get only symbol names
48466 from the output of nm.
48467 Reported by Robert Millan <rmh.grub@aybabtu.com>.
48468
484692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48470
48471 I forgot to check in these changes for a long time. This adds
48472 incomplete support for VGA console, and this is still very
48473 buggy. Also, a lot of consideration is required for I18N,
48474 UNICODE, and VGA font issues. Therefore, assume that this is
48475 such that "better than nothing".
48476
48477 * font/manager.c: New file.
48478 * include/pupa/font.h: Likewise.
48479 * include/pupa/i386/pc/vga.h: Likewise.
48480 * term/i386/pc/vga.c: Likewise.
48481 * util/unifont2pff.rb: Likewise.
48482
48483 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48484 (pkgdata_MODULES): Added vga.mod and font.mod.
48485 (vga_mod_SOURCES): New variables.
48486 (vga_mod_CFLAGS): Likewise.
48487 (font_mod_SOURCES): Likewise.
48488 (font_mod_CFLAGS): Likewise.
48489
48490 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48491
48492 * include/pupa/term.h: Include pupa/err.h.
48493 (struct pupa_term): Added init and fini.
48494 Changed the argument of putchar to pupa_uint32_t.
48495
48496 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48497 (pupa_console_real_putchar): New prototype.
48498 (pupa_console_putchar): Removed.
48499 (pupa_console_checkkey): Exported.
48500 (pupa_console_getkey): Likewise.
48501
48502 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48503 characters.
48504
48505 * kern/term.c (pupa_term_set_current): Rewritten.
48506 (pupa_putchar): Likewise.
48507 (pupa_putcode): New function.
48508
48509 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48510 (pupa_console_real_putchar): ... this.
48511 (pupa_vga_set_mode): New function.
48512 (pupa_vga_get_font): Likewise.
48513
48514 * normal/command.c: Include pupa/term.h.
48515 (terminal_command): New function.
48516 (pupa_command_init): Register the command "terminal".
48517
48518 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48519 (DISP_UP): Likewise.
48520 (DISP_RIGHT): Likewise.
48521 (DISP_DOWN): Likewise.
48522 (DISP_HLINE): Likewise.
48523 (DISP_VLINE): Likewise.
48524 (DISP_UL): Likewise.
48525 (DISP_UR): Likewise.
48526 (DISP_LL): Likewise.
48527 (DISP_LR): Likewise.
48528
48529 * term/i386/pc/console.c (pupa_console_putchar): New function.
48530
485312003-02-08 NIIBE Yutaka <gniibe@m17n.org>
48532
48533 * util/resolve.c (pupa_util_resolve_dependencies): BUG
48534 FIX. Reverse the path_list.
48535
48536 * include/pupa/normal.h: Export pupa_register_command and
48537 pupa_unregister_command.
48538
48539 * hello/hello.c (pupa_cmd_hello): New module.
48540 * conf/i386-pc.rmk: Added hello.mod.
48541
485422003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48543
48544 * kern/i386/pc/lzo1x.S: New file.
48545
48546 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
48547 (compress_kernel): New variable.
48548 (generate_image): Heavily modified to support compressing a
48549 large part of the core image.
48550
48551 * util/misc.c (pupa_util_read_image): Fix a file descriptor
48552 leak.
48553 (pupa_util_load_image): New function.
48554
48555 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
48556 (pupa_compressed_size): New variable.
48557 (codestart): Enable Gate A20 here.
48558 Decompress the compressed part of the core image.
48559 Rearrange the code to put functions and variables which are
48560 required for initialization in the non-compressed part.
48561 Include lzo1x.S.
48562
48563 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
48564 here.
48565
48566 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
48567
48568 * include/pupa/i386/pc/kernel.h
48569 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
48570 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
48571 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48572 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48573 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
48574
48575 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
48576
48577 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
48578 (Utility#rule): Likewise.
48579
48580 * configure.ac: Check if LZO is available.
48581
485822003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
48583
48584 * include/pupa/normal.h: New file.
48585 * include/pupa/setjmp.h: Likewise.
48586 * include/pupa/i386/setjmp.h: Likewise.
48587 * normal/cmdline.c: Likewise.
48588 * normal/command.c: Likewise.
48589 * normal/main.c: Likewise.
48590 * normal/menu.c: Likewise.
48591 * normal/i386/setjmp.S: Likewise.
48592
48593 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
48594 (pupa_rescue_cmd_initrd): Likewise.
48595
48596 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
48597 Likewise.
48598
48599 * kern/i386/pc/startup.S (translation_table): New variable.
48600 (translate_keycode): New function.
48601 (pupa_console_getkey): Call translate_keycode.
48602
48603 * kern/rescue.c (attempt_normal_mode): New function.
48604 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
48605 it failed, print a message.
48606
48607 * kern/mm.c (pupa_real_malloc): Print more information when a
48608 free magic is broken.
48609 (pupa_free): If the first free header is not free actually, set
48610 it to P.
48611
48612 * kern/main.c (pupa_load_normal_mode): Just load the module
48613 "normal".
48614 (pupa_main): Don't print the message
48615 "Entering into rescue mode..." here.
48616
48617 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
48618 Declared.
48619 (pupa_rescue_cmd_initrd): Likewise.
48620 (pupa_rescue_cmd_initrd): Likewise.
48621
48622 * include/pupa/symbol.h (FUNCTION): Specify the type.
48623 (VARIABLE): Likewise.
48624
48625 * include/pupa/err.h (pupa_err_t): Added
48626 PUPA_ERR_UNKNOWN_COMMAND.
48627
48628 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
48629 (pupa_dl_get_prefix): Likewise.
48630
48631 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
48632 Added _chain.mod and _linux.mod instead of chain.mod and
48633 linux.mod.
48634 (chain_mod_SOURCES): Renamed to ...
48635 (_chain_mod_SOURCES): ... this.
48636 (chain_mod_CFLAGS): Renamed to ...
48637 (_chain_mod_CFLAGS): ... this.
48638 (linux_mod_SOURCES): Renamed to ...
48639 (_linux_mod_SOURCES): ... this.
48640 (linux_mod_CFLAGS): Renamed to ...
48641 (_linux_mod_CFLAGS): ... this.
48642 (normal_mod_SOURCES): New variable.
48643 (normal_mod_CFLAGS): Likewise.
48644 (normal_mod_ASFLAGS): Likewise.
48645
486462003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
48647
48648 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
48649 possible.
48650
48651 * kern/dl.c (pupa_dl_ref): Refer depending modules
48652 recursively.
48653 (pupa_dl_unref): Unrefer depending modules recursively.
48654 Don't call pupa_dl_unload implicitly, because PUPA can crash if
48655 a module is unloaded before one depending on that module is
48656 unloaded.
48657 (pupa_dl_unload): Unload depending modules explicitly,
48658 if possible.
48659
486602003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
48661
48662 * include/pupa/i386/pc/linux.h: New file.
48663 * loader/i386/pc/linux.c: Likewise.
48664
48665 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
48666 Removed.
48667 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
48668 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
48669 of PUPA_CHAINLOADER_BOOT_SECTOR.
48670
48671 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
48672 (pupa_linux_prot_size): New variable.
48673 (pupa_linux_tmp_addr): Likewise.
48674 (pupa_linux_real_addr): Likewise.
48675 (pupa_linux_boot_zimage): New function.
48676 (pupa_linux_boot_bzimage): Likewise.
48677
48678 * kern/i386/pc/init.c (struct mem_region): New structure.
48679 (MAX_REGIONS): New macro.
48680 (mem_regions): New variable.
48681 (num_regions): Likewise.
48682 (pupa_os_area_addr): Likewise.
48683 (pupa_os_area_size): Likewise.
48684 (pupa_lower_mem): Likewise.
48685 (pupa_upper_mem): Likewise.
48686 (add_mem_region): New function.
48687 (compact_mem_regions): Likewise.
48688 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
48689 the size of the conventional memory and that of so-called upper
48690 memory (before the first memory hole).
48691 Instead of adding each found region to free memory, use
48692 add_mem_region and add them after removing overlaps.
48693 Also, add only 1/4 of the upper memory to free memory. The rest
48694 is used for loading OS images. Maybe this is ad hoc, but this
48695 makes it much easier to relocate OS images when booting.
48696
48697 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
48698 (pupa_enter_rescue_mode): Don't register initrd and module.
48699
48700 * kern/mm.c: Include pupa/dl.h.
48701
48702 * kern/main.c: Include pupa/file.h and pupa/device.h.
48703
48704 * kern/loader.c (pupa_loader_load_module_func): Removed.
48705 (pupa_loader_load_module): Likewise.
48706
48707 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
48708 ``.o''.
48709
48710 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
48711 (pupa_linux_tmp_addr): Likewise.
48712 (pupa_linux_real_addr): Likewise.
48713 (pupa_linux_boot_zimage): Likewise.
48714 (pupa_linux_boot_bzimage): Likewise.
48715
48716 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
48717 (pupa_upper_mem): Likewise.
48718 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
48719 module is too dangerous.
48720
48721 * include/pupa/loader.h (pupa_os_area_addr): Declared.
48722 (pupa_os_area_size): Likewise.
48723 (pupa_loader_set): Remove the first argument. Loader doesn't
48724 manage modules or initrd any longer.
48725 (pupa_loader_load_module): Removed.
48726
48727 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
48728 (linux_mod_SOURCES): New variable.
48729 (linux_mod_CFLAGS): Likewise.
48730
487312003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
48732
48733 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
48734 the length of a blocklist correctly.
48735
48736 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
48737 Use ioctl only if the OS file is a block device.
48738 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
48739 not very useful for normal files.
48740
48741 * kern/main.c (pupa_set_root_dev): New function.
48742 (pupa_load_normal_mode): Likewise.
48743 (pupa_main): Call those above.
48744
48745 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
48746 pupa_uint16_t.
48747
48748 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
48749
487502003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
48751
48752 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
48753 (setup): Configure the installed partition information and the
48754 dl prefix.
48755
48756 * loader/i386/pc/chainloader.c (my_mod): New variable.
48757 (pupa_chainloader_unload): New function.
48758 (pupa_rescue_cmd_chainloader): Refer itself.
48759 (PUPA_MOD_INIT): Save its own module in MY_MOD.
48760
48761 * kern/i386/pc/startup.S (install_partition): Removed.
48762 (version_string): Likewise.
48763 (config_file): Likewise.
48764 (pupa_install_dos_part): New variable.
48765 (pupa_install_bsd_part): Likewise.
48766 (pupa_prefix): Likewise.
48767 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
48768
48769 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
48770 and pupa/misc.h.
48771 (make_install_device): New function.
48772 (pupa_machine_init): Set the dl prefix.
48773
48774 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
48775 (buf): Renamed to ...
48776 (linebuf): ... this.
48777 (pupa_rescue_cmd_prefix): New function.
48778 (pupa_rescue_cmd_insmod): Likewise.
48779 (pupa_rescue_cmd_rmmod): Likewise.
48780 (pupa_rescue_cmd_lsmod): Likewise.
48781 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
48782 rmmod and lsmod.
48783
48784 * kern/mm.c (pupa_memalign): If failed even after invalidating
48785 disk caches, unload unneeded modules and retry.
48786
48787 * kern/misc.c (pupa_memmove): New function.
48788 (pupa_memcpy): Removed.
48789 (pupa_strcpy): New function.
48790 (pupa_itoa): Made static.
48791
48792 * kern/dl.c (pupa_dl_iterate): New function.
48793 (pupa_dl_ref): Likewise.
48794 (pupa_dl_unref): Likewise.
48795 (pupa_dl_unload): Return if succeeded or not.
48796 (pupa_dl_unload_unneeded): New function.
48797 (pupa_dl_unload_all): Likewise.
48798 (pupa_dl_init): Renamed to ...
48799 (pupa_dl_set_prefix): ... this.
48800 (pupa_dl_get_prefix): New function.
48801
48802 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
48803 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
48804 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48805 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48806 (pupa_install_dos_part): Declared.
48807 (pupa_install_bsd_part): Likewise.
48808 (pupa_prefix): Likewise.
48809 (pupa_boot_drive): Likewise.
48810
48811 * include/pupa/types.h: Fix a typo.
48812
48813 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
48814 pupa_memmove.
48815 (pupa_memmove): Declared.
48816 (pupa_strcpy): Likewise.
48817
48818 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
48819 pupa_mod_init takes one argument, its own module.
48820 (pupa_dl_unload_unneeded): Declared.
48821 (pupa_dl_unload_all): Likewise.
48822 (pupa_dl_ref): Likewise.
48823 (pupa_dl_unref): Likewise.
48824 (pupa_dl_iterate): Likewise.
48825 (pupa_dl_init): Renamed to ...
48826 (pupa_dl_set_prefix): ... this.
48827 (pupa_dl_get_prefix): Declared.
48828
48829 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
48830 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
48831 unloaded.
48832 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
48833 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
48834
48835 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
48836 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
48837
488382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48839
48840 * util/i386/pc/pupa-setup.c (setup): Define the internal
48841 function find_first_partition_start at the top level, because GCC
48842 3.0.x cannot compile internal functions in deeper scopes
48843 correctly.
48844 (find_root_device): Use lstat instead of stat.
48845 Don't follow symbolic links.
48846 Fix the path-constructing code.
48847
48848 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
48849 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
48850 by a BLKGETSIZE ioctl first, because block devices don't fill
48851 the member st_mode of the structure stat on Linux.
48852 [__linux__] (linux_find_partition): Use a temporary buffer
48853 REAL_DEV for the working space. Copy it to DEV before returning.
48854 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
48855 buffer cache consistent.
48856 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
48857 strncmp. The previous value was merely wrong.
48858 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
48859
48860 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
48861 FAT size is 12. The previous value was merely wrong.
48862
48863 * kern/main.c (pupa_main): Don't split the starting message from
48864 newlines.
48865
48866 * kern/term.c (pupa_putchar): Put CR after LF instead of before
48867 LF, because BIOS goes crazy about character attributes in this
48868 case.
48869
488702003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48871
48872 * include/i386/pc/util/biosdisk.h: New file.
48873 * util/i386/pc/biosdisk.c: Likewise.
48874 * util/i386/pc/pupa-setup.c: Likewise.
48875
48876 * Makefile.in (INCLUDE_DISTFILES): Added
48877 include/pupa/i386/pc/util/biosdisk.h.
48878 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48879 directory util/i386/pc.
48880 (install-local): Added a rule for sbin_UTILITIES.
48881 (uninstall): Likewise.
48882
48883 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48884
48885 * util/misc.c (xrealloc): New function.
48886 (pupa_malloc): Likewise.
48887 (pupa_free): Likewise.
48888 (pupa_realloc): Likewise.
48889 (pupa_stop): Likewise.
48890 (pupa_putchar): Likewise.
48891
48892 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48893
48894 * include/pupa/util/misc.h (xrealloc): Declared.
48895
48896 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48897 macro.
48898 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48899 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48900
48901 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48902 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48903
48904 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48905 way should be implemented.
48906 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48907
48908 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48909 the size of NAME for safety.
48910 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48911 0x88.
48912
48913 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48914 (pupa_setup_SOURCES): Likewise.
48915
48916 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48917
489182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48919
48920 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48921 bunch of pushl's from pusha, because this destroys the return
48922 value.
48923
489242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48925
48926 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48927 This means that any missing prototypes could be fatal. Also, you
48928 must take care when writing assembly code. See the comments at
48929 the beginning of startup.S, for more details.
48930
48931 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48932 compilation mechanism.
48933 (pupa_chainloader_real_boot): Likewise.
48934 (pupa_biosdisk_rw_int13_extensions): Likewise.
48935 (pupa_biosdisk_rw_standard): Likewise.
48936 (pupa_biosdisk_check_int13_extensions): Likewise.
48937 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48938 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48939 (pupa_get_memsize): Likewise.
48940 (pupa_get_mmap_entry): Likewise.
48941 (pupa_console_putchar): Likewise.
48942 (pupa_console_setcursor): Likewise.
48943 (pupa_getrtsecs): Use pushl instead of push.
48944
48945 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48946 memory instead of the stack for a mmap entry, because some
48947 BIOSes may ignore the maximum size and overflow.
48948
48949 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48950
48951 * genmk.rb (PModule#rule): Compile automatically generated
48952 sources with module-specific CFLAGS as well as other sources.
48953
489542002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48955
48956 * configure.ac: Check ld.
48957 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48958 respectively, before checking endianness and sizes.
48959
48960 * Makefile.in (LD): New variable.
48961
489622002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48963
48964 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48965
489662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48967
48968 * Changelog: New file.
48969