]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* autogen.sh: Exclude unused libgcrypt files from translation.
[grub2.git] / ChangeLog
CommitLineData
bed06142
VS
12013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * autogen.sh: Exclude unused libgcrypt files from translation.
4
fb2666b5
VS
52013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Simplify few strings.
8
d22840ec
VS
92013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Mark few forgotten strings for translation.
12
e34092fd
VS
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
47cf82b4
VS
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
1eed0e6e
VS
242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * tests/priority_queue_unit_test.cc: New test.
27
c5b7697b
VS
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
5945c2f8
AB
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
fa292343
B
382013-05-05 Bean <bean123ch@gmail.com>
39
40 * grub-core/commands/testspeed.c: New command testspeed.
41
310d4214
VS
422013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Factor-out human-size printing.
45
85002bf3
VS
462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Agglomerate more mallocs to speed-up gfxterm.
49
22b06e96
VS
502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Speed-up gfxterm by slightly agglomerating mallocs.
53
b7c036bc
VS
542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
55
56 More video checks.
57
92323d1f
VS
582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Speed-up gfxterm by saving intermediate results in index+alpha
61 format.
62
0fb356a3
VS
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
44dea3f9
VS
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
14af86e4
VS
732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/normal/main.c: Fix freed memory dereference.
76
03f7c8c3
VS
772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
78
79 Fix several memory leaks.
80
c686014c
VS
812013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
84
0788a695
VS
852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
88
daf01d61
VS
892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
90
91 Fix test -a and -o precedence.
92 Reported by: adrian15.
93
82ae74d7
VS
942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
97
8cec7bd4
AB
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
aa73d688
VS
1032013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
106
c104b6f9
VS
1072013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
108
109 New series of tests for gfxterm and gfxmenu.
110
7391c4d5
VS
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
cff50118
VS
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
7c332bdc
VS
1222013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
125 descriptor.
126
a4f9a5ff
VS
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
b5a2114d
VS
1332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
136
a8905e8a
VS
1372013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Several fixes to ieee1275 and big-endian video.
140
813c1622
VS
1412013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Add missing exports on mips.
144
3f3e7326
VS
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
095accd1
VS
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
50361660
VS
1562013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
157
158 First automated video test (running videotest and comparing results)
159
cd0f6eec
VS
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
3f9634e5
VS
1652013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
166
167 Add few more tests.
168
583e5b64
VS
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
aa7bcb99
VS
1742013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
177
95ef1a54
VS
1782013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/partmap/amiga.c: Fix size of checksummed block.
181
46546fc5
VS
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
3476e0ef
VT
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
96f33fed
VS
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>
dc5a311a
VT
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
c53b4e67
VS
2032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
204
205 Unify more code in grub-install_header.
206
f7457fb2
VS
2072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
208
209 Add few new tests.
210
e2f27a8c
VS
2112013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Enforce disabling of firmware disk drivers when native drivers kick in.
214
ef9d8cd5
VS
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
f7bf6c31
VS
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
bdc4add8
VS
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
e9e46c9a
VS
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
0e90dee8
VS
2362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
239
e0aacf24
VS
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
3c0003c3
VS
2462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * docs/grub.texi: Add a comment about usefullness of nativedisk.
249
adb7d667
VS
2502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
253
7cd0df84
VS
2542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
255
256 New command `nativedisk'.
257
02adbb93
VS
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
9fb0fd4f
VS
2632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
266
bd69257a
VS
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
178c2764
VS
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
eadfad24
VS
2772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/commands/probe.c: Add missing grub_device_close.
280
9f73ebd4
VS
2812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * INSTALL: Document linguas.sh.
284
965fa829
VS
2852013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
286
287 Remove POTFILES.in and regenerate it in autogen.sh.
288
d417ddc4
VS
2892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Move --directory/--override-directorry to grub-install_header and unify.
292
f97ec546
VS
2932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/term/morse.c: Macroify dih and dah.
296
b2d7470c
PFS
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
141e2a78
VS
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
1dd70ebd
PFS
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
c796a107
VS
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
43168646
LD
3172013-04-27 Leon Drugi <eyak>
318
319 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
320 BSS clearing.
321
e7b8fd08
VS
3222013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Core compression test.
325
17f9fd29
VS
3262013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
327
328 Implement grub_machine_get_bootlocation for ARC.
329
dc2a6c8b
VS
3302013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
331
332 Improve AHCI detection and command issuing.
333
f25a2ba6
VS
3342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Fix pseries test.
337
a6393224
VS
3382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
339
340 Make 'make check' work on emu.
341
db99fbe8
VS
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
b24ca7cd
VS
3472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
350
63314aa4
VS
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
c1b00fff
VS
3562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * tests/pseries_test.in: New test.
359
f93e89ef
VS
3602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Add test to check that different boot mediums work.
363
c4b456d3
VS
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
5fe67f39
VS
3692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * configure.ac: Fix loongson conditional.
372
7f63a64f
VS
3732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
374
375 Enable mipsel-arc.
376
b04b5990
VS
3772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Add serial on ARC platform.
380
88d2f302
VS
3812013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
384 commit.
385
86eb23bc
VS
3862013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * tests/partmap_test.in: Add missing double semicolon.
389
eec3bb75
VS
3902013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * util/grub-mkrescue.in: Fix loongson filename.
393
e0810df3
VS
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
65a6b30b
VS
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
6aff0107
VS
4052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Make check work on mips-arc.
408
5e013e56
VS
4092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * util/grub-mkrescue.in: Alias sashARCS as sash.
412
d1989e2e
VS
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
1a25e72c
VS
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
a59a9826
VS
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
1a40f80c
VS
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
e343549c
VS
4332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
436
45fbd9a2
VS
4372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Add missing video ids to coreboot and ieee1275 video.
440
ab1440bd
VS
4412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * util/grub-mkrescue.in: Add mips-arc support.
444
cdeb8324
VS
4452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
448
8528c879
VS
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
17fca573
VS
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
d178788e
VS
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
fe4c3e7e
VS
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
ec2dd179
VS
4712013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
474
872dac83
VS
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
90ec4b7f
VS
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
f32555dd
VS
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
38649799
VS
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
aeace7f7
VS
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
4eafa175
AB
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
daaa64bd
VS
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
d0d2daa6
VS
5192013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * util/grub-mkrescue.in: Add GPT for EFI boot.
522
b193e100
VS
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
a0f8f3ac
VS
5282013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * build-aux/snippet: Add missing gnulib files.
531
284df0e2
AB
5322013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
533
534 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
535
740201f3
AB
5362013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
537
538 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
539
a7e03923
PJ
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
25fc51a8
VS
5472013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
548
549 Fix DMRAID partition handling.
550
88017d47
VS
5512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * tests/grub_cmd_date.in: Skip on sparc64.
554
fa7d914e
VS
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
cbe57a48
VS
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
21aecce0
VS
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
25092d29
VS
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
79451522 5752013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 5762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
577
578 Add option to compress files on install/image creation.
579
78b7d77b
VS
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
cc2fa5ec
VS
5852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
588
b49fe879
VS
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
5351da81
VS
5932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * tests/grub_cmd_date.in: Add missing exit 1.
596
c9d586ea
VS
5972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * tests/partmap_test.in: Skip on sparc64.
600
3f729741
VS
6012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
602
603 Support grub-shell on sparc64.
604
8ca86b3a
VS
6052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
606
607 Support mkrescue on sparc64.
608
aa1af9bb
VS
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
ac4fea79
VS
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>
87206f2c
VS
620
621 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
622 Inline name defines used only once.
623
fe22b071
VS
6242013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Fix memory leaks in ofnet.
627 Reported by: Francesco Lavra.
628
9d21381b
VS
6292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * docs/man/grub-glue-efi.h2m: Add missing file.
632
07aec23c
VS
6332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
636
67ab8353
VS
6372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Better support Apple Intel Macs on CD.
640
ba44ca6d
VS
6412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
642
643 Replace stpcpy with grub_stpcpy in tools.
644
bbdd6305
VS
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
8573d302
VS
6512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * util/grub-mkimage.c: Document memdisk implying --prefix.
654
d70dbab7
VS
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
51a4c3e3
AN
6602013-04-12 Aleš Nesrsta <starous@volny.cz>
661
662 Fix handling of split transfers.
663
92c8f58d
VS
6642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/net/http.c: Fix bad free.
667
b7d17a49
VS
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
a3d566d4
VS
6732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Disable partmap check on i386-ieee1275 due to openfirmware issues.
676
a936af56
VS
6772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * tests/util/grub-shell.in: Fix it on powerpc.
680
51212234
VS
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
a21eec9e
VS
6862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * docs/grub.texi: Update coreboot status info.
689
e3734b84
VS
6902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * tests/grub_cmd_date.in: New test for datetime.
693
f9d40055
VS
6942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * tests/partmap_test.in: Fix missing qemudisk setting.
697
dbc56d8f
VS
6982013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Support i386-ieee1275 grub-mkrescue and make check on it.
701
a79b8a15
VS
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
48f39bb4
VS
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
053cfcdd
VS
7132013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
714
715 Import new gnulib.
716
93cd84df
VS
7172013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Use ACPI shutdown intests as traditional port was removed.
720
f4b1fa4f
AB
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
49818a59
VS
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
9277a306
AB
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
d5e2a158
VS
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
18866643
AB
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
ca53deb8
AB
7472013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
748
749 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
750
d4c4b8e1
BH
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
47043f95
VS
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
a3216068
VS
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
21026747
AB
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
59624ca8
AB
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
1f44478c
FN
7782013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
779
780 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
781
eeada7b1
VS
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
132867de
VS
7872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * util/grub-mkfont.c: Prefer enum to #define.
790
de73de17
VS
7912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
794
1865baa7
VS
7952013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
796
797 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
798
ce7d92a9
VS
7992013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
800
801 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
802
52eab656
VS
8032013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
806
98b23b95
VS
8072013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * include/grub/bsdlabel.h: Use enums.
810
0467a5dd
VS
8112013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Move GRUB_CHAR_BIT to types.h.
814
16cc9f03
AB
8152013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
816
817 * docs/grub.texi: Document more user commands.
818
3152aecb
AB
8192013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
820
821 * docs/grub.texi: Document menuentry --id option.
822
c506fc30
FL
8232013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
824
825 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
826
aa428238
VS
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
efe0cdda
PJ
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
f75835bd
VS
8372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
838
839 Use TSC as a possible time source on i386-ieee1275.
840
2cd5ce6c
VS
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
c9625630
VS
8462013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * util/grub-setup.c (setup): Handle some corner cases.
849
be008941
VS
8502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
853
1a78d573
VS
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
db8ff59f
VS
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
91bf46b1
VS
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
a7b1d693
AB
8692013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
870
871 * util/grub-mount.c (fuse_init): Return error if fuse_main
872 failed.
873
31df9ad8
FL
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
07f392eb
VT
8792013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
880
881 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
882
9efd73ec 8832013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
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>
9efd73ec
VT
890
891 * grub-core/gfxmenu/view.c: Fix off-by-one error.
892
4985ddaa
VT
8932013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
894
895 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
896
8c3635ff
RS
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
74a35e69
RS
9022013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
903
904 * INSTALL: Mention xorriso requirement.
905
40f1c000
AB
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
e75fdee4
VS
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
33028f4c
CW
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
33871a10
VT
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
8990963a
VS
9332013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/disk/ahci.c: Give more time for AHCI request.
936
daae8f9e
VS
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
6a7fb94b
VS
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
ff99babd
VS
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
30d6b1b2
VS
9522013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
955 platforms.
956
6ccd0b31
VS
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
23c9cc04
VS
9622013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
965 platforms.
966
ce50dbd7
VS
9672013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Add new 'proc' filesystem framework and put luks_script into it.
970
d975e8d5
VS
9712013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
974 and qemu.
975
e73ba5e8
VS
9762013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
979
92750e4c
VS
9802013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Add ability to generate newc additions on runtime.
983
0ec45a68
VS
9842013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
987 description.
988
320abd43
VS
9892013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * po/POTFILES.in: Regenerate.
992
d7a6506e
VS
9932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/commands/verify.c (hashes): Add several hashes
996 from the spec.
997
8fe05def
VS
9982013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Slight improve in USB-related boot-time checkpoints.
1001
524e2766
VS
10022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/commands/boottime.c: Fix copyright header.
1005
cc19857a
VS
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
ef8810e9
VS
10112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Fix a conflict between ports structures with 2 controllers of
1014 same kind.
1015
e9dabdfa
VS
10162013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * include/grub/boottime.h: Add missing file.
1019
f6df57d2
VS
10202013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 Initialize USB ports in parallel to speed-up boot.
1023
d745dda7
VS
10242013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 Fix USB devices not being detected when requested
1027 due to delayed attach.
1028
e5a2dd7b
VS
10292013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1030
e744219b
VS
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
e5a2dd7b
VS
1036 descriptor to just receive it as argument rather than endpoint
1037 address.
1038
5dd6f587
VS
10392013-03-19 Aleš Nesrsta <starous@volny.cz>
1040
1041 Better estimate the maximum USB transfer size.
1042
2f1071d5
VS
10432013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 Resend a packet if we got the wrong buffer in status.
1046
46ecfc49
VS
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
ea811130
VS
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
d2789cf0
VS
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
a9c94590
VS
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
84cfe81b
VS
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
21344ef6
VS
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
3f2b4d1a
VS
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
3dac5878
VS
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
5341c0fb
VS
10892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1092
fc3ff2a2
VS
10932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1096 function.
1097
81455e8e
AB
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
efd4f117
NZ
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
e11645f4
NZ
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
77468368
VS
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
f6b58fe5
VS
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
19ce697d
VS
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
73b5d90f
VS
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
cb758e96
VS
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
3188131f
VS
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
e42b2514
VS
11472013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1150 i386-ieee1275.
1151
83e1a1a1
VS
11522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1155
1d5a880f
VS
11562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1159
6e4146c4
VS
11602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 Move to more hookless approach in IEEE1275 devices handling.
1163
99fcda8a
VS
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
73bf57e2
VS
11692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 Make elfload not use hooks. Opt for flags and iterators instead.
1172
7f8c105f
VS
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
396d4091
VS
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
74a27421
VS
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
b46d4213
VS
11922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/fs/hfs.c: Remove nested functions.
1195
e114c3cc
VS
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
f9b7d780
VS
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
ca9c2608
VS
12072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1210 function.
1211
5d983f5f
VS
12122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/gentrigtables.c: Make tables const.
1215
3056d3e7
VS
12162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Remove nested functions from videoinfo iterators.
1219
e2303774
VS
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
f42e3a2f
VS
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
be174e5e
VS
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
0789b672
VS
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
005a9c32
VS
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
ff2b3cd9
VS
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
4fc40ff8
VS
12532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/fs/jfs.c: Remove nested functions.
1256
be42d97a
VS
12572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/fs/minix.c: Remove nested functions.
1260
99373ce4
VS
12612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/fs/iso9660.c: Remove nested functions.
1264
5aec2afe
VS
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
6c69e691
VS
12702013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * util/grub-fstest.c: Remove nested functions.
1273
43c91882
VS
12742013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/loader/machoXX.c: Remove nested functions.
1277
4eb8b756
CW
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
df6da5a5
AB
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
21aecde5
AB
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
f1a19118
AB
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
958bfd20
AB
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
b7b78edb
AB
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
28d468d6
VS
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
d55ffb02
VS
13222013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Implement new command cmosdump.
1325
b5ea6ce0
VS
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
cc0e476f
VS
13392013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1342
c5dbdc33
VS
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
3f078c0f
VS
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
66a93674
VS
13532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 Implement USBDebug (full USB stack variant).
1356
c9f0c134
VS
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
cfe1288b
VS
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
e42b9969
VS
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
cf94fd62
VS
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
f81ef4b5
AB
13772013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1378
1379 * util/grub-install.in: change misleading comment about
1380 device.map creation
1381
af18fdb4
VS
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
08bcec50
M
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
7782b8a6
CW
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
e661c180
VS
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
1c22ca9a
VS
14142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1417 invariants.
1418
d44892fe
CW
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
5fdbaed1
CW
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
4250985a
VS
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
7d8848f3
VS
14422013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1443
bc136973 1444 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1445
14462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1447
bc136973
VS
1448 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1449 asterisk.
7d8848f3 1450
ed12a003
CW
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
6a0db449
CW
14562013-01-21 Colin Watson <cjwatson@ubuntu.com>
1457
1458 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1459 parameter declarations.
1460
ccd86b21
VS
14612013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1464
822b726b
VS
14652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Improve spkmomdem reliability by adding a separator between bytes.
1468
115c2cc1
CW
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
fc524edf
CW
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
53d3e4e3
CW
14842013-01-21 Colin Watson <cjwatson@ubuntu.com>
1485
1486 * docs/grub.texi (Multi-boot manual config): Fix typo for
1487 "recommended".
1488
c821711f
LL
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
6a0debbd
CW
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
f41e08db
AB
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
77529e0f
LL
15052013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1506
1507 * include/grub/elf.h: Update ARM definitions based on binutils.
1508
b879aa7b
VS
15092013-01-20 Aleš Nesrsta <starous@volny.cz>
1510
1511 Split long USB transfers into short ones.
1512
8eb8284d
AB
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
08dad2dc
VS
15182013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * util/grub-script-check.c (main): Uniform the error message.
1521
6c724b85
CW
15222013-01-20 Colin Watson <cjwatson@ubuntu.com>
1523
1524 Remove nested functions from ELF iterators.
1525
25239370
CW
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
6c0314d6
CW
15522013-01-20 Colin Watson <cjwatson@ubuntu.com>
1553
1554 Fix typos for "developer" and "development".
1555
600dc5f1
VS
15562013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 Add license header to spkmodem-recv.c.
1559
17334a6b
VS
15602013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Rewrite spkmodem to use PIT for timing. Double the speed.
1563
7d462559
VS
15642013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 Add new command pcidump.
1567
b78d6c32
VS
15682013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 New terminal outputs using serial: morse and spkmodem.
1571
34f71cb8
VS
15722013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Improve bidi handling in entry editor.
1575
4542e71b
VS
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
09fd6d82
CW
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
d0d4b8a0
CW
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
22099030
VS
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
4a9950ec
VS
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
adcc6020
VS
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
a4528937
CW
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
ca3a7446
CW
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
f8e98fee
VS
18032013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/commands/verify.c: Mark messages for translating.
1806
055b36b6
VS
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
f7ff879b
VS
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>
4d7219f9
VS
1818
1819 * autogen.sh: Do not try to delete nonexistant files.
1820 * util/import_gcrypth.sed: Add some missing header removals.
1821
01323d49
CW
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
5e3b8dcb
VS
18472013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Import gcrypt public-key cryptography and implement signature checking.
1850
535714bd
VS
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
3e4f3566
VS
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
4dedb13f
VS
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
f8861eaf
CW
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
86065b0a
CW
18812013-01-07 Colin Watson <cjwatson@ubuntu.com>
1882
1883 * docs/grub.texi (grub_cpu): New subsection.
1884 (grub_platform): Likewise.
1885
c6f1e92f
VS
18862013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1889
f797ec85
VS
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
033d0b4b
VS
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
21d1b9a0
VS
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
10ca8645
VS
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
a4c3ed4c
VS
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
0b716507
YS
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
00c05e22
VS
19272013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * configure.ac: Extend -Wno-trampolines to host.
1930
dadddb76
VS
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
54ce53ca
CW
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
8912efca
CW
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
c3fc8394
CW
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
45d26abb
CW
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
971dd2c6
CW
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
5c67ea6c
CW
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
33a68ac6
CW
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
608b647a
CW
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
fd49ceb3
CW
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
7024b3c0
CW
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
e3501b13
VS
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
b40c88a9
VS
20542012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * docs/grub.texi (Network): Update instructions on generating netboot
2057 image.
2058
ce96d01c
VS
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
0f596201
PFS
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
600d5bdb
AB
20692012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2070
2071 * util/grub-install.in: Remove stale TODO.
2072
64ebd2f4
PFS
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
74b2fe3e
DTB
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
969b804f
VS
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
b9f5ebd6
VT
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
258f43b7
VS
20942012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * util/getroot.c (convert_system_partition_to_system_disk): Support
2097 nbd disks.
2098
cc1ce5f9
VS
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
e77a16ca
VS
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
d9c48c7b
VS
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
2f9f40ba
LL
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
48ff0889
PFS
21272012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2128
2129 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2130
03711240
GS
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
a31b11bd
CJ
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
e8a5d5d4
CW
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>
39525c22
CW
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
288c757d
CW
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
0d35da3f
CW
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
b78c3127
VS
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
473959f0
CW
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
794c8c33
CW
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
86d08fdb
CW
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
735abf54
CW
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
140acd3c
VS
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
7ddffdad
VS
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
4e092454
VS
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
735abf54 22322012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
2233
2234 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2235 from comment.
2236
dfd39dbd
CW
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
3bfa763c
VS
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
250e475b
VS
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
592fd0e4
VS
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
801a3027
BG
22692012-09-10 Benoit Gschwind <gschwind>
2270
2271 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
2272 (devs): Add devpath_8.
2273
c5052c81
PJ
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
8e832f71
JS
22832012-09-05 Jiri Slaby <jslaby@suse.cz>
2284
2285 * configure.ac: Add SuSe path.
2286
f0f55752
CW
22872012-09-05 Colin Watson <cjwatson@ubuntu.com>
2288
2289 * NEWS: Fix typo.
2290
ecadc4c2
CW
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
64498f25
VS
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
9cc836a2
VS
23022012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
2305 warnings.
2306
bcfcea01
VS
23072012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
2310
a4099485
VS
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
265c162a
CW
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
3d171e95
CW
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
f2c2503e
CW
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>
dd77d2be
CW
2335
2336 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2337 gone.
2338
ab2163d5
CW
23392012-09-04 Colin Watson <cjwatson@ubuntu.com>
2340
2341 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2342 grub-sparc64-setup.
2343
ce938140
GS
23442012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2345
2346 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2347
529f58a5
GS
23482012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2349
2350 * po/POTFILES.in: Regenerated.
2351
16cf79e9
GS
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
39b27f1e 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
a885261b
VS
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
7bd29c01
VS
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
ac625d8f
VS
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
e73bb801
VS
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
e81db8b5
VS
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
d187a1c3
VS
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
91a05f64
VS
24072012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2410
6af96df7
VS
24112012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/lib/legacy_parse.c: Support clear and testload.
2414
4d569e12
VS
24152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2418
073b57bb
VS
24192012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2422
a706f4cc
VS
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
e7850aa9
VS
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
35692881
VS
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
c35fc5bd
VS
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
5f91f701
VS
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
0c4f85f6
VS
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
f923ad22
VS
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
d22029ba
VS
24922012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * NEWS: Add 2.00 entry.
2495
58eee08f
VS
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
c59bdff7
VS
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
5e6a440a
YB
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
73a68bcb
VS
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
392a603b
VS
25182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2521
42d0867f
VS
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
489509f4
VS
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
9f3fc883
VS
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
54853fd7
VS
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
4dc02ddf
VS
25512012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2554
c50c867d
VS
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
5f92c8a1
VS
25682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2571 signedness.
2572
e9e6f111
VS
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
754ad9eb
VS
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
315654c2
VS
25842012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2587
fb022c79
VS
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
8645f72c
VS
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
36498496
VS
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
0b5ea6b8
VS
26072012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2610
650cfcfe
GS
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
8a4d6a44
VS
26182012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * configure.ac: Bump to 2.00~rc1.
2621
2fb97ed3
VS
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
1fa097dc
VS
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
c890ba78
VS
26342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
2637
0f92dca7
VS
26382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2641
3988c4a0
VS
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
9e86d4c5
VS
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
ed24c312
VS
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
d1718e7d
VS
26692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
2672 subvolumes.
2673
982f1909
VS
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
bd407d6e
VS
26932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/net/tftp.c: Decrease stall to 50 packets.
2696
c7564b8e
VS
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
a3706162
VS
27012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * tests/util/grub-shell.in: Fix a typo.
2704
b27069e0
VS
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
6b9cfac6
VS
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
f35abd81
VS
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
0e7ec820
VS
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
9d611a31
VS
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
418f45ab
VS
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
44a0efc1
VS
27532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
2756
531e2241
VS
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
cde393c9
VS
27652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2768 blocks.
2769
538478d0
VS
27702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
2773 increment.
2774
9b55efe0
VS
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
9eb832c3
VS
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
d6b7c7c9
VS
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
67caf9eb
VS
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
43657558
VS
28032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2806
eb6d0dd3
VS
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
31230544
VS
28122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2815 Escape commas.
2816
918a2517
VS
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
9f1d654e
VS
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
52f0f643
VS
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
e169a180
VS
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
48556879
VS
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
0494408e
VS
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
cc35fe8f
VS
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
970a0a09
VS
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
3e19bf87
VS
29032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2906
c62d1a0c
VS
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
ef76bec3
VS
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>
555c786d
VS
2918
2919 * po/POTFILES.in: Regenerated.
2920
70aaf305
VS
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
10400f0b
VS
29402012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * docs/grub.texi (Multi-boot manual config): New section.
2943
ba67e2c6
VS
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
377c98cb
VS
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
eac49cff
VS
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
0321415e
VS
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
3f2bdd8f
VS
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
29a049c9
VS
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
4abde346
VS
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
61f1d93b
VS
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
a09eb541
VS
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
505b3c9b
VS
30172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3020
cbe0b4ef
VS
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
3006e981
VS
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
4e5a96b0
VS
30312012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3032
7da036bb
VS
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.
4e5a96b0
VS
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
5561c22d
VS
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
96f7e60e
VS
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
3e747239
VS
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
f695e99a
VS
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
9e5e66d1
VS
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
a1767404
VS
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
34b2bced
VS
31342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3137
5e619f40
VS
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
c8ca5855
VS
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
7183452c
VS
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
f57c84cd
VS
31682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * tests/grub_script_expansion.in: Skip network protocols.
3171
ecfc6207
VS
31722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3175
8d03d284
VS
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
61c42af0
VS
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
08fd1291
VS
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
08dafeea
VS
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
9068fdcf
VS
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
f4d5820f
VS
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
3d2de9a7
VS
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
c5c81ff9
VS
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
08a14e0b
VS
32332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * tests/util/grub-shell.in: Trim firmware output on EFI.
3236
cede3ca3
VS
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
558d3a60
VS
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
60fde14d
VS
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
24bd8838
VS
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
7bc06a49
VS
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
49cea015
VS
32742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
3277 caches.
3278
8dcbe03b
VS
32792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
3282
5b258735
VS
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
37ba07eb
VS
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
070038f8
VS
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
004be2cd
VS
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
b1622487
VS
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
b7b4ab33
VS
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
5e3535ae
VS
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
c21b17e6
VS
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
bf293dec
VS
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
81f6ef0e
VS
33462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * util/grub-mkimage.c: Disable -Wcast-align.
3349
7284143a
VS
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
b99f3e00
VS
33552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3358
944f752d
VS
33592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * util/grub-probe.c (escape_of_path): Fix double free.
3362
6cce6f38
VS
33632012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/commands/videoinfo.c (hook): Show pitch.
3366
1e1eb50e
VS
33672012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3370
1c715b5a
VS
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
007ae52d
VS
33762012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3379
4557a36d
VS
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
efbeefe9
VS
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
15a940bb
VS
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
6e5efd60
VS
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
0d3d137e
IS
34082012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3409
3410 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3411
45dbe300
VS
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
6d8db947
VS
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
de89d338
VS
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
00d41dee
VS
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
f95d1f11
VS
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
6297e197
VS
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
8a7ecad3
VS
34442012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3447
2b34f944
VS
34482012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * configure.ac: Bump to beta6.
3451
684aef11
CW
34522012-05-31 Christer Weinigel <christer@weinigel.se>
3453
3454 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3455
05b0bb91
VS
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
bda36bfa
CW
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
e12bcb1c
PFS
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
bcc75fb3
PJ
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
f19cb95e
VS
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
a4e5ca80
VS
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
ddb73558
VS
35182012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * Makefile.util.def: Remove -Wno-format.
3521 * grub-core/Makefile.core.def: Likewise.
3522
1c4afb60
VS
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
941e3a6d
VS
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
b105df76
VS
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
84e1569e
VS
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
130c0f77
VS
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
6fd0b143
VS
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
0af1751d
VS
35552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3558
176d5f7d
VS
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
7de5e20a
VS
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
f7143efe
VS
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
e6ad0555
VS
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
4a5a3c4a
VS
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
037f6d90
VS
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
f7194551
VS
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
85a730ca
VS
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
40e80b94
VS
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
9da59c32
VS
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
2787ae53
PJ
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
526ef13d
VS
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
20dd511c
VS
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
1d80c62a
VS
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
d336f652
VS
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
8b43f587
VS
36642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
3667
80a3dc3f
VS
36682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
3671
47e297d4
VS
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
df042ccb
VS
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
fc977f48
VS
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
f3250e5f
VS
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
fd8ed4c5
VS
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
4ce776d2
MG
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
683031ba
VS
37152012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * gentpl.py: Remove error disabling for objconv.
3718
c2deb798
VS
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>
77ceedb6
VS
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
d6b1fd36
VS
37322012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
3735
0a9aa0f6
VS
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
8360e159
VS
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
501b9e4b
VS
37462012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * configure.ac: Fix djvu font detection.
3749
7026b0e2
VS
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
c2a51ade
VS
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
8f803a5d
JU
37602012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
3761
3762 * docs/grub-dev.texi: Remove dot from .png.
3763
13c6353f
VS
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
4cf6be1b
VS
37742012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
3777
937d1c44
VS
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
021d90ec
VS
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
967b2b64
VS
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
34274d02
JU
37942012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3795
967b2b64
VS
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.
34274d02 3800
dcaaae9d
BH
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
7086ad52
VS
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
37ed2c9b
VS
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.
7086ad52 3821 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 3822
a4469c88
VS
38232012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3826
4e461486
VS
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
aa78f5c4
VS
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
197626b5
VS
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
8ad3f28c
VS
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
0c6c324e
VS
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
c6666ba6
VS
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
e28e5fe5
VS
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
5fc23ab2
VS
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
79dbc21c
VS
38722012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * util/grub.d/20_linux_xen.in: Add missing line.
3875
d2fcfb0c
VS
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
5560e9d6
VS
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>
bfb320c6
VS
3892
3893 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3894 a bad FS.
3895
5560e9d6 38962012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
3897
3898 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3899 (grub_udf_read_symlink): Handle read_string failure.
3900
5eae3175
VS
39012012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3904 comment.
3905
c1ad82db
VS
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
33eca6e0
VS
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
57f4a70b
VS
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
38c8ee20
VS
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
2e57f28f
VS
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
fe8c2f11
VS
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>
f1a6254c
VS
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
690434e8
VS
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
742d2be6
VS
39722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3975 handling.
3976
3244fe96
VS
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
8aeb1837
VS
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.
3244fe96 3986 All users updated.
8aeb1837 3987
9133fd05
VS
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
6d521c5b
VS
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
21b82e17
VS
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>
319621d0
VS
4014
4015 * configure.ac: Bump to beta5.
4016
f417ed04
VS
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
607d282b
VS
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
ae16024d
VS
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
eea1e26e
VS
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
df760f77
VS
40542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * util/grub-install.in: Ignore empty devicetree directory.
4057
5efb817d
B
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
668ea6d2
VS
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
1739b1fe
VS
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
6ae485aa
VS
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
d20fab84
VS
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
e87b10f5
VS
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
7dceec9b
VS
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
2f48221f
VS
41172012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4120
dacd85cf
VS
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
24e9a854
VS
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
62ace64d
VS
41462012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4149
83b2e89c
VS
41502012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4153
75ccaea3
VS
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
1b8463f2
VS
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
4f8e368f
VS
41762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * util/grub-install.in: Fix handling of prefix containing spaces.
4179
6f5d5ee8
VS
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
ce41ab7a
VS
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
49717bf4
VS
41992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * include/grub/pci.h: Move enums into no-asm part.
4202
0a308f64
VS
42032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4206
1796965f
ST
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
4e9b2819
VS
42122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4215
076aeb50
VS
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
19424d94
VS
42212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * docs/grub.cfg: Update.
4224
ebb73076
VS
42252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * docs/grub.texi (PXE): Remove not present variables.
4228
9a1b669c
VS
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
d38bf7d3
VS
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>
11858300
VS
4241
4242 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
4243 * grub-core/kern/emu/hostdisk.c: Likewise.
4244
e5e4ca48
ST
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
56bb5dd5
VS
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
9e8bc27a
VS
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
aa01499d
VS
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
57006035
VS
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
9d34bb85
MG
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
01aab997
VS
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
fbd8dca6
VS
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
dab797f4
VS
43042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
4307
1516bfb4
VS
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
a3a0eace
VS
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
c82f16c1
VS
43292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4332
59fd2aac
VS
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
3b4afb4d
VS
43382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4341
f45c794a
VS
43422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4345
f25cecbd
VS
43462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4349
bb9a34e8
VS
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
dc478aea
VS
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
8db10f47
VS
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
bcb288ed
VS
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
a626fdd7
VS
43762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4379
b2f68477
VS
43802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4383 commit.
4384
ba15b2af
B
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
a188012e
VS
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
f0a53ed2
VS
43962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4399
5ed554f0
VS
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
ddc58357
VS
44092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4412
e3282399
VS
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
ee618bd4
VS
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
bdf88864
B
44282012-04-29 Bean <bean123ch@gmail.com>
4429
4430 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4431 allocation.
4432
32745f51
MK
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
bc95c8c0
VS
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
147fbcab
VS
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
0f42c889
VS
44482012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4451 handling.
4452
4a3594c9
VS
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
5cb53879
VS
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
b282dfe5
VS
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
daa59f47
VS
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
986748ce
VS
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
a20f6ad0
VS
44792012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * util/grub-mkrescue.in: Fix locale directory.
4482
385f9abb
VS
44832012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * grub-core/kern/emu/hostdisk.c (map): Make static.
4486
1c557d30
B
44872012-04-23 Bean <bean123ch@gmail.com>
4488
4489 * util/grub-fstest.c (fstest): Add missing break.
4490
524b5d3a
ST
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.
fe4824e9 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.
524b5d3a 4500
9a06490c
VS
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
48143d96
VS
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
ebbd24f3
VS
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
56f7aa1e
VS
45292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * configure.ac: Bump to beta4.
4532
9c815e01
VS
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
59e2651a
VS
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
54e03cfc
VS
45432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4546
81092a75
MK
45472012-04-18 Mads Kiilerich <mads@kiilerich.com>
4548
4549 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4550
f8315e14
MG
45512012-04-18 Mike Gilbert <floppym@gentoo.org>
4552
4553 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4554
1501ac21
B
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
cb7f944e
VS
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
b72d44a1
VS
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
33d918b8
VS
45772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * util/grub-install.in: Fix an automatic target detection bug.
4580
c6ca973d
VS
45812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * util/grub-install.in: New option --efi-directory.
4584
b41be562
VS
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
e0595a73
VS
45962012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4599
4ed80652
VS
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
56008077
VS
46082012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * util/grub-setup.c (setup): Fix partition handling and blocklist
4611 check.
4612
ee520775
VS
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
16fc9293
VS
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
9bab65c4
VS
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
3c491b47
VS
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
851ffada
VS
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
491c57a8
VS
46592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
4662 warning.
851ffada
VS
4663 * grub-core/fs/bfs.c (hop_level): Likewise.
4664 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 4665
756773df
VS
46662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/lib/adler32.c: Recode due to license unclearness.
4669
fd556a96
VS
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
9f9d3f69
VS
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
561ec77e
VS
46912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * linguas.sh: Remove autogenerated *.po.
4694
7ec2b021
VS
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
a88f3270
VS
47012012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * po/README: Exclude ko.po due to disclaimer problems.
4704
d61357ce
VS
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
505e41dc
VS
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
e44092db
VS
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
9b83956a
VS
47262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * configure.ac: Increase version.
4729
da0d5b3f
VS
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
ac66b453
VS
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
0a2d5a82
VS
47622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
4765
d1625889
VS
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
6d36a236
VS
47722012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4775
9576977e
VS
47762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 4779 after 29th of February.
9576977e 4780
d73ff15d
VS
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
bbb39a45
AB
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
354e0af7
VS
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
4e75f21c
VS
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
25581802
AB
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
08fbf92e
VS
48192012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * util/grub-install.in: Fix nvram call for PreP.
4822
5d1182a6
VS
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
3f8cdd90
VS
48282012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4831
51006716
CW
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
e1bd676b
VS
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
22e6a774
VS
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
3c0eae66
VS
48662012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4869
b6cf74c9
VS
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
83c93b9c
VS
48752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * util/grub-mkconfig_lib.in: Fix typo.
4878
ac6fd218
VS
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
ba287dd8
VS
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
d2d58d0a
VS
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
0382d9bb
VS
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
d83ff9f9
VS
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
2282da4a
VS
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
0ae4f0bd
VS
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
546fbe9b
VS
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
9fdb2d7b
VS
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
1a1ac4f6
VS
49452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4948
b63d89b6
VS
49492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * configure.ac: Bump up the version to beta2.
4952
17f38c0f
VS
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
8e56f870
VS
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
82f6d455
WB
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
1ecd61a4
VS
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
14361ee8
VS
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
922aabf3
VS
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
ec316771
VS
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
0f021838
VS
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
1039c8eb
VS
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
6dd412cd
VS
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
3fd8bae5
VS
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
7eea1671
RL
50422012-03-10 Richard Laager <rlaager@wiktel.com>
5043
5044 * util/grub.d/10_linux.in: Fix ZFS root passing.
5045
e8e0566b
VS
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
1acc5b1f
VS
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
35d70620
VS
50602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * util/grub-editenv.c (options): Gettextize command summaries.
5063
c9eb96b5
VS
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
1f493136
VS
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
6d790129
VS
50742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5077
005f46c9
VS
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
c8f778a0
VS
50832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5086
de1e64eb
VS
50872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5090
c6d54211
VS
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
dd390777
VS
50962012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5099
5fd1c522
VS
51002012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5103 message.
c6d54211 5104 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 5105
fae01f6c
VS
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
292fdaff
VS
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
ecdbae77
VS
51182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5121
52bfedfa
VS
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
55b20e58
VS
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
fda9d101
VS
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
6a0295e2
VS
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
807fb77c
VS
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
61ac50ba
VS
51532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5156
abdd26dd
VS
51572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * util/grub-install.in: Add missing dot at the end of sentence.
5160
6e69da9c
VS
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
4a929343
VS
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
bb51c6c6
VS
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
b2b149cb
VS
51892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5192
c7c080ad
VS
51932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 5196 Reported by: David Prévot.
c7c080ad 5197
f2e243c0
VS
51982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5201 description.
5202
09963c76
VS
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
a50514a8
VS
52082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5211
4650daec
VS
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>
97ebda9b
VS
5218
5219 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5220 without argument.
5221 * util/grub-mount.c (options): Likewise.
5222
bbc5a342
VS
52232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5226
ef292a87
VS
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
0fc19bd0
VS
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
d95862ef
VS
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
b7308f90
VS
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
559dc587
VS
52592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * configure.ac: Bump up the version to beta1.
5262
1a11761f
VS
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
24539abd
VS
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
32bd735b
VS
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
1a2fd1e6
VS
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
90eeab76
VS
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
5ad1be82
AV
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
cb055286
HE
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
93b1cd79
VS
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
0cdc126c
VS
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
d9bef9bc
VS
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>
0d31b7df
VS
5353
5354 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5355 "scope" with "body".
5356
7c8d0ce7
VS
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
49de079b
VS
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
aff05d45
MG
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
3935dde2
MG
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
32107ec0
VS
54152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * util/grub-install.in: Load efivars unconditionally.
5418
e70a2c50
VS
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
8f9cace1
VS
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
8f95d002
VS
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
805a8dcc
VS
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
40211ab8
VS
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
0c7d99c7
VS
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
e7d2559b
VS
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
49ce9e50
VS
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
e4b791fa
VS
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
fd1265cb
VS
55202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * util/grub-mkstandalone.in: Remove confusing leftover print.
5523
8822a8a0
VS
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
937fd0cc
VS
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
1bab1ae3
VS
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
ef023e42
VS
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
48afcb75
VS
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
88d51eff
VS
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
17edc2ba
VS
55832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/kern/i386/pc/startup.S: Define __start.
5586
ad5518d7
VS
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
9e95e1bf
VS
55922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5595
9cc3ee5c
VS
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
49e08a06
VS
56122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * po/Rules-swiss: Fix header comment.
5615
3809cb41
AV
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
fa6ec573
VS
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
22899b9c
VS
56272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * gentpl.py (kernel): Rewrite Apple part.
5630
a132afc3
VS
56312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * include/grub/kernel.h (FOR_MODULES): Check module magic.
5634
9d742bd4
VS
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
f04a9a21
VS
56412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * configure.ac: Fix a typo in previous commit.
5644
46cf439c
VS
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
c4c48c54
VS
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
31a12124
VS
56572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/genmod.sh.in: Rewrite the Apple part.
5660
4f3aa1af
VS
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
7bd8b0c7
VS
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
97304d7c
VS
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
fb883812
VS
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
a121c964
VS
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
c66d6410
VS
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
dfc8aeb0
VS
56972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * configure.ac: Restore CFLAGS after efiemu check.
5700
403e25a5
VS
57012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
5704 Apple bug.
5705
382775d1
VS
57062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
5709
6fd4e6e4
VS
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
bea359d6
VS
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
32eb6ee1
VS
57222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/disk/diskfilter.c (read_segment): Initialise err
5725 before loops.
5726
e8377389
VS
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
8cb17de7
VS
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
595717e6
VS
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
c4b7e588
VS
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
59824957
VS
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
70115b99
VS
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
56733740
VS
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
43481481
VS
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
3cb38f01
VS
57692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * util/grub-mkimage.c (generate_image): Silence spurious warning.
5772
d9dbf11e
VS
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
0c42a45d
VS
57782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5781
46c34eb0
VS
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
99ce1597
VS
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
ebd17d6f
VS
58212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5824
2702b4e4
VS
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
cf1adfdf
VS
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>
7acd2ae1
VS
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
cf1adfdf 58582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
5859
5860 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5861
541d92e9
VS
58622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * configure.ac: Bump to 2.00~beta0.
5865
7931dddf
VS
58662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5869 missing initialisation.
5870
f1b16fa3
VS
58712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5874
83ddae23
VS
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
dc693fe6
VS
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
5a6e39c2
VS
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
6c21f5d7
VS
59022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5905
cfe456dc
CW
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
e3c78337
CW
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
984b973f
VS
59512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-install.in: Clarify strings.
5954 Fix source dir check.
5955
f122e0d6
RL
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
071114bb
VS
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
817e6abc
RL
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
897b7419
RL
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
a414bd15
RL
59772012-02-27 Richard Laager <rlaager@wiktel.com>
5978
5979 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5980 unescape.
5981
30ac48c4
VS
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
53f13848
VS
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
90cb2803
VS
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
b9136427
VS
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
c36e5cd1
VS
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
584b2f8a
VS
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
5a0dc6fb
VS
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
786aff6e
VS
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
49017b17
VS
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
c5988629
MG
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
e33f8d69
MG
60872012-02-27 Matthew Garrett <mjg@redhat.com>
6088
6089 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6090
fb312cd9
VS
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
7134247c
VS
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
6a313124
VS
61022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * util/grub-mknetdir.in (grub_prefix): Removed.
6105 (subdir): Use @bootdirname@ and @grubdirname@.
6106
2311c5ca
VS
61072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6110
7d5d60f7
VS
61112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * po/POTFILES.in: Regenerated.
6114
8151bc82
VS
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
b4a6a533
VS
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
668f304f
VS
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
665f2341
NP
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
8151bc82 61402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
6141
6142 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6143 pkglibrootdir.
6144
e4c498a1
MG
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
1e9a9a3f
VS
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
036985b8
VS
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
d5534665
VS
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
10133b5f
VS
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
8e307a62
VS
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
a4c65f34
VS
62582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/kern/i386/realmode.S: Remove useless align.
6261
d87893d5
VS
62622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * include/grub/dl.h (grub_dl_load_file): Don't export.
6265
50159add
VS
62662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
6269 grub_dprintf.
6270
b2582b84
VS
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
e2a83395
VS
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
e7d2a906
VS
62882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
6291
6cf1363b
VS
62922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 6295 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 6296
eece3349
VS
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
94f064b4
VS
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
27317084
VS
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
47b40053
VS
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
2b343101
VS
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
ff27c3dd
LK
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.
4cebfa1a 6372 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
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>
585031cb
VS
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
ff27c3dd 63882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
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
ff27c3dd 63982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6399
6400 * gentpl.py: Remove obsolete pkglib_DATA handling.
6401
ff27c3dd 64022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
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
ff27c3dd 64182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
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
ff27c3dd 64262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
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.
47454da5 6438 insmod all_video in load_video if available.
22c7ce85 6439
ff27c3dd 64402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6441
6442 Another round of string clarification and adding TRANSLATORS comments.
6443
ff27c3dd 64442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6445
6446 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6447
ff27c3dd 64482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
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
ff27c3dd 64552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6456
6457 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6458 trailing newline implicitly. All users updated.
6459
ff27c3dd 64602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
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
ff27c3dd 64882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6489
6490 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6491 name as if it was an alias.
6492
114076ef
VS
64932012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/commands/lsacpi.c (options): Fix typo.
6496
6a656b0e
VS
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
1e3f8ae8
VS
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
ed167a80
VS
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
6753c0ec
VS
65232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * util/grub-install.in: Fix usage of wrong device for PreP install.
6526
4e27343f
VS
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
697f18b0
GS
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
274416e8
VS
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
b3e08622
VS
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
fe42ce09
VS
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
72f1d065
DO
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
c5884973
DO
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
17d73325
VS
66362012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * util/grub.d/00_header.in: Add missing export theme.
6639
dbebaf92
VS
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
3d68bffb
VS
66462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * conf/Makefile.common (grubdatadir): Removed.
6649 (Makefile.am): Move eveything grubdata to pkgdata.
6650
4b59234d
VS
66512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/commands/acpihalt.c (get_sleep_type):
6654 Remove unused variable.
6655
463dcadc
VS
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
e5b90c82
VS
66692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * po/POTFILES.in: Regenerate.
6672
2a704ca9
VS
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
84f9d341
VS
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
d46683f9
VS
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
c44866b2
VS
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
96790539
VS
66952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
6698
1ba7e295
VS
66992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
6702
21ffe8f1
VS
67032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * util/bin2h.c (usage): Add missing attribute noreturn.
6706
0ccb6b3c
VS
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
b00d7fb6
VS
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
9d369087
VS
67222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
6725 and -Wunused-result.
6726
af0250d9
VS
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
aad32b14
VS
67322012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
6735
ac96441c
ST
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>
80a71213
VS
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
ac96441c 67532012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
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
ac96441c 67602012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
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
e51b5666
VS
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
d9a62292
VS
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
77c9182f
VS
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
edb13cf9
VS
67882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6791 GRUB.
6792
a9e9dc7c
VS
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
b4ba8e02
VS
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
dded5540
VS
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
0cf69874
VS
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
59bfe502
VS
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
db5fc596
VS
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
e4b7f404
VS
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
e7b02f9e
VS
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
0331e102
VS
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
306fc074
VS
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
794d8ef2
VS
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>
f991dd3c
VS
6866
6867 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6868
794d8ef2 68692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
6870
6871 Improve string. Gettextize.
6872
78dde88e
VS
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
4786a90f
VS
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
0b6225bd
VS
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
b055f8f6
VS
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
b77c2fb7
VS
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
e3ec28ab
VS
69112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * gentpl.py: Add missing license header.
6914 * docs/grub.texi: Update copyright year.
6915
c8d9ead6
GS
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
ebcecdf1
VS
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
37bb97fe
VS
69742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6977 address.
6978
29a3550b
VS
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
dfdffd0d
VS
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
102fae4a
VS
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
7e94d044
VS
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
5ebd9769
VS
70092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/import_gcry.py: Include grub/crypto.h in init.c.
7012
495fc8c1
VS
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
043c2ea3
VS
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
3ec65a81
VS
70392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7042
a4d9fe4a
VS
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
15b81d49
VS
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
31731fc0
VS
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
0809527b
VS
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
45b0c8b7
VS
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
1b024b4e
VS
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
5d1d4e28
VS
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
36eb7379
VS
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
76fb2ea9
VS
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
56c98584
VS
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
164ebb48
VS
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
44318d61
VS
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
31a26002
VS
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
6fa67967
VS
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
9a7428e6
VS
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.
31a26002 7173 Make filename a const char *.
9a7428e6 7174
4f96abd1
VS
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
44d10dad
VS
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
340ba63e
VS
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
22965bce
VS
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
7b5784d4
VS
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
6f48ca01
VS
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
a4ea2dff
VS
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
def9fc1b
VS
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
a67b2a04
VS
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
44c6828d
VS
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
bebe0dd0
VS
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
a9cdb3cf
VS
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
ccc3b1b8
VS
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
987fbd95
VS
72542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
7257 Remove unused variable.
7258
0df363f3
VS
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
b2c0c4a6
VS
72642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * include/grub/net.h: Remove double declarations.
7267
690c531f
VS
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
01783768
VS
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
43206939
VS
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
571e140e
VS
73112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * util/grub-mkstandalone.in: Fix modules directory.
7314
a9d96eeb
VS
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
e4e37e8d
VS
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
e1ea3ade
VS
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
27556881
VS
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
d65f6b36
VS
73412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/grub-mknetdir.in: Use . rather than source for POSIX
7344 compatibility.
7345
0a1e473c
VS
73462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7349
ce6647c8
VS
73502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7353 variable.
7354
66747894
VS
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
71645f6e
VS
73602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7363
0e1c1f61
VS
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
9c4b5c13
VS
73692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 Improve gettext support. Stylistic fixes and error handling fixes while
7372 on it.
7373
215c90cb
VS
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
b5c1f9bf
VS
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
b525fd83
VS
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
0ae70393
VS
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
0a96117d
VS
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
aca002f7
VS
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
a51dab13
VS
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
eb6e6649
GS
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
92cd0f6e
VS
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
db606889
VS
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
c39992a4
VS
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
1e5ec32f
VS
75402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/script/execute.c (grub_script_return): Fix warning.
7543
ac576cde
VS
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
498453f6
VS
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
8be63f2e
VS
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
8e1e4e39
VS
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
4459819a
VS
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
f65741c7
VS
75852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7588
c1a33466
VS
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
c76899a0
VS
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
57db0757
VS
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
18534ad9
VS
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
c84ba308
VS
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
347998c2
VS
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
c779226e
VS
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
dc87d45a
GS
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
055f856f
MW
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
4a9f8346
VS
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
a646a366
VS
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
54e2be26
VS
76892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
7692
f7c71e68
VS
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
a32d5c71
VS
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
69edd81a
RL
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
65f08dbf
RL
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
e9084abe
RL
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
cf5f7ee7
VS
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
2f53a9ed
VS
77702012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
7773
17e1d934
VS
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
d3e3fab5
VS
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
3008675b
SG
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
fc9b5652
AN
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
a2b81d53
AN
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
b1d51f02
VS
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
fc694106
VS
78462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7849
6c0920e3
VS
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
d1a46f9a
VS
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
dec8ed14
VS
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
7397c69b
VS
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
b3fe42ad
VS
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
10476bb0
VS
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
9c08ad87
VS
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
bc8d0f45
VS
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
cc774926
VS
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
67639fd7
VS
79242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7927 variable.
7928
9079d3ed
VS
79292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7932
c6a6f204
VS
79332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * po/POTFILES.in: Regenerate.
7936
ecbf8cd1
VS
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
0b3b3b38
VS
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
db7337a3
VS
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
f37c87e1
VS
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
63fe43f3
VS
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
ebe2c961
VS
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
2b5336a2
VS
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
74310bd8
VS
80022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8005
c30582ba
VS
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
5f47782c
VS
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
f990cbf9
VS
80322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8035
9c6e84b8
VS
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
87cf9744
VS
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
ca8c0baf
VS
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
64c8b8f6
VS
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
f6c434d5
VS
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
5858b42d
VS
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
4ed3c26b
VS
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
df71143e
VS
80892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8092
076e7c0f
VS
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
8a7f9b9c
VS
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
30545b85
VS
82412012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
8244
28ea58cf
VS
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
692dabca
VS
82502012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * util/grub-install.in: Add missing \.
8253 Reported by: gentoofan
8254
f6e4ea70
VS
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>
ca1dacea
VS
8262
8263 * docs/grub.texi (Platform limitations): New section.
8264 (Platform-specific operations): Likewise.
8265 * docs/grub-dev.texi (Porting): Likewise.
8266
76261110
VS
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
fc36d603
VS
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
e06c2e7a
VS
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
ff447958
VS
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
9e88df39
VS
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
bb26e4ff
VS
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
2e13ede5
VS
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
f8a9ab12
VS
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
87edb894
VS
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
48b391e9
VS
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>
e555f379
SG
8395
8396 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8397 a workaround for intel problem.
8398
66832792
PRP
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
7816a17e
VS
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
8f9d3a8c
ZB
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
b055dd32
VS
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
d779e9bd
ML
84312012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8432
8433 * configure.ac: Add back in test for limits.h.
8434
b508af69
VS
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
dad9c8b5
VS
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
d43a777e
VS
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
34e4208f
VS
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
3ec0fc1c
VS
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
22489834
VS
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
8502fbca
VS
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
76df2068
VS
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
64e3f8f6
VS
84912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * configure.ac: Refise build qemu_mips w/o unifont.
8494
9c271078
VS
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
80662dbc
VS
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
e6da1467
VS
85252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8528
b1ac4cb1
VS
85292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8532
b4bf7c3b
VS
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
8ee1101a
VS
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
4d1e2bc9
VS
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
75b49ebe
VS
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
74a1dce7
VS
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
30c7d3ce
VS
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
3c76ea0c
VS
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
7e532280
SG
86062012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8607
8608 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8609
30492374
VS
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
e70cb72f
VS
86192012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/normal/charset.c: Move comment to right place.
8622
5c827cf9
VS
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
53603892
VS
86292012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * docs/grub.texi (Unicode): Mention several other unsupported features.
8632
ff094b9b
VS
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
c029da8a
VS
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
7a45a539
VS
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
b2d004db
VS
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
ec000eac
VS
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
f50e1165
VS
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
2ae254de
VS
87242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
8727
0108f491
VS
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
f45f5f89
VS
87322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * unicode: Import Unicode 6.0 data.
8735
4d8c4765
VS
87362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8737
63fa8ef9
VS
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.
4d8c4765
VS
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
f3cb4a4e
VS
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
5da8dbc5
VS
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
8569f13d
VS
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
cc4fddf5
VS
87772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
8780
bbc47747
VS
87812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * docs/grub.texi (Filesystems): Mention AFS.
8784
f63d6bf4
VS
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
74bbf0db
VS
87912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8792
f63d6bf4 8793 Make HFS implementation use MacRoman.
74bbf0db
VS
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
4ea0316e
VS
88032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8806
d3c13cbd
VS
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
00ce2df3
VS
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
e77e325f
VS
88702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * util/grub-install.in: Account for possible escaped comma in device
8873 name.
8874
165099ea
VS
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
ce4a999d
VS
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
379586ad
VS
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
9197b0ad
VS
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
edddb7f9
VS
88992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * docs/grub.texi (Filesystems): Update.
8902
a1a8b1b9
VS
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
58eba9ee
VS
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
a54a0e12
VS
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
a6120aca
LA
89462011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8947
8948 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8949
a93964ce
VS
89502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8953
3ea1ca46
SG
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
b87f7ef2
VS
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
62092395
VS
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
1f0b1a77
VS
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
8eba9997
VS
89782011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * docs/grub.texi (Internationalisation): New section.
8981
dd0c91e9
VS
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>
86717cbe
K
8987
8988 * util/grub-mkstandalone.in: Fix minor typo errors.
8989
198e150a
VS
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
215c1800
VS
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
c17e546c
VS
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
ff6b18b6
VS
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
70ffcc93
VS
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
e5f4d260
VS
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
8e54b4b7
VS
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
813c0a2b
VS
91802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9183
f2b60fbd
VS
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
5ef5c511
VS
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
c476e6df
VS
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
384ad7cc
VS
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
96f8caf8
VS
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
276b7a8b
VS
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
e3fd394a
VS
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
ee9c2e7a
VS
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
7a7f7cc9
VS
92402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
9243
a14b16d1
VS
92442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
9247 brackets.
9248
9f59e9fc
VS
92492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9250
ca1b552c
VS
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.
9f59e9fc 9260
e739d698
VS
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
cb8f88ea
VS
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
309e5352
VS
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
e7987e1b
VS
93102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
9313 overflow.
9314
efc2616e
VS
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
3c349f5a
VS
93222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9325
b453412d
VS
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
12e9d4d1
VS
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
ace96609
VS
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
fd261d73
VS
93812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9384
e59b7857
VS
93852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9388 allocation succeeded.
9389
9b4baaa4
VS
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
dc713193
VS
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
30dd48c2
VS
94012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9404
0c6087a8
VS
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
c2e77777
VS
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
b70b6d11
VS
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
02a2bf83
VS
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
2019d09e
VS
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
d1c501ee
VS
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
61664420
VS
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
0d51ee20
VS
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
753ef8c1
VS
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
85c85365
VS
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
a23f2cc4
VS
94892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9490
93018f64
VS
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 *
a23f2cc4
VS
9499 to ensure alignment.
9500 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9501
58acccd6
VS
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
9b05cad7
VS
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
b3950b84
VS
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
fcd232b7
VS
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
f138623a
VS
95542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9557
564840dc
VS
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
9b40df20
VS
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
d1c930f9
VS
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
4c5f3056
VS
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
728cba91
VS
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
eb561f31
VS
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
20993fbb
VS
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
1f313b94
VS
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
47ae27ec
VS
96102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9613
78c2cd1c
VS
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
53072f9b
VS
96202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
9623 conditionals.
9624
055dc239
VS
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
496bd074
VS
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
ef6e4335
VS
96402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/disk/raid.c (scan_devices): Fix condition.
9643
5d048bf2
VS
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
ee533335
VS
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
cc8f3668
VS
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
c5fc563a
VS
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
0af2346f
VS
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
74dbd244
VS
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
1bc8f60d
VS
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
48d6e456
VS
97042011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
9707
bf3a3857
VS
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
112b4837
CW
97712011-11-28 Colin Watson <cjwatson@ubuntu.com>
9772
9773 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
9774
49e891ac
VS
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
fd258e5c
RM
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
78845dc2
SG
97862011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9787
9788 * po/Makefile.in.in: Add missing escape-continuation.
9789
adac5211
VS
97902011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9793
10b64f1c
VS
97942011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9797
bb416954
VS
97982011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9801
bdfe9eeb
VS
98022011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9805
581ffa8a
VS
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
2536cf64
LK
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
bc108a4a
VS
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
111c1778
VS
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
c30be3b6
VS
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
fa5aeffc
VS
98652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9868
a346b81c
VS
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
d89ee414
VS
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
91ee7b6d
VS
98802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9883
91e5a33d
VS
98842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9887
9edd7be2
VS
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
ba102053
VS
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
aa94b870
VS
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
5fbdac14
VS
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
691cbb58
VS
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
60240b8b
VS
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
e9d3421c
VS
99652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * configure.ac: Add -fno-asynchronous-unwind-tables.
9968
2b23074a
VS
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
678f4b67
VS
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
4626edf6
VS
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
10f0117b
VS
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
566f779b
RM
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
b50787de
VS
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
119d11c8
VS
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
6e0632e2
VS
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
073aa7a9
VS
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
c76b5417
VS
101382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10141 fix.
10142
df067ad1
VS
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
5b289bc5
VS
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
c1860f87
VS
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
d35d0d37
VS
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
9aed8a71
VS
101792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10182
067fdf00
VS
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
a8bd9d39
VS
101882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10191 Fix prototype.
10192
f7ce5baf
VS
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
9bb182f3
VS
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
63a9e6f6
VS
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
4c458569
VS
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
e2d22baf
VS
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
53dc8590
VS
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
6c189294
VS
102282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10231
f7688369
VS
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
11a775a3
VS
102372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
10240
33f784e8
SL
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
f6276525
VS
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
c3591189
VS
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
cb544caa
VS
102772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
10280
45bd824d
VS
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
ad9a2f44
VS
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
6b68db81
VS
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
28840fda
VS
103052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
10308 Fix declaration.
10309
8a5a3a5b
VS
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
57b01250
VS
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
19e81ba7
VS
103362011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10339
52b656c0
VS
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
438a746a
VS
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
49a45021
VS
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
3ae17eb8
VS
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
27610c38
VS
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
4a19b601
VS
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
958ee221
VS
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
cac14fb6
VS
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
78e08dc3
VS
104252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10428
9f421dd1
VS
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
ed64e9e2
VS
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
3084ede4
VS
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
b632b404
VS
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
c7ba4f69
VS
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
455377d9
VS
105122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * util/grub-install.in: Fix condition for config_opt.
10515
c2fd16ca
VS
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
8622923b
VS
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
95f2e860
VS
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
11ee4389
VS
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
09e2763f
VS
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
8bec9a28
VS
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
dbd3a32e
VS
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
182c872a
PMH
105872011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10588
10589 * util/grub-mkrescue.in: Fix handling xorriso option.
10590
1e51cabd
VS
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
9cc3581d 105962011-11-03 crocket <crockabiscuit@gmail.com>
10597
10598 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10599
158dc1ea
VS
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
9d9b3d2f
VS
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
7d0ac931
VS
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
cf5ba824
VS
106472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
10650
17744004
VS
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
aca5aefc
VS
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
ce8ca56e
VS
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
7c01e783
VS
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
ce109e84
VS
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
87661123
VS
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
46bc1dc2
VS
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
19ee2987
VS
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.
46bc1dc2
VS
10711 (grub_cpio_dir): Handle symlinks.
10712 (grub_cpio_open): Likewise.
10713 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 10714
c83a08d8
VS
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
45cdd3ea
VS
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
94ef05c2
VS
107312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
10734 string.
10735
785ab8c7
VS
107362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10737
eb0b6b45
VS
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.
785ab8c7 10748
c4a1628f
VS
107492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * grub-core/fs/bfs.c: Run indent.
10752
5825b379
VS
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
42b2a706
VS
107612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * util/grub-fstest.c (cmd_cp): Clarify error message.
10764 (cmd_cmp): Likewise.
10765
61b99bfc
YB
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
faba3d16
VS
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
c39224b0
VS
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
e551115a
VS
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
564dd58c
VS
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
ed9ba06d
VS
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
ad03fe76
VS
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
6563f63d
VS
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
5b1ae25f
VS
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
f8d82408
VS
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
5773fb64
VS
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
91c3fdde
VS
108822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10885
3be82e10
VS
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
8e32442e
VS
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
52a05075
VS
109032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10906
1869edb5
VS
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
186b4028
VS
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>
5587329c
VS
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
c0584900
VS
109622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10965
67e2bd71
VS
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
e9cc6b7b
VS
109742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10977
19832ddb
VS
109782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10981
66b40850
VS
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
db821363
VS
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
e1211949
VS
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
d4888031
VS
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
9f12e664
VS
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
9f326fba
VS
110472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11050
f4d9b64b
VS
110512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11054
5bbd28b8
VS
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
68c72069
VS
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
6e536dc8
VS
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
e0864e7a
VS
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
89481cab
VS
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
f646e143
VS
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
534d769e
VS
111032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11106
e084ba18
VS
111072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * util/import_gcry.py: Accept space between # and include.
11110
3471ecdf
VS
111112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11114
124df5f6
VS
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
4defb8d5
VS
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
4e94ae65
VS
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
18c575e5
VS
111382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * util/grub-setup.c: Add missing include.
11141
f8bc22a8
VS
111422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * util/ieee1275/grub-ofpathname.c: Add missing include.
11145
3ce69fc9
VS
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
d1e293bb
VS
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
7a5c54a4
VS
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>
7bec1053
VS
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
766f7d08
VS
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
fcf1d672
SJ
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
de9c615e
VS
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
e55599dc
VS
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
36dd20ad
VS
112362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
11239
f8f72eb8
VS
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
a374751b
VS
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
544c2487
VS
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
a97501d2
VS
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
39705fad
VS
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
2afb7f6c
VS
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
366e34fa
VS
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
177b960e
VS
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
3b619ae1
VS
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
8bcebcb8
RM
114392011-10-15 Robert Millan <rmh@gnu.org>
11440
11441 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11442
0017e5ef
RM
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
d8919552
VS
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
c81296b6
VS
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
0eb8ffb1
VS
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
a98f4a08
RM
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
050e8e90
SJ
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
0eb8ffb1
VS
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
ce79cc99 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
8667a314
BC
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
fc5efcc0
MK
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
d1ab689d
ML
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
c05de032
ML
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
cca7ccd8
ML
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
e0b0dc83
GS
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
91a1a164
TH
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
2ded951e
AB
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
69915030
VS
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
20fd15f9
GS
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
1a7d7db9
GS
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
2221ab6c
CW
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
ca51c4a0
VS
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
ab80f326
VS
116392011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/commands/wildcard.c (make_regex): Handle @.
11642
4155e697
VS
116432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * util/grub-install.in: Move cryptodisk logic to appropriate place.
11646
ab178c08
SJ
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
7dc3c686
SJ
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
fe8d4a7b
SJ
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
a5219af1
SJ
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
f87abff5
VS
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
d94497ea
VS
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
0d1fd011
VS
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
84beb0ee
VS
116922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
11695
1227c133
VS
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
9594c689
VS
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
14a2562c
VS
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
b526cbb6
SJ
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
fb739ccd
SJ
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
2bba8cfd
VS
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
43526629
VS
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
5c144cc8
VS
117762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * util/grub-setup.c (main): Add missing gcry initialisation.
11779
b1257f65
VS
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
828bc390
ML
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
5f60ccac
CW
117952011-08-15 Colin Watson <cjwatson@ubuntu.com>
11796
11797 * util/grub-probe.c: Remove duplicate #include.
11798
6dc212f9
RM
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
66816d85
RM
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
20168fca
CW
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
303b6246
CW
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
6795300e
VS
118262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11827
41aa28ea
VS
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.
6795300e
VS
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
92227597
VS
118432011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * util/grub-install.in: Don't use uhci outside of x86.
11846
c77069f5
VS
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>
b70e4cb0
VS
11852
11853 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11854 dereference.
11855
583168a2
VS
118562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11859
6be1c01f
VS
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
a1167439
VS
118652011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * include/grub/mips/kernel.h: Fix define conflict.
11868
bf66054f
VS
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
8fc4fa45
CW
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
ca5572a9
VS
119082011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11911
e4bcf625
VS
119122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * po/POTFILES.in: Regenerate.
11915
c4edd548
VS
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
16a2bab0
VS
119212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * util/grub-install.in: Source grub-mkconfig_lib.
11924
2e418de6
VS
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
def9832a
VS
119502011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * po/POTFILES.in: Regenerate.
11953
cd8fe79a
VS
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
a251b719
VS
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
9bfdcbbc
VS
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
1c358e59
VS
121012011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * po/POTFILES.in: Regenerate.
12104
abee94ed
VS
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
cf1337aa
VS
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
93c06ff9
VS
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
748ccabe
VS
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
d7345994
VS
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
a07a81b3
VS
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
77546584
GS
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
54894791
CW
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
8d5d8444
VS
123892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12392
5afeb5bd
VS
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
ba7df45e
VS
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
d0b526b2
VS
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
5ff1d945
VS
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
5ebaad7e
VS
124192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12422
bdea3798
VS
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
b28c5655
VS
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
b6f945dc
VS
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
f9b75e8a
CW
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
1e3d9b86
VS
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
efff4b1c
VS
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
9fc9ce37
VS
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
41bec7fe
VS
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
ca80309d
VS
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
9e322ce8
YB
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
cbf597af
SJ
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
6295b32f
P
125162011-06-25 Patrick <p55@mailinator.com>
12517
12518 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12519
77c0840b
VS
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
40ea05de
SJ
125262011-06-24 Szymon Janc <szymon@janc.net.pl>
12527
12528 * grub-core/io/xzio.c: Fix code style issues
12529
90162423
MRA
125302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
125312011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
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.
90162423
MRA
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.
423a1849 12587
031f22a0
VS
125882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12591 names.
12592
4388ca72
VS
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
98e2f506
VS
126002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12603
2a5e94d8
VS
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
535c1910
AK
126092011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12610
12611 * util/grub-mkconfig_lib.in: Add missing quotes.
12612
bc09e1a2
VS
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
290766fb
VS
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
5ab3f48a
VS
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
c31dc5f5
SJ
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
fe12fd5b
VS
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
03147f46
VS
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
cad3237f
VS
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
13548d26
VS
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
e061a1b5
VS
127182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
12721 Prevent memory leak.
12722
1abe47dc
VS
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.
e061a1b5 12727 Reported by: David Volgyes <dvolgyes>.
1abe47dc 12728
fbc62666
VS
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
e98c83e9
DV
127362011-06-23 David Volgyes <dvolgyes>
12737
12738 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
12739 dereference.
12740
a199a8cd
VS
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
e2d1dba0
VS
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
8a5d6919
JM
127532011-06-23 Jim Meyering <meyering@redhat.com>
12754
e2d1dba0
VS
12755 Avoid NULL deref in grub_device_open.
12756
8a5d6919
JM
12757 * grub-core/kern/device.c (grub_device_open): Don't dereference
12758 a NULL pointer upon failed grub_env_get.
12759
f7db6f4a
VS
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
881ac815
RM
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
1e9aef7d
CW
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
351c7c8a
CW
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
6b4e6430
CW
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
c64db050
CW
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
245f4aba
VS
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
f767c929
VS
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
f35fa3a6
CW
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
9a79fcf2
VS
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
63e3eea9
CW
128682011-05-18 Colin Watson <cjwatson@ubuntu.com>
12869
12870 * Makefile.util.def (grub-ofpathname): Install manual page.
12871
09728256
CW
128722011-05-18 Colin Watson <cjwatson@ubuntu.com>
12873
12874 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12875
8b63a142
CW
128762011-05-18 Colin Watson <cjwatson@ubuntu.com>
12877
12878 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12879
e775d8ed
VS
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
bf947d36
VS
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
b84f26c5
CW
128942011-05-18 Colin Watson <cjwatson@ubuntu.com>
12895
12896 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12897 `source'.
12898
5626056f
CW
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
e2965f4a
CW
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
1e4b4390
VS
129592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12960
26618ff0
VS
12961 Patch BPB in ntldr and chainloader --bpb.
12962
1e4b4390
VS
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
cf02731e
VS
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
e3a1073f
VS
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
05caa461
VS
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
a2491e23
VS
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
6ad6223e
VS
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
543a8f6e
VS
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
4959e111
VS
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
35341bbc
VS
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
b772baed
VS
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
566a1917
VS
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
5d420cd9
CW
131172011-05-17 Colin Watson <cjwatson@ubuntu.com>
13118
13119 * .bzrignore: Remove grub-dumpbios.
13120
d064b830
CW
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
3ca2b466
CW
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
24c9143a
CW
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
90f7ac19
VS
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
8d4a5178
VS
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
400b9371
VS
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.
b6296b3f 13301 (generate_image): Handle ECOFF output for mips-arc.
400b9371 13302
c8ecc840
VS
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
153a4b55
VS
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
ff44d107
VS
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
638dbe4f
VS
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
c3fc520c
VS
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
67b1e5c9
VS
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
b756f75f
VS
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
5470225d
VS
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
d4680a35
VS
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
bcb18e74
FZ
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
32297d5f
TG
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
983b414d
VS
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
5d063cdc
VS
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
6ada82d1
JU
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
90c571a4
VS
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
de04eecf
VS
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
57688121
VS
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
3d2c7e35
VS
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
b25db218
VS
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
25a45338
VS
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.
b25db218
VS
13663 (grub_font_load): Zero-fill font at alloc for safety.
13664 Close file on error.
13665 (free_font): Free bmp_idx.
25a45338 13666
0cac83df
VS
136672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * docs/grub.texi (Installation): Fix several outdated claims.
13670
2217a143
VS
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
d4de6b01
VS
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
4c2a3b43
VS
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
85c6210f
VS
136922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 * configure.ac: Bump version to 1.99.
13695
36084912
VS
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
bda0e219
VS
137072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * util/grub-mkimage.c (generate_image): Update hash.
13710
19e1c41b
VS
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
91bbcc0c
VS
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
60ddfad3
VS
137252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
13728 decompressor.
13729
a298aa04
VS
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
9b44feca
VS
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
56dbe7b4
VS
137412011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
13744
52856af2
VS
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
9c9bfc6d
VS
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
dd94a3df
VS
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
fa68d99c
VS
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
157effb7
VS
137692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
13772 overflow.
13773
ea75312f
VS
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
072b5d31
VS
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
7fae0051
Z
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
7c515bee
VS
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
ed660bd8
VS
138042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13807
ee5614b7
VS
138082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13811 hexadecimal.
13812
664889a6
VS
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
bd405bbc
CW
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
4ebff753
CW
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
8f942553
CW
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
3c62402d
VS
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
723f63f2
VS
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
68797f92
VS
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
6be8715d
VS
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
e91dba5b
CW
138582011-04-21 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * po/README: Add instructions for creating po/LINGUAS.
13861
c85140b3
CW
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
92051871
CW
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
b13f79a4
CW
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
9b710a88
VS
139052011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * configure.ac: Bump version to 1.99~rc2.
13908
d97e7b59
VS
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
0624551c
VS
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
e8f28d4c
VS
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
bba79a15
VS
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
abc474ef
VS
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
e74b3947
EP
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
34faa595
VS
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
93a777e3
VS
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
a5102d94
VS
139692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13972
f3fb7b36
VS
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
9ac718b0
VS
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
50d2cc5a
VS
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
e03f7bea
VS
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
e74c3112
CW
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
78fa584f
CW
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
9d5f8162
CW
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
09a9d66f
CW
140232011-04-12 Colin Watson <cjwatson@ubuntu.com>
14024
14025 * NEWS: Drop obsolete entry about probe-only btrfs support.
14026
0c676933
CW
140272011-04-12 Colin Watson <cjwatson@ubuntu.com>
14028
14029 * util/import_gcry.py: Fix typo.
14030
ec9f5e0d
VS
140312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * NEWS: Add btrfs support.
14034
fe6b2cba
VS
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
e745cf0c
VS
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
2a9bc016
CW
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
8a3bc88e
VS
140812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14084
af869a4a
VS
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
9ee8d94f
VS
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
b01abe3e
VS
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
335bda1e
VS
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
5ca1a64d
VS
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.
d8ce9995 14113 Reported by: Mark Korenberg.
5ca1a64d 14114
cbac5b1e
AK
141152011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14116
14117 * util/grub-mkconfig_lib.in: Add missing quotes.
14118
088cdb65
CW
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
8b8a81fa
VS
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
277f955b
VS
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
536ce85a
CW
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
2cf09e32
CW
141702011-04-09 Colin Watson <cjwatson@ubuntu.com>
14171
14172 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14173 throughout.
14174
1ec652f4
VS
141752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14178 directory.
14179
2c583728
CW
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
d7a565e9
VS
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
7c2e4909
VS
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
34c09785
VS
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
6a6f8058
VS
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
2e335e90
VS
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
10a7a867
VS
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
7a3d6cd9
VS
142202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14223
18dd6b47
VS
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.
4ed4ce58 14228 * conf/Makefile.common: Likewise.
18dd6b47 14229
3c0e3f14
VS
142302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14231
f7148863
VS
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.
3c0e3f14 14237
6d1fa41f
MZ
142382011-04-08 Martin Zuther <mzuther@mzuther.de>
14239
14240 * util/grub-mkconfig.in: Ignore emacsen backup.
14241
478182a8
VS
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
72a89a54
VS
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
b5ebecfa
A
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
7755f66e
VS
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
461121ff
VS
142632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
14266
2a961775
VS
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
adf594cc
VS
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
665900a3
VS
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
a562b479
VS
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
850e9373
VS
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
6f332153
VS
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
829ea451
VS
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
09ceb9a5
VS
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
67e11623
VS
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
caee5efd
VS
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
2cccc747
CW
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
186ae367
CW
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
cfed2ad0
VS
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
05d2ed32
CW
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
91dc6073
VS
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
a8afc1d1
CW
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
a826cc7d
CW
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
875b67ba
CW
144082011-03-30 Colin Watson <cjwatson@ubuntu.com>
14409
14410 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14411 shell".
14412
fd7cd914
AS
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
090b1b6a
VS
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
baad885c
AS
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
241e41f5
VS
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
56445fb2
VS
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
c871b1c6
VS
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
5e631b4f
CW
144452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14448
2d5d0333
CW
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
3d7ed04e
CW
144542011-03-30 Colin Watson <cjwatson@ubuntu.com>
14455
14456 * docs/grub.texi (Future): Update.
14457
abf04200 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
e1ad0edd
VS
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
5d803174
VS
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
2a2da1d0
CW
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
a7527639
CW
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>
e30af029
CW
14499
14500 * docs/grub.texi (Simple configuration): Explain some of the
14501 current limitations of grub-mkconfig.
8a748df2 14502 Reported by: Leslie Rhorer.
e30af029 14503
fc858482
VS
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
e1eb511d
VS
145122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14515
70e75364
VS
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
fc18f6a3
VS
145292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14532
5c650f4c
CW
145332011-03-29 Colin Watson <cjwatson@ubuntu.com>
14534
14535 * docs/grub.texi (loopback): New section.
14536
61d7156b
CW
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
994b8264
CW
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
9e4d19e0
VS
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
a307c0b2
VS
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
b4db4f39
CW
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
35e5f84c
VS
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
d2e29d81
VS
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
ed5587af
VS
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
a1dc717c
VS
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
9f3677d3
VS
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
24148725
CW
146012011-03-28 Colin Watson <cjwatson@debian.org>
14602
14603 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14604 comment.
14605
f329eda7
CW
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
c482ad98
SG
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
5ee04984
VS
146162011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
14619
f4727da9
VS
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
82fe6c75
VS
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
4c6c9431
CW
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
c7064d94
VS
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
3f71cded
VS
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
ef6de21a
VS
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
8bc66a2c
VS
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
5657722c
VS
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
41a85f55
AK
146902011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
14691
14692 * grub-core/video/bitmap.c (match_extension): Ignore case.
14693
59e1e5f1
VS
146942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
14697
bd4d051a
VS
146982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * grub-core/script/parser.y: Declare "time" as valid argument.
14701
bae7fcc1
PJ
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
537dc9be
VS
147182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
14721
fa3e01bf
VS
147222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
14725
b1d28404
VS
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
2e3e2e09
VS
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
ed57e557
VS
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
d1611f01
VS
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
7d4e39d6
VS
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
40fc4659
VS
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
2da48d28
VS
147912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * util/grub-install.in: Correct the x86-64 name as x86_64.
14794
9b43bf39
CW
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
be1a7ce0
CW
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
83a3c48d
CW
148082011-03-09 Colin Watson <cjwatson@ubuntu.com>
14809
14810 * docs/grub.texi (Simple configuration): Tidy up formatting.
14811
57d75699
SJ
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
028501a0
VS
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
d998657d
VS
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
fee7cdd4
CW
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
97286eb5
CW
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
22b28eb3
CW
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
7e735e43
CW
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
800f1881
CW
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
3281d3d6
VS
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
3533413c
VS
148742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14877
73ae4f4f
VS
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
37f4f608
VS
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
03a4ccb5
VS
148902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14893
ffc8f4d8
VS
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
80f23be7
VS
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
5d4f4dd5
VS
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
e489601a
VS
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
96e0a6ea
CW
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
81431e2b
CW
149232011-01-22 Colin Watson <cjwatson@ubuntu.com>
14924
14925 * docs/grub.texi (Simple configuration): Document
14926 GRUB_PRELOAD_MODULES.
14927
5e79d66a
CW
149282011-01-17 Colin Watson <cjwatson@ubuntu.com>
14929
14930 * .bzrignore: Remove nonexistent grub-pbkdf2.
14931
646ada34
VS
149322011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * configure.ac: Bump version to 1.99~rc1.
14935
04360337
VS
149362011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14939 for safety.
14940
46c9db88
VS
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>
1d955d00
VS
14947
14948 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14949
4fbf1852
VS
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
f1632d4d
VS
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
0b5e127b
VS
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
173b71e9
VS
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
f8f479db
VS
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
8fc0a245
VS
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
b8494fbe
VS
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
b44a558c
VS
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
51fa856c
CW
150092011-01-11 Colin Watson <cjwatson@ubuntu.com>
15010
15011 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15012
9da068a5
VS
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
86205c94
CW
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
4531a206
VS
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
45146057
VS
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
f093110b
VS
150482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * BUGS: New file.
15051
3395fe52
VS
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
c2fa6cbb
VS
150632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15066
b3ff6ff0
VS
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
ae67942e
VS
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
d570097a
VS
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
a508e776
VS
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
dcb883b1
VS
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
6fef99b4
VS
151102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * util/grub-mklayout.c (usage): Update help text.
15113
47a77af5
VS
151142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15117
ce6bb3ee
VS
151182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * util/grub-menulst2cfg.c (main): Trim the line.
15121
db87be2a
VS
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
c49849cc
VS
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
b1969b30
VS
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
cf0eaf13
VS
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
1f060f39
GS
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
a21e5672
GS
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
c88172fa
VS
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
53798c4b
GS
151612011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15162
15163 * configure.ac: Check for libdevmapper header.
15164
e7121b69
VS
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
fc836af9
VS
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
f9f37648
VS
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
ec1dfd63
VS
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
9462775a
VS
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
0fd48e35
VS
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
43f1bc83
VS
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
64d1f041
SJ
152212011-01-07 Szymon Janc <szymon@janc.net.pl>
15222
15223 * docs/grub.texi (Support automatic decompression): Update with xz
15224 decompression support.
15225
25953e10
SJ
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
e72d259f
VS
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
c0cf26da
VS
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
0ca09e6c
DN
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
014b6806
VS
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
415502c2
CW
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
71b6a2b7
CW
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
b3f8d28a
VS
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
4c3e4f37
VS
152862011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
15289 only when needed.
15290
488f71f1
VS
152912011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
15294 CTRL.
15295
18a38098
VS
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
9eae2084
VS
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
ebc71d28
VS
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
446fa400
VS
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
a0159f37
VS
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
e5146ca1
VS
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>
95638499
VS
15335
15336 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15337 variable.
15338
5b1bdf12
CW
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
99d925aa
CW
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
4af0504b
DV
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
469ee10a
VS
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
323a8e9c
VS
153632011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15366
1b394975
IC
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
275bff5f
VS
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
307806cb
VS
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
b12b923e
VS
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
14b48a19
VS
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
693db2df
VS
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
c7638645
VS
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
25dd4780
VS
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
0b2db943
VS
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
5c408d0f
MP
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
190a011a
JD
154392010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15440
15441 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15442
022d01b8
SL
154432010-12-25 Shea Levy <shlevy>
15444
15445 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15446
c4855fdc
VS
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
0354b867
VS
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
ab66c69f
JU
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
1426ef35
CW
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
20641b6b
CW
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
d060ad60
CW
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
b889cfad
CW
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
4e01b6c8
CW
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
5318fe98
VS
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
6c85b743
VS
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
a2a08a35
VS
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
7059d1ec
VS
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
30aff4cb
BC
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
5cf86f4b
VS
155432010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15546
32570200
CW
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
e1dffcf2
VS
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
b04298cf 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
5367ecd3
CW
155642010-12-10 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * .bzrignore: Ignore grub-core/rs_decoder.S.
15567
1fb430f8
CW
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
a94a6671
RM
155782010-12-09 Robert Millan <rmh@gnu.org>
15579
15580 * NEWS: Document addition of ZFS support.
15581
24b7938b
CW
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
bddc3ef6
BC
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
bf78d5b2
RM
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
3f0f3831
SJ
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
3a4253b2
RM
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
8c317b27
RM
156362010-11-30 Robert Millan <rmh@gnu.org>
15637
c5c9cd3e
RM
15638 * grub-core/commands/echo.c: Include `<grub/term.h>'.
15639 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 15640
49d3ab46
VS
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
f420a804
VS
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
4e7db17b
RM
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
9be57a0d
CW
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
2c7859b3 156742010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 15675
d7647bb6
BC
15676 Fix cmdline argument quotes for setparams command of menuentry
15677 definitions.
7e623b0d
BC
15678
15679 * grub-core/commands/menuentry.c (setparams_prefix): Use single
15680 quotes for arguments.
f866fe80 15681 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 15682 grub_strchrsub function instead.
f866fe80 15683
7955bea0 15684 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 15685
74f72a64
CW
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
5a407278
CW
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
3030d8ec
CW
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
b7fbac12
CW
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
5225f328
CW
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
038b3ce8
CW
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
bf16e98e
CW
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
7242bab6
CW
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
14e8b279
CW
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
e6f63338 157442010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
15745
15746 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
15747
cf8ffc38
CW
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
7f8b0fd7
VS
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
dfd240b1
VS
157582010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
15761 warning.
15762
7b61e609
VS
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
9dfe92d0
RM
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
41cc919e
VS
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
1afcc914
VS
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
f1808884
VS
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
24ec575b
CW
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
72b7c7aa
CW
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
e98937aa
VS
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
f6bbabc3
VS
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
22e7dbb2
VS
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
03f80960
VS
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
779dc15b
VS
158432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 * configure.ac: Add -Wno-trampolines when supported.
15846
d20a3b37
MV
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
e5360933
GC
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
cb0229c5
GC
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
406858a8
GC
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
130da6a7
VS
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
65e93f6b
VS
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
1fd08bf1
VS
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
de1a024f
VS
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
bc5dd0b9
VS
159132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * util/grub-mkconfig.in: Fix quoting.
15916
58c184be
VS
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
5f0c02b3
VS
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
4417aae6
VS
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
7625a68e
VS
159402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * docs/grub.texi (menu): Correct the order.
15943 Reported by: D. Hugh Redelmeier.
15944
10001ac5
VS
159452010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15948 jump.
15949
9c4cf53b
MRA
159502010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15951
10001ac5
VS
15952 * include/grub/elfload.h (grub_elf32_size): New parameter.
15953 All users updated.
9c4cf53b
MRA
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:
10001ac5
VS
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.
9c4cf53b
MRA
15963 (grub_linux_load32): Correctly find linux entry point offset.
15964 (grub_linux_load64): Likewise.
15965
d2bf06bf
RM
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
898c99a2
BC
159752010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15976
87220a68
BC
15977 Suppress shell expansion on echo '*' and echo "*" like cases.
15978 Reported by: Jordan Uggla.
898c99a2
BC
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
4f9b406a
RM
159842010-11-07 Robert Millan <rmh@gnu.org>
15985
15986 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15987 transition.
15988
80c6d25e
VS
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
4a1a0153
VS
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
34706ddc
VS
160002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16003
6972dea9
VS
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
9c693bd6
VS
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
6c9e4c0c
RM
160212010-11-05 Robert Millan <rmh@gnu.org>
16022
16023 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16024 needed).
16025
b9b3839f
RM
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
1a3aaff4
RM
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
a75f4f62
CW
160442010-11-02 Colin Watson <cjwatson@ubuntu.com>
16045
16046 * util/bin2h.c (main): Fix spelling error in generated output.
16047
33b4b0c6
GS
160482010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16049
16050 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16051
2b36fbf4
VS
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
74aaf558
VS
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
6428dec3
VS
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
f8729d98
VS
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
89d68fa6
VS
160742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16077
3a1197cd
VS
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
71574288
VS
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
8d40ec65
BC
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
95b9257e
VS
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
26c53dc6
VS
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
4171b3c5
VS
161142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * util/grub-setup.c (setup): Clarify the error message.
16117
18568d18
VS
161182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16121
4f6a2e21
VS
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>
5c81f8b3
VS
16129
16130 * grub-core/kern/emu/misc.c
16131 (grub_make_system_path_relative_to_its_root): Revert r2882.
16132
e138c458
VS
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
0cbcdf0e
CW
161392010-10-22 Colin Watson <cjwatson@ubuntu.com>
16140
16141 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16142 (Supported kernels): Likewise.
16143
b65ea155
GS
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
05f43cdd
BC
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
800e6a9b
SJ
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
d82df574
VS
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
7bced458
VS
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
5b027690
VS
161802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 * docs/grub.texi (Installation): Document buggy BIOS install.
16183
ba5f65cf
VS
161842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * docs/grub.texi (Installation): Indent.
16187
fdf2ec9c
VS
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
861dfd4c
VS
161972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * util/grub-install.in: Handle partitionless disks.
16200
f77a8c24
VS
162012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * util/grub-setup.c (setup): Don't clean blocklists before readability
16204 verfification.
16205
27d9ee32
VS
162062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * docs/grub.texi (Installation): Document embedding zone. Remove
16209 obsolete grub-install example.
16210
6bdda8f8
SJ
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
e19b016b
VS
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
6c8d3002
VS
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
c32b51c9
VS
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
fbfbeb39
VS
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
65f7ed7c
VS
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
24977b44
VS
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
1eb01cd2
RM
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.
5f8b440b 16282 Reported by Sergio Talens-Oliag.
1eb01cd2 16283
2d5fed60
RM
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
d0f4c1ea
VS
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
d87c681f
VS
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
219b3564
RM
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
20c6bb7e
VS
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
74baff84
VS
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
3ef068df 163232010-10-02 Aleš Nesrsta <starous@volny.cz>
16324
c7980ad9
VS
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.
3ef068df 16327
a9455194 163282010-10-02 Aleš Nesrsta <starous@volny.cz>
16329
c7980ad9
VS
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.
a9455194 16333 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 16334 Use right endpoint when querying descriptor.
a9455194 16335
441cfe65
VS
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
bf26bcc4
VS
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
6e3c515d
VS
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
e6d983ba
VS
163582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16361
74ccb5b5
VS
163622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16365 flags.
16366
17821956
VS
163672010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16370 usage.
16371
ee74fa48
VS
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
aa438e68
VS
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
57994012
VS
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
2a406611
VS
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
d33613fc
VS
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
44a1b432
VS
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
edde54e6
VS
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
b65830fa
VS
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
0b4b227f
CW
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
f772623b
YB
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
8e57a6ca
RM
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
f9130836
RM
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
96510faf
BC
164802010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16481
16482 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16483
449333eb
BC
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
e1fd1939
CW
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
1d12cf29
YB
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
dd363028
BC
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
f5a109e2
GS
165572010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16558
16559 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16560
6d0fa83c
VS
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
1b655af6
GS
166052010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16606
16607 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16608
8f03f0b5
CW
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
7835dfd3
VS
166142010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
16617 include.
16618
e255597e
VS
166192010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16620
6d0fa83c 16621 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
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.
6d0fa83c 16629
6cc14051 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
df7769d8
CW
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
b031012d
CW
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
174de8f3
CW
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
d7dbe923
CW
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
8d5e2af3
CW
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
5c527783
CW
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
d309a16e
CW
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
b830cd16
YB
166772010-09-21 Yves Blusseau <blusseau@zetam.org>
16678
16679 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
16680 $(top_builddir).
16681
c4fe27a8
CW
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
a4c1d277
YB
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
4eff79d2
CW
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
934d7e44
YB
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.
934d7e44 16711
df3367cc
VS
167122010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 * configure.ac: Change version to 1.99~beta0.
16715
77a94e98
VS
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
269004c1
CW
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
3e0fa5d0
VS
167702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16771
16772 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
16773
ade9bd66
VS
167742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * util/grub.d/20_linux_xen.in: Use submenus.
16777
fc55cc4c
VS
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
600cedf7
VS
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
7bda3a87
VS
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
2ea57f88
VS
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
74342e31
VS
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
1e8d555b
VS
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
899d8af4
VS
168852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16888 vsprintf.
16889
40901acd
CW
168902010-09-20 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * grub-core/commands/efi/lsefimmap.c: Correct header.
16893 * NEWS: Update.
16894
dfe3b247
CW
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
3286a4b4
VS
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
3dccbe4b
TG
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
38c259a7
VS
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
f218b09c
VS
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
a9cc5438
VS
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
1a8fed20
VS
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
41e9c57d
VS
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
61c874c5
CW
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
943682b4
CW
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
6d3d698d
CW
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
c982589f
CW
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
a63c31b6
CW
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
6439b8ee
YB
170472010-09-20 Yves Blusseau <blusseau@zetam.org>
17048
17049 * util/grub-editenv.c: Use argp instead of getopt.
17050
c5930ec8
YB
170512010-09-20 Yves Blusseau <blusseau@zetam.org>
17052
17053 * util/grub-setup.c: Use argp instead of getopt.
17054
15c69261
YB
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
e511c9f5
YB
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
c2dede05
BC
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
c55f5018
SJ
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
e0337366
VS
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
742f9232
VS
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
39feb0e8
VS
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
9af6dac3
VS
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
d6d94820
VS
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
3572f2b6
BC
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
c836b030
YB
171952010-09-19 Yves Blusseau <blusseau@zetam.org>
17196
17197 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17198
2f4e8053
BC
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
75831c34
CW
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
eaf41b25
VS
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
1a9130dd
CPE
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
a1d84a5e
VS
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
9696382e
VS
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
bf8d1338
CW
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
9c0bad2e
CW
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
a939d135
CW
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
0f7ee3c9
YB
173252010-09-17 Yves Blusseau <blusseau@zetam.org>
17326
17327 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17328
10854d0d
YB
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
108538d8
CW
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
e5bfc130
CW
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
be458ae2
CW
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
cb731b5e
VS
173672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 * util/grub-setup.c (setup): Fix incorrect container semantics.
17370
35139e8a
VS
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
e50fca4a
VS
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
f00478b7
VS
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
2b94e3ff
YB
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
2e04a006
VS
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
5dcdf93a
VS
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
014f47b7
SJ
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
dd521a4a
SJ
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
79c4eeb9
VS
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
ed80f7d5
VS
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
5fe7620a
SG
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
545b752f
VS
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
6c1a338c
VS
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
d2ea4551
VS
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
3c3b5040
VS
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
b71c3fae
VS
174992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17502
275433e6
VS
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
a5dbb1f1
VS
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
62a747cb
VS
175212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * configure.ac: Disable emu-usb by default to prevent inadvertent
17524 device takeover.
17525
608e43b1
VS
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
94564f81
VS
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
3352800b
VS
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
2419f17a
VS
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
0575c7c3
VS
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
54ac3cd1
VS
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
b2a30ac5
VS
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
fb53b340
VS
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
f452b040
VS
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
9b5b2541
VS
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
9d2be652
VS
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
179503f5
TG
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
cf9827de
VS
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
53f0eb1f
VS
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
b23ffd70
YB
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
d547dc28
VS
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
2fc8ccb9
VS
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
d8a84076
VS
177202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
17723
84fb3b3d
VS
177242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
17727
768ec2e2
VS
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
4870900f
VS
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
faca6bec
VS
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>
788f1f3a
VS
17743
17744 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
17745 pointer.
17746
3c70f225
SJ
177472010-09-11 Szymon Janc <szymon@janc.net.pl>
17748
17749 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
17750
4df7996d
VS
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
126b4c32
TG
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
1aa4fe88
VS
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
25761e13
VS
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
050abaea
VS
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
5ed7d816
CW
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
90367e04
RM
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
c452fa66
CW
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
c38fe9f4
RM
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
905f7773
CW
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
fb90b546
RM
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
66d4bea5
RM
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
b6a690ee
CW
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
8901b00c 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
7bf45fdd
RM
178922010-09-09 Robert Millan <rmh@gnu.org>
17893
17894 * util/grub-probe.c (probe): Fix a pair of unhandled error
17895 conditions.
17896
4dfbc574
RM
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
6b8e78ae
RM
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
27f21a8b
VS
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
c0e53ea5
YB
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
b9fe6ea2
YB
179322010-09-08 Yves Blusseau <blusseau@zetam.org>
17933
17934 * util/grub-mkconfig.in: Use new variable.
17935
d87aedff
YB
179362010-09-08 Yves Blusseau <blusseau@zetam.org>
17937
17938 * configure.ac: Define some useful variables.
17939
e55e8495
VS
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
6fa6d675
CW
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
92f2aef0
RM
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
99fd620d
RM
179662010-09-08 Robert Millan <rmh@gnu.org>
17967
17968 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17969 initializing `GRUB_FS'.
17970
058e30ac 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
b61d05ed 179822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17983
058e30ac 17984 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17985 grub_free.
b61d05ed 17986
4d69c786 179872010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17988
17989 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17990
aa3119c4 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
db0f7e3d
VS
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
88b87c93
VS
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
294f324d
VS
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
d7ee3441
JS
180172010-09-05 Jo Shields <directhex@apebox.org>
18018
18019 * util/grub.d/30_os-prober.in: Add missing classes.
18020
d7e06c1f
VS
180212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * docs/grub.texi (Theme file format): Document new position format.
18024
fc157e53
VS
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
506e9a1c
CB
180302010-09-05 Colin D Bennett <colin@gibibit.com>
18031
18032 Gfxmenu documentation.
18033
18034 * docs/grub.texi (Theme file format): New chapter.
18035
f0aff67c
SJ
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
82a85062
VS
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
3579415d
VS
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
5124ae6d
VS
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
9aadb3d1
VS
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
a17792c3
SJ
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
b81e40a3
SJ
180892010-09-05 Szymon Janc <szymon@janc.net.pl>
18090
18091 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18092
fc2ef117
VS
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
35ee15e0
BC
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
5f0c4aca
BC
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
3759a35f
SJ
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
ed8c6dec
BC
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
dacd0cf0
BC
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
52e72f9d
BC
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
25b60c91
BC
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
37e7bf68
BC
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
888d1500
BC
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
dda060dd
VS
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
6556eba9
BC
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
c8e7bf5f
VS
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
a7c00cdb
VS
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
9f915872
VS
183342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * configure.ac: Clean LIBS variable after tests.
18337
efa1bee7
CW
183382010-09-02 Colin Watson <cjwatson@ubuntu.com>
18339
18340 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18341
61d720e5
VS
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
ef8e0ec8
IT
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
03e261d8
VS
183522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18353
18354 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18355
c2a4eba6
CW
183562010-09-02 Colin Watson <cjwatson@ubuntu.com>
18357
18358 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18359 grub-core/*.pp.
18360
9056cbf3
CW
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
529cc99a
VS
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
9a093920
VS
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
f9cefc4e
CW
183952010-09-01 Colin Watson <cjwatson@ubuntu.com>
18396
18397 * NEWS: Document most of the important changes since 1.98.
18398
4066f57f
CW
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
da2891f9
CW
184042010-09-01 Colin Watson <cjwatson@ubuntu.com>
18405
18406 * docs/grub.texi: Add myself as an author.
18407
ad717fae
VS
184082010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 * Makefile.util.def (libgrub.a): Add missing sunpc.
18411 Reported by: Seth Goldberg.
18412
eefe8abd
VS
184132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 Interrupt wrapping and code simplifications.
18416
9494ef9a
VS
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.
eefe8abd 18438 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
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
eefe8abd 18447 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
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.
21ed554b
VS
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.
9494ef9a
VS
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.
21ed554b
VS
18645 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
18646
215dd471
RM
186472010-08-30 Robert Millan <rmh@gnu.org>
18648
18649 * NEWS: Document addition of ZFS support in `grub-install' and
18650 `grub-mkconfig'.
18651
ebd65b82
BC
186522010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
18653
18654 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
18655 dprintf output.
18656
11721d19
VS
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
37837d4e
VS
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
b4c1aae0
VS
186752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18676
18677 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 18678 Reported by: Ian Turner
b4c1aae0 18679
8920a08d
VS
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
f21db033
VS
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
9a9de209
VS
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
3dca01d7
VS
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
0b986c40
VS
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...
1935c077 18824 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 18825 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
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.
0b986c40
VS
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.
1935c077
VS
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.
0b986c40 19120
5303b85d
VS
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
d768d159
VS
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
5bf84df4
VS
191392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19142
3626810e
VS
191432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19146 dprintf.
19147
a7363f53
BC
191482010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19149
19150 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19151
902f75f6
VS
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
3c707967
VS
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
2053cc07
VS
191632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 * grub-core/script/script.c (grub_script_parse): Free parsed on
19166 failure.
19167
46422ebf
VS
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
9e0fa3f6
VS
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
3393cf16
VS
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
b17540cb
VS
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
67140446
VS
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
e35e46fc
VS
191972010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19200 (readkey): Likewise.
19201
d24c6190
BC
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
04ddcc6a
ST
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
0c8b61d8
BC
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
645586e6
BC
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
f86a4030
CW
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
06776944
VS
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
df262419
VS
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
b40ea81b
ST
194252010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19426
19427 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19428
dee50575
VS
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
fb1d7b79
VS
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
21a313de
RM
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
63c734a6
CW
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
c4d16542
CW
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
93541d66
CW
195402010-08-19 Colin Watson <cjwatson@ubuntu.com>
19541
19542 * commands/i386/pc/sendkey.c (options): Fix three typos.
19543
b4ece5e1
VS
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
51f1f5af
CW
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
9da94e05
CW
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
729a0f2e
RM
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
f3710e08
RM
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
7a3c13de
BC
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
ab8ba50d
BC
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
4d61999e
BC
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
4df51e00
BC
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
f12c8420
BC
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
8022b748
BC
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
79a6ba61
YB
196702010-08-11 Yves Blusseau <blusseau@zetam.org>
19671
19672 * .bzrignore: add grub-macho2img
19673
d04b9414
VS
196742010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
19677
f947ab49
VS
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
f0206638
VS
197102010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * include/grub/vga.h: Add missing grub/pci.h include.
19713
2764da3b
YB
197142010-08-10 Yves Blusseau <blusseau@zetam.org>
19715
19716 * util/grub-macho2img.c (main): fix typo
19717
cf0c775e
VS
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
07f360e9
RM
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
346c2072
RM
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
71175420
RM
197452010-08-08 Robert Millan <rmh@gnu.org>
19746
19747 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
19748
0d8286f3
RM
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
55dd2924
RM
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
d3dd9e80
RM
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
0de22aa9
RM
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
62858144
RM
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
9dd6fd50
RM
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
c9f7ff97
BC
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
a870a783
CW
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
c7db243b
RM
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
f7abdefb
RM
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
c882acc0
RM
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
8bfe31d8
CW
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
553df63d
VS
198742010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19877
8687cf07
VS
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
ea9be8ea
CW
198832010-08-01 Colin Watson <cjwatson@ubuntu.com>
19884
19885 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19886
6eea041a
CW
198872010-08-01 Colin Watson <cjwatson@ubuntu.com>
19888
19889 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19890
2cfb45df
CW
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
7decd202
VS
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
c882acc0
RM
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
deb0caa3
RM
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
ce04ef47
CW
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
ebf53056
RM
199442010-08-01 Robert Millan <rmh@gnu.org>
19945
19946 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 19947
3710bb6b
RM
199482010-07-31 Robert Millan <rmh@gnu.org>
19949
19950 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19951
8072efeb
RM
199522010-07-31 Robert Millan <rmh@gnu.org>
19953
19954 * kern/emu/misc.c: Add missing license header.
19955
3169f4c7
RM
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
c9a00aee
RM
199712010-07-30 Robert Millan <rmh@gnu.org>
19972
19973 * include/grub/emu/misc.h: Add missing license header.
19974
a184f9c8
RM
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
f7790cdd
RM
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
0806b63c
RM
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
9f841f5c
RM
200182010-07-29 Robert Millan <rmh@gnu.org>
20019
20020 * configure.ac: Remove grub-mkisofs checks.
20021
46371121
VS
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
a9600892
CW
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.
697e053c 20037 Reported and tested by: Michael Guntsche.
a9600892 20038
c03507df
CW
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
b26f1c11
CW
200452010-07-20 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20048
efc9d7f1
CW
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
dd8ff5c9
CW
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
5e3bec67
VS
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
afaec079
VS
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
a6a11f3c
VS
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
64a638b0
VS
200832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 * docs/grub.texi (Naming convention): Document new naming convention.
20086
ab8ba957
VS
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
a29d6a4b
TF
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
39d824e8
VS
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
f058276b
FZ
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
4b761da9
CW
201612010-07-20 Colin Watson <cjwatson@ubuntu.com>
20162
20163 * .bzrignore: Ignore 20_linux_xen.
20164
5771289a
CW
201652010-07-17 Colin Watson <cjwatson@ubuntu.com>
20166
20167 * util/import_unicode.py: Remove unnecessary imports.
20168
5dab68df
AN
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
3222efaf
VS
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
139b714a
VS
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
986aad56
VS
202392010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
20242
99be513c
AB
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
18075f62
GS
202482010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20249
20250 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
20251
8d9a5b15
GS
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
19563c25
CW
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
1a1f1e67
CW
202722010-07-13 Colin Watson <cjwatson@ubuntu.com>
20273
20274 * README: Point to the Info manual.
20275
811b0dca
JS
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
e4f4eafc
CW
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
4274c30f
VS
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
5bc24388
VS
203042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * commands/help.c (grub_cmd_help): Fix a typo.
20307
249975ba
VS
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
3eaac1a1
VS
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
becce1b1
VS
203182010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20321
f7bf0918
CW
203222010-07-07 Colin Watson <cjwatson@ubuntu.com>
20323
20324 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20325 indentation.
20326
0b0f9620
CW
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
1e545469
CW
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
5357687a
CW
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
29d7e783
BC
203462010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20347
20348 * bus/usb/usbhub.c: #include time.h header.
20349
37582066
CW
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
c8c06953
CW
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
e75056f1
CW
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
5cf69151
CW
203822010-07-05 Colin Watson <cjwatson@ubuntu.com>
20383
20384 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20385
e3f90044
CW
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
38d8f4f3
CW
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
57ebd41e
GS
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
cb7f64b2
CW
204072010-07-04 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20410
6b654bb0
GS
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
72a2026d
VS
204162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20417
20418 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20419 Reported by: Tino Keitel.
72a2026d 20420
df3eb88f
VS
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
50f0bcda
CW
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
40372103
VS
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
942a10c7
VS
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
2bdb2892
CW
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
e03ed6c1
CW
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
47695765
CW
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
507736c8
CW
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
e3c8cd37
CW
207852010-07-02 Colin Watson <cjwatson@ubuntu.com>
20786
20787 * docs/grub.texi (Changes from GRUB Legacy): New section.
20788 (Future): Fix typo.
20789
8d4a2fec
CW
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
1c4827be
VS
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
d9a0c941
VS
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
48f27e87
VS
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
b0c4f956
VS
208122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * util/grub-mkrescue.in: Avoid module duplication.
20815
105a2e8c
SF
208162010-07-01 Sean Finney <seanius@seanius.net>
20817
20818 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20819
5944958c
SF
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
b79889ba
RM
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
ec1d04f1
VS
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
ff4a70d2
CW
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
1246efeb
CW
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
1ba9b889
CW
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
dccaf99d
RM
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
d500ed12
RM
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
20bc84a6
CW
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
4045dee1
VS
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
bca58c7b
CW
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
dec53e63
JT
209772010-06-28 Josh Triplett <josh@joshtriplett.org>
20978
20979 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20980
c06e40f7
CW
209812010-06-28 Colin Watson <cjwatson@ubuntu.com>
20982
20983 * util/grub-install.in: Add --debug-image= option.
20984
cb88052b
CW
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
bbe34652
CW
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
412e09f3
VS
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
53f3ef38 210212010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
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
c75be4fb
PR
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
d8034603
CW
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
3fa06487
CW
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
e9b29642
CW
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
e726542f
CW
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
d6e98a17
CW
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
14d3f08e
BC
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
4f9613a3
VS
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
05e51879
VS
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
4321c64a
CW
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
7d24e434
CW
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
c88a83f6
CW
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
094dfb69
CW
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
2164da6b
CW
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
044e2e60
CW
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
5591324f
GS
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
662e24d5
GS
212912010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21292
21293 * po/POTFILES: Remove leftover commands/handler.c.
21294
8d70754e
CW
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
41160e2e
CW
213002010-06-14 Colin Watson <cjwatson@ubuntu.com>
21301
21302 * docs/man/grub-emu.h2m: New file.
21303
b5309cc1
CW
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
fcb2d090
GS
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
96e5c556
BC
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
c16be99b
CW
213292010-06-12 Colin Watson <cjwatson@ubuntu.com>
21330
21331 * .bzrignore: Ignore 41_custom.
21332
ce08a9fb
TS
213332010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21334
21335 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21336
7beac90c
CW
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
1c8f0f8d
JM
213492010-06-12 Javier Martín <lordhabbit@gmail.com>
21350
21351 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21352
a6085973
TS
213532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21354
21355 * util/grub-mkrescue.in: Support --xorriso argument.
21356
25c56d29
VS
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
e03e4b24
VS
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
57711df6
VS
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
ee62c427
CW
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
283af07a
CW
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
56a0d956
CW
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
3a37e322
VS
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
6289c3a7
VS
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
91460247
RM
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
0ea7c4f9
GS
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
e8a6f3b6
GS
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
f4d095d7
GS
215782010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21579
21580 * configure.ac: Add `.' to the directories searched for unifont.
21581
50e532ca
CW
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
d39f3dec
CW
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
6ef0ddb4
CW
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
e0f4c438
CW
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
da908200
CW
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
fb55c3ac
CW
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
258c2573
CW
216272010-06-07 Colin Watson <cjwatson@ubuntu.com>
21628
21629 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
21630
ee75515e
CW
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
a6a700aa
CW
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
4003dd38
CW
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
e1cbcc40
CW
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
db8fa1ad
CW
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>
71c38098
CW
21668
21669 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
21670 in case they contain spaces.
21671
f28a9212
CW
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
9cdfe32f
CW
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
795b593a
CW
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
9d9b5833
GS
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
0819fec8
CW
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
49396b4f
VS
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
0b35b2a9
CW
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
ca0afd5b
CW
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
1c41aa78
CW
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
bb8ea0f5
CW
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
288dd6ed
CW
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
34c9f0e9
CW
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
9121567e
CW
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
ab631611
CW
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
bde4a9ac
CW
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
b1d17e10
VS
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
dfbfe004
JS
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
c2ffc8e9
VS
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
56293166
VS
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
7620e7de
VS
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
c837af3f
VS
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
c7c75cf4
CW
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
fa4b8490
BC
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
a33075b9
CW
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
d8708134
CW
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
db2102a0
CW
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
5fdba519
RM
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
d1d368e4
CW
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
95ac3c73
GS
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
7d8c0213
BC
219742010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21975
21976 * INSTALL: Added flex >= 2.5.35 requirement.
21977
db4d5813
VS
219782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21981
f24f4300
VS
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
ad603f61
VS
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
3ecb080a
VS
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
5f2316c1
VS
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
9a25f885
VS
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
39fbb79a
VS
220202010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 * include/grub/i18n.h: Always enable grub_gettext.
22023
228cfa97
VS
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
21717c8f
CW
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
c0f48e65
CW
220342010-05-20 Colin Watson <cjwatson@ubuntu.com>
22035
22036 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22037
96779aec
CW
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
fa9d256e
GS
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
123b7a85
BC
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
74276c0d
CF
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
c4f7b523
ST
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
95b97950
VS
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
01b8d2d7
VS
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
654e1d1e
VS
220792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 * util/grub-install.in: Add missing "in" keyword.
22082
26966aeb
VS
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
75006747
VS
220882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22089
22090 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22091
74cbf5bd
CW
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
355b51e9
CW
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
7fb5c25f
CW
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
1d3293d6
VS
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
5dde9afe
VS
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
f4fc97d0
BC
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
cced9145
VS
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
c6e5caab
VS
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
2bf61a98
VS
224332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22434
22435 * video/readers/jpeg.c: Indented.
22436
09ddcd11
VS
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
e5507505
PH
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
7e720a9b
VS
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
a7fc080b
VS
224602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22463 error.
22464
2bf6012d
VS
224652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22468
265d68cd
VS
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>
7dd5a111
VS
22475
22476 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22477 part.
22478
265d68cd 224792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22480
22481 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22482 pointers.
22483
265d68cd 224842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22485
22486 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22487
d1b61374
CF
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
3558c6e9
VS
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
f5f3ff93
VS
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
d8b5cd40
VS
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
88c14915
VS
225302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22533 extra == 0.
22534
165134bc
VS
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
c5ac9b32
VS
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
ce60689c
VS
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
0359d006
VS
225572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 * boot/i386/qemu/boot.S: Add a missing .code16.
22560
7819a456
VS
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
7210dca9
VS
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
6f8aaf68
VS
225952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22596
3080f7a7
VS
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.
6f8aaf68
VS
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
a8ebb841
BC
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
bb06ba08
ST
226162010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
22617
22618 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
22619 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
22620 if argc is 1.
bb06ba08 22621
cc9d2425
VS
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
460d8402
CF
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
553c01f9
CF
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
2aec1692
CF
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
f67dc308
JS
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
4ba8d354
VS
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
0d2c20c6
GS
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
bc4a2d83
BC
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
f48c87aa
VS
226852010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
22688
18959385
VS
226892010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
22692
0037de3f
VS
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
38e55e90
GS
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
a9e6ff28
VS
227212010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
22724
0b830b8f
VS
227252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 * util/hostdisk.c (make_device_name): Change to new partition naming.
22728
0973daeb
VS
227292010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
22730
22731 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
22732
460d8402 227332010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
22734
22735 * Makefile.in: Add missing localedir setting.
22736
0b456309
CW
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
08f46d62
BC
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
8c4a72d4
BC
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
ce44826e
CPE
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
4b0cd8f8
VS
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
01fcf061
VS
227862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22789
5d04b11e
VS
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
b7f3ac29
VS
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
2c7031b1
GS
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
f516290c
BC
228442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22845
22846 Documentation fix.
22847
22848 * util/grub-script-check.c: Better help message.
22849
d8dcc0df
BC
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
6734334a
VS
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
daea6abd
VS
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
f2fd9d2b
VS
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
be124579
VS
228762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 * lib/posix_wrap/locale.h: Add missing file.
22879 Reported by: Seth Goldberg.
22880
ef5da797
VS
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
47822096
VS
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
5d7e7445
VS
229122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22913
22914 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22915
25f4e252
EC
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
027de555
VS
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
47779711
VS
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
1118c32e
VS
229392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * font/font.c: Indented.
22942
7d652447
BC
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
34bb22df
BC
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
e215d8e0
VS
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
d7c43ba1
MV
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
d64795c0
VS
229812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 22984 Idea by: Mario Vazquez
d64795c0
VS
22985
22986 * util/grub.d/00_header.in: Load pf2 and image modules.
22987
f267f83a
VS
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
b7841ceb
VS
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
df60998c
CW
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
fa09c82e
BC
230082010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23009
14e18ae3 23010 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
23011
23012 * tests/util/grub-shell.in: Remove -serial stdio option.
23013
daf892b3
BC
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
974ac4f7
VS
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
2622c3ff
VS
230582010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23061
064cb524
VS
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
a8c3b552
VS
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
187bbe3d
GS
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
b9396631
GS
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
50479feb
GS
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
b1654fdf
GS
230902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23091
23092 * Makefile.in (LEX): new variable.
23093
bd5a6415
GS
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
3db3a82b
VS
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
38023412
VS
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
47674667
VS
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
495442ed
VS
231562010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 * kern/device.c (grub_device_iterate): Clear errors after failed
23159 opening device.
23160
f9fd65df
VS
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
af09641e
VS
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
016883a5
VS
231712010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * include/multiboot2.h: Resync with spec.
23174
f97e1f7d
VS
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
3506b90b
VS
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
394a3120
GS
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
969d1c78
VS
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
8d2977bb
BC
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
a7bd6915
BC
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
e4ff6628
VS
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
6a5cf6b6
VS
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
746d9045
BC
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
18486b18
VS
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
a3940f88
AG
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
21b99926 233982010-03-24 Colin Watson <cjwatson@ubuntu.com>
23399
23400 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23401
bed1d352
CW
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
c9f58427
CW
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
f84afb27
VS
234142010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23415
23416 * kern/parser.c: Indented.
23417
ed0e3d30
VS
234182010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23421
0ea81d98
VS
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
0cdc2a09
BC
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
1d63a066
VS
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
463ac55f
CK
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
08e46ede
CW
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
4a6d2d06
VS
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
91fdd2ed
VS
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
873ccae6
VS
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
601c97c0
VS
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
d68b491e
TG
237412010-03-14 Thorsten Glaser <tg@mirbsd.org>
23742
23743 * util/grub-mkrescue.in: Base ISO UUID on UTC.
23744
4e02ed50
MK
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
1f15fc1e
VS
237502010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * genmoddep.awk: Output all missing symbols and not only first.
23753
fce5d8ff
VS
237542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * NEWS: Put the date of 1.98 release.
23757
d1e8a02f
VS
237582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
23761 ft2build.h.
23762
696fd607
VS
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
33e2e6f3
VS
237682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 * util/grub-mkrescue.in: Use mktemp with explicit template.
23771
b1f6d291
VS
237722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
23775
2ac227c7
VS
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
8f9a632b
VS
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
60b03859
VS
237882010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23789
23790 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23791
48a5a769
VS
237922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23793
23794 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23795
3ab4bd77
VS
237962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23797
23798 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23799
d116e0d8
RM
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
c7ef54aa
VS
238072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * configure.ac: Alias amd64 to x86_64.
23810
fcee14ed
VS
238112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23812
23813 * NEWS: mention multiboot on EFI.
23814
d0780363
VS
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
41168ea4
VS
238202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * normal/autofs.c (autoload_fs_module): Handle errors.
23823
b54d93ac
VS
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
fc8345da
JU
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
4760f979
CF
238462010-03-04 Christian Franke <franke@computer.org>
23847
23848 * util/grub-pe2elf.c: Add missing include "progname.h".
23849
f209b5b2
VS
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
b4b7be98
VS
238552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 23858 Reported by: Seth Goldberg.
b4b7be98 23859
c0ee0385
VS
238602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23861
23862 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23863 ascii.bitmaps.
23864
a8efbf64
VS
238652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23866
23867 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 23868 Reported by: Seth Goldberg.
a8efbf64 23869
08dcd913
VS
238702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 * util/i386/efi/grub-install.in: Copy gettext files.
23873
c4d0b332
VS
238742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23877
c6f2fe52
VS
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
5382b1e4
VS
238912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23892
23893 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23894
5519963b
VS
238952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23896
23897 * configure.ac: Update version to 1.98.
23898
72b28631
VS
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
c140a180
VS
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
a0ca21c2
CW
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
4a8a763c
VS
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
607ffde2
VS
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
2b8fa975
CW
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
618307dd
VS
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
7dd05b96 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
d1484a42
MRA
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
42b1d186
VS
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>
0a39de87
ST
23972
23973 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23974 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23975
d9f31a41
VS
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
2793c71e
GB
239892010-02-16 Georgy Buranov <gburanov@gmail.com>
23990
23991 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23992
402e3779
VS
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
0dd1e0dd
VS
240012010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24002
24003 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24004
6fa7cfce
ST
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
37c8483b
ST
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
14da0fb7
ST
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
04459e70
ST
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
a0876943
VS
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
e29f95dc
VS
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
d27859b2
VS
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
bc028f2f
VS
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
095f5f82
VS
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
8c717950
VS
240572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24058
24059 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24060
904935c3
VS
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
5b59a4e3
VS
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
69e137e8
VS
240792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24080
24081 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24082 constants.
24083
2c0fcc36
VS
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
8c6052ce
VS
240892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24092
17cec782
VS
240932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24094
24095 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24096
e0128bbd
VS
240972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24100 verbose dprintf.
24101
ca62070b
VS
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
bdca2607
VS
241152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24116
24117 * util/grub-mkrawimage.c (main): Call set_program_name.
24118
da278c4d
VS
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
b274d734
VS
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
82da2062
VS
241332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24136
7cae4377
VS
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
65a533e7
VS
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
dd01d397
VS
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
660960d6
VS
241592010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24160
24161 * configure.ac: Check for ft2build.h.
24162
62509f04
VS
241632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24164
24165 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24166
473df63d
VS
241672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24168
24169 * genkernsyms.sh.in: Use TARGET_CC.
24170
c98d2a13
CW
241712010-02-07 Colin Watson <cjwatson@ubuntu.com>
24172
24173 * NEWS: Update.
24174
6e14234c
VS
241752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24176
24177 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
24178 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24179 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 24180
b255e9cf
YB
241812010-02-07 Yves Blusseau <blusseau@zetam.org>
24182
6e14234c 24183 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 24184
98e6959d
VS
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.
74e4934e 24192 (xstrdup): Use newstr instead of dup.
f88d801b
VS
24193 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24194 of disk to dsk to avoid shadowing.
74e4934e
VS
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.
98e6959d 24200
74e31b5c
VS
242012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24202
24203 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24204 appropriately.
24205
6b2ad14b
VS
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
8f891adc
VS
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
74b45184
VS
242202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24221
24222 * include/grub/err.h (grub_err_printf): Don't export.
24223
a4bced77
VS
242242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24227
007d0695
VS
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
b6c0d9c2
VS
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
f51a90d0
VS
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
6846cec5
VS
242442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24245
24246 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
24247
468d69fe
VS
242482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24249
24250 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
24251
51906b8c
VS
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
09706ce5
VS
242582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24259
24260 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
24261
911df80c
YB
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
3746a6bc
VS
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
09706ce5
VS
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
7cc192d9
VS
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
5562834e
VS
244822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24483
24484 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24485 disk devices.
24486
4f8528fc
VS
244872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24490 error.
24491
2b4068e9
VS
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
399f6e4d
TL
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
996649b0
VS
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
3b205d4d
VS
245122010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24515
61e89d9d
VS
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
bf7fcba2
CS
245232010-01-28 Christian Schmitt <chris@ilovelinux.de>
24524
24525 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24526
f45d2663
BC
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
ec1444e6
RM
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
2e1cb9bb
CW
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
63533ab0
VS
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
989e1f93
VS
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
e709ebe2
VS
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
27dea7ed
RM
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
67667b9c
RM
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
c294d9d8
RM
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
af75a9f1
RM
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
254e2ce5 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
b510928c 245892010-01-26 Carles Pina i Estany <carles@pina.cat>
24590
24591 * util/bin2h.c (usage): Fix warning (space after backslash).
24592
aa2f9dd2 245932010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 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
94e7e712
RM
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
3973a59a
RM
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
42e0cba3
GS
246182010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
24619
24620 * configure.ac: Reset LIBS after check for libgcc symbols.
24621
847effd8
CW
246222010-01-25 Colin Watson <cjwatson@ubuntu.com>
24623
24624 * util/hostdisk.c (open_device): Add trailing newline to debug
24625 message.
24626
ea4a7e35
GS
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
67951a53
RM
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
c273d4ce
ST
246372010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
24638
24639 * util/grub.d/10_hurd.in: Add a recovery mode.
24640
69be5b74
VS
246412010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
24642
24643 * configure.ac: Check for libgcc symbols with -nostdlib.
24644
fc9e5810
BC
246452010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
24646
24647 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
24648
4b358c0a
VS
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
454fcd1c
VS
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
566863ca
RM
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
bf86e59a
VS
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
d645e0f8
VS
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
f9ab2e25
VS
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
01fc7054
VS
246862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24687
24688 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
24689
caab4fd6
RM
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
67eb1427
FZ
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
a9ed4ff3
VS
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>
bed35bda
VS
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
48209f4f
VS
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
9f0a4bb7
VS
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
8dd35b8c
VS
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
449193d5
VS
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.
fdb1b2ea 24835 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
24836 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24837 space.
24838
96d73208
RM
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
d4484482
RM
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
00308ecf
VS
248512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24854
f66924a4
RM
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
cbca0ada
VS
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
34a66d99
RM
248672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24868
24869 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24870
94fabf58
RM
248712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24872
24873 * util/grub.d/00_header.in: Fix handling of locale_dir.
24874
02cf98ca
VS
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
327dbcd7
VS
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
ca467290
VS
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
aca655fd
BC
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
7ee92c32
VS
249152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * include/grub/font.h (grub_font_load): Fix prototype.
24918
f80927ca
VS
249192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24920
24921 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24922
119c50ea
VS
249232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24924
24925 * include/grub/x86_64/at_keyboard.h: New file.
24926
47d5f3c1
VS
249272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 * loader/mips/linux.c: Include missing grub/i18n.h.
24930
55ff5266
RM
249312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24932
24933 * normal/menu.c (notify_execution_failure): Clarify error message.
24934
c893cc87
RM
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
917dd370
CW
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
d4a4ee57
RM
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
25c2b5b3
RM
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
915fc1b8
VS
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
9444b678
RM
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
cba98e8d
RM
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
6f7db5d6
VS
252092010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 * include/grub/i386/bsd.h: Fix include pathes.
25212
262bff8d
VS
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
b2cab848
RM
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
2cb6be4b
RM
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
a2eaee15
BC
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
88d17012
RM
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
8040619d
RM
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
a0c2a0f6
RM
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
b0b13907
VS
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
ea379330 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
e15c215e
FZ
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
409ae1c9 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
70a14d3d 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
a0b766fc
VS
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
884ade56
VS
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
0d90e8a6
VS
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
5c71db1b 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
cca15b52 253962010-01-14 Carles Pina i Estany <carles@pina.cat>
25397
25398 * normal/cmdline.c (print_completion): Gettextizze.
25399
c586fbb2 254002001-01-14 Carles Pina i Estany <carles@pina.cat>
25401
25402 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25403
ba2f6848 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
0a46429a
RM
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
d6f93a66
RM
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
0934d184
BC
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
9c4ffeeb
VS
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
17383dfe
VS
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
c1f28820
VS
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
58655a16
RM
255792010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25580
25581 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25582
10891398
VS
255832010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25584
25585 * loader/i386/pc/multiboot2.c: Removed stalled file.
25586
0b8a223c
VS
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
92ab12b0
RM
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
a788afb6
CW
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
ffa8e3d2
VS
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
e9060a9d
VS
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
f0d0c0b7
RM
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
0e60bae7
RM
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>
cdec4d31
RM
25627
25628 Fix grub-emu build.
25629
25630 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
25631
cdb3f378
RM
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
1a064917
RM
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
5ce0a83a 257572010-01-09 Carles Pina i Estany <carles@pina.cat>
25758
25759 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
25760
809bbfeb 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
b394b2ca
RM
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>
cd943b75
RM
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
bc8b32b3
RM
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
5d2c52b8
RM
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
53108d92
RM
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
e2e936b2
RM
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
607a3701
VS
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
42841caa
VS
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
e7730de7 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
40e3a41f 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
83507e68
RM
259682010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25969
25970 * config.rpath: Update from Gnulib.
25971
465c787b
YB
259722010-01-05 Yves Blusseau <blusseau@zetam.org>
25973
25974 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25975
6581dd3a
YB
259762010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25977
25978 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25979
3bff18c5
CW
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
a1368118
CW
259882010-01-05 Colin Watson <cjwatson@ubuntu.com>
25989
25990 * util/mkisofs/write.c (padblock_write): Check return value of
25991 fread.
25992
7c302978
RM
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
e33ace06
RM
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
4b856776
RM
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
52c2d97f
VS
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
98ff6a54
VS
260282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26029
26030 * loader/efi/appleloader.c: Restored. Update all users.
26031
3a73dcb6
RM
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
ab0eeb0c
RM
260472010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26048
26049 * loader/efi/appleloader.c: Remove. Update all users.
26050
58bc8bd5
RM
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
e2d70b5c
CW
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
a173283f 261462010-01-03 Carles Pina i Estany <carles@pina.cat>
26147
26148 * normal/menu_text.c (print_message): Change messages.
26149
7fa7ff74 261502010-01-03 Carles Pina i Estany <carles@pina.cat>
26151
26152 * normal/menu_entry.c (store_completion): Gettextizze.
26153
136d24f6 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
f936862e 261582010-01-03 Carles Pina i Estany <carles@pina.cat>
26159
26160 * po/POTFILES: Sort correctly.
26161
29c44ad1 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
77a79592 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
da8d5c53
CW
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
33937904 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
3fd3b8d8
RM
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
33433555
VS
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.
e44721e8 26263 (GRUB_AS_NAMED_LIST): Likewise.
33433555 26264 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 26265 (GRUB_AS_PRIO_LIST): Likewise.
33433555 26266 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 26267 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 26268
f5a51306
VS
262692009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
26272 Fix syntax error.
26273
90d1e879
RM
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
465b5a81 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
c181849b
VS
262932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26294
26295 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
26296
9c8739a4
VS
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
3e74249c
VS
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
64fd18ed 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
714af9b9 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
82f3e412 263232009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 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
82f3e412 263412009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 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
fdcdbb66 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
82f3e412 26368 string as summary.
fdcdbb66 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
9c288be2
VS
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
db943399
VS
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
3fdae612
RM
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
7ebaa2b4
VS
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
ec5f98ab 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',
7ebaa2b4 26526 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 26527
22815526
RM
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
0ad46fd7
FZ
265382009-12-25 Felix Zielcke <fzielcke@z-51.de>
26539
26540 * util/hostdisk.c (open_device): Fix a comment.
26541
d0e158c2
RM
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
401c0ad6
RM
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
d14d3370
RM
265522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26553
26554 * include/multiboot.h: Indentation fixes.
26555
eeed10b4
RM
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
681c70ab
RM
265682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26569
26570 * include/multiboot.h: Make comments src2texi-friendly.
26571
e4d47d8d
RM
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
a0b70bda
RM
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
61ba42be 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
7fd0baee 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
0ad46fd7 266972009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
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
009ec743
VS
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
0ad46fd7 267502009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
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
d3d30ea0
VS
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
a34f5c70
VS
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
0ad46fd7 267682009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
26769
26770 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
26771
0ad46fd7 267722009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
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
0ad46fd7 267802009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
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
dc77a799
VS
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
0ad46fd7 267962009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
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
b5d5993b
VS
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.
11d18281 26807 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 26808
941903f2 268092009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 26810
941903f2 26811 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26812 (GRUB_MOD_INIT): Likewise.
26813 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 26814 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26815 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 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.
e9bbb4e7 26852 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26853 `$(XGETTEXT)'.
98a50553 26854 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 26855
0ad46fd7 268562009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 26857
ef3c2c3a 26858 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
26859 instead of specifying them explicit.
26860
7922f68b
RM
268612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * NEWS: Add grub-probe support for GNU/Hurd.
26864
537ce47f
RM
268652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26866
26867 * NEWS: gettext was added after 1.97.
26868
9b214e3a
RM
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
e9309813
RM
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
0ae56929
RM
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
b15937b1
RM
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
52cc3ce0
RM
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
36f5ff04
RM
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
973c6c85 269172009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
26918
26919 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26920
05d21547
AB
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
0175d51f
AB
269262009-12-21 Andreas Born <futur.andy@googlemail.com>
26927
26928 * kern/env.c (grub_env_export): Create nonexistent variables before
26929 exporting.
26930
7f39d92f 269312009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 26932
7f39d92f 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
3041d898
VS
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
de15bf8e
VS
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
e0a6ca52
VS
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
b99518d1 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
bfd5e52b 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
5a1ad2b9
VS
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
b045f00a
VS
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
0945f181
VS
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
0ad46fd7 271692009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
27170
27171 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27172 the `find' command.
27173
c179ebe4
VS
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
0ad46fd7 271822009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
27183
27184 Fix a segfault with parsing unknown long options.
27185
27186 * util/grub-mkrelpath.c (options): Zero terminate it.
27187
c4a3e41a
CPE
271882009-12-13 Carles Pina i Estany <carles@pina.cat>
27189
27190 * include/grub/misc.h (grub_puts): New declaration.
27191 (grub_puts_): Likewise.
a22008a6 27192 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
27193 (grub_puts_): Likewise.
27194
2e8a7602
RM
271952009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 * util/grub-probe.c (probe): Improve error message.
27198
b50b77b9
RM
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
29eb90c6
VS
272812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
27284 anything.
27285
31027430
CPE
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
dc0c71d9
RM
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
2a4bfcf0
RM
273052009-12-11 Robert Millan <rmh.grub@aybabtu.com>
27306
27307 * THANKS: Add David Miller.
27308
2a3aa4d5
RM
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
0ad46fd7 273312009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
27332
27333 * util/misc.c: Don't include <errno.h> twice.
27334
0ad46fd7 273352009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
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
2e59983c
VS
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
71ee178a
VS
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
2520d4b8
VS
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
e1f27065
VS
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
1a0f7f45
RM
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
c631d9fb
CW
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
7c7b6106
RM
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
e3069ec1
CPE
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
d6ceebf1
CW
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
de6daa8b
DM
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
0ad46fd7 274312009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27432
27433 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27434 mount points.
27435
98d3dc02
CPE
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 *.
a2c1332b 27442 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
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
b283f108
VS
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
69055f8a
CPE
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.
a2c1332b 27483 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
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
f616f51c
VS
274912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27494
57bbe3be
CPE
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
013d67a1
CPE
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
fb954db0
RM
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
6b8474f8
RM
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
4b2e6ca2
DM
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
5239348f
RM
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
ef34cbd4
RM
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
dc9837ea
ST
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
2f857f98
VS
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
c5448046
RM
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
c85184ad
VS
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
8a4c48d8
VS
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
fb6c1a7b
RM
276262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 * po/README: New file. Explain our PO file workflow.
27629
3bc7896c
RM
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
9ed4841d
RM
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
0ad46fd7 276472009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
27648
27649 * util/i386/efi/grub-mkimage.c: Include "progname.h".
27650 (main): Use `program_name' instead of nonexistent `progname'.
27651
e30dd392
FZ
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
7656de4f
RM
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
db77c4d4
FZ
276672009-11-26 Felix Zielcke <fzielcke@z-51.de>
27668
27669 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
27670
a755bb04
FZ
276712009-11-26 Felix Zielcke <fzielcke@z-51.de>
27672
27673 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
27674
8a4c07fd
RM
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
6f61ed55
FZ
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
f022876b
FZ
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
6717926e
YB
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
08806a54
RM
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
13b33fba
RM
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
4a8572e9
CPE
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>
a2c1332b 27754 (grub_gettext_dummy): Move above user.
4a8572e9 27755
bee48093
FZ
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
a031e91c
RM
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
26bec39d
FZ
277682009-11-24 Felix Zielcke <fzielcke@z-51.de>
27769
27770 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
27771
8e2532fd
FZ
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
fefa1b7d
FZ
277772009-11-24 Felix Zielcke <fzielcke@z-51.de>
27778
27779 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27780
4501250b
FZ
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
11d9778b
FZ
278002009-11-24 Felix Zielcke <fzielcke@z-51.de>
27801
27802 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27803 platform.
27804
4465287d
FZ
278052009-11-24 Felix Zielcke <fzielcke@z-51.de>
27806
27807 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27808 strncmp().
27809
62b47f22
FZ
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
1eafb9b9 278162009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
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.
3bc7896c
RM
27830 * po/POTFILES: Add `normal/menu_text.c'.
27831 * po/ca.po: Add new translations.
c3ea6bd4
CPE
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
0fdb2568
RM
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
f515aa62
RM
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
f84b481b
RM
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
4efeab03
RM
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
ea1dd8bf
RM
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
0c140626
RM
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
87d58298
RM
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
994cc3a3
ST
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
26a61d6a
FZ
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
74ff1dd5
FZ
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
0b787d0e
FZ
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
1164b270
RM
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
13774a2f
RM
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
efda854e
RM
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
6c09890c
FZ
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
a797824f
FZ
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
cd4f42b0
RM
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
393c783d
FZ
280142009-11-19 Felix Zielcke <fzielcke@z-51.de>
28015
28016 * Makefile.in (install-local): Add a missing backslash.
28017
b2f1e327
FZ
280182009-11-19 Felix Zielcke <fzielcke@z-51.de>
28019
28020 * include/grub/x86_64/io.h: New file.
28021
f577f7a0
RM
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
3bc7896c
RM
28034 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28035
c37943b6
RM
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.
6323f705
RM
28042 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28043 Include `<libintl.h>'.
28044 (_): New macro.
c37943b6
RM
28045
28046 * util/mkisofs/eltorito.c: Gettexttize.
28047 * util/mkisofs/joliet.c: Likewise.
28048 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
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
3bc7896c
RM
28054 * po/POTFILES: Update with new files.
28055
5ce77c6e
RM
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
1dabbc77
RM
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
633877cb
RM
280812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28082
3bc7896c
RM
28083 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28084 and `util/grub.d/10_linux.in'.
633877cb
RM
28085 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28086 translatable Shell files.
28087
af1c0c85
RM
280882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28089
28090 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28091
769ae37b
RM
280922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28093
28094 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 28095 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
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'.
3bc7896c 28107 * po/LINGUAS: New file.
769ae37b
RM
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.
3bc7896c
RM
28147 * po/POTFILES: New file.
28148 * po/ca.po: New file.
769ae37b
RM
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
02c0a6ad
RM
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
af2f93ac
RM
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
73fb3dd5
FZ
282162009-11-16 Felix Zielcke <fzielcke@z-51.de>
28217
814f5e96
FZ
28218 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28219 instead of relying that char is signed.
73fb3dd5 28220
a691ca33
VS
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
2af8f0f4
FZ
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
83bdecaf
RM
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
fd6fd3d7
RM
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
16a88c49
FZ
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
a4158476
RM
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
fc2208b0
RM
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
8d0edf4a
RM
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
a73f5969
RM
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
1c8927f0
RM
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
6e1e0d89
RM
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
7f2b34d8
RM
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
c0ef3311
CW
283502009-11-11 Colin Watson <cjwatson@ubuntu.com>
28351
28352 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28353
e1f240ff
RM
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
af7d4de5
FZ
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
2c55dbc0
RM
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
6a9cead5
FZ
284112009-11-09 Felix Zielcke <fzielcke@z-51.de>
28412
28413 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28414
4825d790
RM
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
84b860d8
RM
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
66e9b712
RM
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
34f4a5b0
RM
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
ac451143
RM
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
4089b167
RM
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
325f5037
RM
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
7aea29a3
RM
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
3fd6f044
RM
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
a4cd68e4
RM
285002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28501
28502 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28503 path with $(srcdir).
28504
7ad12f43
VS
285052009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28506
28507 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28508
c1129f03
RM
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
ec8bb77d
VS
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
3716b12c
RM
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
b97b7b91
RM
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
04114812
RM
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
e4eb2373
RM
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
c926e1d5 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
86e5b1db 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
246cd78f 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
4f9dfb37 285882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28589
28590 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28591
b82bd5e1 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
ff1a9bca 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
61697d9c 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
a50569e1 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
5b153867 286132009-11-01 Felix Zielcke <fzielcke@z-51.de>
28614
28615 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
28616
d9e2cd70 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
805111a4 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
fa6e945f 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
cee15086 286422009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28643
28644 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
28645
95b9239e 286462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28647
28648 * include/grub/misc.h: Stop checking for APPLE_CC.
28649
2ed19dfd 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
fdcdde19 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
cefabfe1 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
ed96ab6d 286662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28667
28668 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
28669
0579b753 286702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28671
28672 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
28673
478df409 286742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28675
28676 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
28677
083d1679 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
5947ae32 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
94180ff6 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
9031b03a 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
e4f6809b 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
67937d4d 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
ee3756cc 287242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28725
5c35048e 28726 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 28727
4dea1c6f 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
042484d7 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
d64448a7 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
508d42ec 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
b240e30c 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
346e7fbe 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
cdb308b0 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
fb26abc2 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
f6693890 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
0933cdc0 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
3b2fe8c2 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
46695a62 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
d2b6b7fc 288132009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * NEWS: Misc adjustments.
28816
421bd7ac 288172009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28820
f1d29d87 288212009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28822
28823 * configure.ac: Bump version to 1.97.
28824
6f3cd880 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
035f7122 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
44998e58 288382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28841
cd2851b3 288422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28843
28844 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28845 operations.
28846
c6f3b249 288472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28848
28849 * configure.ac: Add missing dollar.
28850
6b5886ba 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
e9d66f6d 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
9155bc17 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
bf7f7a18 288822009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28883
28884 * term/tparm.c: Switch to GPLv3.
28885
86564c26 288862009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28887
28888 * include/grub/i386/cpuid.h: Add header protection.
28889
5c936493 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
186e7cf2 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
83b65c4a 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
d244281c 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
da25306d 289202009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28921
28922 * configure.ac: Bump version to 1.97~beta4.
28923
e8ee83c0 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
50dcabcf 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
0e51c3a7 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
31299a95 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
cb8a2c38 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
6b9b6276 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
4e5a02a7 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
c6dcedf6 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
74c958b1 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
ff420223 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
d96875df 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
9b3f8365 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
c44c90db 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
e0b37bb5 290832009-09-21 Felix Zielcke <fzielcke@z-51.de>
29084
29085 * kern/term.c: Fix indentation.
29086
5a78865b 290872009-09-21 Felix Zielcke <fzielcke@z-51.de>
29088
29089 * util/hostdisk.c: Fix a comment.
29090
dace7e8a 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
a83d079b 290982009-09-19 Colin Watson <cjwatson@ubuntu.com>
29099
29100 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 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.
a83d079b 29104
be94a509 291052009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29106
29107 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29108
63f745e8 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
bbb2a70f 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
77c24f1d 291242009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29125
0f0b8c87 29126 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 29127
07197f23 291282009-09-14 Colin Watson <cjwatson@ubuntu.com>
29129
29130 * commands/test.c (get_fileinfo): Return immediately if
29131 grub_fs_probe fails.
29132
dabf1798 291332009-09-14 José Martínez <xosemp@gmail.com>
29134
29135 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29136
d52109a7 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
56532179 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
8ef070f5 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
61229557 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
5c9f8d84 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
e8f5d6e9 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
cda2a409 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
86695375 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
8aa1541a 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
48d9bb0a 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
3b0521be 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
50051d55 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
c0d34387 292092009-09-10 Felix Zielcke <fzielcke@z-51.de>
29210
29211 * docs/grub.cfg: Add an example menu entry for memtest86+.
29212
80a608f3 292132009-09-09 Felix Zielcke <fzielcke@z-51.de>
29214
a2094832 29215 * config.guess: Update to latest version from config git.
80a608f3 29216 * config.sub: Likewise.
29217
99423078 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
44454e4c 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
e30d87ad 292282009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29229
29230 * INSTALL: Require GCC 4.1.3 or later.
29231
9a86f1ec 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
7f26d466 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
3a613259 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
197f76c7 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
70ba68ce 292542009-09-04 Colin Watson <cjwatson@ubuntu.com>
29255
29256 * NEWS: Mention `keystatus' and Unicode fonts.
29257
4ff0d7a4 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
77c55a87 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
f79572cd 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
93a81088 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
160034b2 292912009-09-03 Felix Zielcke <fzielcke@z-51.de>
29292
29293 * INSTALL: Note that GNU Bison 2.3 or later is required.
29294
087c07c4 292952009-09-03 Colin Watson <cjwatson@ubuntu.com>
29296
29297 * kern/i386/pc/startup.S: Fix typo.
29298
cbf978c0 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>
f0910644 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
f3e8cdfd 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
c0bc232b 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
aa0f752d 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
ecb3166a 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
c403a125 293382009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 29339
29340 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 29341 non GNU test.
31aba781 29342
b5e7312c 293432009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29344
29345 * kern/file.c (grub_file_read): Spelling fix
29346
fe00f472 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
cc55302e 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
5c90cdd2 293572009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29358
29359 * include/grub/i386/xnu.h: Add license header.
29360 include grub/err.h explicitly.
29361
c90edae4 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
d8888b5c 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
6f07b921 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
b4f34077 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
e7c69859 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
a57da43f 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
4cbe67e5 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.
4cbe67e5 29461
6e2a9085 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.
ad8ea1f4 29495 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 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
32a71655 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
552bf6c5 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
1ae2078c 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
beefc598 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
3b76e68b 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
aea664ea 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
ff747d50 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
e7e1f93f 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
70f1161d 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
48e40bff 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
c385bfc3 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
2d21e3e8 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
dd103c4e 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.
ad8ea1f4 29664 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 29665
16c84d74 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
adb29902 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
f5ae9f74 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
de74f136 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
e9a925da 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
5174302b 297062009-08-23 Colin Watson <cjwatson@ubuntu.com>
29707
29708 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
29709
c8c80635 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
71acf5e5 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
c11fded5 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
11d1c769 297852009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29786
29787 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29788
7a9094e5 297892009-08-21 Pavel Roskin <proski@gnu.org>
29790
5496c37e 29791 * Makefile.in (install-local): When checking if a file is in the
29792 build directory, use "test -e" to detect symlinks.
29793
7a9094e5 29794 * Makefile.in (install-local): Remove all files in
29795 $(DESTDIR)$(pkglibdir) before installing new files there.
29796
e53cea11 297972009-08-18 Felix Zielcke <fzielcke@z-51.de>
29798
29799 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29800 grub-mkelfimage.
29801
9aced544 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
b7da6bab 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
19f1b335 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
2f467aa9 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
6025fcd7 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
cc8c6faf 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
08aa61f0 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
7cef4f75 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
e1f39873 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
c166d79e 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
c60cee8e 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
c0d8b5d4 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.
25fbd77a 29908 (ufs2_mod_SOURCES): New variable.
29909 (ufs2_mod_CFLAGS): Likewise.
29910 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 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
d3539132 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
d404ee56 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
9a10df16 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
be3c9ca7 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
1f9e557e 300022009-08-13 Pavel Roskin <proski@gnu.org>
30003
9ca62843 30004 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30005 any modern compilers we support.
30006
1f9e557e 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
81623db6 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
f5d35e7a 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
d1e1d527 300342009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30035
30036 * fs/jfs.c: Update copyright year.
30037
1ebbe064 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
a78c8d24 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
29a6b9e8 300502009-08-08 Pavel Roskin <proski@gnu.org>
30051
b5f16cc4 30052 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30053 available, xfs.mod needs it now.
30054
2f5cb827 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
29a6b9e8 30059 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30060 on it. Add missing space before closing bracket. Fix
30061 misleading formatting.
30062
892a3d98 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
ed94253f 300692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30070
30071 * docs/version.texi: New file. Provides version information for
30072 grub.texi.
30073
126d6628 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
998b5aa9 300792009-08-07 Felix Zielcke <fzielcke@z-51.de>
30080
30081 * util/grub-mkconfig.in: Remove a wrong `fi'.
30082
818e094a 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
b969c52f 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
7a4894cc 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
4e2171f8 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
6dcfcb32 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
f56a8756 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
222671b2 301432009-08-04 Felix Zielcke <fzielcke@z-51.de>
30144
ecb1a6d9 30145 * commands/search.c (options): Fix help output to match actual code.
222671b2 30146
f84114f5 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
bd288a20 301522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 30153
30154 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30155 on XFS or ReiserFS.
30156
8aab5e25 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
6ad6258a 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
67459bc6 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
fbc6ab54 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
f45d6cfc 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
24443b5a 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
a275d9e7 302222009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30223
30224 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 30225 embedding zone, not only the first one.
a275d9e7 30226
56c5a47f 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
67bb323a 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
388a7c75 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
3bb7abcf 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
2ddd36d7 302532009-07-28 Felix Zielcke <fzielcke@z-51.de>
30254
30255 * util/i386/pc/grub-install: Fix parsing of --disk-module
30256 option.
30257
c521b62b 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
880e0a0c 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
2366e356 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
7ad8c80e 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
72b9658b 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
77435277 302832009-07-25 Felix Zielcke <fzielcke@z-51.de>
30284
30285 * kern/file.c (grub_file_open): Fix an error check.
30286
fcaa8b21 302872009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
30288
35d16c74 30289 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
30290 partition map couldn't be identified.
fcaa8b21 30291
48904cd1 302922009-07-23 Pavel Roskin <proski@gnu.org>
30293
ef3c317f 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.
ad8ea1f4 30298 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 30299
48904cd1 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
260c9a89 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
f76ce889 303122009-07-21 Pavel Roskin <proski@gnu.org>
30313
30314 * kern/dl.c (grub_dl_check_header): Make static.
30315
6a6cbcaf 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
cffcddb2 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
1ef44b80 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
4f253044 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
57a55913 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.
75421ca9 30372
303732009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30374
30375 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30376
e98cd0c2 303772009-07-20 Pavel Roskin <proski@gnu.org>
30378
30379 * configure.ac: Trim excessively wordy excuses.
30380
1d2d169a 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
186f3189 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.
75421ca9 30409 (grub_afs_dir): Don't free node in case of error,
186f3189 30410 grub_fshelp_find_file already handles this.
30411 (grub_afs_open): Likewise.
30412
5680109e 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
ac70fa32 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.
75421ca9 30435
eab58da2 304362009-07-16 Pavel Roskin <proski@gnu.org>
30437
d2838156 30438 * configure.ac: Never add "-c" to CFLAGS.
30439
55c70904 30440 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30441
43e6200c 30442 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30443 grub_cv_cc_efiemu should be used.
30444
ce7a733d 30445 * configure.ac: Typo fixes.
30446
eab58da2 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
830afef7 304922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30493
30494 Enable all targets that can be built by default
30495
830afef7 30496 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30497 grub-mkfont and grub-fstest if they can be built
30498
ee293aee 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
94414221 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
59ade63d 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
a58da8c7 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
20591577 305412009-07-15 Pavel Roskin <proski@gnu.org>
30542
560ca572 30543 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30544 * kern/disk.c (struct grub_disk_cache): Likewise.
30545
e8e8e4fd 30546 * commands/probe.c (options): Typo fix.
30547
fde24e10 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
379c54c1 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
7bd8f5bf 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
40b132c5 30560 * boot/i386/pc/boot.S (boot_version): Remove.
30561 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30562 Remove.
30563
20591577 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
2df32b2c 305702009-07-13 Pavel Roskin <proski@gnu.org>
30571
44b5d879 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
17dc3751 30577 * kern/dl.c: Force native word size to suppress warnings when
30578 compiling grub-emu.
30579
2df32b2c 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
75c59f59 305852009-07-11 Bean <bean123ch@gmail.com>
30586
30587 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30588 childname.
30589
0ae1bf88 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
8279cade 305972009-07-07 Pavel Roskin <proski@gnu.org>
30598
7d8a52d3 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
25f9a05a 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
8279cade 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
4a11b60f 306122009-07-06 Pavel Roskin <proski@gnu.org>
30613
99f68041 30614 * commands/search.c (search_fs): Fix potential NULL pointer
30615 dereference.
30616
4a11b60f 30617 * commands/search.c (search_fs): Replace QUID macro with quid_fn
30618 function pointer.
30619
e110f4de 306202009-07-06 Daniel Mierswa <impulze@impulze.org>
30621
30622 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
30623 comparison.
30624
46eeb6a2 306252009-07-05 Pavel Roskin <proski@gnu.org>
30626
bab74958 30627 * include/grub/i386/linux.h (struct linux_kernel_params):
30628 Restore padding3, it's still needed.
30629
46eeb6a2 30630 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
30631 FreeBSD.
30632 * util/osdetect.lua: Likewise.
30633
b4a1dc79 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
2da92295 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
b2582ec9 306782009-07-02 Pavel Roskin <proski@gnu.org>
30679
30680 * genparttoollist.sh: Add missing newline at the end.
30681
32622956 306822009-07-01 Pavel Roskin <proski@gnu.org>
30683
87a7339e 30684 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
30685
d23af54e 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
c94b18a9 30690 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
30691 using signed long int constants.
30692
c6cd3ef0 30693 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
30694 constant to avoid a warning on FreeBSD.
30695
0df63420 30696 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
30697 where it's needed.
30698
999577f1 30699 * Makefile.in: Install include/grub/machine symlink.
30700
6f41557f 30701 * Makefile.in: When installing symlinks, use "cp -fR", which
30702 works on FreeBSD and MacOSX.
30703 From Yves Blusseau <cl7m42e02@sneakemail.com>
30704
c8d22988 30705 * kern/dl.c (grub_dl_resolve_symbol): Make static.
30706 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
30707
1b96e952 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
2ef0084d 30712 * kern/mm.c: Use correct format to print size_t.
30713
32622956 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
3f7f0cd0 307202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 Fix grub-emu build on sparc64-ieee1275.
30723
75421ca9 30724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 30725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
30726
211d06b5 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
aaf53e3c 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
a337130b 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
c6fe4d53 307642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30765
b09db61d 30766 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
30767
c6fe4d53 30768 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
30769 assembly in final jump, using register constraints.
30770
b09db61d 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
28333ad0 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,
75421ca9 30786 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 30787
02164e1b 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
18b6c557 307942009-06-28 Pavel Roskin <proski@gnu.org>
30795
85f2aab6 30796 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30797 fix a warning.
30798
18b6c557 30799 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30800
ad760f81 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
87a4623b 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
75421ca9 30812 grub_errno / grub_errmsg appropriately.
87a4623b 30813 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30814
8231fb77 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
97fe384e 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
c402ab17 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
9bbdfd4d 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
a42ce6e9 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
c952cf92 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.
cc3752ad 30901 (search_file): Improve error message.
30902 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 30903
132a0a59 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
387a140c 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
41da9665 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
bf337234 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
f52196ff 309452009-06-21 Pavel Roskin <proski@gnu.org>
30946
c3cee413 30947 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30948 to match nested functions.
30949 * loader/sparc64/ieee1275/linux.c: Likewise.
30950
f52196ff 30951 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30952
58750afc 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
15355c7d 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
75421ca9 30963 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 30964 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30965 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30966
3f3ec72b 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
0db15301 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
546796c1 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
cd7310d5 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
ab32d3b5 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
024ef597 310322009-06-19 Pavel Roskin <proski@gnu.org>
31033
31034 * configure.ac: Remove stray AC_MSG_CHECKING.
31035
3ac72b51 310362009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31037
31038 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 31039
e14cd814 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
26586d98 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
26de2bcd 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
dd74360c 31061 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 31062 Apple's toolchain
31063
09b3490b 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
c22a006a 310722009-06-17 Pavel Roskin <proski@gnu.org>
31073
d3638678 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
c22a006a 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
05b129e0 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
cf24ed9e 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
dd74360c 31096 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 31097 (grub_script_yylex): don't segfault on unterminated script
31098 newline terminates command and variable
31099
74aa8e4b 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
1bd265f3 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
a2d08c06 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
b97bcb19 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
0644f96c 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
3ef17a2e 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
693fe637 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
c9da87d0 311602009-06-16 Pavel Roskin <proski@gnu.org>
31161
31162 * configure.ac: Avoid '==' in test command, it's not portable.
31163
9c6f4596 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
70b7f9fd 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
71c79a6b 311872009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31188
dd74360c 31189 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 31190 handling
dd74360c 31191
0644f96c 311922009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 31193
31194 * util/grub-mkconfig.in: Fix parsing of --output option.
31195
e40893c3 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
3a1acfe2 312012009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31202
31203 * commands/i386/pc/drivemap_int13h.S: add more comments
31204
3a4575d4 312052009-06-11 Pavel Roskin <proski@gnu.org>
31206
0658e928 31207 * Makefile.in (uninstall): Uninstall manuals.
31208
ca0388f0 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
e3b27c39 31214 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31215 a compiler warning.
31216
3a4575d4 31217 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31218 `entry_lo' to fix variable shadowing.
31219
af1f4f55 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
5225e649 312252009-06-11 Felix Zielcke <fzielcke@z-51.de>
31226
31227 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31228
7d83bd47 312292009-06-11 Pavel Roskin <proski@gnu.org>
31230
c1cb63ba 31231 * Makefile.in: Don't rely on any scripts being executable.
31232 Always use $(SHELL) to run shell scripts.
31233
7d83bd47 31234 * configure.ac: Always define ___main if using -nostdlib. This
31235 fixes tests on Cygwin.
31236
948f48e7 312372009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
31238
31239 UDF fix
31240
7d83bd47 31241 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 31242 is in bytes and not in blocks
7d83bd47 31243
8ada9bc1 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
25ad2323 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
e65acb0c 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
f285fe2d 312612009-06-11 Colin Watson <cjwatson@ubuntu.com>
31262
bd47b0b5 31263 * util/grub.d/10_linux.in: Capitalise "Linux".
31264
f285fe2d 31265 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
31266
a0c62e4e 312672009-06-11 Pavel Roskin <proski@gnu.org>
31268
b6783cb2 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
dde032e8 31272 * kern/i386/ieee1275/init.c: Add missing prototype for
31273 grub_stop_floppy().
31274
22cd079d 31275 * loader/ieee1275/multiboot2.c [__i386__]: Include
31276 grub/cpu/multiboot.h.
31277
a0c62e4e 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
63963d17 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
775dbc4d 31291 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 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
775dbc4d 31312
33abf7ae 313132009-06-10 Pavel Roskin <proski@gnu.org>
31314
5ac35b35 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
5c5215d5 31319 * kern/file.c (grub_file_read): Use void pointer for the buffer.
31320 Adjust all callers.
31321
27d5fef7 31322 * kern/ieee1275/openfw.c: Remove libc includes.
31323 * kern/ieee1275/cmain.c: Likewise.
31324 * include/grub/ieee1275/ieee1275.h: Likewise.
31325
33abf7ae 31326 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31327 compiler warnings.
31328
19d50c2b 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
d2d49665 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
fe052e37 315622009-06-10 Pavel Roskin <proski@gnu.org>
31563
2763ac18 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
437e6adc 31574 * configure.ac: Use -nostdlib when probing for the target. It
31575 should not be required to have libc for the target.
31576
06a6836c 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
fe052e37 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
afd22553 315872009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 31588
afd22553 31589 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 31590
6b787c4f 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
473d1e45 31599 aren't available if ata.mod gets used.
6b787c4f 31600
473d1e45 316012009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 31602
473d1e45 31603 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 31604 initialising controller.
473d1e45 31605 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 31606
255a27d4 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
473d1e45 316122009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 31613
d55842d8 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
fa5db0b1 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
c0947beb 31626 * bus/usb/ohci.c: Set interf with correct field.
31627
69da8877 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
9e172e30 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
de65ee2b 316372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31638
31639 Not fail if unable to retrieve C/H/S on LBA disks
31640
473d1e45 31641 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 31642 if unable to retrieve C/H/S on LBA disks
31643
b57ea2c9 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
af361263 316492009-06-08 Felix Zielcke <fzielcke@z-51.de>
31650
31651 * Makefile.in (uninstall): Remove all $lib_DATA files.
31652
4c9ec6b3 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
e76fc924 316602009-06-08 Felix Zielcke <fzielcke@z-51.de>
31661
31662 * Makefile.in (uninstall): Remove all $include_DATA files.
31663
ba5a0d05 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
c8048e32 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
408305be 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
8ee1e0d9 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
a9966eb1 316952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31696
473d1e45 31697 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 31698 compensate a compiler bug
31699
9e7100fb 317002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31701
473d1e45 31702 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 31703 instead of '\b'
473d1e45 31704
ede21d71 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
9dbf7653 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
473d1e45 31723
e93cdc3d 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
473d1e45 31729 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 31730 for addresses
31731 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
31732
6c688477 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
473d1e45 31740 (memcpy): define alias conditionally on !APPLE_CC
6c688477 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
e37ffc5c 317482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31749
31750 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
31751
473d1e45 31752 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
31753 grub-macho2img
e37ffc5c 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
cf00df31 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
473d1e45 31772
d119a20c 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
473d1e45 31788
c8600122 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
473d1e45 31795 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 31796 without -mcmodel=large
473d1e45 31797 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 31798 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 31799
e8df1d4e 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
473d1e45 31805
cc6c3ac1 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
473d1e45 31812 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31813 using Apple's CC
cc6c3ac1 31814 (grub_cpu_is_tsc_supported): likewise
31815 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 31816
3e325901 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
2b167a72 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
473d1e45 31853
fb14123e 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
5b889789 318622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31863
31864 Add missing start symbols
31865
31866 * boot/i386/pc/boot.S: add start
fb14123e 31867 * boot/i386/pc/pxeboot.S: likewise
473d1e45 31868
fd2bf2e3 318692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31870
31871 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 31872
31873 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 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
473d1e45 31877
5389763d 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
473d1e45 31886
3eb5ed4e 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
473d1e45 31907 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 31908 loading xnu
31909 * video/video.c (grub_video_setup): removed
473d1e45 31910 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 31911 grub_video_setup
31912
4b0e1143 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
473d1e45 31921
fda6cb98 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
473d1e45 31934 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 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
473d1e45 31939 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 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
473d1e45 31960 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 31961 argument. All callers updated
31962
f4448a07 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
2bf5885a 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
f6fd460a 319802009-06-03 Felix Zielcke <fzielcke@z-51.de>
31981
31982 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31983
cbb3c83e 319842009-05-28 Pavel Roskin <proski@gnu.org>
31985
57788cfd 31986 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31987 Remove the original symlink explicitly.
31988
cbb3c83e 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
cd0d5e30 319922009-05-26 Pavel Roskin <proski@gnu.org>
31993
f0f8bbe2 31994 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31995 to `str'.
31996
cd0d5e30 31997 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31998 possibly unused.
31999
8c2cab51 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
230c0ad6 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
861f03a5 320472009-05-23 Felix Zielcke <fzielcke@z-51.de>
32048
32049 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32050
96b1619a 320512009-05-22 Pavel Roskin <proski@gnu.org>
32052
bf6a5fb2 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
96b1619a 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
b729776b 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
0a15ce80 320752009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32076
32077 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 32078 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 32079 * loader/i386/xnu_helper.S: Likewise
d6da58e6 32080
33db9015 320812009-05-18 Colin D Bennett <colin@gibibit.com>
32082
d6da58e6 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.
33db9015 32086
32087 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 32088 (grub_lua_parse_line): Improved reporting of Lua parser and
32089 execution errors.
33db9015 32090
46422c89 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
18f547ad 32098
22f53a96 320992009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32100
32101 trampoline for linux on 64-bit platform
32102
18f547ad 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
473d1e45 32106 declaration
d6da58e6 32107 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32108 here
22f53a96 32109 * loader/i386/linux_trampoline.S: moved here
d6da58e6 32110 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32111 trampoline
22f53a96 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
cb5a0f40 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
334f2c28 321262009-05-16 Felix Zielcke <fzielcke@z-51.de>
32127
32128 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 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).
334f2c28 32136
59e5d3ec 321372009-05-16 Felix Zielcke <fzielcke@z-51.de>
32138
32139 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32140
9d87a1ba 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
5e898c9d 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
cf353a47 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
3834887f 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
8090fc01 322602009-05-13 Pavel Roskin <proski@gnu.org>
32261
ac963883 32262 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
32263 grub_uint32_t to avoid a warning.
32264
8090fc01 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
18f547ad 322712009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 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
6f6a8b28 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
15fbf4c4 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.
59978c8a 32287 Improve warning messages for cases where there's no embedding area,
32288 or when it is too small (or core.img too large).
15fbf4c4 32289
238e871f 322902009-05-13 Pavel Roskin <proski@gnu.org>
32291
0ab3a9a4 32292 * loader/i386/pc/multiboot2.c: Add necessary includes for
32293 grub_multiboot2_real_boot().
32294
a2c8c5f8 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
faec96af 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
238e871f 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
901d2f0c 323092009-05-10 Robert Millan <rmh.grub@aybabtu.com>
32310
32311 * util/i386/pc/grub-install.in: Update copyright year.
32312
18f547ad 323132009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 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
18f547ad 32322 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 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
b4ba690a 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
317e1a44 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
041b8094 323422009-05-08 Pavel Roskin <proski@gnu.org>
32343
752473c2 32344 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32345 not modified.
32346
041b8094 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
172800ce 323522009-05-08 David S. Miller <davem@davemloft.net>
32353
32354 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32355
29aa5e81 323562009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32357
32358 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32359 existence.
29aa5e81 32360
96613b62 323612009-05-05 Felix Zielcke <fzielcke@z-51.de>
32362
32363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32364 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32365
eef73c8a 323662009-05-05 David S. Miller <davem@davemloft.net>
32367
32368 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32369
119494b5 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
de5fd76e 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
983598ad 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
8aadec43 32412 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32413
9554b15e 32414 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32415 devices, and do not traverse down under controller nodes.
32416
67e23c90 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
74bfdd2f 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
4241d2b1 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
0cfc0083 324832009-05-04 Felix Zielcke <fzielcke@z-51.de>
32484
32485 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32486
7c1d00cd 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
b01f0548 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
ecc3eb22 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
112972a9 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
afd5c115 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',
18f547ad 32519 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 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
faa517ce 32529 * Makefile.in: Remove duplicated 2008 in Copyright line.
32530
ae0c0bdc 325312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32532
473d1e45 32533 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 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
18f547ad 325462009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 32547
32548 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32549
6d260daa 325502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32551
32552 Updated copyright year
32553
32554 * fs/hfsplus.c: updated copyright year
18f547ad 32555
69f853f8 325562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32557
32558 HFS+ UUID
32559
18f547ad 32560 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 32561 in the space previously used by unused3
32562 (grub_hfsplus_uuid): new function
32563 (grub_hfsplus_fs): added uuid field
32564
4c402e73 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
515b5079 326182009-05-03 David S. Miller <davem@davemloft.net>
32619
32620 * normal/menu.c: Include grub/parser.h
32621
dfc31a22 326222009-05-03 Pavel Roskin <proski@gnu.org>
32623
2fee74f1 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
dfc31a22 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
18f547ad 326342009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 32635
32636 FreeBSD 64-bit support
32637
18f547ad 32638 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 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
18f547ad 32651 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 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
038c5720 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
fc45fb58 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
bbee0f2b 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
7dd4a573 32702 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 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
7dd4a573 32724
5caf964d 327252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32726
32727 Efiemu
7dd4a573 32728
5caf964d 32729 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 32730 _linux_efi, linux_efi.
32731 new files in grub-emu
5caf964d 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
7dd4a573 32735 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 32736 files to copy
32737 * include/grub/autoefi.h: new file
7dd4a573 32738 * include/grub/i386/efiemu.h: likewise
5caf964d 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
7dd4a573 32765
327662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 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
7dd4a573 327812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 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
7dd4a573 327892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 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
7dd4a573 32834 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 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
d558e6b5 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
7dd4a573 32970 * kern/parser.c (grub_parser_split_cmdline): Change type of
32971 getline parameter.
d558e6b5 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
18db813d 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
6c67de15 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
d9dc87b0 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
ac8a2baa 330032009-04-30 David S. Miller <davem@davemloft.net>
33004
ad22a610 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
6966215d 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
ac8a2baa 33013 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33014 lettered partition specifier is found, convert to numbered.
33015
979b4fb4 330162009-04-29 David S. Miller <davem@davemloft.net>
33017
e2bf39b2 33018 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33019 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33020
3c64e104 33021 * normal/command.c: Add missing newline at end of file.
33022
979b4fb4 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
136d9f82 330302009-04-28 Pavel Roskin <proski@gnu.org>
33031
9459c306 33032 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33033 not disk. Adjust all dependencies.
2e08a26a 33034 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 33035 grub_disk_close().
33036
136d9f82 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
7dd4a573 330412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 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
5af922b5 330552009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33056
33057 Warning fix
33058
7dd4a573 33059 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 33060 calling grub_dprintf
33061
a5562c30 330622009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33063
33064 Bug and warning fixes
33065
7dd4a573 33066 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 33067 declaration
33068 * commands/test.c (test_parse): fixed bug with file tests and corrected
33069 declaration of find_file
33070
4006f85c 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
5c77c3de 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
033b10a8 330812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33082
33083 Test command
33084
33085 * commands/test.c: rewritten to use bash-like test
33086
e4343593 330872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33088
33089 Parttool autoloading and improvements
33090
7dd4a573 33091 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 33092 (parttool.lst): new target
33093 * genmk.rb: generate parttool-*
33094 (CLEANFILES): add #{parttool}
33095 (PARTTOOLFILES): new variable
33096 * genparttoollist.sh: new file
7dd4a573 33097 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 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
0d312500 331042009-04-24 David S. Miller <davem@davemloft.net>
33105
7dd4a573 33106 Avoiding opening same device multiple times in device iterator.
0d312500 33107
33108 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 33109 and use it to build a list of partitions in iterate_disk() and
0d312500 33110 iterate_partition().
33111
ac20caff 33112 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33113 on disk->data.
33114
0dcf7495 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
c8c08833 331272009-04-23 David S. Miller <davem@davemloft.net>
33128
33129 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33130
f01005a8 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
4e8269da 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
a1447506 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
7dd4a573 331682009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 33169
33170 Correct GPT definition
33171
7dd4a573 33172 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 33173 of "attrib" member
33174
c6c5219f 331752009-04-19 Felix Zielcke <fzielcke@z-51.de>
33176
33177 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33178
0552ff9f 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
d1a282fc 331902009-04-17 Pavel Roskin <proski@gnu.org>
33191
07c5039f 33192 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33193 format.
33194 (grub_ohci_transfer): Likewise.
33195
b012002d 33196 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33197
1bc09c35 33198 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33199 return without a value. Fix inconsistent indentation.
33200
e0ff9126 33201 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33202 match struct grub_fs.
33203
d1a282fc 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
a96df3f2 332092009-04-16 Bean <bean123ch@gmail.com>
33210
33211 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33212 value.
33213
41bb0fe9 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
596c6970 332212009-04-15 Felix Zielcke <fzielcke@z-51.de>
33222
33223 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 33224 that no multiple data or metadata areas are supported and `Unknown
596c6970 33225 metadata header'.
33226
7dd4a573 332272009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 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
7dd4a573 33252 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
33253 (grub_emu_SOURCES): likewise
0d5d5653 33254 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 33255 (grub_emu_SOURCES): likewise
0d5d5653 33256
7dd4a573 332572009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 33258
33259 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 33260
5999d619 33261 * kern/misc.c (grub_itoa): Removed function
33262 (grub_ltoa): likewise
33263 (grub_vsprintf): use grub_lltoa
33264
7dd4a573 332652009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 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
7dd4a573 33273
20318222 332742009-04-15 Felix Zielcke <fzielcke@z-51.de>
33275
33276 * INSTALL: Add that `./autogen.sh' needs to be run before
33277 `./configure.'.
33278
d05f0df3 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
33c846be 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
4484e01e 333302009-04-14 Felix Zielcke <fzielcke@z-51.de>
33331
33332 * configure: Remove.
33333 * config.h.in: Likewise.
f93d668e 33334 * stamp-h.in: Likewise.
4484e01e 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
7dd4a573 333492009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33350 David S. Miller <davem@davemloft.net>
33351
33352 * util/hostdisk.c (make_device_name): Fix buffer length
33353 calculations.
33354
e25b5a8c 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
1f1f580c 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
7ebc2d6b 333682009-04-13 Robert Millan <rmh@aybabtu.com>
33369
33370 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33371 that name for menuentries when appropriate.
7ebc2d6b 33372
d8ba3667 333732009-04-13 Felix Zielcke <fzielcke@z-51.de>
33374
33375 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33376
cba416eb 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
a547a745 333822009-04-13 Felix Zielcke <fzielcke@z-51.de>
33383
33384 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33385 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33386 `freebsd_loadenv' only when devices.hints exist.
33387
232a769c 333882009-04-13 Pavel Roskin <proski@gnu.org>
33389
33390 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33391
c3012039 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
234022fe 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
d8e1836c 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
96bd81ec 33413 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33414 (grub_fstest_SOURCES): Likewise.
33415
6a4737e5 33416 * util/hostdisk.c (make_device_name): Do not make any assumptions
33417 about the length of drive names.
33418
1d7a72fd 33419 * kern/dl.c (grub_dl_load_file): Close file immediately when
33420 we are done using it.
33421
56bc2471 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
df38d0bb 33427 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33428 target compiler.
7dd4a573 33429
e382e93a 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
f5dbbca9 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
91c88b12 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
5b5d4aa5 334512009-04-12 Pavel Roskin <proski@gnu.org>
33452
7dd4a573 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.
5b5d4aa5 33456
c91e1793 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
b1ac8644 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
a3f7515a 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
0d44993d 33506 * include/grub/sparc64/ieee1275/boot.h: New file.
33507 * boot/sparc64/ieee1275/boot.S: Likewise.
33508 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33509
ed3d2bc2 33510 * kern/misc.c (grub_ltoa): New function.
33511 (grub_vsprintf): Use it to format 'long' integers.
33512
d3bfb59c 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
450e2238 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
7dd4a573 335382009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 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
e7e6862a 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
7dd4a573 33580 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 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
7dd4a573 33589 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 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
af63ada2 335982009-04-08 Felix Zielcke <fzielcke@z-51.de>
33599
33600 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33601
c2cdde70 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.
ea3f72cf 33607 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 33608
761319cf 336092009-04-06 Pavel Roskin <proski@gnu.org>
33610
1007d1f5 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
761319cf 33621 * commands/help.c (print_command_help): Use cmd->prio, not
33622 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
33623
ea761d40 336242009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 33625
ea761d40 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
7dd4a573 33637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 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
05aaebfb 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 ...
7dd4a573 33651 * include/grub/datetime.h: ... moved here and added
05aaebfb 33652 declaration of grub_unixtime2datetime. All users updated
7dd4a573 33653 * include/grub/fs.h: new syntax for dir and mtime functions in
33654 struct grub_fs
05aaebfb 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
7dd4a573 33687 * normal/completion.c (iterate_dir): use new dir syntax
33688 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 33689 last modification time of a volume
7dd4a573 33690 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 33691 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 33692 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 33693 (normal_mod_SOURCES): likewise
33694 (datetime_mod_SOURCES): Removed lib/datetime.c
33695 * conf/i386-efi.rmk: likewise
7dd4a573 33696 * conf/i386-ieee1275.rmk: likewise
05aaebfb 33697 * conf/i386-pc.rmk: likewise
33698 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33699 * conf/sparc64-ieee1275.rmk: likewise
33700 * conf/x86_64-efi.rmk: likewise
05aaebfb 33701
8a7e1a14 337022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33703
33704 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 33705
33706 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 33707 on grub_fat_find_dir
33708 (grub_fat_find_dir): use grub_fat_iterate_dir
33709 (grub_fat_label): likewise
33710
04186a9c 337112009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33712
7dd4a573 33713 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 33714 and command.h
33715 remove extraneous kernel_elf_HEADERS
33716
da4c0bb6 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
54ad9555 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
7a6bf9f2 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
3fcc2083 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
5ec9740b 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
5270cec8 337472009-04-01 David S. Miller <davem@davemloft.net>
33748
33749 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 33750 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 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
9c3dd854 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
0d818b7e 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
95646d92 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
6a003ed1 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
92f33540 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
a8c48fd5 337902009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33791
f968172e 33792 Leak fixes
a8c48fd5 33793
f968172e 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
a8c48fd5 33797
9c323f09 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
ae68f423 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
5709cfc4 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.
7dd4a573 33813
5709cfc4 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
a9368fd3 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
e4dd5a7e 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
c04d6e05 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
42a5b3fc 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
b28bbc4e 339182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33919
33920 * kern/env.c (grub_env_context_close): Fix memory leaks.
33921
f04f02e4 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
42a5b3fc 33931 * include/grub/normal.h (grub_normal_execute): Updated the
33932 prototype.
f04f02e4 33933
41473ac2 339342009-03-22 Pavel Roskin <proski@gno.org>
33935
fbc00b0c 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
41473ac2 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
2274cc8f 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
b1b797cb 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.
7d074e3c 34101 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 34102 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 34103 commands, remove grub_rescue_register_command calls.
b1b797cb 34104
7d074e3c 34105 * normal/command.c (grub_register_command): Removed.
b1b797cb 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
1f4147aa 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
2156d5ba 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
177b82ca 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
14aad807 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
8cf83a27 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
40164e75 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
c58bc32a 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
5415144a 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
6394042e 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
b7b50e5f 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
1ca7fc96 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
7d074e3c 34242 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 34243 4-byte alignment to MBI and others by increasing
7d074e3c 34244 `boot_loader_name_length' appropriately.
1ca7fc96 34245
34246 * loader/i386/multiboot_elfxx.c
34247 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
34248
a83ea1d2 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
aa9f3bff 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
d8b3b60e 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
b362c9e9 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
7d074e3c 34274 position relative to the center of the terminal instead of relying
b362c9e9 34275 on a hardcoded offset.
34276
9304eef1 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
eabc95fb 342872009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 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
ceb1223c 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
4910684a 343042009-03-04 Felix Zielcke <fzielcke@z-51.de>
34305
34306 * util/misc.c: Include <time.h>.
34307 (grub_millisleep): New function.
34308
7e9ca17a 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
f501677c 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
9902d047 343312009-03-01 Bean <bean123ch@gmail.com>
34332
50fb7002 34333 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 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
71b9f361 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.
50fb7002 34380 (grub_cur_term_input): Change variable as macro.
71b9f361 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.
50fb7002 34397 (grub_term_output_class): Likewise.
71b9f361 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.
50fb7002 34402 (grub_term_output_class): Likewise.
71b9f361 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.
50fb7002 34407 (grub_term_output_class): Likewise.
71b9f361 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.
50fb7002 34412 (grub_term_output_class): Likewise.
71b9f361 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
8a31787f 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
51cd3dfc 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
6e8c9c3a 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
4b6bf4f9 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
b9413424 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
50fb7002 344802009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34481
34482 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34483 b-tree.
34484
8cc50345 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
6e09b8b7 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
74b21bee 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
a455f472 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
6374daf3 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
8fa4ea70 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
353976ac 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
6aa1169b 345722009-02-14 Christian Franke <franke@computer.org>
34573
34574 * gendistlist.sh: Ignore `.svn' directories.
34575
265372ca 345762009-02-14 Felix Zielcke <fzielcke@z-51.de>
34577
34578 * fs/fat.c: Add 2009 to Copyright line.
34579
9ff516f3 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
772e23da 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
16ac430e 346822009-02-11 Robert Millan <rmh@aybabtu.com>
34683
34684 * util/grub.d/00_header.in: Update old reference to `font' command.
34685
06ff20fc 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
96da9407 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
50fb7002 34695 to avoid false positives with FAT.
96da9407 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
6dca6fe4 347042009-02-09 Felix Zielcke <fzielcke@z-51.de>
34705
06ff20fc 34706 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 34707 bpb.version_specific.fat12_or_fat16.fstype and
34708 bpb.version_specific.fat32.fstype.
34709
2550c62f 347102009-02-08 Robert Millan <rmh@aybabtu.com>
34711
be110b30 34712 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 34713
56978920 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
d64399b5 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.
50fb7002 34756
d64399b5 34757 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
34758
34759 * configure.ac: Test for libusb presence.
50fb7002 34760
d64399b5 34761 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
34762
2b40d6bb 347632009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
34764
34765 * kern/mm.c: Add more comments.
34766
73a4ce81 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
f821ce59 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
aebfc4b0 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
50fb7002 347852009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 34786
34787 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34788
0bb5115e 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
38a0f8e7 347952009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34796
50fb7002 34797 Fixes problem when running vbetest command as reported by
38a0f8e7 34798 Vladimir Serbinenko <phcoder@gmail.com>.
34799
34800 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34801
3143cc1c 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
9cba6fce 348072009-02-03 Felix Zielcke <fzielcke@z-51.de>
34808
34809 * util/unifont2pff.rb: Remove.
34810
e507a2c1 348112009-02-03 Felix Zielcke <fzielcke@z-51.de>
34812
34813 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34814 `#'.
34815
d2c2b4cd 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
b4315fb0 348262009-02-02 Christian Franke <franke@computer.org>
34827
34828 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34829
de3aa260 348302009-02-01 Felix Zielcke <fzielcke@z-51.de>
34831
7c3ff286 34832 * INSTALL: Note that we now require at least autoconf 2.59 and
34833 that LZO is optional.
de3aa260 34834
825a182b 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
a69ef770 348422009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34843
7c3ff286 34844 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 34845 <bero@arklinux.org>.
34846
34847 * normal/parser.y (script_init): Add missing semicolon.
34848
6fa42fa6 348492009-01-31 Colin D Bennett <colin@gibibit.com>
34850
7c3ff286 34851 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 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
56192c23 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
d72521b3 349192009-01-27 Pavel Roskin <proski@gnu.org>
34920
34921 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34922
994b5e84 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
6a7eab2c 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
1806b56e 349422009-01-26 Daniel Mierswa <impulze@impulze.org>
34943
3fb18f09 34944 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34945
336e1fb9 34946 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34947
1806b56e 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
580b2a0f 349532009-01-26 Robert Millan <rmh@aybabtu.com>
34954
34955 * configure.ac: Fix cross-compilation check.
ef257b36 34956
d31c24f1 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
3138b44c 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.
ef257b36 34985 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 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
59a64ef6 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
1cfe20b3 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
bee5fe5d 350182009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35019
35020 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35021
ef257b36 35022 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 35023 width glyphs.
35024
3e643f8c 350252009-01-19 Robert Millan <rmh@aybabtu.com>
35026
35027 * config.guess: Update to latest version from config git.
35028 * config.sub: Likewise.
35029
4fa80998 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
7086085b 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
4a412913 350742009-01-13 Carles Pina i Estany <carles@pina.cat>
35075
35076 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35077
7795c55e 350782009-01-13 Bean <bean123ch@gmail.com>
d913988c 35079
35080 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35081
7795c55e 350822009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 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
093af1fe 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
f36cc108 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
7f02114b 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.
7795c55e 35211 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 35212
35213 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35214 grub/machine/console.h.
35215
644fff97 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
1e901a75 352242009-01-02 Colin D Bennett <colin@gibibit.com>
35225
35226 New font engine.
34c44600 35227
1e901a75 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.
34c44600 35232
1e901a75 35233 * configure: Re-generated.
34c44600 35234
1e901a75 35235 * DISTLIST: Removed font/manager.c.
35236 Added font/font.c.
35237 Added font/font_cmd.c.
34c44600 35238
1e901a75 35239 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
35240 compilation.
34c44600 35241
1e901a75 35242 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 35243
35244 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 35245
35246 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 35247
1e901a75 35248 * normal/menu.c: Likewise.
34c44600 35249
1e901a75 35250 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
35251 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 35252
1e901a75 35253 * include/grub/font.h: Replaced with new file.
34c44600 35254
1e901a75 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.
34c44600 35260 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 35261 fg_red, fg_green, fg_blue, fg_alpha.
35262 (grub_video_adapter): Removed blit_glyph.
34c44600 35263 (grub_video_blit_glyph): Removed.
35264
1e901a75 35265 * font/manager.c: Removed file.
34c44600 35266
35267 * font/font.c: New file.
35268
1e901a75 35269 * font/font_cmd.c: Likewise.
34c44600 35270
1e901a75 35271 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 35272
1e901a75 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.
34c44600 35278
1e901a75 35279 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
35280 (get_pixel): Likewise.
34c44600 35281 (set_pixel): Likewise.
35282
1e901a75 35283 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 35284
1e901a75 35285 * term/gfxterm.c: Adapted to new font engine.
34c44600 35286
1e901a75 35287 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 35288
1e901a75 35289 * term/i386/pc/vga.c: Likewise.
34c44600 35290
1e901a75 35291 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 35292
1e901a75 35293 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 35294
1e901a75 35295 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35296
1e901a75 35297 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35298
1e901a75 35299 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 35300
1e901a75 35301 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 35302
1e901a75 35303 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 35304
1e901a75 35305 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 35306
1e901a75 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.
34c44600 35310
1e901a75 35311 * util/grub-mkconfig_lib.in: Changed font extension.
35312
278922e8 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
3ced05cf 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
7fd0ee30 353242008-11-29 Robert Millan <rmh@aybabtu.com>
35325
34c44600 35326 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 35327 grub_ata_device_initialize() calls.
35328
34c44600 353292008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 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
89313780 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
15257703 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
9fc5388a 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
bc3a2f31 353562008-11-22 Robert Millan <rmh@aybabtu.com>
35357
34c44600 35358 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 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
80fc88f2 35363 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35364 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35365
cbf36fd3 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
73e8e268 353712008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 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
73e8e268 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
e94045a1 35382 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35383 Move comment text to `#error' stanza.
e94045a1 35384
79d29fd7 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
60d6b16e 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
ebaaf49b 354122008-11-19 Robert Millan <rmh@aybabtu.com>
35413
35414 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 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.
ebaaf49b 35419
dfab719f 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
10fc3eb9 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
34c44600 35433 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 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
2f2a3442 35436 decompression). Add #error instance with comment to explain why this
35437 loader isn't currently usable on PC/BIOS.
10fc3eb9 35438
e2e07847 354392008-11-14 Robert Millan <rmh@aybabtu.com>
35440
35441 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35442 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35443
fe8e8d69 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
976b07d0 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
76679cd3 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
95b841d3 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
761ca975 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
6c529df7 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
132e4113 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
ac293d50 355572008-11-08 Robert Millan <rmh@aybabtu.com>
35558
35559 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 35560 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 35561
0025933a 355622008-11-08 Robert Millan <rmh@aybabtu.com>
35563
35564 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 35565 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 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.
dcb6fa0a 35570 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 35571
37c86336 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
b6c15a2d 355822008-11-07 Pavel Roskin <proski@gnu.org>
35583
d99d46f1 35584 * gendistlist.sh: Use C locale for sorting to ensure consistent
35585 output on all systems.
35586
b6c15a2d 35587 * util/grub.d/00_header.in: Remove incorrect space before
35588 "serial".
35589
c32ee8c9 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
651c29b7 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
96e5d876 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
556f3775 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
926b9823 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
1432e958 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
dba3f844 357652008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 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
dba3f844 357702008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 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
7ab28c21 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
1b7748eb 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
c9618ab2 357902008-10-03 Felix Zielcke <fzielcke@z-51.de>
35791
7a36edca 35792 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 35793
bf981c62 357942008-10-03 Felix Zielcke <fzielcke@z-51.de>
35795
35796 * util/update-grub_lib.in: Mention filename in warning message.
35797
6d994591 357982008-09-29 Felix Zielcke <fzielcke@z-51.de>
35799
35800 * NEWS: Update for rename of update-grub to grub-mkconfig.
35801
18ade780 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.
7c3ff286 35806 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 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
556ce6ac 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>
eb079ba9 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
92274e85 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
add6f17a 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
d2a367b8 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
81a06771 358622008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 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
5a004279 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
397093d3 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
a91b6c7c 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
c40fd116 358882008-09-22 Bean <bean123ch@gmail.com>
35889
81a06771 35890 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 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
81a06771 358972008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 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
5dc43410 359062008-09-21 Felix Zielcke <fzielcke@z-51.de>
35907
35908 * autogen.sh: Add a call to `gendistlist.sh'.
35909
9035dce4 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
7fd75377 359192008-09-09 Felix Zielcke <fzielcke@z-51.de>
35920
040030b3 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
7fd75377 35927 #include <grub/util/hostdisk.h>.
35928
89d5ffcf 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
81a06771 35933 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 35934 Use `lowest_segment' rather than 0 for calculating the current
35935 segment load address.
35936
40da438f 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
ddbf5556 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
783d0f48 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
548e2ea5 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
0ea85a37 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.
81a06771 35993 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 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
81a06771 36009 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 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.
81a06771 36015
0ea85a37 36016 * video/video.c (grub_video_get_blit_format): Updated to use new
36017 blit formats. Added handling for 16 bit color modes.
81a06771 36018
36019 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 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.
81a06771 36048
0ea85a37 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.
81a06771 36056
0ea85a37 36057 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36058 types.
81a06771 36059
0ea85a37 36060 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36061 types.
81a06771 36062
0ea85a37 36063 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36064 blitter types.
81a06771 36065
0ea85a37 36066 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36067 types.
36068
e8a83df6 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
6bcd8ee5 360742008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 36075
6bcd8ee5 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.
c375ae58 36079
59261157 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
58b6645a 360912008-09-04 Felix Zielcke <fzielcke@z-51.de>
36092
4ee55921 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.
58b6645a 36101
9124f65d 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
81a06771 361072008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 36108
36109 * include/grub/normal.h: Fixed incorrect comment for
36110 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36111
81a06771 361122008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 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
93d5cbf8 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
21751d50 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
e27a75c5 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
81a06771 361532008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 36154
36155 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36156
81a06771 361572008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 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
7c5d8d95 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
4cebd25a 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
b497a269 361742008-08-29 Pavel Roskin <proski@gnu.org>
36175
e3925185 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
b497a269 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
6e5a42fe 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>,
81a06771 36197 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 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
ab3f2673 362192008-08-28 Pavel Roskin <proski@gnu.org>
36220
36221 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36222 kern/time.c.
36223
1c282483 362242008-08-28 Robert Millan <rmh@aybabtu.com>
36225
36226 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36227
678e849c 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
965c75ca 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
c07ae501 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
5ed20adc 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.
dba3f844 36355 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36356 add handling for the new options, support multiple disks.
36357
36358 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36359
29c18915 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
8415f261 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
d5a7dc5b 363732008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36374
d5a7dc5b 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
380cfbb4 363792008-08-21 Felix Zielcke <fzielcke@z-51.de>
36380
36381 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36382
c9baafe7 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
e290bef2 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
f9dbfc96 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
dd6bd6ab 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
7f42f83e 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
38487ddb 364312008-08-17 Robert Millan <rmh@aybabtu.com>
36432
36433 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36434
deceb3ec 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
f8aa0f43 364732008-08-17 Carles Pina i Estany <carles@pina.cat>
36474
9807deb9 36475 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36476
605f5bb6 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
210db6c6 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,
48cdbfd4 36487 genmoddep.awk, gensymlist.sh.in.
36488 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36489 * DISTLIST: Regenerated.
48cdbfd4 36490 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36491
1082b929 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
42ce5170 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
0e9242da 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
b86408f8 366162008-08-14 Felix Zielcke <fzielcke@z-51.de>
36617
d5e619ca 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.
b86408f8 36623
7161f0e0 366242008-08-13 Robert Millan <rmh@aybabtu.com>
36625
36626 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
36627
a1967522 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
371458b5 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
05f9452b 366482008-08-12 Bean <bean123ch@gmail.com>
36649
36650 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
36651
20024ab0 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
e352e9cd 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
2d05bc6a 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
042bd419 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
7f280db5 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
1fbc5e66 367172008-08-08 Marco Gerards <marco@gnu.org>
36718
36719 * NEWS: Update.
36720
819ce6c0 367212008-08-07 Bean <bean123ch@gmail.com>
36722
36723 * include/grub/x86_64/pci.h: New file.
36724
5c41d44d 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
5ebc275d 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
e383b3d0 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
1cbb58ac 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
337f5a1e 367592008-08-06 Pavel Roskin <proski@gnu.org>
36760
36761 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
36762
057bc4ac 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
2b99f123 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
9f0234cb 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
a55d42e0 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
24371d26 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
9e7007b3 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
9f0234cb 36854 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 36855
36856 * include/grub/i386/pc/pxe.h: Likewise.
36857
6977d49f 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
9c2ff3ee 368742008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 36875
9c2ff3ee 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.
337f5a1e 36904
9c2ff3ee 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.
bf06a93f 36945
9c2ff3ee 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
9ec92aaf 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
8d23f507 369602008-08-04 Pavel Roskin <proski@gnu.org>
36961
36962 * kern/main.c: Include grub/mm.h.
36963
5e15ee3d 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
a9053f8f 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
dd19c7d7 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
e14a6184 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
52768e37 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
2d52f57f 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,
825aa57a 37011 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 37012
2a5cd121 370132008-08-02 Robert Millan <rmh@aybabtu.com>
37014
37015 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37016
93808428 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
3bd0a12a 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
a927cc73 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
825aa57a 37080 address, install the appropriate relocator code in each bound of
a927cc73 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
b15d8a0c 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
cdfb3d22 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
9175e93d 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
3d8383e7 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
16e641b6 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
59198b72 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
ae88bca3 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.
825aa57a 37162 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 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
14f41dd1 371782008-07-30 Robert Millan <rmh@aybabtu.com>
37179
37180 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37181
4ca049a3 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
2921d337 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
b609876d 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
e93e4679 372012008-07-29 Bean <bean123ch@gmail.com>
37202
37203 * normal/main.c (get_line): Fix buffer overflow bug.
37204
41694fd0 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
cfd0b4e6 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
93cce016 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.
c298def0 37223
cd1df915 372242008-07-27 Robert Millan <rmh@aybabtu.com>
37225
37226 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37227 information.
37228
b70a8427 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
8f5e379f 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
a85cd5a0 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
c298def0 372932008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 37294
37295 * commands/help.c: Include <grub/term.h>.
37296 (TERM_WIDTH): Removed. Updated all users.
37297
cc349fb3 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
9051607e 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
01453bfc 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
6af9849f 373172008-07-24 Christian Franke <franke@computer.org>
37318
3a0fa256 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
7810e747 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
42290e17 373282008-07-24 Bean <bean123ch@gmail.com>
37329
51cc5193 37330 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 37331 (grub_png_init_fixed_block): New function.
37332 (grub_png_decode_image_data): Handle fixed huffman code compression.
37333
2a8a80e4 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
12ccdb75 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
18eeaf04 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
b095e2ad 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
737feb35 374202008-07-17 Pavel Roskin <proski@gnu.org>
37421
3f4ce737 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
4ad2d049 37426 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37427 * kern/efi/efi.c: Likewise.
37428
f6130a12 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
58393a2d 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
737feb35 37441 * configure.ac: Default to pc platform for x86_64.
37442
546f966a 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
20011694 374552008-07-17 Bean <bean123ch@gmail.com>
37456
37457 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37458 (appleldr_mod_SOURCE): New variable.
20011694 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
59652a20 376172008-07-16 Pavel Roskin <proski@gnu.org>
37618
ef294055 37619 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
37620 format strings.
37621
59652a20 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
afc3b5d7 376272008-07-15 Pavel Roskin <proski@gnu.org>
37628
506b2b3e 37629 * kern/i386/ieee1275/init.c: Include grub/cache.h.
37630
62ead89c 37631 * term/ieee1275/ofconsole.c: Disable code unused on i386.
37632
c4cd51d7 37633 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
37634 Fix comparison between signed and unsigned.
37635
0d3d8f28 37636 * include/grub/i386/ieee1275/console.h: Declare
37637 grub_console_init() and grub_console_fini().
37638
8804b286 37639 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
37640 It's empty and unused.
37641
ee01cf35 37642 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
37643 beginning to avoid warnings with some compilers.
37644
afc3b5d7 37645 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
37646 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
37647
e4e8eaa5 376482008-07-14 Pavel Roskin <proski@gnu.org>
37649
407aceb4 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
e4e8eaa5 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
d4e2dad3 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
aa24b516 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
fe987087 37678 its value according to the compression algorithm used, lzo or lzma.
aa24b516 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
4ae821ac 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
9a745147 377122008-07-12 Robert Millan <rmh@aybabtu.com>
37713
37714 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
37715
d49a4cf6 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
947414b4 377232008-07-11 Pavel Roskin <proski@gnu.org>
37724
0059cf6f 37725 * commands/read.c (grub_getline): Fix invalid memory access.
37726 Don't add newline to the variable value.
37727
947414b4 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
62a02d00 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
3e5581b0 377392008-07-05 Pavel Roskin <proski@gnu.org>
37740
ea387a48 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
3e5581b0 37745 * disk/ata.c: Use named constants for status bits.
37746
fdecb8fd 377472008-07-04 Pavel Roskin <proski@gnu.org>
37748
bcd35b90 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
af58ab3d 37760 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
37761 prevent warnings.
37762
1759aa57 37763 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
37764 pointer, which can cause warnings. Support 64-bit addresses.
37765
fdecb8fd 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
8516d2a8 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
fe987087 37773 looking for (often causing expensive probes of non-existent drives).
8516d2a8 37774
37775 Some callers relied on previous buggy behaviour, since they would
34c44600 37776 raise an error when their own hooks caused early abortion of its
8516d2a8 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
277d0de9 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
d4c9b428 378092008-07-02 Pavel Roskin <proski@gnu.org>
37810
e43fc690 37811 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37812 warning.
37813
f707af42 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
11e16b15 37818 * util/grub-editenv.c (cmd_info): Cast argument to long
37819 explicitly. ptrdiff_t reduces to int on i386.
37820
cbabfdd4 37821 * util/grub-editenv.c (main): Be specific which parameter is
37822 missing.
37823
b8fbce0a 37824 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37825 (memdisk): Make memdisk_orig_addr a pointer.
37826
c9c8e606 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
ca62e598 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
ce8d1766 37835 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37836 grub_disk_addr_t for memory addresses.
37837
00c7a56a 37838 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37839 explicitly to fix a warning.
37840
08d3ef09 37841 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37842
cb71ba20 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
d4c9b428 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
d4156eee 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
2270f77b 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
0e9e51ec 378962008-07-01 Pavel Roskin <proski@gnu.org>
37897
d89b7634 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
bf1835b1 37902 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37903
8222a04b 37904 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37905
6a42d99d 37906 * term/tparm.c (analyze): Always set *popcount.
37907
10b159d1 37908 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37909 cast to fix a warning.
37910
b8789f6c 37911 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37912 cast to suppress a warning.
37913
29d7e38a 37914 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37915 grub_fshelp_read_file() expects.
37916
f341f669 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
0e9e51ec 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
3aefa857 379302008-06-30 Pavel Roskin <proski@gnu.org>
37931
56c7668b 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
3aefa857 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
5444088d 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
674835c8 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
f527dbc8 379542008-06-26 Pavel Roskin <proski@gnu.org>
37955
6c2d8df6 37956 * util/biosdisk.c (read_device_map): Don't leave dead map
37957 entries for devices failing stat() check.
37958
f527dbc8 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
aebe3d13 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
37aaf354 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
25ff262a 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
76a2bd44 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
650e1c79 379932008-06-19 Robert Millan <rmh@aybabtu.com>
37994
fe987087 37995 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 37996 after it has been set by grub_machine_set_prefix().
37997
6ce63911 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
73940cec 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
3c62a39d 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,
fe987087 38015 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 38016 since it had already been processed).
38017
47395a42 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
a145ac2d 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
7847c51e 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
b23e5644 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
0aac2f79 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
3cca7ef3 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
347396d8 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
991477f8 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
d31a32a1 380872008-06-16 Bean <bean123ch@gmail.com>
38088
fe987087 38089 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 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
fe987087 38096 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 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
3540a760 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
95614c84 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
50465dd6 381252008-06-15 Robert Millan <rmh@aybabtu.com>
38126
fe6b695a 38127 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 38128 devices.
38129 Reported by Max Vozeler.
38130
a9207284 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
a7cbd45a 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
21cf716a 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
23a64d8e 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
d687651c 381602008-06-13 Pavel Roskin <proski@gnu.org>
38161
38162 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38163
dfe9ddd4 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
16ae7781 381732008-06-12 Pavel Roskin <proski@gnu.org>
38174
e6d1a308 38175 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38176 number, grub_fshelp_read() does it for us.
38177
16ae7781 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
40fd3a2b 381832008-06-09 Pavel Roskin <proski@gnu.org>
38184
38185 * fs/minix.c (grub_minix_mount): Handle error reading
38186 superblock.
38187
f5679726 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
ce525529 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
ad4936a0 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
dc20b0f9 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
c5e3cfba 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
26a1f8c4 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
25d6b327 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
9ece62fb 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
1ad36d37 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
e6a30859 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
00c108a4 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
1385c5bb 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
c682dfd7 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
b7db5d47 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
6e037aa9 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
41305bc8 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
69ba137e 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
520ae21b 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
5786569b 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
51500452 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
811d3878 383462008-05-30 Robert Millan <rmh@aybabtu.com>
38347
38348 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38349 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38350
cab63c95 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
972e2f7a 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
62191274 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
01b73ec8 383962008-05-30 Robert Millan <rmh@aybabtu.com>
38397
38398 * util/biosdisk.c (map): Redefine structure to hold information
38399 about GRUB drive name.
fe6b695a 38400 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 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
22f16596 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
528ad8f2 384272008-05-29 Pavel Roskin <proski@gnu.org>
38428
d1dff95d 38429 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38430 when scanning metadata for volume group name.
38431
528ad8f2 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
47248e08 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
ee632529 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
eee96e08 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
da9a6a94 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
12e65f3a 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
23023641 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
887d2619 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
b7c6bed5 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
eedf167f 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
a079699e 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
1cf4059a 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
ed759390 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
b56c4eaa 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
7f8866ed 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
b0346e0f 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
6cf12cbd 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
0fbb3117 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
8124cdb7 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
094c01d0 386522008-04-29 Robert Millan <rmh@aybabtu.com>
38653
38654 * docs/grub.cfg: New file (example GRUB configuration).
38655
f4b1fc02 386562008-04-26 Robert Millan <rmh@aybabtu.com>
38657
329ce2a5 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'.
f4b1fc02 38661
25f16ec1 386622008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 38663
25f16ec1 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.
f19dbdb7 38696
25f16ec1 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.
f19dbdb7 38712
25f16ec1 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
e89d61e9 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
602566f6 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
57490c2b 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
1977517d 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,
e0c5dacb 38750 we want build ids to be preserved
1977517d 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
bfb1f1a2 387552008-04-15 Robert Millan <rmh@aybabtu.com>
38756
38757 * disk/lvm.c: Update copyright year.
38758 * kern/misc.c: Likewise.
38759
01979850 387602008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38761
38762 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 38763 there is no memory left for physical volume name.
01979850 38764
0a1150e2 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
82ead3fe 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
e54a72f5 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
9fe86034 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
7ceeee39 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
f19dbdb7 38798 (and leave `*p' unmodified).
7ceeee39 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.
fe6b695a 38805 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 38806 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38807 Don't assume `vg->pvs != NULL' when iterating through it.
38808
58cd3d85 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
78b51059 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
a91627b4 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
322562ea 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
a02a73c5 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
25c024b1 388552008-04-07 Robert Millan <rmh@aybabtu.com>
38856
38857 * util/grub-probe.c (probe): Improve error message.
38858
3cbd2f98 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
87a297bf 388652008-04-06 Pavel Roskin <proski@gnu.org>
38866
36747a62 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
87a297bf 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
f6ce7629 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
070e49e4 388892008-04-04 Pavel Roskin <proski@gnu.org>
38890
8b088a4c 38891 * commands/lspci.c (grub_lspci_iter): Print the bus number
38892 correctly.
38893
4f657021 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
070e49e4 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
ba7328dc 389062008-04-02 Pavel Roskin <proski@gnu.org>
38907
26887f22 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
ba7328dc 38913 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38914 * fs/cpio.c (grub_cpio_read): Likewise.
38915
0f582c6b 389162008-04-01 Pavel Roskin <proski@gnu.org>
38917
4b6e1995 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
828a2768 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
2bb4fb47 38929 * disk/loopback.c (options): Improve help for "--partitions".
38930
0f582c6b 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
a33224e0 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
86cb4f54 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
17c74c21 389712008-03-30 Pavel Roskin <proski@gnu.org>
38972
4cb68e89 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
8790bb04 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
9a3f3296 38988 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38989 missing grub_error() call.
38990
0ecef90d 38991 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38992 2.60 and newer uses it to define datadir.
38993
0bf6d401 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
7cdacf97 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
17c74c21 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
80a3e68b 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
77bcd272 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
c5dfd43b 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
bf962df2 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
68e7fc7a 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
38ad2cf5 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
2b89344e 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
87a95d1f 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.
f19dbdb7 39095
87a95d1f 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
7dc15d8e 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
b00ab696 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
79ca2d78 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.
f19dbdb7 39127 (options): Introduce new parameter '-d, --device'.
79ca2d78 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
0d16e571 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
8a594a17 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
2dc33c03 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
f6f4cfb0 391922008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39193
39194 * include/grub/efi/time.h: Fix a wrong comment.
39195
79ff665f 391962008-02-19 Pavel Roskin <proski@gnu.org>
39197
39198 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39199 message.
39200
d38e24c2 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
fe987087 39243 can test other formats.
d38e24c2 39244
b93bdb0f 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
66cb40f6 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
b7202015 392872008-02-17 Christian Franke <franke@computer.org>
39288
39289 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
39290
32b0fc49 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
aca63502 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
0de8be86 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
c3db8364 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
f714229e 393132008-02-12 Alexandre Boeglin <alex@boeglin.org>
39314
c3db8364 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.
f714229e 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
c3db8364 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.
f714229e 39329 (halt_mod_SOURCES): Likewise.
39330 (reboot_mod_SOURCES): Likewise.
39331
c3db8364 39332 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39333 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 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.
c3db8364 39341 Add some precompiler directive to include the correct header for
39342 each machine.
f714229e 39343
39344 * commands/ieee1275/halt.c: move this file ...
39345
39346 * commands/halt.c: ... to here.
c3db8364 39347 Add some precompiler directive to include the correct header for
39348 each machine.
f714229e 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
c74493e0 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
d0db4b04 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
bf748642 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
b5db202a 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
83abee31 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
78d5a08b 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
68807e5f 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>
0d9ff7f0 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
c1962162 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
3dac2e3f 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
7a634e08 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
b92f0c18 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
91a4bf68 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
a96f9caa 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
fe6b695a 39479 guaranteed to be accessible.
a96f9caa 39480
b37a9222 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
5626aee1 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
554f0187 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
1ec8425d 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
f2156fda 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
fe6b695a 39515 failure, since successfully reading all array members might not be
f2156fda 39516 required.
39517
9216e0e7 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
b0dfd29a 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
c32865bf 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
fe6b695a 39545 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 39546 of file.
39547 (grub_fstest_SOURCES): Likewise.
39548
409480b7 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
99fadbaa 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
bf567c50 395842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39585
39586 Make grub-setup handle a separate root device.
f19dbdb7 39587
bf567c50 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.
f19dbdb7 39595
9be6b98b 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.
f19dbdb7 39600
9be6b98b 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
e0ca0677 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
3b3f6629 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
d42b3672 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
fa370ea6 396502008-02-03 Pavel Roskin <proski@gnu.org>
39651
e0c5dacb 39652 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 39653 %edx and %esi from stack only after grub_gate_a20() is called.
39654 grub_gate_a20() clobbers %edx.
39655
f2a76e1d 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
90fd32d1 396652008-02-03 Bean <bean123ch@gmail.com>
9be665dd 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
4020aa53 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
e03a1132 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
58c69220 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.
f19dbdb7 39720 (lspci_mod_LDFLAGS): Likewise.
58c69220 39721
c004e1b4 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
f95562bf 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
7d31f41f 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
60b6be74 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
078522ab 397712008-01-31 Pavel Roskin <proski@gnu.org>
39772
39773 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 39774 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
39775 (grub_mkrescue_SOURCES): Likewise.
078522ab 39776 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
39777
ccaa8a5f 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
ae5a9cd7 397912008-01-30 Tristan Gingold <gingold@free.fr>
39792
39793 * kern/rescue.c: Silently accept empty lines.
39794
70bc2ef2 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
6a4d50ea 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
11cc30ac 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
3abc589f 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.
962ca133 39821 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 39822
e1907778 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
2216b101 398392008-01-27 Robert Millan <rmh@aybabtu.com>
39840
39841 * NEWS: Add a few items.
39842
f75172d9 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
3f51de77 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
2033f53e 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
22da1f6f 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
2a9525e6 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
b95f71b5 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
fe6b695a 39913 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 39914 * kern/file.c (grub_file_open): Likewise.
39915
d08bbb49 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
605e36ed 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
bac332a1 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
15c80c09 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
305338fd 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
3ea52685 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
5882ae4b 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
06ab5303 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
dbb475a4 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
25638629 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
9dad816d 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
34842f2d 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
44023a28 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
bc2d8ac6 400662008-01-21 Robert Millan <rmh@aybabtu.com>
40067
40068 * kern/mm.c (grub_mm_init_region): Improve debug message.
40069
261bd4bc 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
f970b55e 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
1a8b0526 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
6e9b4aab 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
0d8837b2 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
ffd36e34 401242008-01-21 Robert Millan <rmh@aybabtu.com>
40125
40126 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40127
3f0093d0 40128 * include/grub/kernel.h (grub_arch_memdisk_addr)
40129 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 40130
3f0093d0 40131 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40132 (grub_arch_memdisk_size): ... to here.
ffd36e34 40133
6c391b21 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
55a581dc 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
3d7f54c9 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
0bf74728 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'.
fe6b695a 40205 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 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
33bf70a7 402102008-01-19 Robert Millan <rmh@aybabtu.com>
40211
fe6b695a 40212 Get rid of confusing function (superseded by
33bf70a7 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
fe987087 40220 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 40221
e2da7d26 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
59f1fd8d 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
5f5a7c15 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
1210e168 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
3d04eab8 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
d1bc1b73 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
66a65807 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
fe987087 40288 grub_ieee1275_get_property() to handle endianness.
66a65807 40289
40290 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
40291 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 40292 where appropriate.
66a65807 40293 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
40294 (grub_map): Likewise.
40295 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
40296
a83ccafd 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.
f19dbdb7 40310 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 40311 (if): Use the new commands.
40312
40313 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
40314
df6ecfc6 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
87ae25eb 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
47bf09a4 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
c86f1469 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
e622c559 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
44cb1ec8 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
1eb8c802 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
52bd3de9 403862008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40387
40388 Remove some unused code from reiserfs.
f19dbdb7 40389
52bd3de9 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
2f80039d 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
87888032 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
7e54fced 404242008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 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
5aa541e6 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
7076340d 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
9ca70333 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
38ccf575 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
f5db4291 404552008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40456
868967cf 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.
fe6b695a 40462 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40463
40464 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40465 better to remove the bitfield version completely.
f19dbdb7 40466
868967cf 404672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40468
f5db4291 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
492e6d9d 404732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40474
40475 Mostly from Vincent Pelletier:
f19dbdb7 40476
492e6d9d 40477 * fs/reiserfs.c: New file.
f19dbdb7 40478
492e6d9d 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
9ce3e7c1 404892008-01-06 Robert Millan <rmh@aybabtu.com>
40490
40491 * normal/color.c: Remove `<grub/env.h>'.
40492
f3b58148 404932008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40494
40495 * include/grub/normal.h: Include <grub/env.h>.
40496
7ac3bcfa 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)'.
fb358190 40501 Reported by Samuel Thibault.
7ac3bcfa 40502
c8ee99d7 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
0ece25b1 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
182dd4e5 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
ddf8f6ad 405682008-01-05 Robert Millan <rmh@aybabtu.com>
40569
40570 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 40571 discs unconditionally, since udev and others have options to provide
ddf8f6ad 40572 them.
40573
d8b43d9b 405742008-01-05 Robert Millan <rmh@aybabtu.com>
40575
40576 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40577
2bff2de3 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
97eab917 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
b9416d00 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
92695df9 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
d98d9cad 406042008-01-01 Robert Millan <rmh@aybabtu.com>
40605
40606 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40607
dbfdce36 406082008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40609
f19dbdb7 40610 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 40611 grub_video_get_active_render_target.
40612 (grub_video_adapter): Added unmap_color and get_active_render_target.
40613
f19dbdb7 40614 * video/video.c: Added grub_video_unmap_color and
dbfdce36 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
f19dbdb7 40626 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 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
c3c20931 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
df266716 406642007-12-29 Pavel Roskin <proski@gnu.org>
94239199 40665
40666 * util/grub.d/10_linux.in: Refactor search for initrd. Add
40667 support for initrd names used in Fedora.
40668
fc6e896c 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
533110ad 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
4931827f 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
57e57e31 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
4bc72aa9 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
af680a87 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
84be7599 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
6af9db01 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
7361cfe6 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
1593e10c 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
3b8db1a8 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
2e29408d 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
398cd047 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
c405c391 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.
f19dbdb7 40851
c405c391 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
5cced7fd 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
8b714eb0 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
ce0f1839 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
270c237d 408882007-11-10 Bean <bean123ch@gmail.com>
40889
40890 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40891
a87783bf 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
6433b448 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
49178511 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
53b052de 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
5ab33bba 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
0149ab7c 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
be7ac41e 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
bb06ab2e 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
cf8f780b 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
ed649e54 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
ca25d8f0 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
e911ecc1 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'.
f19dbdb7 41037
7f66d0e0 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
5cd7dd46 410512007-10-27 Robert Millan <rmh@aybabtu.com>
41052
3236ca65 41053 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 41054
2ebfc90f 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
73fcb0f3 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
3381d274 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
a39a0312 411212007-10-21 Robert Millan <rmh@aybabtu.com>
41122
41123 * include/grub/misc.h (grub_max): New function.
41124
2aad70e2 411252007-10-21 Robert Millan <rmh@aybabtu.com>
41126
41127 * util/misc.c (grub_util_info): Call fflush() before returning.
41128
54b71c4b 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
a979f513 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
825fc8fd 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
e179b2f4 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
5db82af6 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
68f6ac74 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.
5db82af6 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
68f6ac74 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.
5db82af6 41219
3cf497cc 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
c8cc3692 412282007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 41229
c8cc3692 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.
adbc4c9d 41237
5c58b791 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().
afcd2ef8 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().
5c58b791 41253
1a477ed6 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
6b5d80fa 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
5618afbf 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
6139dcd9 412742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41275
508e39ee 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>
f19dbdb7 41281
6139dcd9 41282 Do not use devices at boot in chainloading.
f19dbdb7 41283
6139dcd9 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
38da6516 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
29d0928c 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
5a0d3cca 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
8b72db2f 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
352466bf 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
8f096014 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.
f19dbdb7 41365
8f096014 41366 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41367
41368 * fs/ntfs.c: New file.
41369
9959f7db 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.
f19dbdb7 41381
9959f7db 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.
f19dbdb7 41401
9959f7db 41402 * fs/xfs.c (grub_xfs_read_file): Likewise.
41403
41404 * command/blocklist.c (read_blocklist): Likewise.
41405 (print_blocklist): Likewise.
41406
0a203f83 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
e5dfe777 414262007-07-24 Jerone Young <jerone@gmail.com>
41427
f19dbdb7 41428 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 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
daf0f0ba 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.
fe6b695a 41459 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 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
54cdc1cc 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
ad0686cc 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
969c02ec 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
5a79f472 415142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41515
41516 Migrate to GNU General Public License Version 3.
f19dbdb7 41517
5a79f472 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
3572d015 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
2c2a681b 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
fe6b695a 41801 exiting.
2c2a681b 41802
6193defe 418032007-06-23 Robert Millan <rmh@aybabtu.com>
41804
fe6b695a 41805 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 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
eface1dc 418152007-06-23 Robert Millan <rmh@aybabtu.com>
41816
ba50d28f 41817 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 41818
bf697e28 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
baa574b4 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
0215dcbf 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
8af2ab7b 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
59d31694 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).
fe6b695a 41873 Abort gracefully when no parameter is given.
59d31694 41874
7ee367e4 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
29b0ed46 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
c0f90770 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
fe6b695a 41897 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 41898 handles that).
41899
fb36dc26 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
0c68c93e 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
0f23eb74 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
42c71976 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
5beb2291 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
7262eca1 419602007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41961
41962 * kern/disk.c (grub_disk_read): Check return value of
41963 grub_realloc().
41964
260ba823 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
1ecb6cf2 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.
f19dbdb7 41981
21c8cbb1 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.
f19dbdb7 41988
21c8cbb1 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.
f19dbdb7 42004
849d55d3 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
8fff7c2f 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
48e12b52 420292007-05-16 Robert Millan <rmh@aybabtu.com>
42030
42031 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42032
46b9d128 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
2d1a40a9 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
9e26e3bc 420582007-05-15 Robert Millan <rmh@aybabtu.com>
42059
42060 * util/update-grub.in: Remove duplicated line in grub.cfg header
42061 message.
42062
57f96397 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
2e610d62 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
3f6a10ef 420872007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42088
42089 * Makefile.in: Add the datarootdir autoconf variable.
42090
02e7b75e 420912007-05-09 Robert Millan <rmh@aybabtu.com>
42092
42093 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 42094 fail gracefully if dev->disk->partition == NULL.
02e7b75e 42095
75f396cc 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
da65cb36 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
b57d6a91 421082007-05-05 Robert Millan <rmh@aybabtu.com>
42109
42110 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42111 initialisation.
42112
509d00f1 421132007-05-05 Robert Millan <rmh@aybabtu.com>
42114
42115 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42116
c48f23ef 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
20b97658 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
99123174 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
ebd97f6e 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
b06a264d 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
41f0050e 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
04582bb3 421662007-04-18 Jerone Young <jerone@gmail.com>
42167
f19dbdb7 42168 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 42169 stanza.
42170
08db4632 421712007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 42172
08db4632 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
801b76be 421762007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 42177
fe6b695a 42178 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 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
6795c4e1 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
d70af616 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
3b801603 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
4785bfe4 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
a0cbb023 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
fd7d8eba 422302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42231
42232 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42233 loop boundary.
42234
9b09e6fc 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
3ce27299 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
077d5fee 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
dc946850 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
baa2a121 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
4fe9862e 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
a8aa5762 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
957b3a3e 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
ef875714 423232006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42324
42325 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42326
4e739985 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>.
f19dbdb7 42332
790707f2 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.
f19dbdb7 42337
790707f2 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.
f19dbdb7 42344 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 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().
f19dbdb7 42349
03e58196 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.
f19dbdb7 42355
ae4f23bf 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
2166cc83 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
a09d5aa5 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
d976fc51 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
67507549 424002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42401
42402 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42403
69203a99 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
e2b8278c 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
97b2f2ff 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
6555d655 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
4d42b77f 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
5d74d927 424392006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42440
42441 * configure.ac (AC_INIT): Bumped to 1.95.
42442
a1bb27e4 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
e0994b8b 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
ddd5cee9 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
2b002173 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.
f19dbdb7 42489
2b002173 42490 * disk/lvm.c: New file.
42491 * disk/raid.c: Likewise.
42492 * include/grub/lvm.h: Likewise.
f19dbdb7 42493 * include/grub/raid.h: Likewise.
2b002173 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.
f19dbdb7 42505
2b002173 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.
f19dbdb7 42516
2b002173 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
050548d0 425252006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42526
42527 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42528
da849d2d 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
97b2f2ff 425342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 42535
42536 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42537 PowerMac support.
42538
97b2f2ff 425392006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 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
97b2f2ff 425612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 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
97b2f2ff 425722006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 42573
42574 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42575
97b2f2ff 425762006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 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
02bb8acc 42585 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 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
7f9a8531 425912006-09-22 Marco Gerards <marco@gnu.org>
42592
42593 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42594 newlines.
42595
b5ef1102 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
2cff3677 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
6ba4688b 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
e02ac02c 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.
f19dbdb7 42633
8d252e44 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
209bf7ac 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
6b146090 426462006-09-14 Marco Gerards <marco@gnu.org>
42647
42648 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
42649 `-melf_i386'.
42650
e38600a8 426512006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 42652
42653 * util/i386/pc/grub-install.in: Skip menu.lst when removing
42654 /boot/grub/*.lst.
78fa1790 42655
2952da5d 42656 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 42657
2952da5d 42658 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
42659 before adding it to device.map.
42660
01b82a64 426612006-08-15 Johan Rydberg <jrydberg@gnu.org>
42662
fe6b695a 42663 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 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.
f19dbdb7 42670
1064790d 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.
f19dbdb7 42676
1064790d 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
29dda3ed 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
ad2a06ed 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
bc8c036d 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
684a8eff 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
5915059b 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
90ce5d56 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
43e7f879 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
4889bdec 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
fd39d4da 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
b786f3b5 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.
f19dbdb7 42850
051988bb 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
deae281b 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.
f19dbdb7 42861
deae281b 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
524a1e6a 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.
f19dbdb7 42908
524a1e6a 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
fe6b695a 42952 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 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
f19dbdb7 43033 "read_hook".
524a1e6a 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.
fe987087 43126 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 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
53af98ad 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
b4c1940a 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
cfca1cfd 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
aa6d7826 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
26c607b9 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
0162321a 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
6c826348 431822006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43183
43184 * configure.ac (CMP): Check if cmp is available explicitly.
43185
b977bf01 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.
f19dbdb7 43191
b977bf01 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.
f19dbdb7 43197
b977bf01 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.
f19dbdb7 43273
b977bf01 43274 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
43275
f09771a1 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
118f4fb3 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
89a7d726 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
43b553ad 43327 color for the background, and a darker color for the foreground.
89a7d726 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.
f19dbdb7 43350
89a7d726 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
75c8f258 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
da2eb181 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
577b4050 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
0d6e1189 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.
f19dbdb7 43396
31b86e9f 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
83b984de 434052006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43406
43407 * configure.ac (--with-platform): Properly quote the square
43408 brackets.
43409
5f0413bd 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
05568c2e 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.
f19dbdb7 43461
05568c2e 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
4e93851c 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.
f19dbdb7 43495
4e93851c 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
1eb9cc1d 435602006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43561
43562 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43563
385bd9c1 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
7f362539 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.
f19dbdb7 43613
7f362539 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.
fe6b695a 43635 (grub_efi_get_filename): Divide the length by the size of
7f362539 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
c0111d6e 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
df5341da 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
f85934bd 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
8f8a2cf8 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
a27e84ce 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
eaef0553 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
7b455f4d 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.
f19dbdb7 43843
7b455f4d 43844 * genkernsyms.sh.in: New file.
43845 * gensymlist.sh.in: Likewise.
43846
1885bb27 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
71538dff 438522006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43853
43854 * kern/misc.c (abort): New alias for grub_abort.
43855
2965c7cc 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".
f19dbdb7 43863
2965c7cc 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
9cacaa17 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.
f19dbdb7 43948
9cacaa17 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
49986a9f 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
970d3b8a 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
ff04ec24 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
37e5e1a4 441602006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44161
44162 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44163 length for unknown glyph.
44164
c352d8dd 441652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44166
2eab1c0d 44167 Add support for pre-loaded modules into the EFI port.
f19dbdb7 44168
2eab1c0d 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>
f19dbdb7 44187
c352d8dd 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
6d01d6b4 441922006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44193
44194 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44195
976a4ea0 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.
f19dbdb7 44208
976a4ea0 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
83709125 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>
bfa2bd9e 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.
f19dbdb7 44373
e2a8c904 443742006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 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
c9a86192 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
70f3b243 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
65f201ad 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
b4b93674 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
c2379b9c 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
bd0d7896 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
5f97350b 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
a3c5c6f8 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
6de53d26 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
77c4a393 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.
fe987087 44657 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 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
144f1f98 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
af4b2d89 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
15643b71 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
00905879 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
8899bc3e 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
ae8c0277 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
07084456 447192005-12-25 Marco Gerards <marco@gnu.org>
44720
44721 * kern/env.c (grub_env_set): Rewritten the error handling code.
44722
4750f5f1 447232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44724
44725 * geninit.sh: Made more robust, and more portable.
44726
50214199 447272005-12-25 Marco Gerards <marco@gnu.org>
44728
44729 Add support for Apple HFS+ filesystems.
f19dbdb7 44730
50214199 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
befaed6c 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
6a124103 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
be973c1b 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
b04216ab 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
41730ed9 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.
f19dbdb7 44818
95dc3643 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
1569ec51 448242005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44825
44826 * configure.ac: Correct `AC_PROG_YACC' test.
44827
9abde152 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
44b83271 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
9c12956b 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
aeaf81d9 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
79bbb63f 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,
fe6b695a 44865 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 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
233b1628 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,
fe6b695a 44910 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 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
16f820c8 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
63ba1554 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
7f67dc13 449632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44964
79bbb63f 44965 Add support for Linux/ADFS partition tables.
7f67dc13 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'.
f19dbdb7 44973
7f67dc13 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
6d099807 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.
fe6b695a 45016 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 45017 Likewise.
45018 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45019 Likewise.
fe6b695a 45020 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 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'.
f19dbdb7 45056
6d099807 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
9046bcf0 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
d13ea639 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
a8fcf206 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
b6b32745 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
daac212a 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.
f19dbdb7 45126
daac212a 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'.
b6b32745 45132 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45133 variables.
daac212a 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.
f19dbdb7 45142
daac212a 45143 * normal/command.c: Include <grub/script.h>.
45144 (grub_command_execute): Rewritten.
f19dbdb7 45145
daac212a 45146 * util/grub-emu.c (main): Call `grub_test_init' and
45147 `grub_test_fini'.
45148
77500b2b 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
e45deb9e 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
4ce32619 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>
f19dbdb7 45168
4ce32619 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
25fe6f03 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
04ccf3ec 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
6d8f4b0e 452272005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45228
45229 * normal/sparc64/setjmp.S: New file.
45230
15cf03ed 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
03e8661a 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
34eeec8a 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
708367a3 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
6fa1251a 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
4801580b 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
219ad426 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
688e5699 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
bb34586c 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
9a909877 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
57bdbde3 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
047b67e0 453852005-10-01 Marco Gerards <mgerards@xs4all.nl>
45386
45387 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45388
59b8208a 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.
f19dbdb7 45396
59b8208a 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
fe6b695a 45420 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 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
b4093103 454302005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45431
45432 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45433
b4093103 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
b2499b29 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
f19dbdb7 45474
83d37a62 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
47d2d65e 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
48b671ff 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.
f19dbdb7 45511
48b671ff 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
09fc77a7 455202005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45521
45522 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45523 `unused parameter' warning.
45524
003789c7 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
67f44c86 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
0b5abe02 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
d9864ee1 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.
f19dbdb7 45562
d9864ee1 45563 * include/grub/gzio.h: New file.
45564 * io/gzio.c: Likewise.
f19dbdb7 45565
d9864ee1 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.
f19dbdb7 45586
d9864ee1 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
fa46f4b5 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
e9211b5d 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
385c6a92 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
16ccb8b1 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
6a85ce79 456612005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45662
45663 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 45664 invalid magic in the error.
6a85ce79 45665
45666 * commands/search.c: New file.
f19dbdb7 45667
6a85ce79 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
ef095434 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
1f0a95e4 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
992ffbbe 457972005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45798
45799 * normal/misc.c: New file.
45800
45801 * DISTLIST: Added normal/misc.c.
f19dbdb7 45802
992ffbbe 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
0bd41162 458692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45870
45871 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 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.
0bd41162 45877
6323696a 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
0a74e62f 459082005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45909
0a74e62f 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
e51f85ae 459312005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45932
45933 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45934
e9c6f39b 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
8de3495c 459432005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45944
45945 * DISTLIST: Added normal/completion.c.
45946
45947 * normal/completion.c: New file.
f19dbdb7 45948
8de3495c 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
fe6b695a 45980 unsigned explicitly before comparing it with I.
8de3495c 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
e85e144b 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
c46153d2 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
0cb90c45 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
a19fb360 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
4ac9bd04 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
f4917dfd 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
0e143073 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.
f19dbdb7 46119
efd6e6d5 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
8ceafda2 461282005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46129
46130 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 46131 readability.
8ceafda2 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
267f6cd9 461472005-08-04 Marco Gerards <metgerards@student.han.nl>
46148
46149 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46150 hardcoded value.
f19dbdb7 46151
267f6cd9 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'.
0b5abe02 46162 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 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
3be7266d 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
8b5f3938 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
ea409713 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
141a288b 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
0d5f8a54 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
5f968e1e 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.
f19dbdb7 46270
5f968e1e 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
896f0afd 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
b28b81b2 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
5f3607e0 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
502c87e8 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
f806d18e 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
e293232b 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
ebedfd00 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
654fc59f 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
09f9923f 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
7ef504d8 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
e0f050c2 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
7224189a 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
68c864eb 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
e6f3e614 464692005-07-09 Yoshinori Okuji <okuji@enbug.org>
46470
46471 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46472 reverse.
46473
f8f1559a 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
39c9d41d 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.
f19dbdb7 46498
39c9d41d 46499 * genmk.rb: Added a rule to generate a filesystem list.
46500
121c1d83 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
e75d76e1 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
50b5a0a7 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
89371b20 465252005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46526
46527 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46528 `grub_ieee1275_chosen'.
46529
168d6e58 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
ca5baa3f 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
708b345f 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
f4c5e67c 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
ed16607e 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
be369920 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
a5ce3a4a 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
0058f771 466622005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46663
46664 * DISTLIST: New file.
46665 * gendistlist.sh: Likewise.
f19dbdb7 46666
0058f771 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
46b3b8a5 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
5822ff87 466922005-03-08 Yoshinori Okuji <okuji@enbug.org>
46693
46694 Automatic loading of commands is supported.
f19dbdb7 46695
5822ff87 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
7b1f4b57 467242005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46725
46726 * gencmdlist.sh: New file.
f19dbdb7 46727
7b1f4b57 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
062aaf39 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.
f19dbdb7 46758
cee01aa6 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
93f3a1d8 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.
f19dbdb7 46772
93f3a1d8 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
4ed2e1dd 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
4d4e372e 468562005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46857
46858 This implements an Emacs-like menu entry editor.
f19dbdb7 46859
4d4e372e 46860 * normal/menu_entry.c: New file.
f19dbdb7 46861
4d4e372e 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
e6b92c8a 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.
f19dbdb7 46964
e6b92c8a 46965 * util/i386/pc/misc.c: New file.
f19dbdb7 46966
e6b92c8a 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
c642636f 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
e6b92c8a 46990 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46991 argument SIZE.
46992
5eabe94b 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
1b14a681 469982005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46999
47000 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 47001 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 47002 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 47003 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 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
aca108aa 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
c9f9c556 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
990cf3aa 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>
0f79cdc1 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
1ab09cc7 470832005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47084
47085 * include/grub/misc.h (memmove): New prototype.
47086 (memcpy): Likewise.
47087
8b8cbdb2 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
e3741a27 470932005-01-22 Marco Gerards <metgerards@student.han.nl>
47094
47095 * kern/misc.c (grub_strndup): Function rewritten.
47096
776bd780 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
78026bce 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
67bbaf0f 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.
f19dbdb7 47118
67bbaf0f 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
6f1c18bd 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
b38551da 471472005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47148
47149 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 47150 ((unused))' to `__attribute__ ((used))'.
b38551da 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
777aff39 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
d0ff18e1 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
4ca7004c 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
0b412211 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
458786f8 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
ac507d1b 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
6b8fd1c4 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
8514a1e0 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
924b6140 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
e4b47e0c 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
4ceb3636 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.
f19dbdb7 47375
3f1578fe 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.
f19dbdb7 47380
3f1578fe 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
0ef4ced9 474342004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47435
0ef4ced9 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].
f19dbdb7 47446
19950e29 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
a2fea427 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
41ea0ea3 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
ad0bd20b 474882004-11-01 Marco Gerards <metgerards@student.han.nl>
47489
47490 Add support for iso9660 (including rockridge).
f19dbdb7 47491
ad0bd20b 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.
f19dbdb7 47502
ad0bd20b 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
a5477a59 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
9304c1f8 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
86f4ae25 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
38912228 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
d1923dc8 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.
f19dbdb7 47554 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 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
4512e4f3 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
4d61feb0 475742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47575
ad0bd20b 47576 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47577 -1 if args.base was -1.
4d61feb0 47578
026fa2f9 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
9f2220ef 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
8a572cd7 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
18aa81f2 476012004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47602
47603 Make the source code of the menu interface more readable.
f19dbdb7 47604
18aa81f2 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
b47efe30 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.
f19dbdb7 47634
b47efe30 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.
f19dbdb7 47640 * loader/i386/pc/multiboot_normal.c: Likewise.
47641
b47efe30 47642 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
47643 attribute `unused'.
f19dbdb7 47644
b47efe30 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
da75ac71 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'.
f19dbdb7 47667
062b24c2 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.
f19dbdb7 47674 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 47675 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 47676 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 47677 (grub_ieee1275_get_property): Likewise.
f19dbdb7 47678
8ddad845 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.
f19dbdb7 47683
8ddad845 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
2c1f4ce3 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
3c52136a 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
aa033560 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
fe987087 47768 the endianness of the source string anymore.
aa033560 47769 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
47770
94bc45af 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.
f19dbdb7 47777
94bc45af 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.
f19dbdb7 47789
47790
97543f08 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.
f19dbdb7 47795
97543f08 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
64372eb4 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
cc61b58f 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
0ef123f6 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
a447c5df 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
5a9e3546 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
e15199cb 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
020616c2 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
6c51eb64 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
cfb12aff 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
6eabba74 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
66e19ef8 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.
f19dbdb7 47915
66e19ef8 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
cc2e748a 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
4b13b216 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
6a142551 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
e56cdf21 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.
f19dbdb7 47971
e56cdf21 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.
f19dbdb7 47996
e56cdf21 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
8c8cc205 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
f19dbdb7 48014 * fs/fat.c (log2): Renamed to ...
8c8cc205 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.
f19dbdb7 48028
db1771cf 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.
fe6b695a 48138 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 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
3b1139cb 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.
f19dbdb7 48187
3b1139cb 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
8367695c 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
e6eced71 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
5aded270 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
1f7315a3 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.
f19dbdb7 48369
1f7315a3 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.
f19dbdb7 48377 * util/i386/pc/getroot.c: ... here.
1f7315a3 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
9a5c1ade 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
8e72a9c0 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
c4adbd32 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
bfd30f06 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.
f19dbdb7 48456
bfd30f06 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
98d15063 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.
59cad637 48467 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48468
18d9c7cd 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".
f19dbdb7 48476
18d9c7cd 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.
f19dbdb7 48493 (struct pupa_term): Added init and fini.
18d9c7cd 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.
f19dbdb7 48530
977329f5 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
1f5ab428 485422003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48543
48544 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 48545
1f5ab428 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
f19dbdb7 48568 * include/pupa/i386/pc/kernel.h
1f5ab428 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
ce5bf700 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.
f19dbdb7 48592
ce5bf700 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
fe6b695a 48651 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 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
c04da074 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.
f19dbdb7 48664
c04da074 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
a13f9237 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
a5ffe966 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.
f19dbdb7 48830 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 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
012d7999 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
1cc73a62 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.
f19dbdb7 48875
1cc73a62 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
08b70fe8 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
62ddcc8f 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.
f19dbdb7 48930
62ddcc8f 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
9962ed99 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.
f19dbdb7 48961
abdfc3c5 489622002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48963
48964 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48965
6a161fa9 489662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48967
48968 * Changelog: New file.
48969